diff --git a/.env b/.env
index 6a075b88..e7f036e0 100644
--- a/.env
+++ b/.env
@@ -52,10 +52,10 @@ SUPPORT_MAIL=support@lokal.lokal
#MAILER_URL=null://localhost
###< symfony/swiftmailer-bundle ###
-
###ODC Parameters###
imprint=test
dataPrivacy=test
+superAdminRole=odc-super-admin
###Cron Parameters###
CRON_TOKEN=tpyv5yDIV54ifahrVJmuJ40qExRdNa2344DFADFsdsfenN3rCMkQW8Br1o1W9JP9uUc1N
@@ -74,4 +74,4 @@ demo_installation=prod #demo
###> LaF ###
laF_version=2.0.0-dev
-###< LaF ###
\ No newline at end of file
+###< LaF ###
diff --git a/.env.sample b/.env.sample
index 7bb5ef01..47469686 100644
--- a/.env.sample
+++ b/.env.sample
@@ -1,5 +1,4 @@
DATABASE_URL=mysql://:@:3306/
-DATABSE_SERVER=
###> symfony/framework-bundle ###
APP_ENV=dev/prod
@@ -7,12 +6,7 @@ APP_DEBUG=1/0
APP_SECRET=
###> symfony/swift_mailer ###
-MAILER_HOST=
-MAILER_PORT=587
-MAILER_PASSWORD=
-MAILER_USERNAME=
-MAILER_ENCRYPTION=tls
-MAILER_TRANSPORT=smtp
+MAILER_DSN=null://null
###ODC Parameters###
imprint=
diff --git a/README.md b/README.md
index 9f06fd62..3bd38975 100644
--- a/README.md
+++ b/README.md
@@ -5,6 +5,11 @@ __Open Source Datenschutzmanagement System__
Der Open Datenschutzcenter (ODC) ist ein Open Source Datenschutzmanagement-System für Unternehmen und Datenschutzbeauftragte. Der ODC wird kontinuierlich mit einer aktiven Community von Unternehmen, Datenschutzbeauftragten und Informationssicherheitsbeauftragten weiterentwickelt. Open Source bedeutet, dass der Quellcode der Software öffentlich zugänglich zur Verfügung steht. Unternehmen können den ODC auf einem eigenen Server betrieben, eigene Funktionen entwickeln und die Funktionalität erweitern. Die H2 Invent GmbH ist das Unternehmen hinter dem Open Datenschutzcenter und verwaltet das Repository, das Wiki und die Releases. H2 Invent entwickelt für Unternehmen neue ODC Funktionen um diesen den Anforderungen des Unternehmens anzupassen.
+### Übersetzungen [](https://crowdin.com/project/open-datenschutz-center)
+Helfen Sie mit den Open Datenschutz Center noch besser zu machen. Wir suchen jederzeit neue Übersetungen in alle Sprachen.
+Übersetzungen werden über Crowdin organisiert und können dort einfach und unkompliziert Übersetzt werden.
+https://crowdin.com/project/open-datenschutz-center
+
# Funktionen
Folgende Funktionen sind bereits im Open Datenschutzcenter integriert:
* Datenschutzakademie für interne Datenschutzschulungen zum Nachweis der kontinuierlichen Datenschutzweitergildung der Beschäftigten.
diff --git a/assets/css/style.css b/assets/css/style.css
index f3dd7a05..28a81d48 100644
--- a/assets/css/style.css
+++ b/assets/css/style.css
@@ -153,7 +153,39 @@ a:focus {
margin: 40px 0;
}
-/* ---------------------------------------------------
+.team-select .nav-link {
+ background: none !important;
+}
+
+.team-select .dropdown-item {
+ display: block !important;
+}
+
+.team-select .dropdown-item[disabled] {
+ color: #666 !important;
+ background: none !important;
+ cursor: auto;
+}
+
+.team-select {
+ padding-right: 1.5rem;
+}
+
+.team-select:after {
+ content: '';
+ position: absolute;
+ display: block;
+ width: 0;
+ height: 0;
+ border-right: .325rem solid transparent;
+ border-left: .325rem solid transparent;
+ border-top: .325rem solid #212529;
+ right: .75rem;
+ top: 50%;
+ transform: translateY(-50%);
+}
+
+/* ----------------------- .navbar-nav .nav-item .nav-link:hover {----------------------------
SIDEBAR STYLE
----------------------------------------------------- */
@@ -170,7 +202,7 @@ a:focus {
left: -250px;
height: 100vh;
z-index: 999;
- background-image: url("/images/navigation.jpg");
+ background-image: url("../../public/images/navigation.jpg");
background-repeat: no-repeat;
background-size: cover;
color: #000000;
@@ -179,6 +211,17 @@ a:focus {
box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.2);
}
+#sidebarCollapse {
+ border: transparent;
+ background: transparent;
+ outline: none;
+}
+
+#sidebarCollapse span {
+ width: 1.75rem;
+ height: 1.75rem;
+}
+
#sidebar.active {
left: 0;
}
@@ -301,10 +344,6 @@ a.article:hover {
#sidebar.active {
margin-left: 0;
}
-
- #sidebarCollapse span {
- display: none;
- }
}
/* ---------------------------------------------------
@@ -322,7 +361,7 @@ a.article:hover {
Add Reuqired Symbole to Forms
----------------------------------------------------- */
-label.required:after {
+label:not(.form-check-label).required:after {
content: " *";
}
@@ -570,4 +609,5 @@ label.required:after {
.thin::-webkit-scrollbar {
width: 10px;
-}
\ No newline at end of file
+}
+
diff --git a/assets/js/app.js b/assets/js/app.js
index e3a3f2d5..1d338f4e 100644
--- a/assets/js/app.js
+++ b/assets/js/app.js
@@ -9,6 +9,7 @@ import $ from 'jquery';
import 'datatables.net-dt';
import 'summernote/dist/summernote-bs4';
import * as h2Button from 'h2-invent-apps';
+import {initFreeFields} from './freeField';
global.$ = global.jQuery = $;
@@ -29,7 +30,6 @@ $(document).ready(function () {
}, 3000);
}, 500);
-
$('#dismiss, .overlay').on('click', function () {
// hide sidebar
$('#sidebar').removeClass('active');
@@ -46,12 +46,39 @@ $(document).ready(function () {
$('a[aria-expanded=true]').attr('aria-expanded', 'false');
});
-
$('#data-table').DataTable({
dom: 'Bfrtip',
buttons: [
- 'csv', 'excel'
+ {
+ extend: 'csv',
+ exportOptions: {
+ columns: ':not(.hide-in-export)'
+ }
+ },
+ {
+ extend: 'excel',
+ exportOptions: {
+ columns: ':not(.hide-in-export)'
+ }
+ }
+ ]
+ });
+ $('.data-table').DataTable({
+ dom: 'Bfrtip',
+ buttons: [
+ {
+ extend: 'csv',
+ exportOptions: {
+ columns: ':not(.hide-in-export)'
+ }
+ },
+ {
+ extend: 'excel',
+ exportOptions: {
+ columns: ':not(.hide-in-export)'
+ }
+ }
]
});
@@ -88,6 +115,8 @@ $(document).ready(function () {
$('.sendButton').addClass('disabled');
}
});
+
+ initFreeFields();
});
$(document).on('click', '.loadContent', function (e) {
diff --git a/assets/js/freeField.js b/assets/js/freeField.js
new file mode 100644
index 00000000..9f006efb
--- /dev/null
+++ b/assets/js/freeField.js
@@ -0,0 +1,37 @@
+import $ from "jquery";
+function addFormToCollection($collectionHolderClass) {
+ var $collectionHolder = $('.' + $collectionHolderClass);
+ var prototype = $collectionHolder.data('prototype');
+ var index = $collectionHolder.data('index');
+ var newForm = prototype;
+ newForm = newForm.replace(/__name__/g, index);
+ $collectionHolder.data('index', index + 1);
+ console.log('index', index);
+ let $newFormLi = $(' ')
+ .append(newForm)
+ $collectionHolder.append($newFormLi);
+ addTagFormDeleteLink($newFormLi);
+}
+
+function addTagFormDeleteLink($tagFormLi) {
+ var $removeFormButton = $('X
');
+ $tagFormLi.append($removeFormButton);
+ $removeFormButton.on('click', function(e) {
+ $tagFormLi.remove();
+ });
+}
+function initFreeFields(){
+ $('#add_item_link').off('click')
+ var $groupsCollectionHolder = $('ul.freeField');
+ $groupsCollectionHolder.find('li').each(function() {
+ addTagFormDeleteLink($(this));
+ });
+
+ $groupsCollectionHolder.data('index', $groupsCollectionHolder.find('input').length);
+ $('#add_item_link').on('click', function(e) {
+
+ var $collectionHolderClass = $(e.currentTarget).data('collectionHolderClass');
+ addFormToCollection($collectionHolderClass);
+ })
+};
+export {initFreeFields};
\ No newline at end of file
diff --git a/composer.json b/composer.json
index 68caeafe..81640b4d 100644
--- a/composer.json
+++ b/composer.json
@@ -2,7 +2,7 @@
"type": "project",
"license": "proprietary",
"require": {
- "php": "^7.4.25",
+ "php": "^8.1",
"ext-ctype": "*",
"ext-iconv": "*",
"composer/package-versions-deprecated": "^1.10",
@@ -10,67 +10,68 @@
"doctrine/doctrine-bundle": "^2.5",
"doctrine/doctrine-migrations-bundle": "^3.2",
"doctrine/orm": "^2.10",
- "h2entwicklung/doctrine-encrypt-bundle": "^4.0",
"knpuniversity/oauth2-client-bundle": "^2.5",
- "laminas/laminas-code": "^3.4",
+ "laminas/laminas-code": "^4.5",
"laminas/laminas-escaper": "^2.6",
+ "michaeldegroot/doctrine-encrypt-bundle": "^5.1",
"nicoswd/php-gpg": "^1.7",
"nucleos/dompdf-bundle": "^3.0",
- "oneup/flysystem-bundle": "^3.4",
+ "oneup/flysystem-bundle": "^4.3",
"phpdocumentor/reflection-docblock": "^5.3",
- "phpoffice/phpword": "^0.17.0",
+ "phpoffice/phpword": "^1.0.0",
"phpstan/phpdoc-parser": "^1.2",
- "sensio/framework-extra-bundle": "^5.4",
+ "sensio/framework-extra-bundle": "^6.2",
"stevenmaguire/oauth2-keycloak": "^2.2",
"symfony/apache-pack": "^1.0",
- "symfony/asset": "5.4.*",
- "symfony/console": "5.4.*",
- "symfony/dotenv": "5.4.*",
- "symfony/expression-language": "5.4.*",
+ "symfony/asset": "6.2.*",
+ "symfony/console": "6.2.*",
+ "symfony/dotenv": "6.2.*",
+ "symfony/expression-language": "6.2.*",
"symfony/flex": "^1.3.1",
- "symfony/form": "5.4.*",
- "symfony/framework-bundle": "5.4.*",
- "symfony/http-client": "5.4.*",
- "symfony/intl": "5.4.*",
- "symfony/mailer": "5.4.*",
+ "symfony/form": "6.2.*",
+ "symfony/framework-bundle": "6.2.*",
+ "symfony/http-client": "6.2.*",
+ "symfony/intl": "6.2.*",
+ "symfony/mailer": "6.2.*",
"symfony/monolog-bundle": "^3.1",
- "symfony/process": "5.4.*",
- "symfony/property-access": "5.4.*",
- "symfony/property-info": "5.4.*",
- "symfony/proxy-manager-bridge": "5.4.*",
- "symfony/security-bundle": "5.4.*",
- "symfony/serializer": "5.4.*",
- "symfony/swiftmailer-bundle": "^3.4",
- "symfony/templating": "5.4.*",
- "symfony/translation": "5.4.*",
- "symfony/twig-bundle": "5.4.*",
- "symfony/validator": "5.4.*",
- "symfony/web-link": "5.4.*",
+ "symfony/process": "6.2.*",
+ "symfony/property-access": "6.2.*",
+ "symfony/property-info": "6.2.*",
+ "symfony/proxy-manager-bridge": "6.2.*",
+ "symfony/runtime": "6.2.*",
+ "symfony/security-bundle": "6.2.*",
+ "symfony/serializer": "6.2.*",
+ "symfony/templating": "6.2.*",
+ "symfony/translation": "6.2.*",
+ "symfony/twig-bundle": "6.2.*",
+ "symfony/validator": "6.2.*",
+ "symfony/web-link": "6.2.*",
"symfony/webpack-encore-bundle": "^1.7",
- "symfony/yaml": "5.4.*",
+ "symfony/yaml": "6.2.*",
"twig/cssinliner-extra": "^3.0",
"twig/extra-bundle": "^2.12|^3.0",
"twig/inky-extra": "^3.0",
"twig/twig": "^2.0",
- "vich/uploader-bundle": "^1.13"
+ "vich/uploader-bundle": "^1.13",
+ "ext-http": "*"
},
"require-dev": {
"phpunit/phpunit": "^9.5",
- "symfony/browser-kit": "5.4.*",
- "symfony/css-selector": "5.4.*",
- "symfony/debug-bundle": "5.4.*",
+ "symfony/browser-kit": "6.2.*",
+ "symfony/css-selector": "6.2.*",
+ "symfony/debug-bundle": "6.2.*",
"symfony/maker-bundle": "^1.38",
- "symfony/phpunit-bridge": "^6.0",
- "symfony/stopwatch": "5.4.*",
- "symfony/web-profiler-bundle": "5.4.*",
- "symfony/web-server-bundle": "4.4.*"
+ "symfony/phpunit-bridge": "^6.2",
+ "symfony/stopwatch": "6.2.*",
+ "symfony/web-profiler-bundle": "6.2.*"
},
"config": {
"preferred-install": {
"*": "dist"
},
"allow-plugins": {
- "symfony/flex": true
+ "symfony/flex": true,
+ "symfony/runtime": true
},
"sort-packages": true
},
@@ -102,6 +103,14 @@
],
"post-update-cmd": [
"@auto-scripts"
+ ],
+ "db-create": "php bin/console doctrine:database:create --if-not-exists",
+ "db-drop": "php bin/console doctrine:database:drop --force --if-exists",
+ "db-migrate": "php bin/console doctrine:migrations:migrate -n",
+ "db-reset": [
+ "@db-drop",
+ "@db-create",
+ "@db-migrate"
]
},
"conflict": {
@@ -110,7 +119,7 @@
"extra": {
"symfony": {
"allow-contrib": false,
- "require": "5.4.*"
+ "require": "6.2.*"
}
}
}
diff --git a/composer.lock b/composer.lock
index 434e3d6d..cddc821f 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,20 +4,20 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "de4495b37f8369a8e30d981ad74423c9",
+ "content-hash": "07c604ad9a9159a8a954eaad75d60ec3",
"packages": [
{
"name": "composer/package-versions-deprecated",
- "version": "1.11.99.4",
+ "version": "1.11.99.5",
"source": {
"type": "git",
"url": "https://github.com/composer/package-versions-deprecated.git",
- "reference": "b174585d1fe49ceed21928a945138948cb394600"
+ "reference": "b4f54f74ef3453349c24a845d22392cd31e65f1d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/b174585d1fe49ceed21928a945138948cb394600",
- "reference": "b174585d1fe49ceed21928a945138948cb394600",
+ "url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/b4f54f74ef3453349c24a845d22392cd31e65f1d",
+ "reference": "b4f54f74ef3453349c24a845d22392cd31e65f1d",
"shasum": ""
},
"require": {
@@ -61,7 +61,7 @@
"description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)",
"support": {
"issues": "https://github.com/composer/package-versions-deprecated/issues",
- "source": "https://github.com/composer/package-versions-deprecated/tree/1.11.99.4"
+ "source": "https://github.com/composer/package-versions-deprecated/tree/1.11.99.5"
},
"funding": [
{
@@ -77,34 +77,38 @@
"type": "tidelift"
}
],
- "time": "2021-09-13T08:41:34+00:00"
+ "time": "2022-01-17T14:14:24+00:00"
},
{
"name": "doctrine/annotations",
- "version": "1.13.2",
+ "version": "1.14.3",
"source": {
"type": "git",
"url": "https://github.com/doctrine/annotations.git",
- "reference": "5b668aef16090008790395c02c893b1ba13f7e08"
+ "reference": "fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/annotations/zipball/5b668aef16090008790395c02c893b1ba13f7e08",
- "reference": "5b668aef16090008790395c02c893b1ba13f7e08",
+ "url": "https://api.github.com/repos/doctrine/annotations/zipball/fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af",
+ "reference": "fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af",
"shasum": ""
},
"require": {
- "doctrine/lexer": "1.*",
+ "doctrine/lexer": "^1 || ^2",
"ext-tokenizer": "*",
"php": "^7.1 || ^8.0",
"psr/cache": "^1 || ^2 || ^3"
},
"require-dev": {
"doctrine/cache": "^1.11 || ^2.0",
- "doctrine/coding-standard": "^6.0 || ^8.1",
- "phpstan/phpstan": "^0.12.20",
- "phpunit/phpunit": "^7.5 || ^8.0 || ^9.1.5",
- "symfony/cache": "^4.4 || ^5.2"
+ "doctrine/coding-standard": "^9 || ^10",
+ "phpstan/phpstan": "~1.4.10 || ^1.8.0",
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
+ "symfony/cache": "^4.4 || ^5.4 || ^6",
+ "vimeo/psalm": "^4.10"
+ },
+ "suggest": {
+ "php": "PHP 8.0 or higher comes with attributes, a native replacement for annotations"
},
"type": "library",
"autoload": {
@@ -147,22 +151,22 @@
],
"support": {
"issues": "https://github.com/doctrine/annotations/issues",
- "source": "https://github.com/doctrine/annotations/tree/1.13.2"
+ "source": "https://github.com/doctrine/annotations/tree/1.14.3"
},
- "time": "2021-08-05T19:00:23+00:00"
+ "time": "2023-02-01T09:20:38+00:00"
},
{
"name": "doctrine/cache",
- "version": "2.1.1",
+ "version": "2.2.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/cache.git",
- "reference": "331b4d5dbaeab3827976273e9356b3b453c300ce"
+ "reference": "1ca8f21980e770095a31456042471a57bc4c68fb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/cache/zipball/331b4d5dbaeab3827976273e9356b3b453c300ce",
- "reference": "331b4d5dbaeab3827976273e9356b3b453c300ce",
+ "url": "https://api.github.com/repos/doctrine/cache/zipball/1ca8f21980e770095a31456042471a57bc4c68fb",
+ "reference": "1ca8f21980e770095a31456042471a57bc4c68fb",
"shasum": ""
},
"require": {
@@ -172,18 +176,12 @@
"doctrine/common": ">2.2,<2.4"
},
"require-dev": {
- "alcaeus/mongo-php-adapter": "^1.1",
"cache/integration-tests": "dev-master",
- "doctrine/coding-standard": "^8.0",
- "mongodb/mongodb": "^1.1",
- "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0",
- "predis/predis": "~1.0",
+ "doctrine/coding-standard": "^9",
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
"psr/cache": "^1.0 || ^2.0 || ^3.0",
- "symfony/cache": "^4.4 || ^5.2 || ^6.0@dev",
- "symfony/var-exporter": "^4.4 || ^5.2 || ^6.0@dev"
- },
- "suggest": {
- "alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver"
+ "symfony/cache": "^4.4 || ^5.4 || ^6",
+ "symfony/var-exporter": "^4.4 || ^5.4 || ^6"
},
"type": "library",
"autoload": {
@@ -232,7 +230,7 @@
],
"support": {
"issues": "https://github.com/doctrine/cache/issues",
- "source": "https://github.com/doctrine/cache/tree/2.1.1"
+ "source": "https://github.com/doctrine/cache/tree/2.2.0"
},
"funding": [
{
@@ -248,35 +246,38 @@
"type": "tidelift"
}
],
- "time": "2021-07-17T14:49:29+00:00"
+ "time": "2022-05-20T20:07:39+00:00"
},
{
"name": "doctrine/collections",
- "version": "1.6.8",
+ "version": "2.1.2",
"source": {
"type": "git",
"url": "https://github.com/doctrine/collections.git",
- "reference": "1958a744696c6bb3bb0d28db2611dc11610e78af"
+ "reference": "db8cda536a034337f7dd63febecc713d4957f9ee"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/collections/zipball/1958a744696c6bb3bb0d28db2611dc11610e78af",
- "reference": "1958a744696c6bb3bb0d28db2611dc11610e78af",
+ "url": "https://api.github.com/repos/doctrine/collections/zipball/db8cda536a034337f7dd63febecc713d4957f9ee",
+ "reference": "db8cda536a034337f7dd63febecc713d4957f9ee",
"shasum": ""
},
"require": {
- "php": "^7.1.3 || ^8.0"
+ "doctrine/deprecations": "^1",
+ "php": "^8.1"
},
"require-dev": {
- "doctrine/coding-standard": "^9.0",
- "phpstan/phpstan": "^0.12",
- "phpunit/phpunit": "^7.5 || ^8.5 || ^9.1.5",
- "vimeo/psalm": "^4.2.1"
+ "doctrine/coding-standard": "^10.0",
+ "ext-json": "*",
+ "phpstan/phpstan": "^1.8",
+ "phpstan/phpstan-phpunit": "^1.0",
+ "phpunit/phpunit": "^9.5",
+ "vimeo/psalm": "^4.22"
},
"type": "library",
"autoload": {
"psr-4": {
- "Doctrine\\Common\\Collections\\": "lib/Doctrine/Common/Collections"
+ "Doctrine\\Common\\Collections\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -315,41 +316,56 @@
],
"support": {
"issues": "https://github.com/doctrine/collections/issues",
- "source": "https://github.com/doctrine/collections/tree/1.6.8"
+ "source": "https://github.com/doctrine/collections/tree/2.1.2"
},
- "time": "2021-08-10T18:51:53+00:00"
+ "funding": [
+ {
+ "url": "https://www.doctrine-project.org/sponsorship.html",
+ "type": "custom"
+ },
+ {
+ "url": "https://www.patreon.com/phpdoctrine",
+ "type": "patreon"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fcollections",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-12-27T23:41:38+00:00"
},
{
"name": "doctrine/common",
- "version": "3.2.0",
+ "version": "3.4.3",
"source": {
"type": "git",
"url": "https://github.com/doctrine/common.git",
- "reference": "6d970a11479275300b5144e9373ce5feacfa9b91"
+ "reference": "8b5e5650391f851ed58910b3e3d48a71062eeced"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/common/zipball/6d970a11479275300b5144e9373ce5feacfa9b91",
- "reference": "6d970a11479275300b5144e9373ce5feacfa9b91",
+ "url": "https://api.github.com/repos/doctrine/common/zipball/8b5e5650391f851ed58910b3e3d48a71062eeced",
+ "reference": "8b5e5650391f851ed58910b3e3d48a71062eeced",
"shasum": ""
},
"require": {
- "doctrine/persistence": "^2.0",
+ "doctrine/persistence": "^2.0 || ^3.0",
"php": "^7.1 || ^8.0"
},
"require-dev": {
- "doctrine/coding-standard": "^6.0 || ^8.0",
- "phpstan/phpstan": "^0.12",
- "phpstan/phpstan-phpunit": "^0.12",
+ "doctrine/coding-standard": "^9.0 || ^10.0",
+ "doctrine/collections": "^1",
+ "phpstan/phpstan": "^1.4.1",
+ "phpstan/phpstan-phpunit": "^1",
"phpunit/phpunit": "^7.5.20 || ^8.5 || ^9.0",
"squizlabs/php_codesniffer": "^3.0",
- "symfony/phpunit-bridge": "^4.0.5",
+ "symfony/phpunit-bridge": "^6.1",
"vimeo/psalm": "^4.4"
},
"type": "library",
"autoload": {
"psr-4": {
- "Doctrine\\Common\\": "lib/Doctrine/Common"
+ "Doctrine\\Common\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -391,7 +407,7 @@
],
"support": {
"issues": "https://github.com/doctrine/common/issues",
- "source": "https://github.com/doctrine/common/tree/3.2.0"
+ "source": "https://github.com/doctrine/common/tree/3.4.3"
},
"funding": [
{
@@ -407,42 +423,43 @@
"type": "tidelift"
}
],
- "time": "2021-10-19T06:47:22+00:00"
+ "time": "2022-10-09T11:47:59+00:00"
},
{
"name": "doctrine/dbal",
- "version": "3.2.0",
+ "version": "3.6.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/dbal.git",
- "reference": "5d54f63541d7bed1156cb5c9b79274ced61890e4"
+ "reference": "85b98cb23c8af471a67abfe14485da696bcabc2e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/dbal/zipball/5d54f63541d7bed1156cb5c9b79274ced61890e4",
- "reference": "5d54f63541d7bed1156cb5c9b79274ced61890e4",
+ "url": "https://api.github.com/repos/doctrine/dbal/zipball/85b98cb23c8af471a67abfe14485da696bcabc2e",
+ "reference": "85b98cb23c8af471a67abfe14485da696bcabc2e",
"shasum": ""
},
"require": {
- "composer/package-versions-deprecated": "^1.11.99",
+ "composer-runtime-api": "^2",
"doctrine/cache": "^1.11|^2.0",
- "doctrine/deprecations": "^0.5.3",
- "doctrine/event-manager": "^1.0",
- "php": "^7.3 || ^8.0",
+ "doctrine/deprecations": "^0.5.3|^1",
+ "doctrine/event-manager": "^1|^2",
+ "php": "^7.4 || ^8.0",
"psr/cache": "^1|^2|^3",
"psr/log": "^1|^2|^3"
},
"require-dev": {
- "doctrine/coding-standard": "9.0.0",
- "jetbrains/phpstorm-stubs": "2021.1",
- "phpstan/phpstan": "1.2.0",
- "phpstan/phpstan-strict-rules": "^1.1",
- "phpunit/phpunit": "9.5.10",
- "psalm/plugin-phpunit": "0.16.1",
- "squizlabs/php_codesniffer": "3.6.1",
- "symfony/cache": "^5.2|^6.0",
- "symfony/console": "^2.0.5|^3.0|^4.0|^5.0|^6.0",
- "vimeo/psalm": "4.13.0"
+ "doctrine/coding-standard": "11.1.0",
+ "fig/log-test": "^1",
+ "jetbrains/phpstorm-stubs": "2022.3",
+ "phpstan/phpstan": "1.9.14",
+ "phpstan/phpstan-strict-rules": "^1.4",
+ "phpunit/phpunit": "9.6.3",
+ "psalm/plugin-phpunit": "0.18.4",
+ "squizlabs/php_codesniffer": "3.7.1",
+ "symfony/cache": "^5.4|^6.0",
+ "symfony/console": "^4.4|^5.4|^6.0",
+ "vimeo/psalm": "4.30.0"
},
"suggest": {
"symfony/console": "For helpful console commands such as SQL execution and import of files."
@@ -502,7 +519,7 @@
],
"support": {
"issues": "https://github.com/doctrine/dbal/issues",
- "source": "https://github.com/doctrine/dbal/tree/3.2.0"
+ "source": "https://github.com/doctrine/dbal/tree/3.6.0"
},
"funding": [
{
@@ -518,29 +535,29 @@
"type": "tidelift"
}
],
- "time": "2021-11-26T21:00:12+00:00"
+ "time": "2023-02-07T22:52:03+00:00"
},
{
"name": "doctrine/deprecations",
- "version": "v0.5.3",
+ "version": "v1.0.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/deprecations.git",
- "reference": "9504165960a1f83cc1480e2be1dd0a0478561314"
+ "reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/deprecations/zipball/9504165960a1f83cc1480e2be1dd0a0478561314",
- "reference": "9504165960a1f83cc1480e2be1dd0a0478561314",
+ "url": "https://api.github.com/repos/doctrine/deprecations/zipball/0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de",
+ "reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de",
"shasum": ""
},
"require": {
"php": "^7.1|^8.0"
},
"require-dev": {
- "doctrine/coding-standard": "^6.0|^7.0|^8.0",
- "phpunit/phpunit": "^7.0|^8.0|^9.0",
- "psr/log": "^1.0"
+ "doctrine/coding-standard": "^9",
+ "phpunit/phpunit": "^7.5|^8.5|^9.5",
+ "psr/log": "^1|^2|^3"
},
"suggest": {
"psr/log": "Allows logging deprecations via PSR-3 logger implementation"
@@ -559,61 +576,63 @@
"homepage": "https://www.doctrine-project.org/",
"support": {
"issues": "https://github.com/doctrine/deprecations/issues",
- "source": "https://github.com/doctrine/deprecations/tree/v0.5.3"
+ "source": "https://github.com/doctrine/deprecations/tree/v1.0.0"
},
- "time": "2021-03-21T12:59:47+00:00"
+ "time": "2022-05-02T15:47:09+00:00"
},
{
"name": "doctrine/doctrine-bundle",
- "version": "2.5.2",
+ "version": "2.8.3",
"source": {
"type": "git",
"url": "https://github.com/doctrine/DoctrineBundle.git",
- "reference": "5b77477ba2981a00b423d1bb17084b87eb57a4a5"
+ "reference": "fd67ba64db3c806f626a33dcab15a4db0c77652e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/5b77477ba2981a00b423d1bb17084b87eb57a4a5",
- "reference": "5b77477ba2981a00b423d1bb17084b87eb57a4a5",
+ "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/fd67ba64db3c806f626a33dcab15a4db0c77652e",
+ "reference": "fd67ba64db3c806f626a33dcab15a4db0c77652e",
"shasum": ""
},
"require": {
- "doctrine/annotations": "^1",
"doctrine/cache": "^1.11 || ^2.0",
- "doctrine/dbal": "^2.13.1|^3.1",
- "doctrine/persistence": "^2.2",
+ "doctrine/dbal": "^3.4.0",
+ "doctrine/persistence": "^2.2 || ^3",
"doctrine/sql-formatter": "^1.0.1",
- "php": "^7.1 || ^8.0",
- "symfony/cache": "^4.3.3|^5.0|^6.0",
- "symfony/config": "^4.4.3|^5.0|^6.0",
- "symfony/console": "^3.4.30|^4.3.3|^5.0|^6.0",
- "symfony/dependency-injection": "^4.3.3|^5.0|^6.0",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/doctrine-bridge": "^4.4.22|^5.2.7|^6.0",
- "symfony/framework-bundle": "^3.4.30|^4.3.3|^5.0|^6.0",
- "symfony/service-contracts": "^1.1.1|^2.0|^3"
+ "php": "^7.4 || ^8.0",
+ "symfony/cache": "^5.4 || ^6.0",
+ "symfony/config": "^5.4 || ^6.0",
+ "symfony/console": "^5.4 || ^6.0",
+ "symfony/dependency-injection": "^5.4 || ^6.0",
+ "symfony/deprecation-contracts": "^2.1 || ^3",
+ "symfony/doctrine-bridge": "^5.4.19 || ^6.0.7",
+ "symfony/framework-bundle": "^5.4 || ^6.0",
+ "symfony/service-contracts": "^1.1.1 || ^2.0 || ^3"
},
"conflict": {
- "doctrine/orm": "<2.9",
- "twig/twig": "<1.34|>=2.0,<2.4"
+ "doctrine/annotations": ">=3.0",
+ "doctrine/orm": "<2.11 || >=3.0",
+ "twig/twig": "<1.34 || >=2.0,<2.4"
},
"require-dev": {
+ "doctrine/annotations": "^1 || ^2",
"doctrine/coding-standard": "^9.0",
- "doctrine/orm": "^2.9",
+ "doctrine/orm": "^2.11 || ^3.0",
"friendsofphp/proxy-manager-lts": "^1.0",
- "phpunit/phpunit": "^7.5 || ^8.0 || ^9.3 || ^10.0",
- "psalm/plugin-phpunit": "^0.16.1",
- "psalm/plugin-symfony": "^3",
- "symfony/phpunit-bridge": "^5.2|^6.0",
- "symfony/property-info": "^4.3.3|^5.0|^6.0",
- "symfony/proxy-manager-bridge": "^3.4|^4.3.3|^5.0|^6.0",
- "symfony/security-bundle": "^4.4|^5.0|^6.0",
- "symfony/twig-bridge": "^3.4.30|^4.3.3|^5.0|^6.0",
- "symfony/validator": "^3.4.30|^4.3.3|^5.0|^6.0",
- "symfony/web-profiler-bundle": "^3.4.30|^4.3.3|^5.0|^6.0",
- "symfony/yaml": "^3.4.30|^4.3.3|^5.0|^6.0",
- "twig/twig": "^1.34|^2.12|^3.0",
- "vimeo/psalm": "^4.7"
+ "phpunit/phpunit": "^9.5.26 || ^10.0",
+ "psalm/plugin-phpunit": "^0.18.4",
+ "psalm/plugin-symfony": "^4",
+ "psr/log": "^1.1.4 || ^2.0 || ^3.0",
+ "symfony/phpunit-bridge": "^6.1",
+ "symfony/property-info": "^5.4 || ^6.0",
+ "symfony/proxy-manager-bridge": "^5.4 || ^6.0",
+ "symfony/security-bundle": "^5.4 || ^6.0",
+ "symfony/twig-bridge": "^5.4 || ^6.0",
+ "symfony/validator": "^5.4 || ^6.0",
+ "symfony/web-profiler-bundle": "^5.4 || ^6.0",
+ "symfony/yaml": "^5.4 || ^6.0",
+ "twig/twig": "^1.34 || ^2.12 || ^3.0",
+ "vimeo/psalm": "^4.30"
},
"suggest": {
"doctrine/orm": "The Doctrine ORM integration is optional in the bundle.",
@@ -641,15 +660,15 @@
},
{
"name": "Symfony Community",
- "homepage": "http://symfony.com/contributors"
+ "homepage": "https://symfony.com/contributors"
},
{
"name": "Doctrine Project",
- "homepage": "http://www.doctrine-project.org/"
+ "homepage": "https://www.doctrine-project.org/"
}
],
"description": "Symfony DoctrineBundle",
- "homepage": "http://www.doctrine-project.org",
+ "homepage": "https://www.doctrine-project.org",
"keywords": [
"database",
"dbal",
@@ -658,7 +677,7 @@
],
"support": {
"issues": "https://github.com/doctrine/DoctrineBundle/issues",
- "source": "https://github.com/doctrine/DoctrineBundle/tree/2.5.2"
+ "source": "https://github.com/doctrine/DoctrineBundle/tree/2.8.3"
},
"funding": [
{
@@ -674,20 +693,20 @@
"type": "tidelift"
}
],
- "time": "2021-12-01T10:13:31+00:00"
+ "time": "2023-02-03T09:32:42+00:00"
},
{
"name": "doctrine/doctrine-migrations-bundle",
- "version": "3.2.1",
+ "version": "3.2.2",
"source": {
"type": "git",
"url": "https://github.com/doctrine/DoctrineMigrationsBundle.git",
- "reference": "c1b10bc1466e08bba82640e49c7bbcce0c9853c2"
+ "reference": "3393f411ba25ade21969c33f2053220044854d01"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/c1b10bc1466e08bba82640e49c7bbcce0c9853c2",
- "reference": "c1b10bc1466e08bba82640e49c7bbcce0c9853c2",
+ "url": "https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/3393f411ba25ade21969c33f2053220044854d01",
+ "reference": "3393f411ba25ade21969c33f2053220044854d01",
"shasum": ""
},
"require": {
@@ -727,11 +746,11 @@
},
{
"name": "Doctrine Project",
- "homepage": "http://www.doctrine-project.org"
+ "homepage": "https://www.doctrine-project.org"
},
{
"name": "Symfony Community",
- "homepage": "http://symfony.com/contributors"
+ "homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony DoctrineMigrationsBundle",
@@ -743,7 +762,7 @@
],
"support": {
"issues": "https://github.com/doctrine/DoctrineMigrationsBundle/issues",
- "source": "https://github.com/doctrine/DoctrineMigrationsBundle/tree/3.2.1"
+ "source": "https://github.com/doctrine/DoctrineMigrationsBundle/tree/3.2.2"
},
"funding": [
{
@@ -759,41 +778,38 @@
"type": "tidelift"
}
],
- "time": "2021-11-11T11:08:52+00:00"
+ "time": "2022-02-01T18:08:07+00:00"
},
{
"name": "doctrine/event-manager",
- "version": "1.1.1",
+ "version": "2.0.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/event-manager.git",
- "reference": "41370af6a30faa9dc0368c4a6814d596e81aba7f"
+ "reference": "750671534e0241a7c50ea5b43f67e23eb5c96f32"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/event-manager/zipball/41370af6a30faa9dc0368c4a6814d596e81aba7f",
- "reference": "41370af6a30faa9dc0368c4a6814d596e81aba7f",
+ "url": "https://api.github.com/repos/doctrine/event-manager/zipball/750671534e0241a7c50ea5b43f67e23eb5c96f32",
+ "reference": "750671534e0241a7c50ea5b43f67e23eb5c96f32",
"shasum": ""
},
"require": {
- "php": "^7.1 || ^8.0"
+ "php": "^8.1"
},
"conflict": {
- "doctrine/common": "<2.9@dev"
+ "doctrine/common": "<2.9"
},
"require-dev": {
- "doctrine/coding-standard": "^6.0",
- "phpunit/phpunit": "^7.0"
+ "doctrine/coding-standard": "^10",
+ "phpstan/phpstan": "^1.8.8",
+ "phpunit/phpunit": "^9.5",
+ "vimeo/psalm": "^4.28"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
"autoload": {
"psr-4": {
- "Doctrine\\Common\\": "lib/Doctrine/Common"
+ "Doctrine\\Common\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -837,7 +853,7 @@
],
"support": {
"issues": "https://github.com/doctrine/event-manager/issues",
- "source": "https://github.com/doctrine/event-manager/tree/1.1.x"
+ "source": "https://github.com/doctrine/event-manager/tree/2.0.0"
},
"funding": [
{
@@ -853,32 +869,32 @@
"type": "tidelift"
}
],
- "time": "2020-05-29T18:28:51+00:00"
+ "time": "2022-10-12T20:59:15+00:00"
},
{
"name": "doctrine/inflector",
- "version": "2.0.4",
+ "version": "2.0.6",
"source": {
"type": "git",
"url": "https://github.com/doctrine/inflector.git",
- "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89"
+ "reference": "d9d313a36c872fd6ee06d9a6cbcf713eaa40f024"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/inflector/zipball/8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89",
- "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89",
+ "url": "https://api.github.com/repos/doctrine/inflector/zipball/d9d313a36c872fd6ee06d9a6cbcf713eaa40f024",
+ "reference": "d9d313a36c872fd6ee06d9a6cbcf713eaa40f024",
"shasum": ""
},
"require": {
"php": "^7.2 || ^8.0"
},
"require-dev": {
- "doctrine/coding-standard": "^8.2",
- "phpstan/phpstan": "^0.12",
- "phpstan/phpstan-phpunit": "^0.12",
- "phpstan/phpstan-strict-rules": "^0.12",
- "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0",
- "vimeo/psalm": "^4.10"
+ "doctrine/coding-standard": "^10",
+ "phpstan/phpstan": "^1.8",
+ "phpstan/phpstan-phpunit": "^1.1",
+ "phpstan/phpstan-strict-rules": "^1.3",
+ "phpunit/phpunit": "^8.5 || ^9.5",
+ "vimeo/psalm": "^4.25"
},
"type": "library",
"autoload": {
@@ -928,7 +944,7 @@
],
"support": {
"issues": "https://github.com/doctrine/inflector/issues",
- "source": "https://github.com/doctrine/inflector/tree/2.0.4"
+ "source": "https://github.com/doctrine/inflector/tree/2.0.6"
},
"funding": [
{
@@ -944,33 +960,34 @@
"type": "tidelift"
}
],
- "time": "2021-10-22T20:16:43+00:00"
+ "time": "2022-10-20T09:10:12+00:00"
},
{
"name": "doctrine/instantiator",
- "version": "1.4.0",
+ "version": "1.5.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/instantiator.git",
- "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b"
+ "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/instantiator/zipball/d56bf6102915de5702778fe20f2de3b2fe570b5b",
- "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b",
+ "url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b",
+ "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b",
"shasum": ""
},
"require": {
"php": "^7.1 || ^8.0"
},
"require-dev": {
- "doctrine/coding-standard": "^8.0",
+ "doctrine/coding-standard": "^9 || ^11",
"ext-pdo": "*",
"ext-phar": "*",
- "phpbench/phpbench": "^0.13 || 1.0.0-alpha2",
- "phpstan/phpstan": "^0.12",
- "phpstan/phpstan-phpunit": "^0.12",
- "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0"
+ "phpbench/phpbench": "^0.16 || ^1",
+ "phpstan/phpstan": "^1.4",
+ "phpstan/phpstan-phpunit": "^1",
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
+ "vimeo/psalm": "^4.30 || ^5.4"
},
"type": "library",
"autoload": {
@@ -997,7 +1014,7 @@
],
"support": {
"issues": "https://github.com/doctrine/instantiator/issues",
- "source": "https://github.com/doctrine/instantiator/tree/1.4.0"
+ "source": "https://github.com/doctrine/instantiator/tree/1.5.0"
},
"funding": [
{
@@ -1013,39 +1030,37 @@
"type": "tidelift"
}
],
- "time": "2020-11-10T18:47:58+00:00"
+ "time": "2022-12-30T00:15:36+00:00"
},
{
"name": "doctrine/lexer",
- "version": "1.2.1",
+ "version": "2.1.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/lexer.git",
- "reference": "e864bbf5904cb8f5bb334f99209b48018522f042"
+ "reference": "39ab8fcf5a51ce4b85ca97c7a7d033eb12831124"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/lexer/zipball/e864bbf5904cb8f5bb334f99209b48018522f042",
- "reference": "e864bbf5904cb8f5bb334f99209b48018522f042",
+ "url": "https://api.github.com/repos/doctrine/lexer/zipball/39ab8fcf5a51ce4b85ca97c7a7d033eb12831124",
+ "reference": "39ab8fcf5a51ce4b85ca97c7a7d033eb12831124",
"shasum": ""
},
"require": {
- "php": "^7.2 || ^8.0"
+ "doctrine/deprecations": "^1.0",
+ "php": "^7.1 || ^8.0"
},
"require-dev": {
- "doctrine/coding-standard": "^6.0",
- "phpstan/phpstan": "^0.11.8",
- "phpunit/phpunit": "^8.2"
+ "doctrine/coding-standard": "^9 || ^10",
+ "phpstan/phpstan": "^1.3",
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
+ "psalm/plugin-phpunit": "^0.18.3",
+ "vimeo/psalm": "^4.11 || ^5.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.2.x-dev"
- }
- },
"autoload": {
"psr-4": {
- "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer"
+ "Doctrine\\Common\\Lexer\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -1077,7 +1092,7 @@
],
"support": {
"issues": "https://github.com/doctrine/lexer/issues",
- "source": "https://github.com/doctrine/lexer/tree/1.2.1"
+ "source": "https://github.com/doctrine/lexer/tree/2.1.0"
},
"funding": [
{
@@ -1093,49 +1108,51 @@
"type": "tidelift"
}
],
- "time": "2020-05-25T17:44:05+00:00"
+ "time": "2022-12-14T08:49:07+00:00"
},
{
"name": "doctrine/migrations",
- "version": "3.3.2",
+ "version": "3.6.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/migrations.git",
- "reference": "b6e43bb5815f4dbb88c79a0fef1c669dfba52d58"
+ "reference": "e542ad8bcd606d7a18d0875babb8a6d963c9c059"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/migrations/zipball/b6e43bb5815f4dbb88c79a0fef1c669dfba52d58",
- "reference": "b6e43bb5815f4dbb88c79a0fef1c669dfba52d58",
+ "url": "https://api.github.com/repos/doctrine/migrations/zipball/e542ad8bcd606d7a18d0875babb8a6d963c9c059",
+ "reference": "e542ad8bcd606d7a18d0875babb8a6d963c9c059",
"shasum": ""
},
"require": {
- "composer/package-versions-deprecated": "^1.8",
- "doctrine/dbal": "^2.11 || ^3.0",
- "doctrine/deprecations": "^0.5.3",
- "doctrine/event-manager": "^1.0",
- "friendsofphp/proxy-manager-lts": "^1.0",
- "php": "^7.2 || ^8.0",
+ "composer-runtime-api": "^2",
+ "doctrine/dbal": "^3.5.1",
+ "doctrine/deprecations": "^0.5.3 || ^1",
+ "doctrine/event-manager": "^1.2 || ^2.0",
+ "php": "^8.1",
"psr/log": "^1.1.3 || ^2 || ^3",
- "symfony/console": "^3.4 || ^4.4.16 || ^5.0 || ^6.0",
- "symfony/stopwatch": "^3.4 || ^4.0 || ^5.0 || ^6.0"
+ "symfony/console": "^4.4.16 || ^5.4 || ^6.0",
+ "symfony/stopwatch": "^4.4 || ^5.4 || ^6.0",
+ "symfony/var-exporter": "^6.2"
+ },
+ "conflict": {
+ "doctrine/orm": "<2.12"
},
"require-dev": {
- "doctrine/coding-standard": "^8.0",
- "doctrine/orm": "^2.6",
- "doctrine/persistence": "^1.3 || ^2.0",
+ "doctrine/coding-standard": "^9",
+ "doctrine/orm": "^2.13",
+ "doctrine/persistence": "^2 || ^3",
"doctrine/sql-formatter": "^1.0",
- "ergebnis/composer-normalize": "^2.9",
"ext-pdo_sqlite": "*",
- "phpstan/phpstan": "^0.12",
- "phpstan/phpstan-deprecation-rules": "^0.12",
- "phpstan/phpstan-phpunit": "^0.12",
- "phpstan/phpstan-strict-rules": "^0.12",
- "phpstan/phpstan-symfony": "^0.12",
- "phpunit/phpunit": "^8.5 || ^9.4",
- "symfony/cache": "^3.4.26 || ~4.1.12 || ^4.2.7 || ^5.0 || ^6.0",
- "symfony/process": "^3.4 || ^4.0 || ^5.0 || ^6.0",
- "symfony/yaml": "^3.4 || ^4.0 || ^5.0 || ^6.0"
+ "phpstan/phpstan": "^1.5",
+ "phpstan/phpstan-deprecation-rules": "^1",
+ "phpstan/phpstan-phpunit": "^1.1",
+ "phpstan/phpstan-strict-rules": "^1.1",
+ "phpstan/phpstan-symfony": "^1.1",
+ "phpunit/phpunit": "^9.5.24",
+ "symfony/cache": "^4.4 || ^5.4 || ^6.0",
+ "symfony/process": "^4.4 || ^5.4 || ^6.0",
+ "symfony/yaml": "^4.4 || ^5.4 || ^6.0"
},
"suggest": {
"doctrine/sql-formatter": "Allows to generate formatted SQL with the diff command.",
@@ -1145,12 +1162,6 @@
"bin/doctrine-migrations"
],
"type": "library",
- "extra": {
- "composer-normalize": {
- "indent-size": 4,
- "indent-style": "space"
- }
- },
"autoload": {
"psr-4": {
"Doctrine\\Migrations\\": "lib/Doctrine/Migrations"
@@ -1183,7 +1194,7 @@
],
"support": {
"issues": "https://github.com/doctrine/migrations/issues",
- "source": "https://github.com/doctrine/migrations/tree/3.3.2"
+ "source": "https://github.com/doctrine/migrations/tree/3.6.0"
},
"funding": [
{
@@ -1199,57 +1210,59 @@
"type": "tidelift"
}
],
- "time": "2021-11-12T09:03:27+00:00"
+ "time": "2023-02-15T18:49:46+00:00"
},
{
"name": "doctrine/orm",
- "version": "2.10.3",
+ "version": "2.14.1",
"source": {
"type": "git",
"url": "https://github.com/doctrine/orm.git",
- "reference": "7b242753466508e1dd10f67c1baee95785f845c1"
+ "reference": "de7eee5ed7b1b35c99b118f26f210a8281e6db8e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/orm/zipball/7b242753466508e1dd10f67c1baee95785f845c1",
- "reference": "7b242753466508e1dd10f67c1baee95785f845c1",
+ "url": "https://api.github.com/repos/doctrine/orm/zipball/de7eee5ed7b1b35c99b118f26f210a8281e6db8e",
+ "reference": "de7eee5ed7b1b35c99b118f26f210a8281e6db8e",
"shasum": ""
},
"require": {
- "composer/package-versions-deprecated": "^1.8",
+ "composer-runtime-api": "^2",
"doctrine/cache": "^1.12.1 || ^2.1.1",
- "doctrine/collections": "^1.5",
+ "doctrine/collections": "^1.5 || ^2.0",
"doctrine/common": "^3.0.3",
- "doctrine/dbal": "^2.13.1 || ^3.1.1",
- "doctrine/deprecations": "^0.5.3",
- "doctrine/event-manager": "^1.1",
+ "doctrine/dbal": "^2.13.1 || ^3.2",
+ "doctrine/deprecations": "^0.5.3 || ^1",
+ "doctrine/event-manager": "^1.2 || ^2",
"doctrine/inflector": "^1.4 || ^2.0",
"doctrine/instantiator": "^1.3",
- "doctrine/lexer": "^1.0",
- "doctrine/persistence": "^2.2",
+ "doctrine/lexer": "^1.2.3 || ^2",
+ "doctrine/persistence": "^2.4 || ^3",
"ext-ctype": "*",
- "ext-pdo": "*",
- "php": "^7.1 ||^8.0",
+ "php": "^7.1 || ^8.0",
"psr/cache": "^1 || ^2 || ^3",
- "symfony/console": "^3.0 || ^4.0 || ^5.0 || ^6.0",
+ "symfony/console": "^4.2 || ^5.0 || ^6.0",
"symfony/polyfill-php72": "^1.23",
- "symfony/polyfill-php80": "^1.15"
+ "symfony/polyfill-php80": "^1.16"
},
"conflict": {
- "doctrine/annotations": "<1.13 || >= 2.0"
+ "doctrine/annotations": "<1.13 || >= 3.0"
},
"require-dev": {
- "doctrine/annotations": "^1.13",
- "doctrine/coding-standard": "^9.0",
+ "doctrine/annotations": "^1.13 || ^2",
+ "doctrine/coding-standard": "^9.0.2 || ^11.0",
"phpbench/phpbench": "^0.16.10 || ^1.0",
- "phpstan/phpstan": "1.2.0",
- "phpunit/phpunit": "^7.5 || ^8.5 || ^9.4",
- "squizlabs/php_codesniffer": "3.6.1",
- "symfony/cache": "^4.4 || ^5.2",
+ "phpstan/phpstan": "~1.4.10 || 1.9.8",
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
+ "psr/log": "^1 || ^2 || ^3",
+ "squizlabs/php_codesniffer": "3.7.1",
+ "symfony/cache": "^4.4 || ^5.4 || ^6.0",
+ "symfony/var-exporter": "^4.4 || ^5.4 || ^6.2",
"symfony/yaml": "^3.4 || ^4.0 || ^5.0 || ^6.0",
- "vimeo/psalm": "4.13.1"
+ "vimeo/psalm": "4.30.0 || 5.4.0"
},
"suggest": {
+ "ext-dom": "Provides support for XSD validation for XML mapping files",
"symfony/cache": "Provides cache support for Setup Tool with doctrine/cache 2.0",
"symfony/yaml": "If you want to use YAML Metadata Mapping Driver"
},
@@ -1296,50 +1309,47 @@
],
"support": {
"issues": "https://github.com/doctrine/orm/issues",
- "source": "https://github.com/doctrine/orm/tree/2.10.3"
+ "source": "https://github.com/doctrine/orm/tree/2.14.1"
},
- "time": "2021-12-03T12:27:05+00:00"
+ "time": "2023-01-16T18:36:59+00:00"
},
{
"name": "doctrine/persistence",
- "version": "2.2.3",
+ "version": "3.1.4",
"source": {
"type": "git",
"url": "https://github.com/doctrine/persistence.git",
- "reference": "5e7bdbbfe9811c06e1f745d1c166647d5c47d6ee"
+ "reference": "8bf8ab15960787f1a49d405f6eb8c787b4841119"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/persistence/zipball/5e7bdbbfe9811c06e1f745d1c166647d5c47d6ee",
- "reference": "5e7bdbbfe9811c06e1f745d1c166647d5c47d6ee",
+ "url": "https://api.github.com/repos/doctrine/persistence/zipball/8bf8ab15960787f1a49d405f6eb8c787b4841119",
+ "reference": "8bf8ab15960787f1a49d405f6eb8c787b4841119",
"shasum": ""
},
"require": {
- "doctrine/annotations": "^1.0",
- "doctrine/cache": "^1.11 || ^2.0",
- "doctrine/collections": "^1.0",
- "doctrine/deprecations": "^0.5.3",
- "doctrine/event-manager": "^1.0",
- "php": "^7.1 || ^8.0",
- "psr/cache": "^1.0|^2.0|^3.0"
+ "doctrine/event-manager": "^1 || ^2",
+ "php": "^7.2 || ^8.0",
+ "psr/cache": "^1.0 || ^2.0 || ^3.0"
},
"conflict": {
- "doctrine/common": "<2.10@dev"
+ "doctrine/common": "<2.10"
},
"require-dev": {
"composer/package-versions-deprecated": "^1.11",
- "doctrine/coding-standard": "^6.0 || ^9.0",
+ "doctrine/coding-standard": "^11",
"doctrine/common": "^3.0",
- "phpstan/phpstan": "0.12.84",
- "phpunit/phpunit": "^7.5.20 || ^8.0 || ^9.0",
- "symfony/cache": "^4.4|^5.0",
- "vimeo/psalm": "4.7.0"
+ "phpstan/phpstan": "1.9.4",
+ "phpstan/phpstan-phpunit": "^1",
+ "phpstan/phpstan-strict-rules": "^1.1",
+ "phpunit/phpunit": "^8.5 || ^9.5",
+ "symfony/cache": "^4.4 || ^5.4 || ^6.0",
+ "vimeo/psalm": "4.30.0 || 5.3.0"
},
"type": "library",
"autoload": {
"psr-4": {
- "Doctrine\\Common\\": "lib/Doctrine/Common",
- "Doctrine\\Persistence\\": "lib/Doctrine/Persistence"
+ "Doctrine\\Persistence\\": "src/Persistence"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -1373,7 +1383,7 @@
}
],
"description": "The Doctrine Persistence project is a set of shared interfaces and functionality that the different Doctrine object mappers share.",
- "homepage": "https://doctrine-project.org/projects/persistence.html",
+ "homepage": "https://www.doctrine-project.org/projects/persistence.html",
"keywords": [
"mapper",
"object",
@@ -1383,22 +1393,36 @@
],
"support": {
"issues": "https://github.com/doctrine/persistence/issues",
- "source": "https://github.com/doctrine/persistence/tree/2.2.3"
+ "source": "https://github.com/doctrine/persistence/tree/3.1.4"
},
- "time": "2021-10-25T19:59:10+00:00"
+ "funding": [
+ {
+ "url": "https://www.doctrine-project.org/sponsorship.html",
+ "type": "custom"
+ },
+ {
+ "url": "https://www.patreon.com/phpdoctrine",
+ "type": "patreon"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fpersistence",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-02-03T11:13:07+00:00"
},
{
"name": "doctrine/sql-formatter",
- "version": "1.1.2",
+ "version": "1.1.3",
"source": {
"type": "git",
"url": "https://github.com/doctrine/sql-formatter.git",
- "reference": "20c39c2de286a9d3262cc8ed282a4ae60e265894"
+ "reference": "25a06c7bf4c6b8218f47928654252863ffc890a5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/sql-formatter/zipball/20c39c2de286a9d3262cc8ed282a4ae60e265894",
- "reference": "20c39c2de286a9d3262cc8ed282a4ae60e265894",
+ "url": "https://api.github.com/repos/doctrine/sql-formatter/zipball/25a06c7bf4c6b8218f47928654252863ffc890a5",
+ "reference": "25a06c7bf4c6b8218f47928654252863ffc890a5",
"shasum": ""
},
"require": {
@@ -1424,7 +1448,7 @@
{
"name": "Jeremy Dorn",
"email": "jeremy@jeremydorn.com",
- "homepage": "http://jeremydorn.com/"
+ "homepage": "https://jeremydorn.com/"
}
],
"description": "a PHP SQL highlighting library",
@@ -1435,32 +1459,34 @@
],
"support": {
"issues": "https://github.com/doctrine/sql-formatter/issues",
- "source": "https://github.com/doctrine/sql-formatter/tree/1.1.2"
+ "source": "https://github.com/doctrine/sql-formatter/tree/1.1.3"
},
- "time": "2021-11-05T11:11:14+00:00"
+ "time": "2022-05-23T21:33:49+00:00"
},
{
"name": "dompdf/dompdf",
- "version": "v1.1.1",
+ "version": "v1.2.2",
"source": {
"type": "git",
"url": "https://github.com/dompdf/dompdf.git",
- "reference": "de4aad040737a89fae2129cdeb0f79c45513128d"
+ "reference": "5031045d9640b38cfc14aac9667470df09c9e090"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/dompdf/dompdf/zipball/de4aad040737a89fae2129cdeb0f79c45513128d",
- "reference": "de4aad040737a89fae2129cdeb0f79c45513128d",
+ "url": "https://api.github.com/repos/dompdf/dompdf/zipball/5031045d9640b38cfc14aac9667470df09c9e090",
+ "reference": "5031045d9640b38cfc14aac9667470df09c9e090",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-mbstring": "*",
- "phenx/php-font-lib": "^0.5.2",
- "phenx/php-svg-lib": "^0.3.3",
+ "phenx/php-font-lib": "^0.5.4",
+ "phenx/php-svg-lib": "^0.3.3 || ^0.4.0",
"php": "^7.1 || ^8.0"
},
"require-dev": {
+ "ext-json": "*",
+ "ext-zip": "*",
"mockery/mockery": "^1.3",
"phpunit/phpunit": "^7.5 || ^8 || ^9",
"squizlabs/php_codesniffer": "^3.5"
@@ -1502,33 +1528,32 @@
"homepage": "https://github.com/dompdf/dompdf",
"support": {
"issues": "https://github.com/dompdf/dompdf/issues",
- "source": "https://github.com/dompdf/dompdf/tree/v1.1.1"
+ "source": "https://github.com/dompdf/dompdf/tree/v1.2.2"
},
- "time": "2021-11-24T00:45:04+00:00"
+ "time": "2022-04-27T13:50:54+00:00"
},
{
"name": "egulias/email-validator",
- "version": "3.1.2",
+ "version": "4.0.1",
"source": {
"type": "git",
"url": "https://github.com/egulias/EmailValidator.git",
- "reference": "ee0db30118f661fb166bcffbf5d82032df484697"
+ "reference": "3a85486b709bc384dae8eb78fb2eec649bdb64ff"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ee0db30118f661fb166bcffbf5d82032df484697",
- "reference": "ee0db30118f661fb166bcffbf5d82032df484697",
+ "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/3a85486b709bc384dae8eb78fb2eec649bdb64ff",
+ "reference": "3a85486b709bc384dae8eb78fb2eec649bdb64ff",
"shasum": ""
},
"require": {
- "doctrine/lexer": "^1.2",
- "php": ">=7.2",
- "symfony/polyfill-intl-idn": "^1.15"
+ "doctrine/lexer": "^2.0 || ^3.0",
+ "php": ">=8.1",
+ "symfony/polyfill-intl-idn": "^1.26"
},
"require-dev": {
- "php-coveralls/php-coveralls": "^2.2",
- "phpunit/phpunit": "^8.5.8|^9.3.3",
- "vimeo/psalm": "^4"
+ "phpunit/phpunit": "^9.5.27",
+ "vimeo/psalm": "^4.30"
},
"suggest": {
"ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation"
@@ -1536,7 +1561,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.0.x-dev"
+ "dev-master": "4.0.x-dev"
}
},
"autoload": {
@@ -1564,7 +1589,7 @@
],
"support": {
"issues": "https://github.com/egulias/EmailValidator/issues",
- "source": "https://github.com/egulias/EmailValidator/tree/3.1.2"
+ "source": "https://github.com/egulias/EmailValidator/tree/4.0.1"
},
"funding": [
{
@@ -1572,7 +1597,7 @@
"type": "github"
}
],
- "time": "2021-10-11T09:18:27+00:00"
+ "time": "2023-01-14T14:17:03+00:00"
},
{
"name": "firebase/php-jwt",
@@ -1623,16 +1648,16 @@
},
{
"name": "friendsofphp/proxy-manager-lts",
- "version": "v1.0.5",
+ "version": "v1.0.14",
"source": {
"type": "git",
"url": "https://github.com/FriendsOfPHP/proxy-manager-lts.git",
- "reference": "006aa5d32f887a4db4353b13b5b5095613e0611f"
+ "reference": "a527c9d9d5348e012bd24482d83a5cd643bcbc9e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/FriendsOfPHP/proxy-manager-lts/zipball/006aa5d32f887a4db4353b13b5b5095613e0611f",
- "reference": "006aa5d32f887a4db4353b13b5b5095613e0611f",
+ "url": "https://api.github.com/repos/FriendsOfPHP/proxy-manager-lts/zipball/a527c9d9d5348e012bd24482d83a5cd643bcbc9e",
+ "reference": "a527c9d9d5348e012bd24482d83a5cd643bcbc9e",
"shasum": ""
},
"require": {
@@ -1649,7 +1674,7 @@
},
"require-dev": {
"ext-phar": "*",
- "symfony/phpunit-bridge": "^5.2|^6.0"
+ "symfony/phpunit-bridge": "^5.4|^6.0"
},
"type": "library",
"extra": {
@@ -1671,7 +1696,7 @@
{
"name": "Marco Pivetta",
"email": "ocramius@gmail.com",
- "homepage": "http://ocramius.github.io/"
+ "homepage": "https://ocramius.github.io/"
},
{
"name": "Nicolas Grekas",
@@ -1689,7 +1714,7 @@
],
"support": {
"issues": "https://github.com/FriendsOfPHP/proxy-manager-lts/issues",
- "source": "https://github.com/FriendsOfPHP/proxy-manager-lts/tree/v1.0.5"
+ "source": "https://github.com/FriendsOfPHP/proxy-manager-lts/tree/v1.0.14"
},
"funding": [
{
@@ -1701,26 +1726,26 @@
"type": "tidelift"
}
],
- "time": "2021-05-22T16:11:15+00:00"
+ "time": "2023-01-30T10:40:19+00:00"
},
{
"name": "guzzlehttp/guzzle",
- "version": "7.4.1",
+ "version": "7.5.0",
"source": {
"type": "git",
"url": "https://github.com/guzzle/guzzle.git",
- "reference": "ee0a041b1760e6a53d2a39c8c34115adc2af2c79"
+ "reference": "b50a2a1251152e43f6a37f0fa053e730a67d25ba"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/guzzle/zipball/ee0a041b1760e6a53d2a39c8c34115adc2af2c79",
- "reference": "ee0a041b1760e6a53d2a39c8c34115adc2af2c79",
+ "url": "https://api.github.com/repos/guzzle/guzzle/zipball/b50a2a1251152e43f6a37f0fa053e730a67d25ba",
+ "reference": "b50a2a1251152e43f6a37f0fa053e730a67d25ba",
"shasum": ""
},
"require": {
"ext-json": "*",
"guzzlehttp/promises": "^1.5",
- "guzzlehttp/psr7": "^1.8.3 || ^2.1",
+ "guzzlehttp/psr7": "^1.9 || ^2.4",
"php": "^7.2.5 || ^8.0",
"psr/http-client": "^1.0",
"symfony/deprecation-contracts": "^2.2 || ^3.0"
@@ -1729,10 +1754,10 @@
"psr/http-client-implementation": "1.0"
},
"require-dev": {
- "bamarni/composer-bin-plugin": "^1.4.1",
+ "bamarni/composer-bin-plugin": "^1.8.1",
"ext-curl": "*",
"php-http/client-integration-tests": "^3.0",
- "phpunit/phpunit": "^8.5.5 || ^9.3.5",
+ "phpunit/phpunit": "^8.5.29 || ^9.5.23",
"psr/log": "^1.1 || ^2.0 || ^3.0"
},
"suggest": {
@@ -1742,17 +1767,21 @@
},
"type": "library",
"extra": {
+ "bamarni-bin": {
+ "bin-links": true,
+ "forward-command": false
+ },
"branch-alias": {
- "dev-master": "7.4-dev"
+ "dev-master": "7.5-dev"
}
},
"autoload": {
- "psr-4": {
- "GuzzleHttp\\": "src/"
- },
"files": [
"src/functions_include.php"
- ]
+ ],
+ "psr-4": {
+ "GuzzleHttp\\": "src/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -1809,7 +1838,7 @@
],
"support": {
"issues": "https://github.com/guzzle/guzzle/issues",
- "source": "https://github.com/guzzle/guzzle/tree/7.4.1"
+ "source": "https://github.com/guzzle/guzzle/tree/7.5.0"
},
"funding": [
{
@@ -1825,20 +1854,20 @@
"type": "tidelift"
}
],
- "time": "2021-12-06T18:43:05+00:00"
+ "time": "2022-08-28T15:39:27+00:00"
},
{
"name": "guzzlehttp/promises",
- "version": "1.5.1",
+ "version": "1.5.2",
"source": {
"type": "git",
"url": "https://github.com/guzzle/promises.git",
- "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da"
+ "reference": "b94b2807d85443f9719887892882d0329d1e2598"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/promises/zipball/fe752aedc9fd8fcca3fe7ad05d419d32998a06da",
- "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da",
+ "url": "https://api.github.com/repos/guzzle/promises/zipball/b94b2807d85443f9719887892882d0329d1e2598",
+ "reference": "b94b2807d85443f9719887892882d0329d1e2598",
"shasum": ""
},
"require": {
@@ -1854,12 +1883,12 @@
}
},
"autoload": {
- "psr-4": {
- "GuzzleHttp\\Promise\\": "src/"
- },
"files": [
"src/functions_include.php"
- ]
+ ],
+ "psr-4": {
+ "GuzzleHttp\\Promise\\": "src/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -1893,7 +1922,7 @@
],
"support": {
"issues": "https://github.com/guzzle/promises/issues",
- "source": "https://github.com/guzzle/promises/tree/1.5.1"
+ "source": "https://github.com/guzzle/promises/tree/1.5.2"
},
"funding": [
{
@@ -1909,20 +1938,20 @@
"type": "tidelift"
}
],
- "time": "2021-10-22T20:56:57+00:00"
+ "time": "2022-08-28T14:55:35+00:00"
},
{
"name": "guzzlehttp/psr7",
- "version": "2.1.0",
+ "version": "2.4.3",
"source": {
"type": "git",
"url": "https://github.com/guzzle/psr7.git",
- "reference": "089edd38f5b8abba6cb01567c2a8aaa47cec4c72"
+ "reference": "67c26b443f348a51926030c83481b85718457d3d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/psr7/zipball/089edd38f5b8abba6cb01567c2a8aaa47cec4c72",
- "reference": "089edd38f5b8abba6cb01567c2a8aaa47cec4c72",
+ "url": "https://api.github.com/repos/guzzle/psr7/zipball/67c26b443f348a51926030c83481b85718457d3d",
+ "reference": "67c26b443f348a51926030c83481b85718457d3d",
"shasum": ""
},
"require": {
@@ -1936,17 +1965,21 @@
"psr/http-message-implementation": "1.0"
},
"require-dev": {
- "bamarni/composer-bin-plugin": "^1.4.1",
+ "bamarni/composer-bin-plugin": "^1.8.1",
"http-interop/http-factory-tests": "^0.9",
- "phpunit/phpunit": "^8.5.8 || ^9.3.10"
+ "phpunit/phpunit": "^8.5.29 || ^9.5.23"
},
"suggest": {
"laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
},
"type": "library",
"extra": {
+ "bamarni-bin": {
+ "bin-links": true,
+ "forward-command": false
+ },
"branch-alias": {
- "dev-master": "2.1-dev"
+ "dev-master": "2.4-dev"
}
},
"autoload": {
@@ -2008,7 +2041,7 @@
],
"support": {
"issues": "https://github.com/guzzle/psr7/issues",
- "source": "https://github.com/guzzle/psr7/tree/2.1.0"
+ "source": "https://github.com/guzzle/psr7/tree/2.4.3"
},
"funding": [
{
@@ -2024,83 +2057,20 @@
"type": "tidelift"
}
],
- "time": "2021-10-06T17:43:30+00:00"
- },
- {
- "name": "h2entwicklung/doctrine-encrypt-bundle",
- "version": "4.0.6",
- "source": {
- "type": "git",
- "url": "https://github.com/h2Entwicklung/DoctrineEncryptBundle.git",
- "reference": "1aeddb7bb22d0196dff5253f1b4367b5919bcc39"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/h2Entwicklung/DoctrineEncryptBundle/zipball/1aeddb7bb22d0196dff5253f1b4367b5919bcc39",
- "reference": "1aeddb7bb22d0196dff5253f1b4367b5919bcc39",
- "shasum": ""
- },
- "require": {
- "doctrine/orm": "^2.5",
- "paragonie/halite": "^4.6",
- "paragonie/sodium_compat": "^1.5",
- "php": "^7.2",
- "symfony/config": "^5.1",
- "symfony/dependency-injection": "^5.1",
- "symfony/http-kernel": "^5.1",
- "symfony/property-access": "^5.1",
- "symfony/yaml": "^5.1"
- },
- "require-dev": {
- "defuse/php-encryption": "^2.1",
- "phpunit/phpunit": "^6.5"
- },
- "suggest": {
- "defuse/php-encryption": "Alternative for halite for use with older php-versions",
- "ext-sodium": "Required to use halite encryption library."
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Ambta\\DoctrineEncryptBundle\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "h2entwicklung",
- "email": "info@h2-invent.com"
- }
- ],
- "description": "Encrypted symfony entity's by verified and standardized libraries Works with Symfony >5.1. This Package replaces the abandoned GiveMeAllYourCats/DoctrineEncryptBundle which is not longer maintained",
- "keywords": [
- "Defuse",
- "decrypt",
- "doctrine",
- "encrypt",
- "halite",
- "symfony"
- ],
- "support": {
- "source": "https://github.com/h2Entwicklung/DoctrineEncryptBundle/tree/4.0.6"
- },
- "time": "2021-08-12T13:41:31+00:00"
+ "time": "2022-10-26T14:07:24+00:00"
},
{
"name": "jms/metadata",
- "version": "2.6.1",
+ "version": "2.8.0",
"source": {
"type": "git",
"url": "https://github.com/schmittjoh/metadata.git",
- "reference": "c3a3214354b5a765a19875f7b7c5ebcd94e462e5"
+ "reference": "7ca240dcac0c655eb15933ee55736ccd2ea0d7a6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/schmittjoh/metadata/zipball/c3a3214354b5a765a19875f7b7c5ebcd94e462e5",
- "reference": "c3a3214354b5a765a19875f7b7c5ebcd94e462e5",
+ "url": "https://api.github.com/repos/schmittjoh/metadata/zipball/7ca240dcac0c655eb15933ee55736ccd2ea0d7a6",
+ "reference": "7ca240dcac0c655eb15933ee55736ccd2ea0d7a6",
"shasum": ""
},
"require": {
@@ -2111,7 +2081,7 @@
"doctrine/coding-standard": "^8.0",
"mikey179/vfsstream": "^1.6.7",
"phpunit/phpunit": "^8.5|^9.0",
- "psr/container": "^1.0",
+ "psr/container": "^1.0|^2.0",
"symfony/cache": "^3.1|^4.0|^5.0",
"symfony/dependency-injection": "^3.1|^4.0|^5.0"
},
@@ -2149,27 +2119,27 @@
],
"support": {
"issues": "https://github.com/schmittjoh/metadata/issues",
- "source": "https://github.com/schmittjoh/metadata/tree/2.6.1"
+ "source": "https://github.com/schmittjoh/metadata/tree/2.8.0"
},
- "time": "2021-11-22T12:27:42+00:00"
+ "time": "2023-02-15T13:44:18+00:00"
},
{
"name": "knpuniversity/oauth2-client-bundle",
- "version": "v2.9.0",
+ "version": "v2.13.1",
"source": {
"type": "git",
"url": "https://github.com/knpuniversity/oauth2-client-bundle.git",
- "reference": "2c925911cca6ed16b0695000bf927d405815dc36"
+ "reference": "f7fe73e98f193503b8aaf2e11f50a0d72539dc7c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/knpuniversity/oauth2-client-bundle/zipball/2c925911cca6ed16b0695000bf927d405815dc36",
- "reference": "2c925911cca6ed16b0695000bf927d405815dc36",
+ "url": "https://api.github.com/repos/knpuniversity/oauth2-client-bundle/zipball/f7fe73e98f193503b8aaf2e11f50a0d72539dc7c",
+ "reference": "f7fe73e98f193503b8aaf2e11f50a0d72539dc7c",
"shasum": ""
},
"require": {
"league/oauth2-client": "^2.0",
- "php": ">=7.2.5",
+ "php": ">=7.4",
"symfony/dependency-injection": "^4.4|^5.0|^6.0",
"symfony/framework-bundle": "^4.4|^5.0|^6.0",
"symfony/http-foundation": "^4.4|^5.0|^6.0",
@@ -2209,54 +2179,41 @@
],
"support": {
"issues": "https://github.com/knpuniversity/oauth2-client-bundle/issues",
- "source": "https://github.com/knpuniversity/oauth2-client-bundle/tree/v2.9.0"
+ "source": "https://github.com/knpuniversity/oauth2-client-bundle/tree/v2.13.1"
},
- "time": "2021-11-22T01:40:58+00:00"
+ "time": "2023-02-03T13:57:47+00:00"
},
{
"name": "laminas/laminas-code",
- "version": "3.4.1",
+ "version": "4.8.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-code.git",
- "reference": "1cb8f203389ab1482bf89c0e70a04849bacd7766"
+ "reference": "dd19fe8e07cc3f374308565667eecd4958c22106"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laminas/laminas-code/zipball/1cb8f203389ab1482bf89c0e70a04849bacd7766",
- "reference": "1cb8f203389ab1482bf89c0e70a04849bacd7766",
+ "url": "https://api.github.com/repos/laminas/laminas-code/zipball/dd19fe8e07cc3f374308565667eecd4958c22106",
+ "reference": "dd19fe8e07cc3f374308565667eecd4958c22106",
"shasum": ""
},
"require": {
- "laminas/laminas-eventmanager": "^2.6 || ^3.0",
- "laminas/laminas-zendframework-bridge": "^1.0",
- "php": "^7.1"
- },
- "conflict": {
- "phpspec/prophecy": "<1.9.0"
- },
- "replace": {
- "zendframework/zend-code": "self.version"
+ "php": "~8.1.0 || ~8.2.0"
},
"require-dev": {
- "doctrine/annotations": "^1.7",
+ "doctrine/annotations": "^1.13.3",
"ext-phar": "*",
- "laminas/laminas-coding-standard": "^1.0",
- "laminas/laminas-stdlib": "^2.7 || ^3.0",
- "phpunit/phpunit": "^7.5.16 || ^8.4"
+ "laminas/laminas-coding-standard": "^2.3.0",
+ "laminas/laminas-stdlib": "^3.6.1",
+ "phpunit/phpunit": "^9.5.26",
+ "psalm/plugin-phpunit": "^0.18.0",
+ "vimeo/psalm": "^5.1.0"
},
"suggest": {
"doctrine/annotations": "Doctrine\\Common\\Annotations >=1.0 for annotation features",
"laminas/laminas-stdlib": "Laminas\\Stdlib component"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.4.x-dev",
- "dev-develop": "3.5.x-dev",
- "dev-dev-4.0": "4.0.x-dev"
- }
- },
"autoload": {
"psr-4": {
"Laminas\\Code\\": "src/"
@@ -2270,7 +2227,8 @@
"homepage": "https://laminas.dev",
"keywords": [
"code",
- "laminas"
+ "laminas",
+ "laminasframework"
],
"support": {
"chat": "https://laminas.dev/chat",
@@ -2280,38 +2238,43 @@
"rss": "https://github.com/laminas/laminas-code/releases.atom",
"source": "https://github.com/laminas/laminas-code"
},
- "time": "2019-12-31T16:28:24+00:00"
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2022-12-08T02:08:23+00:00"
},
{
"name": "laminas/laminas-escaper",
- "version": "2.8.0",
+ "version": "2.12.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-escaper.git",
- "reference": "2d6dce99668b413610e9544183fa10392437f542"
+ "reference": "ee7a4c37bf3d0e8c03635d5bddb5bb3184ead490"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/2d6dce99668b413610e9544183fa10392437f542",
- "reference": "2d6dce99668b413610e9544183fa10392437f542",
+ "url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/ee7a4c37bf3d0e8c03635d5bddb5bb3184ead490",
+ "reference": "ee7a4c37bf3d0e8c03635d5bddb5bb3184ead490",
"shasum": ""
},
"require": {
- "laminas/laminas-zendframework-bridge": "^1.0",
- "php": "^7.3 || ~8.0.0"
+ "ext-ctype": "*",
+ "ext-mbstring": "*",
+ "php": "^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0"
},
- "replace": {
- "zendframework/zend-escaper": "^2.6.1"
+ "conflict": {
+ "zendframework/zend-escaper": "*"
},
"require-dev": {
- "laminas/laminas-coding-standard": "~2.3.0",
- "phpunit/phpunit": "^9.3",
- "psalm/plugin-phpunit": "^0.12.2",
- "vimeo/psalm": "^3.16"
- },
- "suggest": {
- "ext-iconv": "*",
- "ext-mbstring": "*"
+ "infection/infection": "^0.26.6",
+ "laminas/laminas-coding-standard": "~2.4.0",
+ "maglnet/composer-require-checker": "^3.8.0",
+ "phpunit/phpunit": "^9.5.18",
+ "psalm/plugin-phpunit": "^0.17.0",
+ "vimeo/psalm": "^4.22.0"
},
"type": "library",
"autoload": {
@@ -2343,257 +2306,126 @@
"type": "community_bridge"
}
],
- "time": "2021-06-26T14:26:08+00:00"
+ "time": "2022-10-10T10:11:09+00:00"
},
{
- "name": "laminas/laminas-eventmanager",
- "version": "3.4.0",
+ "name": "league/flysystem",
+ "version": "3.12.3",
"source": {
"type": "git",
- "url": "https://github.com/laminas/laminas-eventmanager.git",
- "reference": "a93fd278c97b2d41ebbce5ba048a24e3e6f580ba"
+ "url": "https://github.com/thephpleague/flysystem.git",
+ "reference": "81e87e74dd5213795c7846d65089712d2dda90ce"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laminas/laminas-eventmanager/zipball/a93fd278c97b2d41ebbce5ba048a24e3e6f580ba",
- "reference": "a93fd278c97b2d41ebbce5ba048a24e3e6f580ba",
+ "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/81e87e74dd5213795c7846d65089712d2dda90ce",
+ "reference": "81e87e74dd5213795c7846d65089712d2dda90ce",
"shasum": ""
},
"require": {
- "php": "^7.3 || ~8.0.0 || ~8.1.0"
+ "league/mime-type-detection": "^1.0.0",
+ "php": "^8.0.2"
},
"conflict": {
- "zendframework/zend-eventmanager": "*"
+ "aws/aws-sdk-php": "3.209.31 || 3.210.0",
+ "guzzlehttp/guzzle": "<7.0",
+ "guzzlehttp/ringphp": "<1.1.1",
+ "phpseclib/phpseclib": "3.0.15",
+ "symfony/http-client": "<5.2"
},
"require-dev": {
- "container-interop/container-interop": "^1.1",
- "laminas/laminas-coding-standard": "~2.2.1",
- "laminas/laminas-stdlib": "^3.6",
- "phpbench/phpbench": "^1.1",
- "phpspec/prophecy-phpunit": "^2.0",
- "phpunit/phpunit": "^9.5.5"
- },
- "suggest": {
- "container-interop/container-interop": "^1.1, to use the lazy listeners feature",
- "laminas/laminas-stdlib": "^2.7.3 || ^3.0, to use the FilterChain feature"
+ "async-aws/s3": "^1.5",
+ "async-aws/simple-s3": "^1.1",
+ "aws/aws-sdk-php": "^3.220.0",
+ "composer/semver": "^3.0",
+ "ext-fileinfo": "*",
+ "ext-ftp": "*",
+ "ext-zip": "*",
+ "friendsofphp/php-cs-fixer": "^3.5",
+ "google/cloud-storage": "^1.23",
+ "microsoft/azure-storage-blob": "^1.1",
+ "phpseclib/phpseclib": "^3.0.14",
+ "phpstan/phpstan": "^0.12.26",
+ "phpunit/phpunit": "^9.5.11",
+ "sabre/dav": "^4.3.1"
},
"type": "library",
"autoload": {
"psr-4": {
- "Laminas\\EventManager\\": "src/"
+ "League\\Flysystem\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "MIT"
],
- "description": "Trigger and listen to events within a PHP application",
- "homepage": "https://laminas.dev",
+ "authors": [
+ {
+ "name": "Frank de Jonge",
+ "email": "info@frankdejonge.nl"
+ }
+ ],
+ "description": "File storage abstraction for PHP",
"keywords": [
- "event",
- "eventmanager",
- "events",
- "laminas"
+ "WebDAV",
+ "aws",
+ "cloud",
+ "file",
+ "files",
+ "filesystem",
+ "filesystems",
+ "ftp",
+ "s3",
+ "sftp",
+ "storage"
],
"support": {
- "chat": "https://laminas.dev/chat",
- "docs": "https://docs.laminas.dev/laminas-eventmanager/",
- "forum": "https://discourse.laminas.dev",
- "issues": "https://github.com/laminas/laminas-eventmanager/issues",
- "rss": "https://github.com/laminas/laminas-eventmanager/releases.atom",
- "source": "https://github.com/laminas/laminas-eventmanager"
+ "issues": "https://github.com/thephpleague/flysystem/issues",
+ "source": "https://github.com/thephpleague/flysystem/tree/3.12.3"
},
"funding": [
{
- "url": "https://funding.communitybridge.org/projects/laminas-project",
- "type": "community_bridge"
+ "url": "https://ecologi.com/frankdejonge",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/frankdejonge",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/league/flysystem",
+ "type": "tidelift"
}
],
- "time": "2021-09-07T22:35:32+00:00"
+ "time": "2023-02-18T15:32:41+00:00"
},
{
- "name": "laminas/laminas-zendframework-bridge",
- "version": "1.4.0",
+ "name": "league/mime-type-detection",
+ "version": "1.11.0",
"source": {
"type": "git",
- "url": "https://github.com/laminas/laminas-zendframework-bridge.git",
- "reference": "bf180a382393e7db5c1e8d0f2ec0c4af9c724baf"
+ "url": "https://github.com/thephpleague/mime-type-detection.git",
+ "reference": "ff6248ea87a9f116e78edd6002e39e5128a0d4dd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laminas/laminas-zendframework-bridge/zipball/bf180a382393e7db5c1e8d0f2ec0c4af9c724baf",
- "reference": "bf180a382393e7db5c1e8d0f2ec0c4af9c724baf",
+ "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ff6248ea87a9f116e78edd6002e39e5128a0d4dd",
+ "reference": "ff6248ea87a9f116e78edd6002e39e5128a0d4dd",
"shasum": ""
},
"require": {
- "php": "^7.3 || ~8.0.0 || ~8.1.0"
+ "ext-fileinfo": "*",
+ "php": "^7.2 || ^8.0"
},
"require-dev": {
- "phpunit/phpunit": "^9.3",
- "psalm/plugin-phpunit": "^0.15.1",
- "squizlabs/php_codesniffer": "^3.5",
- "vimeo/psalm": "^4.6"
+ "friendsofphp/php-cs-fixer": "^3.2",
+ "phpstan/phpstan": "^0.12.68",
+ "phpunit/phpunit": "^8.5.8 || ^9.3"
},
"type": "library",
- "extra": {
- "laminas": {
- "module": "Laminas\\ZendFrameworkBridge"
- }
- },
"autoload": {
- "files": [
- "src/autoload.php"
- ],
"psr-4": {
- "Laminas\\ZendFrameworkBridge\\": "src//"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "description": "Alias legacy ZF class names to Laminas Project equivalents.",
- "keywords": [
- "ZendFramework",
- "autoloading",
- "laminas",
- "zf"
- ],
- "support": {
- "forum": "https://discourse.laminas.dev/",
- "issues": "https://github.com/laminas/laminas-zendframework-bridge/issues",
- "rss": "https://github.com/laminas/laminas-zendframework-bridge/releases.atom",
- "source": "https://github.com/laminas/laminas-zendframework-bridge"
- },
- "funding": [
- {
- "url": "https://funding.communitybridge.org/projects/laminas-project",
- "type": "community_bridge"
- }
- ],
- "time": "2021-09-03T17:53:30+00:00"
- },
- {
- "name": "league/flysystem",
- "version": "1.1.8",
- "source": {
- "type": "git",
- "url": "https://github.com/thephpleague/flysystem.git",
- "reference": "c995bb0c23c58c9813d081f9523c9b7bb496698e"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/c995bb0c23c58c9813d081f9523c9b7bb496698e",
- "reference": "c995bb0c23c58c9813d081f9523c9b7bb496698e",
- "shasum": ""
- },
- "require": {
- "ext-fileinfo": "*",
- "league/mime-type-detection": "^1.3",
- "php": "^7.2.5 || ^8.0"
- },
- "conflict": {
- "league/flysystem-sftp": "<1.0.6"
- },
- "require-dev": {
- "phpspec/prophecy": "^1.11.1",
- "phpunit/phpunit": "^8.5.8"
- },
- "suggest": {
- "ext-ftp": "Allows you to use FTP server storage",
- "ext-openssl": "Allows you to use FTPS server storage",
- "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2",
- "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3",
- "league/flysystem-azure": "Allows you to use Windows Azure Blob storage",
- "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching",
- "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem",
- "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files",
- "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib",
- "league/flysystem-webdav": "Allows you to use WebDAV storage",
- "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter",
- "spatie/flysystem-dropbox": "Allows you to use Dropbox storage",
- "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.1-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "League\\Flysystem\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Frank de Jonge",
- "email": "info@frenky.net"
- }
- ],
- "description": "Filesystem abstraction: Many filesystems, one API.",
- "keywords": [
- "Cloud Files",
- "WebDAV",
- "abstraction",
- "aws",
- "cloud",
- "copy.com",
- "dropbox",
- "file systems",
- "files",
- "filesystem",
- "filesystems",
- "ftp",
- "rackspace",
- "remote",
- "s3",
- "sftp",
- "storage"
- ],
- "support": {
- "issues": "https://github.com/thephpleague/flysystem/issues",
- "source": "https://github.com/thephpleague/flysystem/tree/1.1.8"
- },
- "funding": [
- {
- "url": "https://offset.earth/frankdejonge",
- "type": "other"
- }
- ],
- "time": "2021-11-28T21:50:23+00:00"
- },
- {
- "name": "league/mime-type-detection",
- "version": "1.9.0",
- "source": {
- "type": "git",
- "url": "https://github.com/thephpleague/mime-type-detection.git",
- "reference": "aa70e813a6ad3d1558fc927863d47309b4c23e69"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/aa70e813a6ad3d1558fc927863d47309b4c23e69",
- "reference": "aa70e813a6ad3d1558fc927863d47309b4c23e69",
- "shasum": ""
- },
- "require": {
- "ext-fileinfo": "*",
- "php": "^7.2 || ^8.0"
- },
- "require-dev": {
- "friendsofphp/php-cs-fixer": "^3.2",
- "phpstan/phpstan": "^0.12.68",
- "phpunit/phpunit": "^8.5.8 || ^9.3"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "League\\MimeTypeDetection\\": "src"
+ "League\\MimeTypeDetection\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -2609,7 +2441,7 @@
"description": "Mime-type detection for Flysystem",
"support": {
"issues": "https://github.com/thephpleague/mime-type-detection/issues",
- "source": "https://github.com/thephpleague/mime-type-detection/tree/1.9.0"
+ "source": "https://github.com/thephpleague/mime-type-detection/tree/1.11.0"
},
"funding": [
{
@@ -2621,20 +2453,20 @@
"type": "tidelift"
}
],
- "time": "2021-11-21T11:48:40+00:00"
+ "time": "2022-04-17T13:12:02+00:00"
},
{
"name": "league/oauth2-client",
- "version": "2.6.0",
+ "version": "2.6.1",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/oauth2-client.git",
- "reference": "badb01e62383430706433191b82506b6df24ad98"
+ "reference": "2334c249907190c132364f5dae0287ab8666aa19"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/oauth2-client/zipball/badb01e62383430706433191b82506b6df24ad98",
- "reference": "badb01e62383430706433191b82506b6df24ad98",
+ "url": "https://api.github.com/repos/thephpleague/oauth2-client/zipball/2334c249907190c132364f5dae0287ab8666aa19",
+ "reference": "2334c249907190c132364f5dae0287ab8666aa19",
"shasum": ""
},
"require": {
@@ -2643,9 +2475,9 @@
"php": "^5.6 || ^7.0 || ^8.0"
},
"require-dev": {
- "mockery/mockery": "^1.3",
- "php-parallel-lint/php-parallel-lint": "^1.2",
- "phpunit/phpunit": "^5.7 || ^6.0 || ^9.3",
+ "mockery/mockery": "^1.3.5",
+ "php-parallel-lint/php-parallel-lint": "^1.3.1",
+ "phpunit/phpunit": "^5.7 || ^6.0 || ^9.5",
"squizlabs/php_codesniffer": "^2.3 || ^3.0"
},
"type": "library",
@@ -2689,30 +2521,32 @@
],
"support": {
"issues": "https://github.com/thephpleague/oauth2-client/issues",
- "source": "https://github.com/thephpleague/oauth2-client/tree/2.6.0"
+ "source": "https://github.com/thephpleague/oauth2-client/tree/2.6.1"
},
- "time": "2020-10-28T02:03:40+00:00"
+ "time": "2021-12-22T16:42:49+00:00"
},
{
"name": "lorenzo/pinky",
- "version": "1.0.5",
+ "version": "1.0.9",
"source": {
"type": "git",
"url": "https://github.com/lorenzo/pinky.git",
- "reference": "2bc1a9d5696d6496df5d5682962929165a823e57"
+ "reference": "f890472e4a25f89591f176aa03d9588a9d3332a7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/lorenzo/pinky/zipball/2bc1a9d5696d6496df5d5682962929165a823e57",
- "reference": "2bc1a9d5696d6496df5d5682962929165a823e57",
+ "url": "https://api.github.com/repos/lorenzo/pinky/zipball/f890472e4a25f89591f176aa03d9588a9d3332a7",
+ "reference": "f890472e4a25f89591f176aa03d9588a9d3332a7",
"shasum": ""
},
"require": {
+ "ext-dom": "*",
+ "ext-libxml": "*",
"ext-xsl": "*",
"php": ">=5.6.0"
},
"require-dev": {
- "phpunit/phpunit": "^5.7"
+ "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.21 || ^9.5.10"
},
"type": "library",
"autoload": {
@@ -2740,46 +2574,107 @@
],
"support": {
"issues": "https://github.com/lorenzo/pinky/issues",
- "source": "https://github.com/lorenzo/pinky/tree/1.0.5"
+ "source": "https://github.com/lorenzo/pinky/tree/1.0.9"
+ },
+ "time": "2023-01-12T16:15:52+00:00"
+ },
+ {
+ "name": "michaeldegroot/doctrine-encrypt-bundle",
+ "version": "v5.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/absolute-quantum/DoctrineEncryptBundle.git",
+ "reference": "4146d881d009ac0c79a6caad833670041dcf6c8f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/absolute-quantum/DoctrineEncryptBundle/zipball/4146d881d009ac0c79a6caad833670041dcf6c8f",
+ "reference": "4146d881d009ac0c79a6caad833670041dcf6c8f",
+ "shasum": ""
+ },
+ "require": {
+ "doctrine/orm": "^2.5",
+ "paragonie/halite": "^4.6",
+ "paragonie/sodium_compat": "^1.5",
+ "php": "^8.0",
+ "symfony/config": "^4.1|^5.0|^6.0",
+ "symfony/dependency-injection": "^4.1|^5.0|^6.0",
+ "symfony/http-kernel": "^4.1|^5.0|^6.0",
+ "symfony/property-access": "^4.1|^5.0|^6.0",
+ "symfony/yaml": "^4.1|^5.0|^6.0"
+ },
+ "require-dev": {
+ "defuse/php-encryption": "^2.1",
+ "phpunit/phpunit": "^8.0|^9.0"
+ },
+ "suggest": {
+ "defuse/php-encryption": "Alternative for halite for use with older php-versions",
+ "ext-sodium": "Required to use halite encryption library."
},
- "time": "2019-09-16T21:23:31+00:00"
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Ambta\\DoctrineEncryptBundle\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "Encrypted symfony entity's by verified and standardized libraries",
+ "keywords": [
+ "Defuse",
+ "decrypt",
+ "doctrine",
+ "encrypt",
+ "halite",
+ "symfony"
+ ],
+ "support": {
+ "issues": "https://github.com/absolute-quantum/DoctrineEncryptBundle/issues",
+ "source": "https://github.com/absolute-quantum/DoctrineEncryptBundle/tree/v5.1.0"
+ },
+ "time": "2022-02-08T07:45:55+00:00"
},
{
"name": "monolog/monolog",
- "version": "2.3.5",
+ "version": "3.3.1",
"source": {
"type": "git",
"url": "https://github.com/Seldaek/monolog.git",
- "reference": "fd4380d6fc37626e2f799f29d91195040137eba9"
+ "reference": "9b5daeaffce5b926cac47923798bba91059e60e2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fd4380d6fc37626e2f799f29d91195040137eba9",
- "reference": "fd4380d6fc37626e2f799f29d91195040137eba9",
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/9b5daeaffce5b926cac47923798bba91059e60e2",
+ "reference": "9b5daeaffce5b926cac47923798bba91059e60e2",
"shasum": ""
},
"require": {
- "php": ">=7.2",
- "psr/log": "^1.0.1 || ^2.0 || ^3.0"
+ "php": ">=8.1",
+ "psr/log": "^2.0 || ^3.0"
},
"provide": {
- "psr/log-implementation": "1.0.0 || 2.0.0 || 3.0.0"
+ "psr/log-implementation": "3.0.0"
},
"require-dev": {
- "aws/aws-sdk-php": "^2.4.9 || ^3.0",
+ "aws/aws-sdk-php": "^3.0",
"doctrine/couchdb": "~1.0@dev",
- "elasticsearch/elasticsearch": "^7",
- "graylog2/gelf-php": "^1.4.2",
+ "elasticsearch/elasticsearch": "^7 || ^8",
+ "ext-json": "*",
+ "graylog2/gelf-php": "^1.4.2 || ^2@dev",
+ "guzzlehttp/guzzle": "^7.4.5",
+ "guzzlehttp/psr7": "^2.2",
"mongodb/mongodb": "^1.8",
"php-amqplib/php-amqplib": "~2.4 || ^3",
- "php-console/php-console": "^3.1.3",
- "phpspec/prophecy": "^1.6.1",
- "phpstan/phpstan": "^0.12.91",
- "phpunit/phpunit": "^8.5",
- "predis/predis": "^1.1",
- "rollbar/rollbar": "^1.3",
- "ruflin/elastica": ">=0.90@dev",
- "swiftmailer/swiftmailer": "^5.3|^6.0"
+ "phpstan/phpstan": "^1.9",
+ "phpstan/phpstan-deprecation-rules": "^1.0",
+ "phpstan/phpstan-strict-rules": "^1.4",
+ "phpunit/phpunit": "^9.5.26",
+ "predis/predis": "^1.1 || ^2",
+ "ruflin/elastica": "^7",
+ "symfony/mailer": "^5.4 || ^6",
+ "symfony/mime": "^5.4 || ^6"
},
"suggest": {
"aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
@@ -2794,14 +2689,13 @@
"graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
"mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)",
"php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib",
- "php-console/php-console": "Allow sending log messages to Google Chrome",
"rollbar/rollbar": "Allow sending log messages to Rollbar",
"ruflin/elastica": "Allow sending log messages to an Elastic Search server"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.x-dev"
+ "dev-main": "3.x-dev"
}
},
"autoload": {
@@ -2829,7 +2723,7 @@
],
"support": {
"issues": "https://github.com/Seldaek/monolog/issues",
- "source": "https://github.com/Seldaek/monolog/tree/2.3.5"
+ "source": "https://github.com/Seldaek/monolog/tree/3.3.1"
},
"funding": [
{
@@ -2841,7 +2735,7 @@
"type": "tidelift"
}
],
- "time": "2021-10-01T21:08:31+00:00"
+ "time": "2023-02-06T13:46:10+00:00"
},
{
"name": "nicoswd/php-gpg",
@@ -2866,12 +2760,12 @@
},
"type": "library",
"autoload": {
- "psr-4": {
- "nicoSWD\\GPG\\": "src"
- },
"files": [
"src/globals.php"
- ]
+ ],
+ "psr-4": {
+ "nicoSWD\\GPG\\": "src"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -2900,43 +2794,38 @@
},
{
"name": "nucleos/dompdf-bundle",
- "version": "3.1.1",
+ "version": "3.2.0",
"source": {
"type": "git",
"url": "https://github.com/nucleos/NucleosDompdfBundle.git",
- "reference": "7b8b437c3a851382e0fe33a2b925a6c34efdb3a7"
+ "reference": "16b4d7c46a51b1aa4cf62c9198c45c2a7b6f2a58"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nucleos/NucleosDompdfBundle/zipball/7b8b437c3a851382e0fe33a2b925a6c34efdb3a7",
- "reference": "7b8b437c3a851382e0fe33a2b925a6c34efdb3a7",
+ "url": "https://api.github.com/repos/nucleos/NucleosDompdfBundle/zipball/16b4d7c46a51b1aa4cf62c9198c45c2a7b6f2a58",
+ "reference": "16b4d7c46a51b1aa4cf62c9198c45c2a7b6f2a58",
"shasum": ""
},
"require": {
"dompdf/dompdf": "^0.7 || ^0.8 || ^1.0.0",
- "php": "^7.3 || ^8.0",
- "symfony/config": "^4.2 || ^5.0",
- "symfony/dependency-injection": "^4.2 || ^5.0",
- "symfony/event-dispatcher-contracts": "^1.1 || ^2.0",
- "symfony/expression-language": "^4.2 || ^5.0",
- "symfony/framework-bundle": "^4.2 || ^5.0",
- "symfony/http-foundation": "^4.2 || ^5.0",
- "symfony/http-kernel": "^4.2 || ^5.0"
+ "php": "^8.0",
+ "symfony/config": "^5.4 || ^6.0",
+ "symfony/dependency-injection": "^5.4 || ^6.0",
+ "symfony/event-dispatcher-contracts": "^1.1 || ^2.0 || ^3.0",
+ "symfony/expression-language": "^5.4 || ^6.0",
+ "symfony/framework-bundle": "^5.4 || ^6.0",
+ "symfony/http-foundation": "^5.4 || ^6.0",
+ "symfony/http-kernel": "^5.4 || ^6.0"
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.3",
"ergebnis/composer-normalize": "^2.0.1",
- "symfony/browser-kit": "^4.4 || ^5.0"
+ "symfony/browser-kit": "^5.4 || ^6.0"
},
"suggest": {
"symfony/event-dispatcher": "If you need to modify the PDF rendering"
},
"type": "symfony-bundle",
- "extra": {
- "branch-alias": {
- "dev-main": "3.x-dev"
- }
- },
"autoload": {
"psr-4": {
"Nucleos\\DompdfBundle\\": "src/"
@@ -2963,7 +2852,7 @@
],
"support": {
"issues": "https://github.com/nucleos/NucleosDompdfBundle/issues",
- "source": "https://github.com/nucleos/NucleosDompdfBundle/tree/3.1.1"
+ "source": "https://github.com/nucleos/NucleosDompdfBundle/tree/3.2.0"
},
"funding": [
{
@@ -2983,84 +2872,65 @@
"type": "other"
}
],
- "time": "2021-02-07T19:03:39+00:00"
+ "time": "2021-12-06T20:45:12+00:00"
},
{
"name": "oneup/flysystem-bundle",
- "version": "3.7.1",
+ "version": "4.6.0",
"source": {
"type": "git",
"url": "https://github.com/1up-lab/OneupFlysystemBundle.git",
- "reference": "7c9483c1eb21d80ed487d87cdc2a9b359fb8e8f4"
+ "reference": "31375bb7219fb83f37c3fda5fe3668061a4072f6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/1up-lab/OneupFlysystemBundle/zipball/7c9483c1eb21d80ed487d87cdc2a9b359fb8e8f4",
- "reference": "7c9483c1eb21d80ed487d87cdc2a9b359fb8e8f4",
+ "url": "https://api.github.com/repos/1up-lab/OneupFlysystemBundle/zipball/31375bb7219fb83f37c3fda5fe3668061a4072f6",
+ "reference": "31375bb7219fb83f37c3fda5fe3668061a4072f6",
"shasum": ""
},
"require": {
- "league/flysystem": "^1.0.26",
- "php": ">=7.1",
- "symfony/config": "^3.4 || ^4.0 || ^5.0",
- "symfony/dependency-injection": "^3.4 || ^4.0 || ^5.0",
- "symfony/http-kernel": "^3.4 || ^4.0 || ^5.0"
+ "league/flysystem": "^2.0 || ^3.0",
+ "php": "^8.0",
+ "symfony/config": "^4.4 || ^5.3 || ^6.0",
+ "symfony/dependency-injection": "^4.4 || ^5.3 || ^6.0",
+ "symfony/http-kernel": "^4.4 || ^5.3 || ^6.0"
},
- "conflict": {
- "async-aws/flysystem-s3": "<1.0"
- },
- "require-dev": {
- "async-aws/flysystem-s3": "^1.0",
- "jenko/flysystem-gaufrette": "^1.0",
- "league/flysystem-aws-s3-v2": "^1.0",
- "league/flysystem-azure-blob-storage": "^0.1",
- "league/flysystem-cached-adapter": "^1.0",
- "league/flysystem-gridfs": "^1.0",
- "league/flysystem-memory": "^1.0",
- "league/flysystem-rackspace": "^1.0",
- "league/flysystem-replicate-adapter": "^1.0",
- "league/flysystem-sftp": "^1.0",
- "league/flysystem-webdav": "^1.0",
- "league/flysystem-ziparchive": "^1.0",
- "litipk/flysystem-fallback-adapter": "^0.1",
- "phpunit/phpunit": "^6.5 || ^7.5 || ^8.5",
- "spatie/flysystem-dropbox": "^1.0",
- "superbalist/flysystem-google-storage": "^4.0",
- "symfony/asset": "^3.4 || ^4.0 || ^5.0",
- "symfony/browser-kit": "^3.4 || ^4.0 || ^5.0",
- "symfony/finder": "^3.4 || ^4.0 || ^5.0",
- "symfony/templating": "^3.4 || ^4.0 || ^5.0",
- "symfony/translation": "^3.4 || ^4.0 || ^5.0",
- "symfony/yaml": "^3.4 || ^4.0 || ^5.0",
- "twistor/flysystem-stream-wrapper": "^1.0"
+ "require-dev": {
+ "ext-simplexml": "*",
+ "friendsofphp/php-cs-fixer": "^2.16 || ^3.5",
+ "league/flysystem-async-aws-s3": "^2.0 || ^3.0",
+ "league/flysystem-aws-s3-v3": "^2.0 || ^3.0",
+ "league/flysystem-azure-blob-storage": "^3.0",
+ "league/flysystem-ftp": "^2.0 || ^3.0",
+ "league/flysystem-google-cloud-storage": "^2.0 || ^3.0",
+ "league/flysystem-memory": "^2.0 || ^3.0",
+ "league/flysystem-sftp-v3": "^2.0 || ^3.0",
+ "phpstan/phpstan": "^1.4",
+ "phpunit/phpunit": "^9.5",
+ "royvoetman/flysystem-gitlab-storage": "^2.0 || ^3.0",
+ "symfony/asset": "^4.4 || ^5.3 || ^6.0",
+ "symfony/browser-kit": "^4.4 || ^5.3 || ^6.0",
+ "symfony/finder": "^4.4 || ^5.3 || ^6.0",
+ "symfony/framework-bundle": "^4.4 || ^5.3 || ^6.0",
+ "symfony/phpunit-bridge": "^6.0",
+ "symfony/templating": "^4.4 || ^5.3 || ^6.0",
+ "symfony/translation": "^4.4 || ^5.3 || ^6.0",
+ "symfony/yaml": "^4.4 || ^5.3 || ^6.0"
},
"suggest": {
"ext-fileinfo": "Required for MimeType",
"ext-ftp": "Required for FTP and SFTP",
- "jenko/flysystem-gaufrette": "Allows you to use gaufrette adapter",
- "league/flysystem-aws-s3-v2": "Use S3 storage with AWS SDK v2",
+ "league/flysystem-async-aws-s3": "Use flysystem S3 adapter from AsyncAws",
"league/flysystem-aws-s3-v3": "Use S3 storage with AWS SDK v3",
- "league/flysystem-azure-blob-storage": "Allows you to use Azure Blob Storage adapter",
- "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching",
- "league/flysystem-gridfs": "Allows you to use GridFS adapter",
- "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files",
- "league/flysystem-replicate-adapter": "Allows you to use the Replicate adapter from Flysystem",
- "league/flysystem-sftp": "Allows SFTP server storage via phpseclib",
- "league/flysystem-webdav": "Allows you to use WebDAV storage",
- "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter",
- "litipk/flysystem-fallback-adapter": "Allows you to use a fallback filesystem",
- "spatie/flysystem-dropbox": "Use Dropbox storage",
- "superbalist/flysystem-google-storage": "Allows you to use Google Cloud Storage buckets",
- "twistor/flysystem-stream-wrapper": "Allows you to use stream wrapper"
+ "league/flysystem-google-cloud-storage": "Use Google Cloud Storage Adapter for Flysystem",
+ "league/flysystem-sftp-v3": "Allows SFTP server storage via phpseclib",
+ "royvoetman/flysystem-gitlab-storage": "Use Gitlab Storage filesystem for Flysystem"
},
"type": "symfony-bundle",
"autoload": {
"psr-4": {
- "Oneup\\FlysystemBundle\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "Oneup\\FlysystemBundle\\": "src"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -3090,22 +2960,22 @@
],
"support": {
"issues": "https://github.com/1up-lab/OneupFlysystemBundle/issues",
- "source": "https://github.com/1up-lab/OneupFlysystemBundle/tree/3.7.1"
+ "source": "https://github.com/1up-lab/OneupFlysystemBundle/tree/4.6.0"
},
- "time": "2021-08-02T12:11:02+00:00"
+ "time": "2022-12-19T16:40:06+00:00"
},
{
"name": "paragonie/constant_time_encoding",
- "version": "v2.4.0",
+ "version": "v2.6.3",
"source": {
"type": "git",
"url": "https://github.com/paragonie/constant_time_encoding.git",
- "reference": "f34c2b11eb9d2c9318e13540a1dbc2a3afbd939c"
+ "reference": "58c3f47f650c94ec05a151692652a868995d2938"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/f34c2b11eb9d2c9318e13540a1dbc2a3afbd939c",
- "reference": "f34c2b11eb9d2c9318e13540a1dbc2a3afbd939c",
+ "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/58c3f47f650c94ec05a151692652a868995d2938",
+ "reference": "58c3f47f650c94ec05a151692652a868995d2938",
"shasum": ""
},
"require": {
@@ -3159,7 +3029,7 @@
"issues": "https://github.com/paragonie/constant_time_encoding/issues",
"source": "https://github.com/paragonie/constant_time_encoding"
},
- "time": "2020-12-06T15:14:20+00:00"
+ "time": "2022-06-14T06:56:20+00:00"
},
{
"name": "paragonie/halite",
@@ -3286,16 +3156,16 @@
},
{
"name": "paragonie/sodium_compat",
- "version": "v1.17.0",
+ "version": "v1.19.0",
"source": {
"type": "git",
"url": "https://github.com/paragonie/sodium_compat.git",
- "reference": "c59cac21abbcc0df06a3dd18076450ea4797b321"
+ "reference": "cb15e403ecbe6a6cc515f855c310eb6b1872a933"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/paragonie/sodium_compat/zipball/c59cac21abbcc0df06a3dd18076450ea4797b321",
- "reference": "c59cac21abbcc0df06a3dd18076450ea4797b321",
+ "url": "https://api.github.com/repos/paragonie/sodium_compat/zipball/cb15e403ecbe6a6cc515f855c310eb6b1872a933",
+ "reference": "cb15e403ecbe6a6cc515f855c310eb6b1872a933",
"shasum": ""
},
"require": {
@@ -3366,67 +3236,29 @@
],
"support": {
"issues": "https://github.com/paragonie/sodium_compat/issues",
- "source": "https://github.com/paragonie/sodium_compat/tree/v1.17.0"
+ "source": "https://github.com/paragonie/sodium_compat/tree/v1.19.0"
},
- "time": "2021-08-10T02:43:50+00:00"
- },
- {
- "name": "pclzip/pclzip",
- "version": "2.8.2",
- "source": {
- "type": "git",
- "url": "https://github.com/ivanlanin/pclzip.git",
- "reference": "19dd1de9d3f5fc4d7d70175b4c344dee329f45fd"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/ivanlanin/pclzip/zipball/19dd1de9d3f5fc4d7d70175b4c344dee329f45fd",
- "reference": "19dd1de9d3f5fc4d7d70175b4c344dee329f45fd",
- "shasum": ""
- },
- "type": "library",
- "autoload": {
- "classmap": [
- "pclzip.lib.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "LGPL-2.1"
- ],
- "authors": [
- {
- "name": "Vincent Blavet"
- }
- ],
- "description": "A PHP library that offers compression and extraction functions for Zip formatted archives",
- "homepage": "http://www.phpconcept.net/pclzip",
- "keywords": [
- "php",
- "zip"
- ],
- "support": {
- "issues": "https://github.com/ivanlanin/pclzip/issues",
- "source": "https://github.com/ivanlanin/pclzip/tree/master"
- },
- "time": "2014-06-05T11:42:24+00:00"
+ "time": "2022-09-26T03:40:35+00:00"
},
{
"name": "phenx/php-font-lib",
- "version": "0.5.2",
+ "version": "0.5.4",
"source": {
"type": "git",
- "url": "https://github.com/PhenX/php-font-lib.git",
- "reference": "ca6ad461f032145fff5971b5985e5af9e7fa88d8"
+ "url": "https://github.com/dompdf/php-font-lib.git",
+ "reference": "dd448ad1ce34c63d09baccd05415e361300c35b4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PhenX/php-font-lib/zipball/ca6ad461f032145fff5971b5985e5af9e7fa88d8",
- "reference": "ca6ad461f032145fff5971b5985e5af9e7fa88d8",
+ "url": "https://api.github.com/repos/dompdf/php-font-lib/zipball/dd448ad1ce34c63d09baccd05415e361300c35b4",
+ "reference": "dd448ad1ce34c63d09baccd05415e361300c35b4",
"shasum": ""
},
+ "require": {
+ "ext-mbstring": "*"
+ },
"require-dev": {
- "phpunit/phpunit": "^4.8.35 || ^5 || ^6 || ^7"
+ "symfony/phpunit-bridge": "^3 || ^4 || ^5"
},
"type": "library",
"autoload": {
@@ -3447,31 +3279,32 @@
"description": "A library to read, parse, export and make subsets of different types of font files.",
"homepage": "https://github.com/PhenX/php-font-lib",
"support": {
- "issues": "https://github.com/PhenX/php-font-lib/issues",
- "source": "https://github.com/PhenX/php-font-lib/tree/0.5.2"
+ "issues": "https://github.com/dompdf/php-font-lib/issues",
+ "source": "https://github.com/dompdf/php-font-lib/tree/0.5.4"
},
- "time": "2020-03-08T15:31:32+00:00"
+ "time": "2021-12-17T19:44:54+00:00"
},
{
"name": "phenx/php-svg-lib",
- "version": "0.3.4",
+ "version": "0.4.1",
"source": {
"type": "git",
- "url": "https://github.com/PhenX/php-svg-lib.git",
- "reference": "f627771eb854aa7f45f80add0f23c6c4d67ea0f2"
+ "url": "https://github.com/dompdf/php-svg-lib.git",
+ "reference": "4498b5df7b08e8469f0f8279651ea5de9626ed02"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PhenX/php-svg-lib/zipball/f627771eb854aa7f45f80add0f23c6c4d67ea0f2",
- "reference": "f627771eb854aa7f45f80add0f23c6c4d67ea0f2",
+ "url": "https://api.github.com/repos/dompdf/php-svg-lib/zipball/4498b5df7b08e8469f0f8279651ea5de9626ed02",
+ "reference": "4498b5df7b08e8469f0f8279651ea5de9626ed02",
"shasum": ""
},
"require": {
- "php": "^7.4 || ^8.0",
- "sabberworm/php-css-parser": "^8.3"
+ "ext-mbstring": "*",
+ "php": "^7.1 || ^7.2 || ^7.3 || ^7.4 || ^8.0",
+ "sabberworm/php-css-parser": "^8.4"
},
"require-dev": {
- "phpunit/phpunit": "^9.5"
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5"
},
"type": "library",
"autoload": {
@@ -3492,10 +3325,10 @@
"description": "A library to read, parse and export to PDF SVG files.",
"homepage": "https://github.com/PhenX/php-svg-lib",
"support": {
- "issues": "https://github.com/PhenX/php-svg-lib/issues",
- "source": "https://github.com/PhenX/php-svg-lib/tree/0.3.4"
+ "issues": "https://github.com/dompdf/php-svg-lib/issues",
+ "source": "https://github.com/dompdf/php-svg-lib/tree/0.4.1"
},
- "time": "2021-10-18T02:13:32+00:00"
+ "time": "2022-03-07T12:52:04+00:00"
},
{
"name": "phpdocumentor/reflection-common",
@@ -3609,25 +3442,30 @@
},
{
"name": "phpdocumentor/type-resolver",
- "version": "1.5.1",
+ "version": "1.6.2",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/TypeResolver.git",
- "reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae"
+ "reference": "48f445a408c131e38cab1c235aa6d2bb7a0bb20d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/a12f7e301eb7258bb68acd89d4aefa05c2906cae",
- "reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae",
+ "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/48f445a408c131e38cab1c235aa6d2bb7a0bb20d",
+ "reference": "48f445a408c131e38cab1c235aa6d2bb7a0bb20d",
"shasum": ""
},
"require": {
- "php": "^7.2 || ^8.0",
+ "php": "^7.4 || ^8.0",
"phpdocumentor/reflection-common": "^2.0"
},
"require-dev": {
"ext-tokenizer": "*",
- "psalm/phar": "^4.8"
+ "phpstan/extension-installer": "^1.1",
+ "phpstan/phpstan": "^1.8",
+ "phpstan/phpstan-phpunit": "^1.1",
+ "phpunit/phpunit": "^9.5",
+ "rector/rector": "^0.13.9",
+ "vimeo/psalm": "^4.25"
},
"type": "library",
"extra": {
@@ -3653,101 +3491,42 @@
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
"support": {
"issues": "https://github.com/phpDocumentor/TypeResolver/issues",
- "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.5.1"
- },
- "time": "2021-10-02T14:08:47+00:00"
- },
- {
- "name": "phpoffice/common",
- "version": "0.2.9",
- "source": {
- "type": "git",
- "url": "https://github.com/PHPOffice/Common.git",
- "reference": "edb5d32b1e3400a35a5c91e2539ed6f6ce925e4d"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/PHPOffice/Common/zipball/edb5d32b1e3400a35a5c91e2539ed6f6ce925e4d",
- "reference": "edb5d32b1e3400a35a5c91e2539ed6f6ce925e4d",
- "shasum": ""
- },
- "require": {
- "pclzip/pclzip": "^2.8",
- "php": ">=5.3.0"
- },
- "require-dev": {
- "phpdocumentor/phpdocumentor": "2.*",
- "phploc/phploc": "2.*",
- "phpmd/phpmd": "2.*",
- "phpunit/phpunit": "^4.8.36 || ^7.0",
- "sebastian/phpcpd": "2.*",
- "squizlabs/php_codesniffer": "2.*"
+ "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.6.2"
},
- "type": "library",
- "autoload": {
- "psr-4": {
- "PhpOffice\\Common\\": "src/Common/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "LGPL"
- ],
- "authors": [
- {
- "name": "Mark Baker"
- },
- {
- "name": "Franck Lefevre",
- "homepage": "http://rootslabs.net"
- }
- ],
- "description": "PHPOffice Common",
- "homepage": "http://phpoffice.github.io",
- "keywords": [
- "common",
- "component",
- "office",
- "php"
- ],
- "support": {
- "issues": "https://github.com/PHPOffice/Common/issues",
- "source": "https://github.com/PHPOffice/Common/tree/master"
- },
- "time": "2018-07-13T14:12:34+00:00"
+ "time": "2022-10-14T12:47:21+00:00"
},
{
"name": "phpoffice/phpword",
- "version": "0.17.0",
+ "version": "1.0.0",
"source": {
"type": "git",
"url": "https://github.com/PHPOffice/PHPWord.git",
- "reference": "b8346af548d399acd9e30fc76ab0c55c2fec03a5"
+ "reference": "8521612b39edeec9055d3688ad555342a40857dd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PHPOffice/PHPWord/zipball/b8346af548d399acd9e30fc76ab0c55c2fec03a5",
- "reference": "b8346af548d399acd9e30fc76ab0c55c2fec03a5",
+ "url": "https://api.github.com/repos/PHPOffice/PHPWord/zipball/8521612b39edeec9055d3688ad555342a40857dd",
+ "reference": "8521612b39edeec9055d3688ad555342a40857dd",
"shasum": ""
},
"require": {
+ "ext-dom": "*",
+ "ext-json": "*",
"ext-xml": "*",
- "php": "^5.3.3 || ^7.0",
- "phpoffice/common": "^0.2.9",
- "zendframework/zend-escaper": "^2.2"
+ "laminas/laminas-escaper": ">=2.6",
+ "php": "^7.1|^8.0"
},
"require-dev": {
- "dompdf/dompdf": "0.8.*",
+ "dompdf/dompdf": "^2.0",
"ext-gd": "*",
+ "ext-libxml": "*",
"ext-zip": "*",
- "friendsofphp/php-cs-fixer": "^2.2",
- "mpdf/mpdf": "5.7.4 || 6.* || 7.*",
- "php-coveralls/php-coveralls": "1.1.0 || ^2.0",
- "phploc/phploc": "2.* || 3.* || 4.*",
- "phpmd/phpmd": "2.*",
- "phpunit/phpunit": "^4.8.36 || ^7.0",
- "squizlabs/php_codesniffer": "^2.9",
- "tecnickcom/tcpdf": "6.*"
+ "mpdf/mpdf": "^8.1",
+ "php-coveralls/php-coveralls": "^2.5",
+ "phpmd/phpmd": "^2.13",
+ "phpunit/phpunit": ">=7.0",
+ "symfony/process": "^4.4",
+ "tecnickcom/tcpdf": "^6.5"
},
"suggest": {
"dompdf/dompdf": "Allows writing PDF",
@@ -3759,7 +3538,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-develop": "0.18-dev"
+ "dev-develop": "0.19-dev"
}
},
"autoload": {
@@ -3797,7 +3576,7 @@
}
],
"description": "PHPWord - A pure PHP library for reading and writing word processing documents (OOXML, ODF, RTF, HTML, PDF)",
- "homepage": "http://phpoffice.github.io",
+ "homepage": "https://phpword.readthedocs.io/",
"keywords": [
"ISO IEC 29500",
"OOXML",
@@ -3825,22 +3604,22 @@
],
"support": {
"issues": "https://github.com/PHPOffice/PHPWord/issues",
- "source": "https://github.com/PHPOffice/PHPWord/tree/develop"
+ "source": "https://github.com/PHPOffice/PHPWord/tree/1.0.0"
},
- "time": "2019-10-01T20:43:33+00:00"
+ "time": "2022-11-15T20:24:50+00:00"
},
{
"name": "phpseclib/phpseclib",
- "version": "2.0.35",
+ "version": "2.0.41",
"source": {
"type": "git",
"url": "https://github.com/phpseclib/phpseclib.git",
- "reference": "4e16cf3f5f927a7d3f5317820af795c0366c0420"
+ "reference": "7e763c6f97ec1fcb37c46aa8ecfc20a2c71d9c1b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/4e16cf3f5f927a7d3f5317820af795c0366c0420",
- "reference": "4e16cf3f5f927a7d3f5317820af795c0366c0420",
+ "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/7e763c6f97ec1fcb37c46aa8ecfc20a2c71d9c1b",
+ "reference": "7e763c6f97ec1fcb37c46aa8ecfc20a2c71d9c1b",
"shasum": ""
},
"require": {
@@ -3855,7 +3634,8 @@
"ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.",
"ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.",
"ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.",
- "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations."
+ "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations.",
+ "ext-xml": "Install the XML extension to load XML formatted public keys."
},
"type": "library",
"autoload": {
@@ -3920,7 +3700,7 @@
],
"support": {
"issues": "https://github.com/phpseclib/phpseclib/issues",
- "source": "https://github.com/phpseclib/phpseclib/tree/2.0.35"
+ "source": "https://github.com/phpseclib/phpseclib/tree/2.0.41"
},
"funding": [
{
@@ -3936,39 +3716,35 @@
"type": "tidelift"
}
],
- "time": "2021-11-28T23:30:39+00:00"
+ "time": "2022-12-23T16:44:18+00:00"
},
{
"name": "phpstan/phpdoc-parser",
- "version": "1.2.0",
+ "version": "1.16.1",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpdoc-parser.git",
- "reference": "dbc093d7af60eff5cd575d2ed761b15ed40bd08e"
+ "reference": "e27e92d939e2e3636f0a1f0afaba59692c0bf571"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/dbc093d7af60eff5cd575d2ed761b15ed40bd08e",
- "reference": "dbc093d7af60eff5cd575d2ed761b15ed40bd08e",
+ "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/e27e92d939e2e3636f0a1f0afaba59692c0bf571",
+ "reference": "e27e92d939e2e3636f0a1f0afaba59692c0bf571",
"shasum": ""
},
"require": {
- "php": "^7.1 || ^8.0"
+ "php": "^7.2 || ^8.0"
},
"require-dev": {
"php-parallel-lint/php-parallel-lint": "^1.2",
"phpstan/extension-installer": "^1.0",
- "phpstan/phpstan": "^1.0",
+ "phpstan/phpstan": "^1.5",
+ "phpstan/phpstan-phpunit": "^1.1",
"phpstan/phpstan-strict-rules": "^1.0",
"phpunit/phpunit": "^9.5",
"symfony/process": "^5.2"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0-dev"
- }
- },
"autoload": {
"psr-4": {
"PHPStan\\PhpDocParser\\": [
@@ -3983,26 +3759,26 @@
"description": "PHPDoc parser with support for nullable, intersection and generic types",
"support": {
"issues": "https://github.com/phpstan/phpdoc-parser/issues",
- "source": "https://github.com/phpstan/phpdoc-parser/tree/1.2.0"
+ "source": "https://github.com/phpstan/phpdoc-parser/tree/1.16.1"
},
- "time": "2021-09-16T20:46:02+00:00"
+ "time": "2023-02-07T18:11:17+00:00"
},
{
"name": "psr/cache",
- "version": "1.0.1",
+ "version": "3.0.0",
"source": {
"type": "git",
"url": "https://github.com/php-fig/cache.git",
- "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8"
+ "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8",
- "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8",
+ "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf",
+ "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf",
"shasum": ""
},
"require": {
- "php": ">=5.3.0"
+ "php": ">=8.0.0"
},
"type": "library",
"extra": {
@@ -4022,7 +3798,7 @@
"authors": [
{
"name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
+ "homepage": "https://www.php-fig.org/"
}
],
"description": "Common interface for caching libraries",
@@ -4032,28 +3808,33 @@
"psr-6"
],
"support": {
- "source": "https://github.com/php-fig/cache/tree/master"
+ "source": "https://github.com/php-fig/cache/tree/3.0.0"
},
- "time": "2016-08-06T20:24:11+00:00"
+ "time": "2021-02-03T23:26:27+00:00"
},
{
"name": "psr/container",
- "version": "1.1.2",
+ "version": "2.0.2",
"source": {
"type": "git",
"url": "https://github.com/php-fig/container.git",
- "reference": "513e0666f7216c7459170d56df27dfcefe1689ea"
+ "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea",
- "reference": "513e0666f7216c7459170d56df27dfcefe1689ea",
+ "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963",
+ "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963",
"shasum": ""
},
"require": {
"php": ">=7.4.0"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ }
+ },
"autoload": {
"psr-4": {
"Psr\\Container\\": "src/"
@@ -4080,9 +3861,9 @@
],
"support": {
"issues": "https://github.com/php-fig/container/issues",
- "source": "https://github.com/php-fig/container/tree/1.1.2"
+ "source": "https://github.com/php-fig/container/tree/2.0.2"
},
- "time": "2021-11-05T16:50:12+00:00"
+ "time": "2021-11-05T16:47:00+00:00"
},
{
"name": "psr/event-dispatcher",
@@ -4296,25 +4077,28 @@
},
{
"name": "psr/link",
- "version": "1.0.0",
+ "version": "2.0.1",
"source": {
"type": "git",
"url": "https://github.com/php-fig/link.git",
- "reference": "eea8e8662d5cd3ae4517c9b864493f59fca95562"
+ "reference": "84b159194ecfd7eaa472280213976e96415433f7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/link/zipball/eea8e8662d5cd3ae4517c9b864493f59fca95562",
- "reference": "eea8e8662d5cd3ae4517c9b864493f59fca95562",
+ "url": "https://api.github.com/repos/php-fig/link/zipball/84b159194ecfd7eaa472280213976e96415433f7",
+ "reference": "84b159194ecfd7eaa472280213976e96415433f7",
"shasum": ""
},
"require": {
- "php": ">=5.3.0"
+ "php": ">=8.0.0"
+ },
+ "suggest": {
+ "fig/link-util": "Provides some useful PSR-13 utilities"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0.x-dev"
+ "dev-master": "2.0.x-dev"
}
},
"autoload": {
@@ -4333,6 +4117,7 @@
}
],
"description": "Common interfaces for HTTP links",
+ "homepage": "https://github.com/php-fig/link",
"keywords": [
"http",
"http-link",
@@ -4342,36 +4127,36 @@
"rest"
],
"support": {
- "source": "https://github.com/php-fig/link/tree/master"
+ "source": "https://github.com/php-fig/link/tree/2.0.1"
},
- "time": "2016-10-28T16:06:13+00:00"
+ "time": "2021-03-11T23:00:27+00:00"
},
{
"name": "psr/log",
- "version": "1.1.4",
+ "version": "3.0.0",
"source": {
"type": "git",
"url": "https://github.com/php-fig/log.git",
- "reference": "d49695b909c3b7628b6289db5479a1c204601f11"
+ "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11",
- "reference": "d49695b909c3b7628b6289db5479a1c204601f11",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001",
+ "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001",
"shasum": ""
},
"require": {
- "php": ">=5.3.0"
+ "php": ">=8.0.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.1.x-dev"
+ "dev-master": "3.x-dev"
}
},
"autoload": {
"psr-4": {
- "Psr\\Log\\": "Psr/Log/"
+ "Psr\\Log\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -4392,9 +4177,9 @@
"psr-3"
],
"support": {
- "source": "https://github.com/php-fig/log/tree/1.1.4"
+ "source": "https://github.com/php-fig/log/tree/3.0.0"
},
- "time": "2021-05-03T11:20:27+00:00"
+ "time": "2021-07-14T16:46:02+00:00"
},
{
"name": "ralouphie/getallheaders",
@@ -4442,29 +4227,33 @@
},
{
"name": "sabberworm/php-css-parser",
- "version": "8.3.1",
+ "version": "8.4.0",
"source": {
"type": "git",
"url": "https://github.com/sabberworm/PHP-CSS-Parser.git",
- "reference": "d217848e1396ef962fb1997cf3e2421acba7f796"
+ "reference": "e41d2140031d533348b2192a83f02d8dd8a71d30"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sabberworm/PHP-CSS-Parser/zipball/d217848e1396ef962fb1997cf3e2421acba7f796",
- "reference": "d217848e1396ef962fb1997cf3e2421acba7f796",
+ "url": "https://api.github.com/repos/sabberworm/PHP-CSS-Parser/zipball/e41d2140031d533348b2192a83f02d8dd8a71d30",
+ "reference": "e41d2140031d533348b2192a83f02d8dd8a71d30",
"shasum": ""
},
"require": {
- "php": ">=5.3.2"
+ "ext-iconv": "*",
+ "php": ">=5.6.20"
},
"require-dev": {
"codacy/coverage": "^1.4",
- "phpunit/phpunit": "~4.8"
+ "phpunit/phpunit": "^4.8.36"
+ },
+ "suggest": {
+ "ext-mbstring": "for parsing UTF-8 CSS"
},
"type": "library",
"autoload": {
- "psr-0": {
- "Sabberworm\\CSS": "lib/"
+ "psr-4": {
+ "Sabberworm\\CSS\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -4477,7 +4266,7 @@
}
],
"description": "Parser for CSS Files written in PHP",
- "homepage": "http://www.sabberworm.com/blog/2010/6/10/php-css-parser",
+ "homepage": "https://www.sabberworm.com/blog/2010/6/10/php-css-parser",
"keywords": [
"css",
"parser",
@@ -4485,31 +4274,31 @@
],
"support": {
"issues": "https://github.com/sabberworm/PHP-CSS-Parser/issues",
- "source": "https://github.com/sabberworm/PHP-CSS-Parser/tree/8.3.1"
+ "source": "https://github.com/sabberworm/PHP-CSS-Parser/tree/8.4.0"
},
- "time": "2020-06-01T09:10:00+00:00"
+ "time": "2021-12-11T13:40:54+00:00"
},
{
"name": "sensio/framework-extra-bundle",
- "version": "v5.6.1",
+ "version": "v6.2.9",
"source": {
"type": "git",
"url": "https://github.com/sensiolabs/SensioFrameworkExtraBundle.git",
- "reference": "430d14c01836b77c28092883d195a43ce413ee32"
+ "reference": "dcfac94d6bdcf95c126e8ccac2104917c7c8f135"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/430d14c01836b77c28092883d195a43ce413ee32",
- "reference": "430d14c01836b77c28092883d195a43ce413ee32",
+ "url": "https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/dcfac94d6bdcf95c126e8ccac2104917c7c8f135",
+ "reference": "dcfac94d6bdcf95c126e8ccac2104917c7c8f135",
"shasum": ""
},
"require": {
"doctrine/annotations": "^1.0",
"php": ">=7.2.5",
- "symfony/config": "^4.4|^5.0",
- "symfony/dependency-injection": "^4.4|^5.0",
- "symfony/framework-bundle": "^4.4|^5.0",
- "symfony/http-kernel": "^4.4|^5.0"
+ "symfony/config": "^4.4|^5.0|^6.0",
+ "symfony/dependency-injection": "^4.4|^5.0|^6.0",
+ "symfony/framework-bundle": "^4.4|^5.0|^6.0",
+ "symfony/http-kernel": "^4.4|^5.0|^6.0"
},
"conflict": {
"doctrine/doctrine-cache-bundle": "<1.3.1",
@@ -4519,25 +4308,23 @@
"doctrine/dbal": "^2.10|^3.0",
"doctrine/doctrine-bundle": "^1.11|^2.0",
"doctrine/orm": "^2.5",
- "nyholm/psr7": "^1.1",
- "symfony/browser-kit": "^4.4|^5.0",
- "symfony/doctrine-bridge": "^4.4|^5.0",
- "symfony/dom-crawler": "^4.4|^5.0",
- "symfony/expression-language": "^4.4|^5.0",
- "symfony/finder": "^4.4|^5.0",
- "symfony/monolog-bridge": "^4.0|^5.0",
+ "symfony/browser-kit": "^4.4|^5.0|^6.0",
+ "symfony/doctrine-bridge": "^4.4|^5.0|^6.0",
+ "symfony/dom-crawler": "^4.4|^5.0|^6.0",
+ "symfony/expression-language": "^4.4|^5.0|^6.0",
+ "symfony/finder": "^4.4|^5.0|^6.0",
+ "symfony/monolog-bridge": "^4.0|^5.0|^6.0",
"symfony/monolog-bundle": "^3.2",
- "symfony/phpunit-bridge": "^4.4.9|^5.0.9",
- "symfony/psr-http-message-bridge": "^1.1",
- "symfony/security-bundle": "^4.4|^5.0",
- "symfony/twig-bundle": "^4.4|^5.0",
- "symfony/yaml": "^4.4|^5.0",
+ "symfony/phpunit-bridge": "^4.4.9|^5.0.9|^6.0",
+ "symfony/security-bundle": "^4.4|^5.0|^6.0",
+ "symfony/twig-bundle": "^4.4|^5.0|^6.0",
+ "symfony/yaml": "^4.4|^5.0|^6.0",
"twig/twig": "^1.34|^2.4|^3.0"
},
"type": "symfony-bundle",
"extra": {
"branch-alias": {
- "dev-master": "5.6.x-dev"
+ "dev-master": "6.1.x-dev"
}
},
"autoload": {
@@ -4565,9 +4352,10 @@
],
"support": {
"issues": "https://github.com/sensiolabs/SensioFrameworkExtraBundle/issues",
- "source": "https://github.com/sensiolabs/SensioFrameworkExtraBundle/tree/v5.6.1"
+ "source": "https://github.com/sensiolabs/SensioFrameworkExtraBundle/tree/v6.2.9"
},
- "time": "2020-08-25T19:10:18+00:00"
+ "abandoned": "Symfony",
+ "time": "2022-11-01T17:17:13+00:00"
},
{
"name": "stevenmaguire/oauth2-keycloak",
@@ -4629,82 +4417,6 @@
},
"time": "2021-06-21T10:16:52+00:00"
},
- {
- "name": "swiftmailer/swiftmailer",
- "version": "v6.3.0",
- "source": {
- "type": "git",
- "url": "https://github.com/swiftmailer/swiftmailer.git",
- "reference": "8a5d5072dca8f48460fce2f4131fcc495eec654c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/8a5d5072dca8f48460fce2f4131fcc495eec654c",
- "reference": "8a5d5072dca8f48460fce2f4131fcc495eec654c",
- "shasum": ""
- },
- "require": {
- "egulias/email-validator": "^2.0|^3.1",
- "php": ">=7.0.0",
- "symfony/polyfill-iconv": "^1.0",
- "symfony/polyfill-intl-idn": "^1.10",
- "symfony/polyfill-mbstring": "^1.0"
- },
- "require-dev": {
- "mockery/mockery": "^1.0",
- "symfony/phpunit-bridge": "^4.4|^5.4"
- },
- "suggest": {
- "ext-intl": "Needed to support internationalized email addresses"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "6.2-dev"
- }
- },
- "autoload": {
- "files": [
- "lib/swift_required.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Chris Corbyn"
- },
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- }
- ],
- "description": "Swiftmailer, free feature-rich PHP mailer",
- "homepage": "https://swiftmailer.symfony.com",
- "keywords": [
- "email",
- "mail",
- "mailer"
- ],
- "support": {
- "issues": "https://github.com/swiftmailer/swiftmailer/issues",
- "source": "https://github.com/swiftmailer/swiftmailer/tree/v6.3.0"
- },
- "funding": [
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/swiftmailer/swiftmailer",
- "type": "tidelift"
- }
- ],
- "abandoned": "symfony/mailer",
- "time": "2021-10-18T15:26:12+00:00"
- },
{
"name": "symfony/apache-pack",
"version": "v1.0.1",
@@ -4733,30 +4445,28 @@
},
{
"name": "symfony/asset",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/asset.git",
- "reference": "49e355b57b4b6a5cef1d2dbc4e36cee49369cf7d"
+ "reference": "925ca9e357159b5ceeb3c4451362f0a183414162"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/asset/zipball/49e355b57b4b6a5cef1d2dbc4e36cee49369cf7d",
- "reference": "49e355b57b4b6a5cef1d2dbc4e36cee49369cf7d",
+ "url": "https://api.github.com/repos/symfony/asset/zipball/925ca9e357159b5ceeb3c4451362f0a183414162",
+ "reference": "925ca9e357159b5ceeb3c4451362f0a183414162",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.1"
},
"conflict": {
- "symfony/http-foundation": "<5.3"
+ "symfony/http-foundation": "<5.4"
},
"require-dev": {
- "symfony/http-client": "^4.4|^5.0|^6.0",
- "symfony/http-foundation": "^5.3|^6.0",
- "symfony/http-kernel": "^4.4|^5.0|^6.0"
+ "symfony/http-client": "^5.4|^6.0",
+ "symfony/http-foundation": "^5.4|^6.0",
+ "symfony/http-kernel": "^5.4|^6.0"
},
"suggest": {
"symfony/http-foundation": ""
@@ -4787,7 +4497,7 @@
"description": "Manages URL generation and versioning of web assets such as CSS stylesheets, JavaScript files and image files",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/asset/tree/v5.4.0"
+ "source": "https://github.com/symfony/asset/tree/v6.2.5"
},
"funding": [
{
@@ -4803,62 +4513,61 @@
"type": "tidelift"
}
],
- "time": "2021-11-23T10:19:22+00:00"
+ "time": "2023-01-01T08:38:09+00:00"
},
{
"name": "symfony/cache",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/cache.git",
- "reference": "d97d6d7f46cb69968f094e329abd987d5ee17c79"
+ "reference": "cfe2d7c87d55b04cbde8fe3c137d9dd66e5d83f4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/cache/zipball/d97d6d7f46cb69968f094e329abd987d5ee17c79",
- "reference": "d97d6d7f46cb69968f094e329abd987d5ee17c79",
+ "url": "https://api.github.com/repos/symfony/cache/zipball/cfe2d7c87d55b04cbde8fe3c137d9dd66e5d83f4",
+ "reference": "cfe2d7c87d55b04cbde8fe3c137d9dd66e5d83f4",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "psr/cache": "^1.0|^2.0",
+ "php": ">=8.1",
+ "psr/cache": "^2.0|^3.0",
"psr/log": "^1.1|^2|^3",
- "symfony/cache-contracts": "^1.1.7|^2",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php73": "^1.9",
- "symfony/polyfill-php80": "^1.16",
+ "symfony/cache-contracts": "^1.1.7|^2|^3",
"symfony/service-contracts": "^1.1|^2|^3",
- "symfony/var-exporter": "^4.4|^5.0|^6.0"
+ "symfony/var-exporter": "^6.2"
},
"conflict": {
"doctrine/dbal": "<2.13.1",
- "symfony/dependency-injection": "<4.4",
- "symfony/http-kernel": "<4.4",
- "symfony/var-dumper": "<4.4"
+ "symfony/dependency-injection": "<5.4",
+ "symfony/http-kernel": "<5.4",
+ "symfony/var-dumper": "<5.4"
},
"provide": {
- "psr/cache-implementation": "1.0|2.0",
- "psr/simple-cache-implementation": "1.0|2.0",
- "symfony/cache-implementation": "1.0|2.0"
+ "psr/cache-implementation": "2.0|3.0",
+ "psr/simple-cache-implementation": "1.0|2.0|3.0",
+ "symfony/cache-implementation": "1.1|2.0|3.0"
},
"require-dev": {
"cache/integration-tests": "dev-master",
- "doctrine/cache": "^1.6|^2.0",
"doctrine/dbal": "^2.13.1|^3.0",
"predis/predis": "^1.1",
- "psr/simple-cache": "^1.0|^2.0",
- "symfony/config": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/filesystem": "^4.4|^5.0|^6.0",
- "symfony/http-kernel": "^4.4|^5.0|^6.0",
- "symfony/messenger": "^4.4|^5.0|^6.0",
- "symfony/var-dumper": "^4.4|^5.0|^6.0"
+ "psr/simple-cache": "^1.0|^2.0|^3.0",
+ "symfony/config": "^5.4|^6.0",
+ "symfony/dependency-injection": "^5.4|^6.0",
+ "symfony/filesystem": "^5.4|^6.0",
+ "symfony/http-kernel": "^5.4|^6.0",
+ "symfony/messenger": "^5.4|^6.0",
+ "symfony/var-dumper": "^5.4|^6.0"
},
"type": "library",
"autoload": {
"psr-4": {
"Symfony\\Component\\Cache\\": ""
},
+ "classmap": [
+ "Traits/ValueWrapper.php"
+ ],
"exclude-from-classmap": [
"/Tests/"
]
@@ -4877,14 +4586,14 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Provides an extended PSR-6, PSR-16 (and tags) implementation",
+ "description": "Provides extended PSR-6, PSR-16 (and tags) implementations",
"homepage": "https://symfony.com",
"keywords": [
"caching",
"psr6"
],
"support": {
- "source": "https://github.com/symfony/cache/tree/v5.4.0"
+ "source": "https://github.com/symfony/cache/tree/v6.2.5"
},
"funding": [
{
@@ -4900,25 +4609,25 @@
"type": "tidelift"
}
],
- "time": "2021-11-23T18:51:45+00:00"
+ "time": "2023-01-20T17:45:48+00:00"
},
{
"name": "symfony/cache-contracts",
- "version": "v2.5.0",
+ "version": "v3.2.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/cache-contracts.git",
- "reference": "ac2e168102a2e06a2624f0379bde94cd5854ced2"
+ "reference": "e8d1a5fc43534063204b74c080ebe36307d12271"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/ac2e168102a2e06a2624f0379bde94cd5854ced2",
- "reference": "ac2e168102a2e06a2624f0379bde94cd5854ced2",
+ "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/e8d1a5fc43534063204b74c080ebe36307d12271",
+ "reference": "e8d1a5fc43534063204b74c080ebe36307d12271",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "psr/cache": "^1.0|^2.0|^3.0"
+ "php": ">=8.1",
+ "psr/cache": "^3.0"
},
"suggest": {
"symfony/cache-implementation": ""
@@ -4926,7 +4635,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.5-dev"
+ "dev-main": "3.3-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -4963,7 +4672,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/cache-contracts/tree/v2.5.0"
+ "source": "https://github.com/symfony/cache-contracts/tree/v3.2.0"
},
"funding": [
{
@@ -4979,39 +4688,37 @@
"type": "tidelift"
}
],
- "time": "2021-08-17T14:20:01+00:00"
+ "time": "2022-11-25T10:21:52+00:00"
},
{
"name": "symfony/config",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/config.git",
- "reference": "e39cf688c80fd79ab0a6a2d05a9facac9b2d534b"
+ "reference": "f31b3c78a3650157188a240695e688d6a182aa91"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/config/zipball/e39cf688c80fd79ab0a6a2d05a9facac9b2d534b",
- "reference": "e39cf688c80fd79ab0a6a2d05a9facac9b2d534b",
+ "url": "https://api.github.com/repos/symfony/config/zipball/f31b3c78a3650157188a240695e688d6a182aa91",
+ "reference": "f31b3c78a3650157188a240695e688d6a182aa91",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
+ "php": ">=8.1",
"symfony/deprecation-contracts": "^2.1|^3",
- "symfony/filesystem": "^4.4|^5.0|^6.0",
- "symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-php80": "^1.16",
- "symfony/polyfill-php81": "^1.22"
+ "symfony/filesystem": "^5.4|^6.0",
+ "symfony/polyfill-ctype": "~1.8"
},
"conflict": {
- "symfony/finder": "<4.4"
+ "symfony/finder": "<5.4"
},
"require-dev": {
- "symfony/event-dispatcher": "^4.4|^5.0|^6.0",
- "symfony/finder": "^4.4|^5.0|^6.0",
- "symfony/messenger": "^4.4|^5.0|^6.0",
+ "symfony/event-dispatcher": "^5.4|^6.0",
+ "symfony/finder": "^5.4|^6.0",
+ "symfony/messenger": "^5.4|^6.0",
"symfony/service-contracts": "^1.1|^2|^3",
- "symfony/yaml": "^4.4|^5.0|^6.0"
+ "symfony/yaml": "^5.4|^6.0"
},
"suggest": {
"symfony/yaml": "To use the yaml reference dumper"
@@ -5042,7 +4749,7 @@
"description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/config/tree/v5.4.0"
+ "source": "https://github.com/symfony/config/tree/v6.2.5"
},
"funding": [
{
@@ -5058,50 +4765,47 @@
"type": "tidelift"
}
],
- "time": "2021-11-28T15:25:38+00:00"
+ "time": "2023-01-09T04:38:22+00:00"
},
{
"name": "symfony/console",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "ec3661faca1d110d6c307e124b44f99ac54179e3"
+ "reference": "3e294254f2191762c1d137aed4b94e966965e985"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/ec3661faca1d110d6c307e124b44f99ac54179e3",
- "reference": "ec3661faca1d110d6c307e124b44f99ac54179e3",
+ "url": "https://api.github.com/repos/symfony/console/zipball/3e294254f2191762c1d137aed4b94e966965e985",
+ "reference": "3e294254f2191762c1d137aed4b94e966965e985",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
+ "php": ">=8.1",
"symfony/deprecation-contracts": "^2.1|^3",
"symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php73": "^1.8",
- "symfony/polyfill-php80": "^1.16",
"symfony/service-contracts": "^1.1|^2|^3",
- "symfony/string": "^5.1|^6.0"
+ "symfony/string": "^5.4|^6.0"
},
"conflict": {
- "psr/log": ">=3",
- "symfony/dependency-injection": "<4.4",
- "symfony/dotenv": "<5.1",
- "symfony/event-dispatcher": "<4.4",
- "symfony/lock": "<4.4",
- "symfony/process": "<4.4"
+ "symfony/dependency-injection": "<5.4",
+ "symfony/dotenv": "<5.4",
+ "symfony/event-dispatcher": "<5.4",
+ "symfony/lock": "<5.4",
+ "symfony/process": "<5.4"
},
"provide": {
- "psr/log-implementation": "1.0|2.0"
+ "psr/log-implementation": "1.0|2.0|3.0"
},
"require-dev": {
- "psr/log": "^1|^2",
- "symfony/config": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/event-dispatcher": "^4.4|^5.0|^6.0",
- "symfony/lock": "^4.4|^5.0|^6.0",
- "symfony/process": "^4.4|^5.0|^6.0",
- "symfony/var-dumper": "^4.4|^5.0|^6.0"
+ "psr/log": "^1|^2|^3",
+ "symfony/config": "^5.4|^6.0",
+ "symfony/dependency-injection": "^5.4|^6.0",
+ "symfony/event-dispatcher": "^5.4|^6.0",
+ "symfony/lock": "^5.4|^6.0",
+ "symfony/process": "^5.4|^6.0",
+ "symfony/var-dumper": "^5.4|^6.0"
},
"suggest": {
"psr/log": "For using the console logger",
@@ -5141,7 +4845,7 @@
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v5.4.0"
+ "source": "https://github.com/symfony/console/tree/v6.2.5"
},
"funding": [
{
@@ -5157,25 +4861,24 @@
"type": "tidelift"
}
],
- "time": "2021-11-29T15:30:56+00:00"
+ "time": "2023-01-01T08:38:09+00:00"
},
{
"name": "symfony/css-selector",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/css-selector.git",
- "reference": "44b933f98bb4b5220d10bed9ce5662f8c2d13dcc"
+ "reference": "bf1b9d4ad8b1cf0dbde8b08e0135a2f6259b9ba1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/css-selector/zipball/44b933f98bb4b5220d10bed9ce5662f8c2d13dcc",
- "reference": "44b933f98bb4b5220d10bed9ce5662f8c2d13dcc",
+ "url": "https://api.github.com/repos/symfony/css-selector/zipball/bf1b9d4ad8b1cf0dbde8b08e0135a2f6259b9ba1",
+ "reference": "bf1b9d4ad8b1cf0dbde8b08e0135a2f6259b9ba1",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.1"
},
"type": "library",
"autoload": {
@@ -5207,7 +4910,7 @@
"description": "Converts CSS selectors to XPath expressions",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/css-selector/tree/v5.4.0"
+ "source": "https://github.com/symfony/css-selector/tree/v6.2.5"
},
"funding": [
{
@@ -5223,51 +4926,49 @@
"type": "tidelift"
}
],
- "time": "2021-09-09T08:06:01+00:00"
+ "time": "2023-01-01T08:38:09+00:00"
},
{
"name": "symfony/dependency-injection",
- "version": "v5.4.0",
+ "version": "v6.2.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/dependency-injection.git",
- "reference": "69c398723857bb19fdea78496cedea0f756decab"
+ "reference": "2a6dd148589b9db59717db8b75f8d9fbb2ae714f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/69c398723857bb19fdea78496cedea0f756decab",
- "reference": "69c398723857bb19fdea78496cedea0f756decab",
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/2a6dd148589b9db59717db8b75f8d9fbb2ae714f",
+ "reference": "2a6dd148589b9db59717db8b75f8d9fbb2ae714f",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "psr/container": "^1.1.1",
+ "php": ">=8.1",
+ "psr/container": "^1.1|^2.0",
"symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php80": "^1.16",
- "symfony/polyfill-php81": "^1.22",
- "symfony/service-contracts": "^1.1.6|^2"
+ "symfony/service-contracts": "^1.1.6|^2.0|^3.0",
+ "symfony/var-exporter": "^6.2"
},
"conflict": {
"ext-psr": "<1.1|>=2",
- "symfony/config": "<5.3",
- "symfony/finder": "<4.4",
- "symfony/proxy-manager-bridge": "<4.4",
- "symfony/yaml": "<4.4"
+ "symfony/config": "<6.1",
+ "symfony/finder": "<5.4",
+ "symfony/proxy-manager-bridge": "<6.2",
+ "symfony/yaml": "<5.4"
},
"provide": {
- "psr/container-implementation": "1.0",
- "symfony/service-implementation": "1.0|2.0"
+ "psr/container-implementation": "1.1|2.0",
+ "symfony/service-implementation": "1.1|2.0|3.0"
},
"require-dev": {
- "symfony/config": "^5.3|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/yaml": "^4.4|^5.0|^6.0"
+ "symfony/config": "^6.1",
+ "symfony/expression-language": "^5.4|^6.0",
+ "symfony/yaml": "^5.4|^6.0"
},
"suggest": {
"symfony/config": "",
"symfony/expression-language": "For using expressions in service container configuration",
"symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required",
- "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them",
"symfony/yaml": ""
},
"type": "library",
@@ -5296,7 +4997,7 @@
"description": "Allows you to standardize and centralize the way objects are constructed in your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/dependency-injection/tree/v5.4.0"
+ "source": "https://github.com/symfony/dependency-injection/tree/v6.2.6"
},
"funding": [
{
@@ -5312,29 +5013,29 @@
"type": "tidelift"
}
],
- "time": "2021-11-29T15:30:56+00:00"
+ "time": "2023-01-30T15:46:28+00:00"
},
{
"name": "symfony/deprecation-contracts",
- "version": "v2.5.0",
+ "version": "v3.2.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
- "reference": "6f981ee24cf69ee7ce9736146d1c57c2780598a8"
+ "reference": "1ee04c65529dea5d8744774d474e7cbd2f1206d3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/6f981ee24cf69ee7ce9736146d1c57c2780598a8",
- "reference": "6f981ee24cf69ee7ce9736146d1c57c2780598a8",
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/1ee04c65529dea5d8744774d474e7cbd2f1206d3",
+ "reference": "1ee04c65529dea5d8744774d474e7cbd2f1206d3",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=8.1"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.5-dev"
+ "dev-main": "3.3-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -5363,7 +5064,7 @@
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.0"
+ "source": "https://github.com/symfony/deprecation-contracts/tree/v3.2.0"
},
"funding": [
{
@@ -5379,71 +5080,70 @@
"type": "tidelift"
}
],
- "time": "2021-07-12T14:48:14+00:00"
+ "time": "2022-11-25T10:21:52+00:00"
},
{
"name": "symfony/doctrine-bridge",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/doctrine-bridge.git",
- "reference": "61efc93370e3c59364b354b7e160c092157d839c"
+ "reference": "3d42ae343f74a67991d9da7a42eb21e4d9c3d070"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/61efc93370e3c59364b354b7e160c092157d839c",
- "reference": "61efc93370e3c59364b354b7e160c092157d839c",
+ "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/3d42ae343f74a67991d9da7a42eb21e4d9c3d070",
+ "reference": "3d42ae343f74a67991d9da7a42eb21e4d9c3d070",
"shasum": ""
},
"require": {
- "doctrine/event-manager": "~1.0",
- "doctrine/persistence": "^2",
- "php": ">=7.2.5",
+ "doctrine/event-manager": "^1.2|^2",
+ "doctrine/persistence": "^2|^3",
+ "php": ">=8.1",
"symfony/deprecation-contracts": "^2.1|^3",
"symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php80": "^1.16",
"symfony/service-contracts": "^1.1|^2|^3"
},
"conflict": {
"doctrine/dbal": "<2.13.1",
- "doctrine/orm": "<2.7.3",
+ "doctrine/lexer": "<1.1",
+ "doctrine/orm": "<2.7.4",
"phpunit/phpunit": "<5.4.3",
"symfony/cache": "<5.4",
- "symfony/dependency-injection": "<4.4",
- "symfony/form": "<5.1",
- "symfony/http-kernel": "<5",
- "symfony/messenger": "<4.4",
- "symfony/property-info": "<5",
- "symfony/security-bundle": "<5",
- "symfony/security-core": "<5.3",
- "symfony/validator": "<5.2"
- },
- "require-dev": {
- "composer/package-versions-deprecated": "^1.8",
- "doctrine/annotations": "^1.10.4",
- "doctrine/collections": "~1.0",
+ "symfony/dependency-injection": "<5.4",
+ "symfony/form": "<5.4",
+ "symfony/http-kernel": "<6.2",
+ "symfony/messenger": "<5.4",
+ "symfony/property-info": "<5.4",
+ "symfony/security-bundle": "<5.4",
+ "symfony/security-core": "<6.0",
+ "symfony/validator": "<5.4"
+ },
+ "require-dev": {
+ "doctrine/annotations": "^1.10.4|^2",
+ "doctrine/collections": "^1.0|^2.0",
"doctrine/data-fixtures": "^1.1",
"doctrine/dbal": "^2.13.1|^3.0",
- "doctrine/orm": "^2.7.3",
+ "doctrine/orm": "^2.7.4",
"psr/log": "^1|^2|^3",
"symfony/cache": "^5.4|^6.0",
- "symfony/config": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/doctrine-messenger": "^5.1|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/form": "^5.1.3|^6.0",
- "symfony/http-kernel": "^5.0|^6.0",
- "symfony/messenger": "^4.4|^5.0|^6.0",
- "symfony/property-access": "^4.4|^5.0|^6.0",
- "symfony/property-info": "^5.0|^6.0",
- "symfony/proxy-manager-bridge": "^4.4|^5.0|^6.0",
- "symfony/security-core": "^5.3|^6.0",
- "symfony/stopwatch": "^4.4|^5.0|^6.0",
- "symfony/translation": "^4.4|^5.0|^6.0",
- "symfony/uid": "^5.1|^6.0",
- "symfony/validator": "^5.2|^6.0",
- "symfony/var-dumper": "^4.4|^5.0|^6.0"
+ "symfony/config": "^5.4|^6.0",
+ "symfony/dependency-injection": "^5.4|^6.0",
+ "symfony/doctrine-messenger": "^5.4|^6.0",
+ "symfony/expression-language": "^5.4|^6.0",
+ "symfony/form": "^5.4.9|^6.0.9",
+ "symfony/http-kernel": "^6.2",
+ "symfony/messenger": "^5.4|^6.0",
+ "symfony/property-access": "^5.4|^6.0",
+ "symfony/property-info": "^5.4|^6.0",
+ "symfony/proxy-manager-bridge": "^5.4|^6.0",
+ "symfony/security-core": "^6.0",
+ "symfony/stopwatch": "^5.4|^6.0",
+ "symfony/translation": "^5.4|^6.0",
+ "symfony/uid": "^5.4|^6.0",
+ "symfony/validator": "^5.4|^6.0",
+ "symfony/var-dumper": "^5.4|^6.0"
},
"suggest": {
"doctrine/data-fixtures": "",
@@ -5479,7 +5179,7 @@
"description": "Provides integration for Doctrine with various Symfony components",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/doctrine-bridge/tree/v5.4.0"
+ "source": "https://github.com/symfony/doctrine-bridge/tree/v6.2.5"
},
"funding": [
{
@@ -5495,29 +5195,32 @@
"type": "tidelift"
}
],
- "time": "2021-11-29T15:30:56+00:00"
+ "time": "2023-01-10T18:53:53+00:00"
},
{
"name": "symfony/dotenv",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/dotenv.git",
- "reference": "9bd173ff68fa90d39c59d91a42ae42b7f11713a0"
+ "reference": "1a24cb3ab1dbb8834a75c9d46e427e84baae29bc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dotenv/zipball/9bd173ff68fa90d39c59d91a42ae42b7f11713a0",
- "reference": "9bd173ff68fa90d39c59d91a42ae42b7f11713a0",
+ "url": "https://api.github.com/repos/symfony/dotenv/zipball/1a24cb3ab1dbb8834a75c9d46e427e84baae29bc",
+ "reference": "1a24cb3ab1dbb8834a75c9d46e427e84baae29bc",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3"
+ "php": ">=8.1"
+ },
+ "conflict": {
+ "symfony/console": "<5.4",
+ "symfony/process": "<5.4"
},
"require-dev": {
- "symfony/console": "^4.4|^5.0|^6.0",
- "symfony/process": "^4.4|^5.0|^6.0"
+ "symfony/console": "^5.4|^6.0",
+ "symfony/process": "^5.4|^6.0"
},
"type": "library",
"autoload": {
@@ -5550,7 +5253,7 @@
"environment"
],
"support": {
- "source": "https://github.com/symfony/dotenv/tree/v5.4.0"
+ "source": "https://github.com/symfony/dotenv/tree/v6.2.5"
},
"funding": [
{
@@ -5566,31 +5269,31 @@
"type": "tidelift"
}
],
- "time": "2021-11-23T10:19:22+00:00"
+ "time": "2023-01-01T08:38:09+00:00"
},
{
"name": "symfony/error-handler",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/error-handler.git",
- "reference": "8433fa3145ac78df88b87a4a539118e950828126"
+ "reference": "0092696af0be8e6124b042fbe2890ca1788d7b28"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/error-handler/zipball/8433fa3145ac78df88b87a4a539118e950828126",
- "reference": "8433fa3145ac78df88b87a4a539118e950828126",
+ "url": "https://api.github.com/repos/symfony/error-handler/zipball/0092696af0be8e6124b042fbe2890ca1788d7b28",
+ "reference": "0092696af0be8e6124b042fbe2890ca1788d7b28",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
+ "php": ">=8.1",
"psr/log": "^1|^2|^3",
- "symfony/var-dumper": "^4.4|^5.0|^6.0"
+ "symfony/var-dumper": "^5.4|^6.0"
},
"require-dev": {
"symfony/deprecation-contracts": "^2.1|^3",
- "symfony/http-kernel": "^4.4|^5.0|^6.0",
- "symfony/serializer": "^4.4|^5.0|^6.0"
+ "symfony/http-kernel": "^5.4|^6.0",
+ "symfony/serializer": "^5.4|^6.0"
},
"bin": [
"Resources/bin/patch-type-declarations"
@@ -5621,7 +5324,7 @@
"description": "Provides tools to manage errors and ease debugging PHP code",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/error-handler/tree/v5.4.0"
+ "source": "https://github.com/symfony/error-handler/tree/v6.2.5"
},
"funding": [
{
@@ -5637,44 +5340,42 @@
"type": "tidelift"
}
],
- "time": "2021-11-29T15:30:56+00:00"
+ "time": "2023-01-01T08:38:09+00:00"
},
{
"name": "symfony/event-dispatcher",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "27d39ae126352b9fa3be5e196ccf4617897be3eb"
+ "reference": "f02d108b5e9fd4a6245aa73a9d2df2ec060c3e68"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/27d39ae126352b9fa3be5e196ccf4617897be3eb",
- "reference": "27d39ae126352b9fa3be5e196ccf4617897be3eb",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/f02d108b5e9fd4a6245aa73a9d2df2ec060c3e68",
+ "reference": "f02d108b5e9fd4a6245aa73a9d2df2ec060c3e68",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/event-dispatcher-contracts": "^2|^3",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.1",
+ "symfony/event-dispatcher-contracts": "^2|^3"
},
"conflict": {
- "symfony/dependency-injection": "<4.4"
+ "symfony/dependency-injection": "<5.4"
},
"provide": {
"psr/event-dispatcher-implementation": "1.0",
- "symfony/event-dispatcher-implementation": "2.0"
+ "symfony/event-dispatcher-implementation": "2.0|3.0"
},
"require-dev": {
"psr/log": "^1|^2|^3",
- "symfony/config": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/error-handler": "^4.4|^5.0|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/http-foundation": "^4.4|^5.0|^6.0",
+ "symfony/config": "^5.4|^6.0",
+ "symfony/dependency-injection": "^5.4|^6.0",
+ "symfony/error-handler": "^5.4|^6.0",
+ "symfony/expression-language": "^5.4|^6.0",
+ "symfony/http-foundation": "^5.4|^6.0",
"symfony/service-contracts": "^1.1|^2|^3",
- "symfony/stopwatch": "^4.4|^5.0|^6.0"
+ "symfony/stopwatch": "^5.4|^6.0"
},
"suggest": {
"symfony/dependency-injection": "",
@@ -5706,7 +5407,7 @@
"description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.0"
+ "source": "https://github.com/symfony/event-dispatcher/tree/v6.2.5"
},
"funding": [
{
@@ -5722,24 +5423,24 @@
"type": "tidelift"
}
],
- "time": "2021-11-23T10:19:22+00:00"
+ "time": "2023-01-01T08:38:09+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
- "version": "v2.5.0",
+ "version": "v3.2.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher-contracts.git",
- "reference": "66bea3b09be61613cd3b4043a65a8ec48cfa6d2a"
+ "reference": "0782b0b52a737a05b4383d0df35a474303cabdae"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/66bea3b09be61613cd3b4043a65a8ec48cfa6d2a",
- "reference": "66bea3b09be61613cd3b4043a65a8ec48cfa6d2a",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/0782b0b52a737a05b4383d0df35a474303cabdae",
+ "reference": "0782b0b52a737a05b4383d0df35a474303cabdae",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
+ "php": ">=8.1",
"psr/event-dispatcher": "^1"
},
"suggest": {
@@ -5748,7 +5449,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.5-dev"
+ "dev-main": "3.3-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -5785,7 +5486,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.5.0"
+ "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.2.0"
},
"funding": [
{
@@ -5801,25 +5502,25 @@
"type": "tidelift"
}
],
- "time": "2021-07-12T14:48:14+00:00"
+ "time": "2022-11-25T10:21:52+00:00"
},
{
"name": "symfony/expression-language",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/expression-language.git",
- "reference": "aff6ee3cf4ac1f37f5c7dad3f89f439dbe0893f2"
+ "reference": "c61e4bbaff98b2e0b911612ef684f9b1dd3c7db4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/expression-language/zipball/aff6ee3cf4ac1f37f5c7dad3f89f439dbe0893f2",
- "reference": "aff6ee3cf4ac1f37f5c7dad3f89f439dbe0893f2",
+ "url": "https://api.github.com/repos/symfony/expression-language/zipball/c61e4bbaff98b2e0b911612ef684f9b1dd3c7db4",
+ "reference": "c61e4bbaff98b2e0b911612ef684f9b1dd3c7db4",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/cache": "^4.4|^5.0|^6.0",
+ "php": ">=8.1",
+ "symfony/cache": "^5.4|^6.0",
"symfony/service-contracts": "^1.1|^2|^3"
},
"type": "library",
@@ -5848,7 +5549,7 @@
"description": "Provides an engine that can compile and evaluate expressions",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/expression-language/tree/v5.4.0"
+ "source": "https://github.com/symfony/expression-language/tree/v6.2.5"
},
"funding": [
{
@@ -5864,27 +5565,26 @@
"type": "tidelift"
}
],
- "time": "2021-11-23T10:19:22+00:00"
+ "time": "2023-01-20T17:45:48+00:00"
},
{
"name": "symfony/filesystem",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
- "reference": "731f917dc31edcffec2c6a777f3698c33bea8f01"
+ "reference": "e59e8a4006afd7f5654786a83b4fcb8da98f4593"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/731f917dc31edcffec2c6a777f3698c33bea8f01",
- "reference": "731f917dc31edcffec2c6a777f3698c33bea8f01",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/e59e8a4006afd7f5654786a83b4fcb8da98f4593",
+ "reference": "e59e8a4006afd7f5654786a83b4fcb8da98f4593",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
+ "php": ">=8.1",
"symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-mbstring": "~1.8",
- "symfony/polyfill-php80": "^1.16"
+ "symfony/polyfill-mbstring": "~1.8"
},
"type": "library",
"autoload": {
@@ -5912,7 +5612,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/filesystem/tree/v5.4.0"
+ "source": "https://github.com/symfony/filesystem/tree/v6.2.5"
},
"funding": [
{
@@ -5928,26 +5628,27 @@
"type": "tidelift"
}
],
- "time": "2021-10-28T13:39:27+00:00"
+ "time": "2023-01-20T17:45:48+00:00"
},
{
"name": "symfony/finder",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "d2f29dac98e96a98be467627bd49c2efb1bc2590"
+ "reference": "c90dc446976a612e3312a97a6ec0069ab0c2099c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/d2f29dac98e96a98be467627bd49c2efb1bc2590",
- "reference": "d2f29dac98e96a98be467627bd49c2efb1bc2590",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/c90dc446976a612e3312a97a6ec0069ab0c2099c",
+ "reference": "c90dc446976a612e3312a97a6ec0069ab0c2099c",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.1"
+ },
+ "require-dev": {
+ "symfony/filesystem": "^6.0"
},
"type": "library",
"autoload": {
@@ -5975,7 +5676,7 @@
"description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/finder/tree/v5.4.0"
+ "source": "https://github.com/symfony/finder/tree/v6.2.5"
},
"funding": [
{
@@ -5991,20 +5692,20 @@
"type": "tidelift"
}
],
- "time": "2021-11-28T15:25:38+00:00"
+ "time": "2023-01-20T17:45:48+00:00"
},
{
"name": "symfony/flex",
- "version": "v1.17.6",
+ "version": "v1.19.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/flex.git",
- "reference": "7a79135e1dc66b30042b4d968ecba0908f9374bc"
+ "reference": "51077ed0f6dc2c94cd0b670167eee3747c31b2c1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/flex/zipball/7a79135e1dc66b30042b4d968ecba0908f9374bc",
- "reference": "7a79135e1dc66b30042b4d968ecba0908f9374bc",
+ "url": "https://api.github.com/repos/symfony/flex/zipball/51077ed0f6dc2c94cd0b670167eee3747c31b2c1",
+ "reference": "51077ed0f6dc2c94cd0b670167eee3747c31b2c1",
"shasum": ""
},
"require": {
@@ -6040,7 +5741,7 @@
"description": "Composer plugin for Symfony",
"support": {
"issues": "https://github.com/symfony/flex/issues",
- "source": "https://github.com/symfony/flex/tree/v1.17.6"
+ "source": "https://github.com/symfony/flex/tree/v1.19.5"
},
"funding": [
{
@@ -6056,63 +5757,64 @@
"type": "tidelift"
}
],
- "time": "2021-11-29T15:39:37+00:00"
+ "time": "2023-01-30T17:02:31+00:00"
},
{
"name": "symfony/form",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/form.git",
- "reference": "0148f46628efa4c12803768efbdfcd6e0b9ceec3"
+ "reference": "5504c29b365c814132c087136935b50849411b09"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/form/zipball/0148f46628efa4c12803768efbdfcd6e0b9ceec3",
- "reference": "0148f46628efa4c12803768efbdfcd6e0b9ceec3",
+ "url": "https://api.github.com/repos/symfony/form/zipball/5504c29b365c814132c087136935b50849411b09",
+ "reference": "5504c29b365c814132c087136935b50849411b09",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
+ "php": ">=8.1",
"symfony/deprecation-contracts": "^2.1|^3",
- "symfony/event-dispatcher": "^4.4|^5.0|^6.0",
- "symfony/options-resolver": "^5.1|^6.0",
+ "symfony/event-dispatcher": "^5.4|^6.0",
+ "symfony/options-resolver": "^5.4|^6.0",
"symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-intl-icu": "^1.21",
"symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php80": "^1.16",
- "symfony/polyfill-php81": "^1.23",
- "symfony/property-access": "^5.0.8|^6.0",
+ "symfony/property-access": "^5.4|^6.0",
"symfony/service-contracts": "^1.1|^2|^3"
},
"conflict": {
"phpunit/phpunit": "<5.4.3",
- "symfony/console": "<4.4",
- "symfony/dependency-injection": "<4.4",
- "symfony/doctrine-bridge": "<4.4",
- "symfony/error-handler": "<4.4.5",
- "symfony/framework-bundle": "<4.4",
- "symfony/http-kernel": "<4.4",
- "symfony/translation": "<4.4",
+ "symfony/console": "<5.4",
+ "symfony/dependency-injection": "<5.4",
+ "symfony/doctrine-bridge": "<5.4",
+ "symfony/error-handler": "<5.4",
+ "symfony/framework-bundle": "<5.4",
+ "symfony/http-kernel": "<5.4",
+ "symfony/translation": "<5.4",
"symfony/translation-contracts": "<1.1.7",
- "symfony/twig-bridge": "<4.4"
+ "symfony/twig-bridge": "<5.4"
},
"require-dev": {
- "doctrine/collections": "~1.0",
- "symfony/config": "^4.4|^5.0|^6.0",
+ "doctrine/collections": "^1.0|^2.0",
+ "symfony/config": "^5.4|^6.0",
"symfony/console": "^5.4|^6.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/http-foundation": "^4.4|^5.0|^6.0",
- "symfony/http-kernel": "^4.4|^5.0|^6.0",
- "symfony/intl": "^4.4|^5.0|^6.0",
- "symfony/security-csrf": "^4.4|^5.0|^6.0",
- "symfony/translation": "^4.4|^5.0|^6.0",
- "symfony/uid": "^5.1|^6.0",
- "symfony/validator": "^4.4.17|^5.1.9|^6.0",
- "symfony/var-dumper": "^4.4|^5.0|^6.0"
+ "symfony/dependency-injection": "^5.4|^6.0",
+ "symfony/expression-language": "^5.4|^6.0",
+ "symfony/html-sanitizer": "^6.1",
+ "symfony/http-foundation": "^5.4|^6.0",
+ "symfony/http-kernel": "^5.4|^6.0",
+ "symfony/intl": "^5.4|^6.0",
+ "symfony/security-core": "^6.2",
+ "symfony/security-csrf": "^5.4|^6.0",
+ "symfony/translation": "^5.4|^6.0",
+ "symfony/uid": "^5.4|^6.0",
+ "symfony/validator": "^5.4|^6.0",
+ "symfony/var-dumper": "^5.4|^6.0"
},
"suggest": {
+ "symfony/security-core": "For hashing users passwords.",
"symfony/security-csrf": "For protecting forms against CSRF attacks.",
"symfony/twig-bridge": "For templating with Twig.",
"symfony/validator": "For form validation."
@@ -6143,7 +5845,7 @@
"description": "Allows to easily create, process and reuse HTML forms",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/form/tree/v5.4.0"
+ "source": "https://github.com/symfony/form/tree/v6.2.5"
},
"funding": [
{
@@ -6159,105 +5861,103 @@
"type": "tidelift"
}
],
- "time": "2021-11-29T15:30:56+00:00"
+ "time": "2023-01-01T08:38:09+00:00"
},
{
"name": "symfony/framework-bundle",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/framework-bundle.git",
- "reference": "4e3b7215071f02e930b00f69741dfd4dab3c31e7"
+ "reference": "3f6ea83b11b24271bb86deb82f915fb08621b964"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/4e3b7215071f02e930b00f69741dfd4dab3c31e7",
- "reference": "4e3b7215071f02e930b00f69741dfd4dab3c31e7",
+ "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/3f6ea83b11b24271bb86deb82f915fb08621b964",
+ "reference": "3f6ea83b11b24271bb86deb82f915fb08621b964",
"shasum": ""
},
"require": {
+ "composer-runtime-api": ">=2.1",
"ext-xml": "*",
- "php": ">=7.2.5",
- "symfony/cache": "^5.2|^6.0",
- "symfony/config": "^5.3|^6.0",
- "symfony/dependency-injection": "^5.3|^6.0",
+ "php": ">=8.1",
+ "symfony/cache": "^5.4|^6.0",
+ "symfony/config": "^6.1",
+ "symfony/dependency-injection": "^6.2",
"symfony/deprecation-contracts": "^2.1|^3",
- "symfony/error-handler": "^4.4.1|^5.0.1|^6.0",
- "symfony/event-dispatcher": "^5.1|^6.0",
- "symfony/filesystem": "^4.4|^5.0|^6.0",
- "symfony/finder": "^4.4|^5.0|^6.0",
- "symfony/http-foundation": "^5.3|^6.0",
- "symfony/http-kernel": "^5.4|^6.0",
+ "symfony/error-handler": "^6.1",
+ "symfony/event-dispatcher": "^5.4|^6.0",
+ "symfony/filesystem": "^5.4|^6.0",
+ "symfony/finder": "^5.4|^6.0",
+ "symfony/http-foundation": "^6.2",
+ "symfony/http-kernel": "^6.2.1",
"symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php80": "^1.16",
- "symfony/polyfill-php81": "^1.22",
- "symfony/routing": "^5.3|^6.0"
+ "symfony/routing": "^5.4|^6.0"
},
"conflict": {
"doctrine/annotations": "<1.13.1",
- "doctrine/cache": "<1.11",
"doctrine/persistence": "<1.3",
"phpdocumentor/reflection-docblock": "<3.2.2",
"phpdocumentor/type-resolver": "<1.4.0",
"phpunit/phpunit": "<5.4.3",
- "symfony/asset": "<5.3",
- "symfony/console": "<5.2.5",
- "symfony/dom-crawler": "<4.4",
- "symfony/dotenv": "<5.1",
- "symfony/form": "<5.2",
- "symfony/http-client": "<4.4",
- "symfony/lock": "<4.4",
- "symfony/mailer": "<5.2",
- "symfony/messenger": "<5.4",
- "symfony/mime": "<4.4",
- "symfony/property-access": "<5.3",
- "symfony/property-info": "<4.4",
- "symfony/security-csrf": "<5.3",
- "symfony/serializer": "<5.2",
- "symfony/service-contracts": ">=3.0",
- "symfony/stopwatch": "<4.4",
- "symfony/translation": "<5.3",
- "symfony/twig-bridge": "<4.4",
- "symfony/twig-bundle": "<4.4",
- "symfony/validator": "<5.2",
- "symfony/web-profiler-bundle": "<4.4",
- "symfony/workflow": "<5.2"
- },
- "require-dev": {
- "doctrine/annotations": "^1.13.1",
- "doctrine/cache": "^1.11|^2.0",
- "doctrine/persistence": "^1.3|^2.0",
- "paragonie/sodium_compat": "^1.8",
+ "symfony/asset": "<5.4",
+ "symfony/console": "<5.4",
+ "symfony/dom-crawler": "<5.4",
+ "symfony/dotenv": "<5.4",
+ "symfony/form": "<5.4",
+ "symfony/http-client": "<5.4",
+ "symfony/lock": "<5.4",
+ "symfony/mailer": "<5.4",
+ "symfony/messenger": "<6.2",
+ "symfony/mime": "<6.2",
+ "symfony/property-access": "<5.4",
+ "symfony/property-info": "<5.4",
+ "symfony/security-core": "<5.4",
+ "symfony/security-csrf": "<5.4",
+ "symfony/serializer": "<6.1",
+ "symfony/stopwatch": "<5.4",
+ "symfony/translation": "<5.4",
+ "symfony/twig-bridge": "<5.4",
+ "symfony/twig-bundle": "<5.4",
+ "symfony/validator": "<5.4",
+ "symfony/web-profiler-bundle": "<5.4",
+ "symfony/workflow": "<5.4"
+ },
+ "require-dev": {
+ "doctrine/annotations": "^1.13.1|^2",
+ "doctrine/persistence": "^1.3|^2|^3",
"phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
- "symfony/asset": "^5.3|^6.0",
+ "symfony/asset": "^5.4|^6.0",
"symfony/browser-kit": "^5.4|^6.0",
- "symfony/console": "^5.4|^6.0",
- "symfony/css-selector": "^4.4|^5.0|^6.0",
- "symfony/dom-crawler": "^4.4.30|^5.3.7|^6.0",
- "symfony/dotenv": "^5.1|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/form": "^5.2|^6.0",
- "symfony/http-client": "^4.4|^5.0|^6.0",
- "symfony/lock": "^4.4|^5.0|^6.0",
- "symfony/mailer": "^5.2|^6.0",
- "symfony/messenger": "^5.4|^6.0",
- "symfony/mime": "^4.4|^5.0|^6.0",
+ "symfony/console": "^5.4.9|^6.0.9",
+ "symfony/css-selector": "^5.4|^6.0",
+ "symfony/dom-crawler": "^5.4|^6.0",
+ "symfony/dotenv": "^5.4|^6.0",
+ "symfony/expression-language": "^5.4|^6.0",
+ "symfony/form": "^5.4|^6.0",
+ "symfony/html-sanitizer": "^6.1",
+ "symfony/http-client": "^5.4|^6.0",
+ "symfony/lock": "^5.4|^6.0",
+ "symfony/mailer": "^5.4|^6.0",
+ "symfony/messenger": "^6.2",
+ "symfony/mime": "^6.2",
"symfony/notifier": "^5.4|^6.0",
- "symfony/phpunit-bridge": "^5.3|^6.0",
"symfony/polyfill-intl-icu": "~1.0",
- "symfony/process": "^4.4|^5.0|^6.0",
- "symfony/property-info": "^4.4|^5.0|^6.0",
- "symfony/rate-limiter": "^5.2|^6.0",
+ "symfony/process": "^5.4|^6.0",
+ "symfony/property-info": "^5.4|^6.0",
+ "symfony/rate-limiter": "^5.4|^6.0",
"symfony/security-bundle": "^5.4|^6.0",
- "symfony/serializer": "^5.4|^6.0",
- "symfony/stopwatch": "^4.4|^5.0|^6.0",
- "symfony/string": "^5.0|^6.0",
- "symfony/translation": "^5.3|^6.0",
- "symfony/twig-bundle": "^4.4|^5.0|^6.0",
- "symfony/validator": "^5.2|^6.0",
- "symfony/web-link": "^4.4|^5.0|^6.0",
- "symfony/workflow": "^5.2|^6.0",
- "symfony/yaml": "^4.4|^5.0|^6.0",
+ "symfony/semaphore": "^5.4|^6.0",
+ "symfony/serializer": "^6.1",
+ "symfony/stopwatch": "^5.4|^6.0",
+ "symfony/string": "^5.4|^6.0",
+ "symfony/translation": "^5.4|^6.0",
+ "symfony/twig-bundle": "^5.4|^6.0",
+ "symfony/uid": "^5.4|^6.0",
+ "symfony/validator": "^5.4|^6.0",
+ "symfony/web-link": "^5.4|^6.0",
+ "symfony/workflow": "^5.4|^6.0",
+ "symfony/yaml": "^5.4|^6.0",
"twig/twig": "^2.10|^3.0"
},
"suggest": {
@@ -6296,7 +5996,7 @@
"description": "Provides a tight integration between Symfony components and the Symfony full-stack framework",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/framework-bundle/tree/v5.4.0"
+ "source": "https://github.com/symfony/framework-bundle/tree/v6.2.5"
},
"funding": [
{
@@ -6312,36 +6012,34 @@
"type": "tidelift"
}
],
- "time": "2021-11-29T16:01:17+00:00"
+ "time": "2023-01-11T11:53:46+00:00"
},
{
"name": "symfony/http-client",
- "version": "v5.4.0",
+ "version": "v6.2.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-client.git",
- "reference": "b3d99775f5372ff746035e98d6fa00182e832380"
+ "reference": "6efa9a7521ab7d031a82cf0a759484d1b02a6ad9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-client/zipball/b3d99775f5372ff746035e98d6fa00182e832380",
- "reference": "b3d99775f5372ff746035e98d6fa00182e832380",
+ "url": "https://api.github.com/repos/symfony/http-client/zipball/6efa9a7521ab7d031a82cf0a759484d1b02a6ad9",
+ "reference": "6efa9a7521ab7d031a82cf0a759484d1b02a6ad9",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
+ "php": ">=8.1",
"psr/log": "^1|^2|^3",
"symfony/deprecation-contracts": "^2.1|^3",
- "symfony/http-client-contracts": "^2.4",
- "symfony/polyfill-php73": "^1.11",
- "symfony/polyfill-php80": "^1.16",
+ "symfony/http-client-contracts": "^3",
"symfony/service-contracts": "^1.0|^2|^3"
},
"provide": {
"php-http/async-client-implementation": "*",
"php-http/client-implementation": "*",
"psr/http-client-implementation": "1.0",
- "symfony/http-client-implementation": "2.4"
+ "symfony/http-client-implementation": "3.0"
},
"require-dev": {
"amphp/amp": "^2.5",
@@ -6352,10 +6050,10 @@
"nyholm/psr7": "^1.0",
"php-http/httplug": "^1.0|^2.0",
"psr/http-client": "^1.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/http-kernel": "^4.4.13|^5.1.5|^6.0",
- "symfony/process": "^4.4|^5.0|^6.0",
- "symfony/stopwatch": "^4.4|^5.0|^6.0"
+ "symfony/dependency-injection": "^5.4|^6.0",
+ "symfony/http-kernel": "^5.4|^6.0",
+ "symfony/process": "^5.4|^6.0",
+ "symfony/stopwatch": "^5.4|^6.0"
},
"type": "library",
"autoload": {
@@ -6383,7 +6081,7 @@
"description": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-client/tree/v5.4.0"
+ "source": "https://github.com/symfony/http-client/tree/v6.2.6"
},
"funding": [
{
@@ -6399,24 +6097,24 @@
"type": "tidelift"
}
],
- "time": "2021-11-23T15:26:31+00:00"
+ "time": "2023-01-30T15:46:28+00:00"
},
{
"name": "symfony/http-client-contracts",
- "version": "v2.5.0",
+ "version": "v3.2.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-client-contracts.git",
- "reference": "ec82e57b5b714dbb69300d348bd840b345e24166"
+ "reference": "c5f587eb445224ddfeb05b5ee703476742d730bf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/ec82e57b5b714dbb69300d348bd840b345e24166",
- "reference": "ec82e57b5b714dbb69300d348bd840b345e24166",
+ "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/c5f587eb445224ddfeb05b5ee703476742d730bf",
+ "reference": "c5f587eb445224ddfeb05b5ee703476742d730bf",
"shasum": ""
},
"require": {
- "php": ">=7.2.5"
+ "php": ">=8.1"
},
"suggest": {
"symfony/http-client-implementation": ""
@@ -6424,7 +6122,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.5-dev"
+ "dev-main": "3.3-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -6434,7 +6132,10 @@
"autoload": {
"psr-4": {
"Symfony\\Contracts\\HttpClient\\": ""
- }
+ },
+ "exclude-from-classmap": [
+ "/Test/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -6461,7 +6162,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/http-client-contracts/tree/v2.5.0"
+ "source": "https://github.com/symfony/http-client-contracts/tree/v3.2.0"
},
"funding": [
{
@@ -6477,33 +6178,38 @@
"type": "tidelift"
}
],
- "time": "2021-11-03T09:24:47+00:00"
+ "time": "2022-11-25T10:21:52+00:00"
},
{
"name": "symfony/http-foundation",
- "version": "v5.4.0",
+ "version": "v6.2.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
- "reference": "5ef86ac7927d2de08dc1e26eb91325f9ccbe6309"
+ "reference": "e8dd1f502bc2b3371d05092aa233b064b03ce7ed"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/5ef86ac7927d2de08dc1e26eb91325f9ccbe6309",
- "reference": "5ef86ac7927d2de08dc1e26eb91325f9ccbe6309",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/e8dd1f502bc2b3371d05092aa233b064b03ce7ed",
+ "reference": "e8dd1f502bc2b3371d05092aa233b064b03ce7ed",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
+ "php": ">=8.1",
"symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-mbstring": "~1.1",
- "symfony/polyfill-php80": "^1.16"
+ "symfony/polyfill-mbstring": "~1.1"
+ },
+ "conflict": {
+ "symfony/cache": "<6.2"
},
"require-dev": {
"predis/predis": "~1.0",
- "symfony/cache": "^4.4|^5.0|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/mime": "^4.4|^5.0|^6.0"
+ "symfony/cache": "^5.4|^6.0",
+ "symfony/dependency-injection": "^5.4|^6.0",
+ "symfony/expression-language": "^5.4|^6.0",
+ "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4",
+ "symfony/mime": "^5.4|^6.0",
+ "symfony/rate-limiter": "^5.2|^6.0"
},
"suggest": {
"symfony/mime": "To use the file extension guesser"
@@ -6534,7 +6240,7 @@
"description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-foundation/tree/v5.4.0"
+ "source": "https://github.com/symfony/http-foundation/tree/v6.2.6"
},
"funding": [
{
@@ -6550,68 +6256,67 @@
"type": "tidelift"
}
],
- "time": "2021-11-28T15:25:38+00:00"
+ "time": "2023-01-30T15:46:28+00:00"
},
{
"name": "symfony/http-kernel",
- "version": "v5.4.0",
+ "version": "v6.2.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
- "reference": "e012f16688bcb151e965473a70d8ebaa8b1d15ea"
+ "reference": "7122db07b0d8dbf0de682267c84217573aee3ea7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-kernel/zipball/e012f16688bcb151e965473a70d8ebaa8b1d15ea",
- "reference": "e012f16688bcb151e965473a70d8ebaa8b1d15ea",
+ "url": "https://api.github.com/repos/symfony/http-kernel/zipball/7122db07b0d8dbf0de682267c84217573aee3ea7",
+ "reference": "7122db07b0d8dbf0de682267c84217573aee3ea7",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "psr/log": "^1|^2",
+ "php": ">=8.1",
+ "psr/log": "^1|^2|^3",
"symfony/deprecation-contracts": "^2.1|^3",
- "symfony/error-handler": "^4.4|^5.0|^6.0",
- "symfony/event-dispatcher": "^5.0|^6.0",
- "symfony/http-foundation": "^5.3.7|^6.0",
- "symfony/polyfill-ctype": "^1.8",
- "symfony/polyfill-php73": "^1.9",
- "symfony/polyfill-php80": "^1.16"
+ "symfony/error-handler": "^6.1",
+ "symfony/event-dispatcher": "^5.4|^6.0",
+ "symfony/http-foundation": "^5.4|^6.0",
+ "symfony/polyfill-ctype": "^1.8"
},
"conflict": {
"symfony/browser-kit": "<5.4",
- "symfony/cache": "<5.0",
- "symfony/config": "<5.0",
- "symfony/console": "<4.4",
- "symfony/dependency-injection": "<5.3",
- "symfony/doctrine-bridge": "<5.0",
- "symfony/form": "<5.0",
- "symfony/http-client": "<5.0",
- "symfony/mailer": "<5.0",
- "symfony/messenger": "<5.0",
- "symfony/translation": "<5.0",
- "symfony/twig-bridge": "<5.0",
- "symfony/validator": "<5.0",
+ "symfony/cache": "<5.4",
+ "symfony/config": "<6.1",
+ "symfony/console": "<5.4",
+ "symfony/dependency-injection": "<6.2",
+ "symfony/doctrine-bridge": "<5.4",
+ "symfony/form": "<5.4",
+ "symfony/http-client": "<5.4",
+ "symfony/mailer": "<5.4",
+ "symfony/messenger": "<5.4",
+ "symfony/translation": "<5.4",
+ "symfony/twig-bridge": "<5.4",
+ "symfony/validator": "<5.4",
"twig/twig": "<2.13"
},
"provide": {
- "psr/log-implementation": "1.0|2.0"
+ "psr/log-implementation": "1.0|2.0|3.0"
},
"require-dev": {
"psr/cache": "^1.0|^2.0|^3.0",
"symfony/browser-kit": "^5.4|^6.0",
- "symfony/config": "^5.0|^6.0",
- "symfony/console": "^4.4|^5.0|^6.0",
- "symfony/css-selector": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^5.3|^6.0",
- "symfony/dom-crawler": "^4.4|^5.0|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/finder": "^4.4|^5.0|^6.0",
+ "symfony/config": "^6.1",
+ "symfony/console": "^5.4|^6.0",
+ "symfony/css-selector": "^5.4|^6.0",
+ "symfony/dependency-injection": "^6.2",
+ "symfony/dom-crawler": "^5.4|^6.0",
+ "symfony/expression-language": "^5.4|^6.0",
+ "symfony/finder": "^5.4|^6.0",
"symfony/http-client-contracts": "^1.1|^2|^3",
- "symfony/process": "^4.4|^5.0|^6.0",
- "symfony/routing": "^4.4|^5.0|^6.0",
- "symfony/stopwatch": "^4.4|^5.0|^6.0",
- "symfony/translation": "^4.4|^5.0|^6.0",
+ "symfony/process": "^5.4|^6.0",
+ "symfony/routing": "^5.4|^6.0",
+ "symfony/stopwatch": "^5.4|^6.0",
+ "symfony/translation": "^5.4|^6.0",
"symfony/translation-contracts": "^1.1|^2|^3",
+ "symfony/uid": "^5.4|^6.0",
"twig/twig": "^2.13|^3.0.4"
},
"suggest": {
@@ -6646,7 +6351,7 @@
"description": "Provides a structured process for converting a Request into a Response",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-kernel/tree/v5.4.0"
+ "source": "https://github.com/symfony/http-kernel/tree/v6.2.6"
},
"funding": [
{
@@ -6662,41 +6367,34 @@
"type": "tidelift"
}
],
- "time": "2021-11-29T16:56:53+00:00"
+ "time": "2023-02-01T08:32:25+00:00"
},
{
"name": "symfony/intl",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/intl.git",
- "reference": "01b11a038293916ad52aab9ac7bd6b4e711d1f3e"
+ "reference": "3e5671e7676723db90a1b3c0b8b27e00407d69d5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/intl/zipball/01b11a038293916ad52aab9ac7bd6b4e711d1f3e",
- "reference": "01b11a038293916ad52aab9ac7bd6b4e711d1f3e",
+ "url": "https://api.github.com/repos/symfony/intl/zipball/3e5671e7676723db90a1b3c0b8b27e00407d69d5",
+ "reference": "3e5671e7676723db90a1b3c0b8b27e00407d69d5",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.1"
},
"require-dev": {
- "symfony/filesystem": "^4.4|^5.0|^6.0"
+ "symfony/filesystem": "^5.4|^6.0",
+ "symfony/finder": "^5.4|^6.0"
},
"type": "library",
"autoload": {
"psr-4": {
"Symfony\\Component\\Intl\\": ""
},
- "classmap": [
- "Resources/stubs"
- ],
- "files": [
- "Resources/functions.php"
- ],
"exclude-from-classmap": [
"/Tests/"
]
@@ -6734,7 +6432,7 @@
"localization"
],
"support": {
- "source": "https://github.com/symfony/intl/tree/v5.4.0"
+ "source": "https://github.com/symfony/intl/tree/v6.2.5"
},
"funding": [
{
@@ -6750,39 +6448,42 @@
"type": "tidelift"
}
],
- "time": "2021-11-28T15:25:38+00:00"
+ "time": "2023-01-05T09:45:19+00:00"
},
{
"name": "symfony/mailer",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/mailer.git",
- "reference": "2823212575ed3a6adfc5bc34ebb47b5395285048"
+ "reference": "29729ac0b4e5113f24c39c46746bd6afb79e0aaa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mailer/zipball/2823212575ed3a6adfc5bc34ebb47b5395285048",
- "reference": "2823212575ed3a6adfc5bc34ebb47b5395285048",
+ "url": "https://api.github.com/repos/symfony/mailer/zipball/29729ac0b4e5113f24c39c46746bd6afb79e0aaa",
+ "reference": "29729ac0b4e5113f24c39c46746bd6afb79e0aaa",
"shasum": ""
},
"require": {
- "egulias/email-validator": "^2.1.10|^3",
- "php": ">=7.2.5",
+ "egulias/email-validator": "^2.1.10|^3|^4",
+ "php": ">=8.1",
"psr/event-dispatcher": "^1",
"psr/log": "^1|^2|^3",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/event-dispatcher": "^4.4|^5.0|^6.0",
- "symfony/mime": "^5.2.6|^6.0",
- "symfony/polyfill-php80": "^1.16",
+ "symfony/event-dispatcher": "^5.4|^6.0",
+ "symfony/mime": "^6.2",
"symfony/service-contracts": "^1.1|^2|^3"
},
"conflict": {
- "symfony/http-kernel": "<4.4"
+ "symfony/http-kernel": "<5.4",
+ "symfony/messenger": "<6.2",
+ "symfony/mime": "<6.2",
+ "symfony/twig-bridge": "<6.2.1"
},
"require-dev": {
+ "symfony/console": "^5.4|^6.0",
"symfony/http-client-contracts": "^1.1|^2|^3",
- "symfony/messenger": "^4.4|^5.0|^6.0"
+ "symfony/messenger": "^6.2",
+ "symfony/twig-bridge": "^6.2"
},
"type": "library",
"autoload": {
@@ -6810,7 +6511,7 @@
"description": "Helps sending emails",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/mailer/tree/v5.4.0"
+ "source": "https://github.com/symfony/mailer/tree/v6.2.5"
},
"funding": [
{
@@ -6826,42 +6527,42 @@
"type": "tidelift"
}
],
- "time": "2021-11-23T10:19:22+00:00"
+ "time": "2023-01-10T18:53:53+00:00"
},
{
"name": "symfony/mime",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/mime.git",
- "reference": "d4365000217b67c01acff407573906ff91bcfb34"
+ "reference": "4b7b349f67d15cd0639955c8179a76c89f6fd610"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mime/zipball/d4365000217b67c01acff407573906ff91bcfb34",
- "reference": "d4365000217b67c01acff407573906ff91bcfb34",
+ "url": "https://api.github.com/repos/symfony/mime/zipball/4b7b349f67d15cd0639955c8179a76c89f6fd610",
+ "reference": "4b7b349f67d15cd0639955c8179a76c89f6fd610",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
+ "php": ">=8.1",
"symfony/polyfill-intl-idn": "^1.10",
- "symfony/polyfill-mbstring": "^1.0",
- "symfony/polyfill-php80": "^1.16"
+ "symfony/polyfill-mbstring": "^1.0"
},
"conflict": {
"egulias/email-validator": "~3.0.0",
"phpdocumentor/reflection-docblock": "<3.2.2",
"phpdocumentor/type-resolver": "<1.4.0",
- "symfony/mailer": "<4.4"
+ "symfony/mailer": "<5.4",
+ "symfony/serializer": "<6.2"
},
"require-dev": {
- "egulias/email-validator": "^2.1.10|^3.1",
+ "egulias/email-validator": "^2.1.10|^3.1|^4",
+ "league/html-to-markdown": "^5.0",
"phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/property-access": "^4.4|^5.1|^6.0",
- "symfony/property-info": "^4.4|^5.1|^6.0",
- "symfony/serializer": "^5.2|^6.0"
+ "symfony/dependency-injection": "^5.4|^6.0",
+ "symfony/property-access": "^5.4|^6.0",
+ "symfony/property-info": "^5.4|^6.0",
+ "symfony/serializer": "^6.2"
},
"type": "library",
"autoload": {
@@ -6893,7 +6594,7 @@
"mime-type"
],
"support": {
- "source": "https://github.com/symfony/mime/tree/v5.4.0"
+ "source": "https://github.com/symfony/mime/tree/v6.2.5"
},
"funding": [
{
@@ -6909,42 +6610,41 @@
"type": "tidelift"
}
],
- "time": "2021-11-23T10:19:22+00:00"
+ "time": "2023-01-10T18:53:53+00:00"
},
{
"name": "symfony/monolog-bridge",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/monolog-bridge.git",
- "reference": "6ce6f39536a718ec2ece37eae81c6899030fc571"
+ "reference": "7dedf89edf3baba78d4024e37d8b423e1ac3f079"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/6ce6f39536a718ec2ece37eae81c6899030fc571",
- "reference": "6ce6f39536a718ec2ece37eae81c6899030fc571",
+ "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/7dedf89edf3baba78d4024e37d8b423e1ac3f079",
+ "reference": "7dedf89edf3baba78d4024e37d8b423e1ac3f079",
"shasum": ""
},
"require": {
- "monolog/monolog": "^1.25.1|^2",
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/http-kernel": "^5.3|^6.0",
- "symfony/polyfill-php80": "^1.16",
+ "monolog/monolog": "^1.25.1|^2|^3",
+ "php": ">=8.1",
+ "symfony/http-kernel": "^5.4|^6.0",
"symfony/service-contracts": "^1.1|^2|^3"
},
"conflict": {
- "symfony/console": "<4.4",
- "symfony/http-foundation": "<5.3"
+ "symfony/console": "<5.4",
+ "symfony/http-foundation": "<5.4",
+ "symfony/security-core": "<6.0"
},
"require-dev": {
- "symfony/console": "^4.4|^5.0|^6.0",
- "symfony/http-client": "^4.4|^5.0|^6.0",
- "symfony/mailer": "^4.4|^5.0|^6.0",
- "symfony/messenger": "^4.4|^5.0|^6.0",
- "symfony/mime": "^4.4|^5.0|^6.0",
- "symfony/security-core": "^4.4|^5.0|^6.0",
- "symfony/var-dumper": "^4.4|^5.0|^6.0"
+ "symfony/console": "^5.4|^6.0",
+ "symfony/http-client": "^5.4|^6.0",
+ "symfony/mailer": "^5.4|^6.0",
+ "symfony/messenger": "^5.4|^6.0",
+ "symfony/mime": "^5.4|^6.0",
+ "symfony/security-core": "^6.0",
+ "symfony/var-dumper": "^5.4|^6.0"
},
"suggest": {
"symfony/console": "For the possibility to show log messages in console commands depending on verbosity settings.",
@@ -6977,7 +6677,7 @@
"description": "Provides integration for Monolog with various Symfony components",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/monolog-bridge/tree/v5.4.0"
+ "source": "https://github.com/symfony/monolog-bridge/tree/v6.2.5"
},
"funding": [
{
@@ -6993,24 +6693,24 @@
"type": "tidelift"
}
],
- "time": "2021-11-23T10:19:22+00:00"
+ "time": "2023-01-01T08:38:09+00:00"
},
{
"name": "symfony/monolog-bundle",
- "version": "v3.7.1",
+ "version": "v3.8.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/monolog-bundle.git",
- "reference": "fde12fc628162787a4e53877abadc30047fd868b"
+ "reference": "a41bbcdc1105603b6d73a7d9a43a3788f8e0fb7d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/fde12fc628162787a4e53877abadc30047fd868b",
- "reference": "fde12fc628162787a4e53877abadc30047fd868b",
+ "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/a41bbcdc1105603b6d73a7d9a43a3788f8e0fb7d",
+ "reference": "a41bbcdc1105603b6d73a7d9a43a3788f8e0fb7d",
"shasum": ""
},
"require": {
- "monolog/monolog": "~1.22 || ~2.0",
+ "monolog/monolog": "^1.22 || ^2.0 || ^3.0",
"php": ">=7.1.3",
"symfony/config": "~4.4 || ^5.0 || ^6.0",
"symfony/dependency-injection": "^4.4 || ^5.0 || ^6.0",
@@ -7058,7 +6758,7 @@
],
"support": {
"issues": "https://github.com/symfony/monolog-bundle/issues",
- "source": "https://github.com/symfony/monolog-bundle/tree/v3.7.1"
+ "source": "https://github.com/symfony/monolog-bundle/tree/v3.8.0"
},
"funding": [
{
@@ -7074,27 +6774,25 @@
"type": "tidelift"
}
],
- "time": "2021-11-05T10:34:29+00:00"
+ "time": "2022-05-10T14:24:36+00:00"
},
{
"name": "symfony/options-resolver",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/options-resolver.git",
- "reference": "b0fb78576487af19c500aaddb269fd36701d4847"
+ "reference": "e8324d44f5af99ec2ccec849934a242f64458f86"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/options-resolver/zipball/b0fb78576487af19c500aaddb269fd36701d4847",
- "reference": "b0fb78576487af19c500aaddb269fd36701d4847",
+ "url": "https://api.github.com/repos/symfony/options-resolver/zipball/e8324d44f5af99ec2ccec849934a242f64458f86",
+ "reference": "e8324d44f5af99ec2ccec849934a242f64458f86",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php73": "~1.0",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.1|^3"
},
"type": "library",
"autoload": {
@@ -7127,7 +6825,7 @@
"options"
],
"support": {
- "source": "https://github.com/symfony/options-resolver/tree/v5.4.0"
+ "source": "https://github.com/symfony/options-resolver/tree/v6.2.5"
},
"funding": [
{
@@ -7143,32 +6841,31 @@
"type": "tidelift"
}
],
- "time": "2021-11-23T10:19:22+00:00"
+ "time": "2023-01-01T08:38:09+00:00"
},
{
"name": "symfony/password-hasher",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/password-hasher.git",
- "reference": "60c4aba11e2ce4140a5a9cbc13733da4b8333e2d"
+ "reference": "56aabf1c3f579c109b573d45a00a272d6abdfc81"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/password-hasher/zipball/60c4aba11e2ce4140a5a9cbc13733da4b8333e2d",
- "reference": "60c4aba11e2ce4140a5a9cbc13733da4b8333e2d",
+ "url": "https://api.github.com/repos/symfony/password-hasher/zipball/56aabf1c3f579c109b573d45a00a272d6abdfc81",
+ "reference": "56aabf1c3f579c109b573d45a00a272d6abdfc81",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/polyfill-php80": "^1.15"
+ "php": ">=8.1"
},
"conflict": {
- "symfony/security-core": "<5.3"
+ "symfony/security-core": "<5.4"
},
"require-dev": {
- "symfony/console": "^5",
- "symfony/security-core": "^5.3|^6.0"
+ "symfony/console": "^5.4|^6.0",
+ "symfony/security-core": "^5.4|^6.0"
},
"type": "library",
"autoload": {
@@ -7200,7 +6897,7 @@
"password"
],
"support": {
- "source": "https://github.com/symfony/password-hasher/tree/v5.4.0"
+ "source": "https://github.com/symfony/password-hasher/tree/v6.2.5"
},
"funding": [
{
@@ -7216,20 +6913,20 @@
"type": "tidelift"
}
],
- "time": "2021-10-30T15:55:55+00:00"
+ "time": "2023-01-01T08:38:09+00:00"
},
{
"name": "symfony/polyfill-intl-grapheme",
- "version": "v1.23.1",
+ "version": "v1.27.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
- "reference": "16880ba9c5ebe3642d1995ab866db29270b36535"
+ "reference": "511a08c03c1960e08a883f4cffcacd219b758354"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/16880ba9c5ebe3642d1995ab866db29270b36535",
- "reference": "16880ba9c5ebe3642d1995ab866db29270b36535",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354",
+ "reference": "511a08c03c1960e08a883f4cffcacd219b758354",
"shasum": ""
},
"require": {
@@ -7241,7 +6938,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.23-dev"
+ "dev-main": "1.27-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -7249,12 +6946,12 @@
}
},
"autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Intl\\Grapheme\\": ""
- },
"files": [
"bootstrap.php"
- ]
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Intl\\Grapheme\\": ""
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -7281,7 +6978,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.23.1"
+ "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.27.0"
},
"funding": [
{
@@ -7297,20 +6994,20 @@
"type": "tidelift"
}
],
- "time": "2021-05-27T12:26:48+00:00"
+ "time": "2022-11-03T14:55:06+00:00"
},
{
"name": "symfony/polyfill-intl-icu",
- "version": "v1.23.0",
+ "version": "v1.27.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-icu.git",
- "reference": "4a80a521d6176870b6445cfb469c130f9cae1dda"
+ "reference": "a3d9148e2c363588e05abbdd4ee4f971f0a5330c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/4a80a521d6176870b6445cfb469c130f9cae1dda",
- "reference": "4a80a521d6176870b6445cfb469c130f9cae1dda",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/a3d9148e2c363588e05abbdd4ee4f971f0a5330c",
+ "reference": "a3d9148e2c363588e05abbdd4ee4f971f0a5330c",
"shasum": ""
},
"require": {
@@ -7322,7 +7019,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.23-dev"
+ "dev-main": "1.27-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -7368,7 +7065,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.23.0"
+ "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.27.0"
},
"funding": [
{
@@ -7384,20 +7081,20 @@
"type": "tidelift"
}
],
- "time": "2021-05-24T10:04:56+00:00"
+ "time": "2022-11-03T14:55:06+00:00"
},
{
"name": "symfony/polyfill-intl-idn",
- "version": "v1.23.0",
+ "version": "v1.27.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-idn.git",
- "reference": "65bd267525e82759e7d8c4e8ceea44f398838e65"
+ "reference": "639084e360537a19f9ee352433b84ce831f3d2da"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/65bd267525e82759e7d8c4e8ceea44f398838e65",
- "reference": "65bd267525e82759e7d8c4e8ceea44f398838e65",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/639084e360537a19f9ee352433b84ce831f3d2da",
+ "reference": "639084e360537a19f9ee352433b84ce831f3d2da",
"shasum": ""
},
"require": {
@@ -7411,7 +7108,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.23-dev"
+ "dev-main": "1.27-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -7419,12 +7116,12 @@
}
},
"autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Intl\\Idn\\": ""
- },
"files": [
"bootstrap.php"
- ]
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Intl\\Idn\\": ""
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -7455,7 +7152,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.23.0"
+ "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.27.0"
},
"funding": [
{
@@ -7471,20 +7168,20 @@
"type": "tidelift"
}
],
- "time": "2021-05-27T09:27:20+00:00"
+ "time": "2022-11-03T14:55:06+00:00"
},
{
"name": "symfony/polyfill-intl-normalizer",
- "version": "v1.23.0",
+ "version": "v1.27.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
- "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8"
+ "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8",
- "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6",
+ "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6",
"shasum": ""
},
"require": {
@@ -7496,7 +7193,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.23-dev"
+ "dev-main": "1.27-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -7504,12 +7201,12 @@
}
},
"autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Intl\\Normalizer\\": ""
- },
"files": [
"bootstrap.php"
],
+ "psr-4": {
+ "Symfony\\Polyfill\\Intl\\Normalizer\\": ""
+ },
"classmap": [
"Resources/stubs"
]
@@ -7539,7 +7236,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.23.0"
+ "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0"
},
"funding": [
{
@@ -7555,185 +7252,35 @@
"type": "tidelift"
}
],
- "time": "2021-02-19T12:13:01+00:00"
+ "time": "2022-11-03T14:55:06+00:00"
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.23.1",
+ "version": "v1.27.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6"
+ "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9174a3d80210dca8daa7f31fec659150bbeabfc6",
- "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534",
+ "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
+ "provide": {
+ "ext-mbstring": "*"
+ },
"suggest": {
"ext-mbstring": "For best performance"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.23-dev"
- },
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Mbstring\\": ""
- },
- "files": [
- "bootstrap.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill for the Mbstring extension",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "mbstring",
- "polyfill",
- "portable",
- "shim"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2021-05-27T12:26:48+00:00"
- },
- {
- "name": "symfony/polyfill-php72",
- "version": "v1.23.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-php72.git",
- "reference": "9a142215a36a3888e30d0a9eeea9766764e96976"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/9a142215a36a3888e30d0a9eeea9766764e96976",
- "reference": "9a142215a36a3888e30d0a9eeea9766764e96976",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "1.23-dev"
- },
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Php72\\": ""
- },
- "files": [
- "bootstrap.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-php72/tree/v1.23.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2021-05-27T09:17:38+00:00"
- },
- {
- "name": "symfony/polyfill-php73",
- "version": "v1.23.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-php73.git",
- "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fba8933c384d6476ab14fb7b8526e5287ca7e010",
- "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "1.23-dev"
+ "dev-main": "1.27-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -7741,15 +7288,12 @@
}
},
"autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Php73\\": ""
- },
"files": [
"bootstrap.php"
],
- "classmap": [
- "Resources/stubs"
- ]
+ "psr-4": {
+ "Symfony\\Polyfill\\Mbstring\\": ""
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -7765,16 +7309,17 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions",
+ "description": "Symfony polyfill for the Mbstring extension",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
+ "mbstring",
"polyfill",
"portable",
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php73/tree/v1.23.0"
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0"
},
"funding": [
{
@@ -7790,20 +7335,20 @@
"type": "tidelift"
}
],
- "time": "2021-02-19T12:13:01+00:00"
+ "time": "2022-11-03T14:55:06+00:00"
},
{
- "name": "symfony/polyfill-php80",
- "version": "v1.23.1",
+ "name": "symfony/polyfill-php72",
+ "version": "v1.27.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-php80.git",
- "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be"
+ "url": "https://github.com/symfony/polyfill-php72.git",
+ "reference": "869329b1e9894268a8a61dabb69153029b7a8c97"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/1100343ed1a92e3a38f9ae122fc0eb21602547be",
- "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be",
+ "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/869329b1e9894268a8a61dabb69153029b7a8c97",
+ "reference": "869329b1e9894268a8a61dabb69153029b7a8c97",
"shasum": ""
},
"require": {
@@ -7812,7 +7357,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.23-dev"
+ "dev-main": "1.27-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -7820,25 +7365,18 @@
}
},
"autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Php80\\": ""
- },
"files": [
"bootstrap.php"
],
- "classmap": [
- "Resources/stubs"
- ]
+ "psr-4": {
+ "Symfony\\Polyfill\\Php72\\": ""
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
- {
- "name": "Ion Bazan",
- "email": "ion.bazan@gmail.com"
- },
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
@@ -7848,7 +7386,7 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
+ "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
@@ -7857,7 +7395,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php80/tree/v1.23.1"
+ "source": "https://github.com/symfony/polyfill-php72/tree/v1.27.0"
},
"funding": [
{
@@ -7873,20 +7411,20 @@
"type": "tidelift"
}
],
- "time": "2021-07-28T13:41:28+00:00"
+ "time": "2022-11-03T14:55:06+00:00"
},
{
- "name": "symfony/polyfill-php81",
- "version": "v1.23.0",
+ "name": "symfony/polyfill-php80",
+ "version": "v1.27.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-php81.git",
- "reference": "e66119f3de95efc359483f810c4c3e6436279436"
+ "url": "https://github.com/symfony/polyfill-php80.git",
+ "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/e66119f3de95efc359483f810c4c3e6436279436",
- "reference": "e66119f3de95efc359483f810c4c3e6436279436",
+ "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936",
+ "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936",
"shasum": ""
},
"require": {
@@ -7895,7 +7433,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.23-dev"
+ "dev-main": "1.27-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -7903,12 +7441,12 @@
}
},
"autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Php81\\": ""
- },
"files": [
"bootstrap.php"
],
+ "psr-4": {
+ "Symfony\\Polyfill\\Php80\\": ""
+ },
"classmap": [
"Resources/stubs"
]
@@ -7918,6 +7456,10 @@
"MIT"
],
"authors": [
+ {
+ "name": "Ion Bazan",
+ "email": "ion.bazan@gmail.com"
+ },
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
@@ -7927,7 +7469,7 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions",
+ "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
@@ -7936,7 +7478,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php81/tree/v1.23.0"
+ "source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0"
},
"funding": [
{
@@ -7952,25 +7494,24 @@
"type": "tidelift"
}
],
- "time": "2021-05-21T13:25:03+00:00"
+ "time": "2022-11-03T14:55:06+00:00"
},
{
"name": "symfony/process",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "5be20b3830f726e019162b26223110c8f47cf274"
+ "reference": "9ead139f63dfa38c4e4a9049cc64a8b2748c83b7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/5be20b3830f726e019162b26223110c8f47cf274",
- "reference": "5be20b3830f726e019162b26223110c8f47cf274",
+ "url": "https://api.github.com/repos/symfony/process/zipball/9ead139f63dfa38c4e4a9049cc64a8b2748c83b7",
+ "reference": "9ead139f63dfa38c4e4a9049cc64a8b2748c83b7",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.1"
},
"type": "library",
"autoload": {
@@ -7998,7 +7539,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/process/tree/v5.4.0"
+ "source": "https://github.com/symfony/process/tree/v6.2.5"
},
"funding": [
{
@@ -8014,30 +7555,29 @@
"type": "tidelift"
}
],
- "time": "2021-11-28T15:25:38+00:00"
+ "time": "2023-01-01T08:38:09+00:00"
},
{
"name": "symfony/property-access",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/property-access.git",
- "reference": "07db4e9d1f0bf4b8a0c60a25b2672f20ab8f3562"
+ "reference": "cfd63e46c8b8a97f05353fb9341bfa75a62184e1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/property-access/zipball/07db4e9d1f0bf4b8a0c60a25b2672f20ab8f3562",
- "reference": "07db4e9d1f0bf4b8a0c60a25b2672f20ab8f3562",
+ "url": "https://api.github.com/repos/symfony/property-access/zipball/cfd63e46c8b8a97f05353fb9341bfa75a62184e1",
+ "reference": "cfd63e46c8b8a97f05353fb9341bfa75a62184e1",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
+ "php": ">=8.1",
"symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php80": "^1.16",
- "symfony/property-info": "^5.2|^6.0"
+ "symfony/property-info": "^5.4|^6.0"
},
"require-dev": {
- "symfony/cache": "^4.4|^5.0|^6.0"
+ "symfony/cache": "^5.4|^6.0"
},
"suggest": {
"psr/cache-implementation": "To cache access methods."
@@ -8079,7 +7619,7 @@
"reflection"
],
"support": {
- "source": "https://github.com/symfony/property-access/tree/v5.4.0"
+ "source": "https://github.com/symfony/property-access/tree/v6.2.5"
},
"funding": [
{
@@ -8095,40 +7635,38 @@
"type": "tidelift"
}
],
- "time": "2021-11-28T15:25:38+00:00"
+ "time": "2023-01-01T08:38:09+00:00"
},
{
"name": "symfony/property-info",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/property-info.git",
- "reference": "c21b4221522779537e9693d51536d8174579b1fd"
+ "reference": "267c798e87dc56dd0832c29cf9012ac983ed7194"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/property-info/zipball/c21b4221522779537e9693d51536d8174579b1fd",
- "reference": "c21b4221522779537e9693d51536d8174579b1fd",
+ "url": "https://api.github.com/repos/symfony/property-info/zipball/267c798e87dc56dd0832c29cf9012ac983ed7194",
+ "reference": "267c798e87dc56dd0832c29cf9012ac983ed7194",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php80": "^1.16",
- "symfony/string": "^5.1|^6.0"
+ "php": ">=8.1",
+ "symfony/string": "^5.4|^6.0"
},
"conflict": {
- "phpdocumentor/reflection-docblock": "<3.2.2",
- "phpdocumentor/type-resolver": "<1.4.0",
- "symfony/dependency-injection": "<4.4"
+ "phpdocumentor/reflection-docblock": "<5.2",
+ "phpdocumentor/type-resolver": "<1.5.1",
+ "symfony/dependency-injection": "<5.4"
},
"require-dev": {
- "doctrine/annotations": "^1.10.4",
- "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
+ "doctrine/annotations": "^1.10.4|^2",
+ "phpdocumentor/reflection-docblock": "^5.2",
"phpstan/phpdoc-parser": "^1.0",
- "symfony/cache": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/serializer": "^4.4|^5.0|^6.0"
+ "symfony/cache": "^5.4|^6.0",
+ "symfony/dependency-injection": "^5.4|^6.0",
+ "symfony/serializer": "^5.4|^6.0"
},
"suggest": {
"phpdocumentor/reflection-docblock": "To use the PHPDoc",
@@ -8170,7 +7708,7 @@
"validator"
],
"support": {
- "source": "https://github.com/symfony/property-info/tree/v5.4.0"
+ "source": "https://github.com/symfony/property-info/tree/v6.2.5"
},
"funding": [
{
@@ -8186,31 +7724,29 @@
"type": "tidelift"
}
],
- "time": "2021-11-23T10:19:22+00:00"
+ "time": "2023-01-20T17:45:48+00:00"
},
{
"name": "symfony/proxy-manager-bridge",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/proxy-manager-bridge.git",
- "reference": "91e5ddd5f7381f4a5524f10c8789c6d5d07f04e7"
+ "reference": "4fc4593d497e424209407512e951c8525f6c1d74"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/proxy-manager-bridge/zipball/91e5ddd5f7381f4a5524f10c8789c6d5d07f04e7",
- "reference": "91e5ddd5f7381f4a5524f10c8789c6d5d07f04e7",
+ "url": "https://api.github.com/repos/symfony/proxy-manager-bridge/zipball/4fc4593d497e424209407512e951c8525f6c1d74",
+ "reference": "4fc4593d497e424209407512e951c8525f6c1d74",
"shasum": ""
},
"require": {
- "composer/package-versions-deprecated": "^1.8",
"friendsofphp/proxy-manager-lts": "^1.0.2",
- "php": ">=7.2.5",
- "symfony/dependency-injection": "^5.0|^6.0",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.1",
+ "symfony/dependency-injection": "^6.2"
},
"require-dev": {
- "symfony/config": "^4.4|^5.0|^6.0"
+ "symfony/config": "^6.1"
},
"type": "symfony-bridge",
"autoload": {
@@ -8238,7 +7774,7 @@
"description": "Provides integration for ProxyManager with various Symfony components",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/proxy-manager-bridge/tree/v5.4.0"
+ "source": "https://github.com/symfony/proxy-manager-bridge/tree/v6.2.5"
},
"funding": [
{
@@ -8254,41 +7790,39 @@
"type": "tidelift"
}
],
- "time": "2021-11-17T12:18:18+00:00"
+ "time": "2023-01-01T08:38:09+00:00"
},
{
"name": "symfony/routing",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/routing.git",
- "reference": "9eeae93c32ca86746e5d38f3679e9569981038b1"
+ "reference": "589bd742d5d03c192c8521911680fe88f61712fe"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/routing/zipball/9eeae93c32ca86746e5d38f3679e9569981038b1",
- "reference": "9eeae93c32ca86746e5d38f3679e9569981038b1",
+ "url": "https://api.github.com/repos/symfony/routing/zipball/589bd742d5d03c192c8521911680fe88f61712fe",
+ "reference": "589bd742d5d03c192c8521911680fe88f61712fe",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.1"
},
"conflict": {
"doctrine/annotations": "<1.12",
- "symfony/config": "<5.3",
- "symfony/dependency-injection": "<4.4",
- "symfony/yaml": "<4.4"
+ "symfony/config": "<6.2",
+ "symfony/dependency-injection": "<5.4",
+ "symfony/yaml": "<5.4"
},
"require-dev": {
- "doctrine/annotations": "^1.12",
+ "doctrine/annotations": "^1.12|^2",
"psr/log": "^1|^2|^3",
- "symfony/config": "^5.3|^6.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/http-foundation": "^4.4|^5.0|^6.0",
- "symfony/yaml": "^4.4|^5.0|^6.0"
+ "symfony/config": "^6.2",
+ "symfony/dependency-injection": "^5.4|^6.0",
+ "symfony/expression-language": "^5.4|^6.0",
+ "symfony/http-foundation": "^5.4|^6.0",
+ "symfony/yaml": "^5.4|^6.0"
},
"suggest": {
"symfony/config": "For using the all-in-one router or any loader",
@@ -8328,7 +7862,7 @@
"url"
],
"support": {
- "source": "https://github.com/symfony/routing/tree/v5.4.0"
+ "source": "https://github.com/symfony/routing/tree/v6.2.5"
},
"funding": [
{
@@ -8344,70 +7878,44 @@
"type": "tidelift"
}
],
- "time": "2021-11-23T10:19:22+00:00"
+ "time": "2023-01-01T08:38:09+00:00"
},
{
- "name": "symfony/security-bundle",
- "version": "v5.4.0",
+ "name": "symfony/runtime",
+ "version": "v6.2.5",
"source": {
"type": "git",
- "url": "https://github.com/symfony/security-bundle.git",
- "reference": "38d5e23c85932deb45289793f7b9a0a1b174071a"
+ "url": "https://github.com/symfony/runtime.git",
+ "reference": "bf27ed7b4317982b06f8cc37255b8a315d5a9686"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/security-bundle/zipball/38d5e23c85932deb45289793f7b9a0a1b174071a",
- "reference": "38d5e23c85932deb45289793f7b9a0a1b174071a",
+ "url": "https://api.github.com/repos/symfony/runtime/zipball/bf27ed7b4317982b06f8cc37255b8a315d5a9686",
+ "reference": "bf27ed7b4317982b06f8cc37255b8a315d5a9686",
"shasum": ""
},
"require": {
- "ext-xml": "*",
- "php": ">=7.2.5",
- "symfony/config": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^5.3|^6.0",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/event-dispatcher": "^5.1|^6.0",
- "symfony/http-foundation": "^5.3|^6.0",
- "symfony/http-kernel": "^5.3|^6.0",
- "symfony/password-hasher": "^5.3|^6.0",
- "symfony/polyfill-php80": "^1.16",
- "symfony/security-core": "^5.4|^6.0",
- "symfony/security-csrf": "^4.4|^5.0|^6.0",
- "symfony/security-guard": "^5.3",
- "symfony/security-http": "^5.4|^6.0"
+ "composer-plugin-api": "^1.0|^2.0",
+ "php": ">=8.1"
},
"conflict": {
- "symfony/browser-kit": "<4.4",
- "symfony/console": "<4.4",
- "symfony/framework-bundle": "<4.4",
- "symfony/ldap": "<5.1",
- "symfony/twig-bundle": "<4.4"
+ "symfony/dotenv": "<5.4"
},
"require-dev": {
- "doctrine/annotations": "^1.10.4",
- "symfony/asset": "^4.4|^5.0|^6.0",
- "symfony/browser-kit": "^4.4|^5.0|^6.0",
- "symfony/console": "^4.4|^5.0|^6.0",
- "symfony/css-selector": "^4.4|^5.0|^6.0",
- "symfony/dom-crawler": "^4.4|^5.0|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/form": "^4.4|^5.0|^6.0",
- "symfony/framework-bundle": "^5.3|^6.0",
- "symfony/ldap": "^5.3|^6.0",
- "symfony/process": "^4.4|^5.0|^6.0",
- "symfony/rate-limiter": "^5.2|^6.0",
- "symfony/serializer": "^4.4|^5.0|^6.0",
- "symfony/translation": "^4.4|^5.0|^6.0",
- "symfony/twig-bridge": "^4.4|^5.0|^6.0",
- "symfony/twig-bundle": "^4.4|^5.0|^6.0",
- "symfony/validator": "^4.4|^5.0|^6.0",
- "symfony/yaml": "^4.4|^5.0|^6.0",
- "twig/twig": "^2.13|^3.0.4"
+ "composer/composer": "^1.0.2|^2.0",
+ "symfony/console": "^5.4|^6.0",
+ "symfony/dotenv": "^5.4|^6.0",
+ "symfony/http-foundation": "^5.4|^6.0",
+ "symfony/http-kernel": "^5.4|^6.0"
+ },
+ "type": "composer-plugin",
+ "extra": {
+ "class": "Symfony\\Component\\Runtime\\Internal\\ComposerPlugin"
},
- "type": "symfony-bundle",
"autoload": {
"psr-4": {
- "Symfony\\Bundle\\SecurityBundle\\": ""
+ "Symfony\\Component\\Runtime\\": "",
+ "Symfony\\Runtime\\Symfony\\Component\\": "Internal/"
},
"exclude-from-classmap": [
"/Tests/"
@@ -8419,18 +7927,18 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Provides a tight integration of the Security component into the Symfony full-stack framework",
+ "description": "Enables decoupling PHP applications from global state",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/security-bundle/tree/v5.4.0"
+ "source": "https://github.com/symfony/runtime/tree/v6.2.5"
},
"funding": [
{
@@ -8446,61 +7954,68 @@
"type": "tidelift"
}
],
- "time": "2021-11-28T15:25:38+00:00"
+ "time": "2023-01-20T17:45:48+00:00"
},
{
- "name": "symfony/security-core",
- "version": "v5.4.0",
+ "name": "symfony/security-bundle",
+ "version": "v6.2.6",
"source": {
"type": "git",
- "url": "https://github.com/symfony/security-core.git",
- "reference": "cc961891c83fc87fd31361b85032db35ae9770e6"
+ "url": "https://github.com/symfony/security-bundle.git",
+ "reference": "f3feb140c13015adecbeb51d49e45256aaf8a140"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/security-core/zipball/cc961891c83fc87fd31361b85032db35ae9770e6",
- "reference": "cc961891c83fc87fd31361b85032db35ae9770e6",
+ "url": "https://api.github.com/repos/symfony/security-bundle/zipball/f3feb140c13015adecbeb51d49e45256aaf8a140",
+ "reference": "f3feb140c13015adecbeb51d49e45256aaf8a140",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/event-dispatcher-contracts": "^1.1|^2|^3",
- "symfony/password-hasher": "^5.3|^6.0",
- "symfony/polyfill-php80": "^1.16",
- "symfony/service-contracts": "^1.1.6|^2|^3"
+ "composer-runtime-api": ">=2.1",
+ "ext-xml": "*",
+ "php": ">=8.1",
+ "symfony/config": "^6.1",
+ "symfony/dependency-injection": "^6.2",
+ "symfony/event-dispatcher": "^5.4|^6.0",
+ "symfony/http-foundation": "^6.2",
+ "symfony/http-kernel": "^6.2",
+ "symfony/password-hasher": "^5.4|^6.0",
+ "symfony/security-core": "^6.2",
+ "symfony/security-csrf": "^5.4|^6.0",
+ "symfony/security-http": "^6.2.6"
},
"conflict": {
- "symfony/event-dispatcher": "<4.4",
- "symfony/http-foundation": "<5.3",
- "symfony/ldap": "<4.4",
- "symfony/security-guard": "<4.4",
- "symfony/validator": "<5.2"
+ "symfony/browser-kit": "<5.4",
+ "symfony/console": "<5.4",
+ "symfony/framework-bundle": "<5.4",
+ "symfony/ldap": "<5.4",
+ "symfony/twig-bundle": "<5.4"
},
"require-dev": {
- "psr/cache": "^1.0|^2.0|^3.0",
- "psr/container": "^1.0|^2.0",
- "psr/log": "^1|^2|^3",
- "symfony/cache": "^4.4|^5.0|^6.0",
- "symfony/event-dispatcher": "^4.4|^5.0|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/http-foundation": "^5.3|^6.0",
- "symfony/ldap": "^4.4|^5.0|^6.0",
- "symfony/translation": "^4.4|^5.0|^6.0",
- "symfony/validator": "^5.2|^6.0"
- },
- "suggest": {
- "psr/container-implementation": "To instantiate the Security class",
- "symfony/event-dispatcher": "",
- "symfony/expression-language": "For using the expression voter",
- "symfony/http-foundation": "",
- "symfony/ldap": "For using LDAP integration",
- "symfony/validator": "For using the user password constraint"
+ "doctrine/annotations": "^1.10.4|^2",
+ "symfony/asset": "^5.4|^6.0",
+ "symfony/browser-kit": "^5.4|^6.0",
+ "symfony/console": "^5.4|^6.0",
+ "symfony/css-selector": "^5.4|^6.0",
+ "symfony/dom-crawler": "^5.4|^6.0",
+ "symfony/expression-language": "^5.4|^6.0",
+ "symfony/form": "^5.4|^6.0",
+ "symfony/framework-bundle": "^5.4|^6.0",
+ "symfony/ldap": "^5.4|^6.0",
+ "symfony/process": "^5.4|^6.0",
+ "symfony/rate-limiter": "^5.4|^6.0",
+ "symfony/serializer": "^5.4|^6.0",
+ "symfony/translation": "^5.4|^6.0",
+ "symfony/twig-bridge": "^5.4|^6.0",
+ "symfony/twig-bundle": "^5.4|^6.0",
+ "symfony/validator": "^5.4|^6.0",
+ "symfony/yaml": "^5.4|^6.0",
+ "twig/twig": "^2.13|^3.0.4"
},
- "type": "library",
+ "type": "symfony-bundle",
"autoload": {
"psr-4": {
- "Symfony\\Component\\Security\\Core\\": ""
+ "Symfony\\Bundle\\SecurityBundle\\": ""
},
"exclude-from-classmap": [
"/Tests/"
@@ -8520,10 +8035,10 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony Security Component - Core Library",
+ "description": "Provides a tight integration of the Security component into the Symfony full-stack framework",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/security-core/tree/v5.4.0"
+ "source": "https://github.com/symfony/security-bundle/tree/v6.2.6"
},
"funding": [
{
@@ -8539,40 +8054,59 @@
"type": "tidelift"
}
],
- "time": "2021-11-23T19:07:08+00:00"
+ "time": "2023-01-30T15:46:28+00:00"
},
{
- "name": "symfony/security-csrf",
- "version": "v5.4.0",
+ "name": "symfony/security-core",
+ "version": "v6.2.5",
"source": {
"type": "git",
- "url": "https://github.com/symfony/security-csrf.git",
- "reference": "a6bfeedc3fcaafd2eb9ce61f0eb6a95e0316a3e2"
+ "url": "https://github.com/symfony/security-core.git",
+ "reference": "3a26ddeda71fbbc6419578af526f4130cea3cc38"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/security-csrf/zipball/a6bfeedc3fcaafd2eb9ce61f0eb6a95e0316a3e2",
- "reference": "a6bfeedc3fcaafd2eb9ce61f0eb6a95e0316a3e2",
+ "url": "https://api.github.com/repos/symfony/security-core/zipball/3a26ddeda71fbbc6419578af526f4130cea3cc38",
+ "reference": "3a26ddeda71fbbc6419578af526f4130cea3cc38",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/polyfill-php80": "^1.16",
- "symfony/security-core": "^4.4|^5.0|^6.0"
+ "php": ">=8.1",
+ "symfony/event-dispatcher-contracts": "^1.1|^2|^3",
+ "symfony/password-hasher": "^5.4|^6.0",
+ "symfony/service-contracts": "^1.1.6|^2|^3"
},
"conflict": {
- "symfony/http-foundation": "<5.3"
+ "symfony/event-dispatcher": "<5.4",
+ "symfony/http-foundation": "<5.4",
+ "symfony/ldap": "<5.4",
+ "symfony/security-guard": "<5.4",
+ "symfony/validator": "<5.4"
},
"require-dev": {
- "symfony/http-foundation": "^5.3|^6.0"
+ "psr/cache": "^1.0|^2.0|^3.0",
+ "psr/container": "^1.1|^2.0",
+ "psr/log": "^1|^2|^3",
+ "symfony/cache": "^5.4|^6.0",
+ "symfony/event-dispatcher": "^5.4|^6.0",
+ "symfony/expression-language": "^5.4|^6.0",
+ "symfony/http-foundation": "^5.4|^6.0",
+ "symfony/ldap": "^5.4|^6.0",
+ "symfony/translation": "^5.4|^6.0",
+ "symfony/validator": "^5.4|^6.0"
},
"suggest": {
- "symfony/http-foundation": "For using the class SessionTokenStorage."
+ "psr/container-implementation": "To instantiate the Security class",
+ "symfony/event-dispatcher": "",
+ "symfony/expression-language": "For using the expression voter",
+ "symfony/http-foundation": "",
+ "symfony/ldap": "For using LDAP integration",
+ "symfony/validator": "For using the user password constraint"
},
"type": "library",
"autoload": {
"psr-4": {
- "Symfony\\Component\\Security\\Csrf\\": ""
+ "Symfony\\Component\\Security\\Core\\": ""
},
"exclude-from-classmap": [
"/Tests/"
@@ -8592,10 +8126,10 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony Security Component - CSRF Library",
+ "description": "Symfony Security Component - Core Library",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/security-csrf/tree/v5.4.0"
+ "source": "https://github.com/symfony/security-core/tree/v6.2.5"
},
"funding": [
{
@@ -8611,35 +8145,39 @@
"type": "tidelift"
}
],
- "time": "2021-11-23T19:07:08+00:00"
+ "time": "2023-01-24T13:16:10+00:00"
},
{
- "name": "symfony/security-guard",
- "version": "v5.4.0",
+ "name": "symfony/security-csrf",
+ "version": "v6.2.5",
"source": {
"type": "git",
- "url": "https://github.com/symfony/security-guard.git",
- "reference": "5ebbe00731ce0773108116875083a82098ddddcf"
+ "url": "https://github.com/symfony/security-csrf.git",
+ "reference": "4abbe66efe965bec1dc0ea04b72c361971c4000d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/security-guard/zipball/5ebbe00731ce0773108116875083a82098ddddcf",
- "reference": "5ebbe00731ce0773108116875083a82098ddddcf",
+ "url": "https://api.github.com/repos/symfony/security-csrf/zipball/4abbe66efe965bec1dc0ea04b72c361971c4000d",
+ "reference": "4abbe66efe965bec1dc0ea04b72c361971c4000d",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/polyfill-php80": "^1.15",
- "symfony/security-core": "^5.0",
- "symfony/security-http": "^5.3"
+ "php": ">=8.1",
+ "symfony/security-core": "^5.4|^6.0"
+ },
+ "conflict": {
+ "symfony/http-foundation": "<5.4"
},
"require-dev": {
- "psr/log": "^1|^2|^3"
+ "symfony/http-foundation": "^5.4|^6.0"
+ },
+ "suggest": {
+ "symfony/http-foundation": "For using the class SessionTokenStorage."
},
"type": "library",
"autoload": {
"psr-4": {
- "Symfony\\Component\\Security\\Guard\\": ""
+ "Symfony\\Component\\Security\\Csrf\\": ""
},
"exclude-from-classmap": [
"/Tests/"
@@ -8659,10 +8197,10 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony Security Component - Guard",
+ "description": "Symfony Security Component - CSRF Library",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/security-guard/tree/v5.4.0"
+ "source": "https://github.com/symfony/security-csrf/tree/v6.2.5"
},
"funding": [
{
@@ -8678,44 +8216,44 @@
"type": "tidelift"
}
],
- "time": "2021-11-23T19:07:08+00:00"
+ "time": "2023-01-20T18:25:26+00:00"
},
{
"name": "symfony/security-http",
- "version": "v5.4.0",
+ "version": "v6.2.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/security-http.git",
- "reference": "3fa1dcbde86f12454a78c69e9d1a6c3dca776ea4"
+ "reference": "77c95eada3e3f0bf3a50f89817a18819b357376e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/security-http/zipball/3fa1dcbde86f12454a78c69e9d1a6c3dca776ea4",
- "reference": "3fa1dcbde86f12454a78c69e9d1a6c3dca776ea4",
+ "url": "https://api.github.com/repos/symfony/security-http/zipball/77c95eada3e3f0bf3a50f89817a18819b357376e",
+ "reference": "77c95eada3e3f0bf3a50f89817a18819b357376e",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
+ "php": ">=8.1",
"symfony/deprecation-contracts": "^2.1|^3",
- "symfony/http-foundation": "^5.3|^6.0",
- "symfony/http-kernel": "^5.3|^6.0",
+ "symfony/http-foundation": "^5.4|^6.0",
+ "symfony/http-kernel": "^6.2",
"symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php80": "^1.16",
- "symfony/property-access": "^4.4|^5.0|^6.0",
- "symfony/security-core": "^5.4|^6.0"
+ "symfony/property-access": "^5.4|^6.0",
+ "symfony/security-core": "~6.0.19|~6.1.11|^6.2.5"
},
"conflict": {
- "symfony/event-dispatcher": "<4.3",
- "symfony/security-bundle": "<5.3",
- "symfony/security-csrf": "<4.4"
+ "symfony/event-dispatcher": "<5.4.9|>=6,<6.0.9",
+ "symfony/security-bundle": "<5.4",
+ "symfony/security-csrf": "<5.4"
},
"require-dev": {
"psr/log": "^1|^2|^3",
- "symfony/cache": "^4.4|^5.0|^6.0",
- "symfony/rate-limiter": "^5.2|^6.0",
- "symfony/routing": "^4.4|^5.0|^6.0",
- "symfony/security-csrf": "^4.4|^5.0|^6.0",
- "symfony/translation": "^4.4|^5.0|^6.0"
+ "symfony/cache": "^5.4|^6.0",
+ "symfony/expression-language": "^5.4|^6.0",
+ "symfony/rate-limiter": "^5.4|^6.0",
+ "symfony/routing": "^5.4|^6.0",
+ "symfony/security-csrf": "^5.4|^6.0",
+ "symfony/translation": "^5.4|^6.0"
},
"suggest": {
"symfony/routing": "For using the HttpUtils class to create sub-requests, redirect the user, and match URLs",
@@ -8747,7 +8285,7 @@
"description": "Symfony Security Component - HTTP Integration",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/security-http/tree/v5.4.0"
+ "source": "https://github.com/symfony/security-http/tree/v6.2.6"
},
"funding": [
{
@@ -8763,56 +8301,55 @@
"type": "tidelift"
}
],
- "time": "2021-11-29T15:50:27+00:00"
+ "time": "2023-01-30T15:46:28+00:00"
},
{
"name": "symfony/serializer",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/serializer.git",
- "reference": "66942cf6bf412ca72c39353596f4d37ee0f9059b"
+ "reference": "dec3263bd7399f85cc54ea51a019e60b085759f0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/serializer/zipball/66942cf6bf412ca72c39353596f4d37ee0f9059b",
- "reference": "66942cf6bf412ca72c39353596f4d37ee0f9059b",
+ "url": "https://api.github.com/repos/symfony/serializer/zipball/dec3263bd7399f85cc54ea51a019e60b085759f0",
+ "reference": "dec3263bd7399f85cc54ea51a019e60b085759f0",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.1",
+ "symfony/polyfill-ctype": "~1.8"
},
"conflict": {
"doctrine/annotations": "<1.12",
"phpdocumentor/reflection-docblock": "<3.2.2",
- "phpdocumentor/type-resolver": "<1.4.0",
- "symfony/dependency-injection": "<4.4",
+ "phpdocumentor/type-resolver": "<1.4.0|>=1.7.0",
+ "symfony/dependency-injection": "<5.4",
"symfony/property-access": "<5.4",
- "symfony/property-info": "<5.3",
- "symfony/yaml": "<4.4"
+ "symfony/property-info": "<5.4",
+ "symfony/uid": "<5.4",
+ "symfony/yaml": "<5.4"
},
"require-dev": {
- "doctrine/annotations": "^1.12",
+ "doctrine/annotations": "^1.12|^2",
"phpdocumentor/reflection-docblock": "^3.2|^4.0|^5.0",
- "symfony/cache": "^4.4|^5.0|^6.0",
- "symfony/config": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/error-handler": "^4.4|^5.0|^6.0",
- "symfony/filesystem": "^4.4|^5.0|^6.0",
- "symfony/form": "^4.4|^5.0|^6.0",
- "symfony/http-foundation": "^4.4|^5.0|^6.0",
- "symfony/http-kernel": "^4.4|^5.0|^6.0",
- "symfony/mime": "^4.4|^5.0|^6.0",
+ "symfony/cache": "^5.4|^6.0",
+ "symfony/config": "^5.4|^6.0",
+ "symfony/dependency-injection": "^5.4|^6.0",
+ "symfony/error-handler": "^5.4|^6.0",
+ "symfony/filesystem": "^5.4|^6.0",
+ "symfony/form": "^5.4|^6.0",
+ "symfony/http-foundation": "^5.4|^6.0",
+ "symfony/http-kernel": "^5.4|^6.0",
+ "symfony/mime": "^5.4|^6.0",
"symfony/property-access": "^5.4|^6.0",
- "symfony/property-info": "^5.3|^6.0",
- "symfony/uid": "^5.1|^6.0",
- "symfony/validator": "^4.4|^5.0|^6.0",
- "symfony/var-dumper": "^4.4|^5.0|^6.0",
- "symfony/var-exporter": "^4.4|^5.0|^6.0",
- "symfony/yaml": "^4.4|^5.0|^6.0"
+ "symfony/property-info": "^5.4|^6.0",
+ "symfony/uid": "^5.4|^6.0",
+ "symfony/validator": "^5.4|^6.0",
+ "symfony/var-dumper": "^5.4|^6.0",
+ "symfony/var-exporter": "^5.4|^6.0",
+ "symfony/yaml": "^5.4|^6.0"
},
"suggest": {
"psr/cache-implementation": "For using the metadata cache.",
@@ -8849,7 +8386,7 @@
"description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/serializer/tree/v5.4.0"
+ "source": "https://github.com/symfony/serializer/tree/v6.2.5"
},
"funding": [
{
@@ -8865,26 +8402,25 @@
"type": "tidelift"
}
],
- "time": "2021-11-28T15:25:38+00:00"
+ "time": "2023-01-20T17:45:48+00:00"
},
{
"name": "symfony/service-contracts",
- "version": "v2.5.0",
+ "version": "v3.2.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
- "reference": "1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc"
+ "reference": "aac98028c69df04ee77eb69b96b86ee51fbf4b75"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/service-contracts/zipball/1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc",
- "reference": "1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc",
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/aac98028c69df04ee77eb69b96b86ee51fbf4b75",
+ "reference": "aac98028c69df04ee77eb69b96b86ee51fbf4b75",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "psr/container": "^1.1",
- "symfony/deprecation-contracts": "^2.1"
+ "php": ">=8.1",
+ "psr/container": "^2.0"
},
"conflict": {
"ext-psr": "<1.1|>=2"
@@ -8895,7 +8431,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.5-dev"
+ "dev-main": "3.3-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -8905,7 +8441,10 @@
"autoload": {
"psr-4": {
"Symfony\\Contracts\\Service\\": ""
- }
+ },
+ "exclude-from-classmap": [
+ "/Test/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -8932,7 +8471,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/service-contracts/tree/v2.5.0"
+ "source": "https://github.com/symfony/service-contracts/tree/v3.2.0"
},
"funding": [
{
@@ -8948,24 +8487,24 @@
"type": "tidelift"
}
],
- "time": "2021-11-04T16:48:04+00:00"
+ "time": "2022-11-25T10:21:52+00:00"
},
{
"name": "symfony/stopwatch",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/stopwatch.git",
- "reference": "208ef96122bfed82a8f3a61458a07113a08bdcfe"
+ "reference": "00b6ac156aacffc53487c930e0ab14587a6607f6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/stopwatch/zipball/208ef96122bfed82a8f3a61458a07113a08bdcfe",
- "reference": "208ef96122bfed82a8f3a61458a07113a08bdcfe",
+ "url": "https://api.github.com/repos/symfony/stopwatch/zipball/00b6ac156aacffc53487c930e0ab14587a6607f6",
+ "reference": "00b6ac156aacffc53487c930e0ab14587a6607f6",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
+ "php": ">=8.1",
"symfony/service-contracts": "^1|^2|^3"
},
"type": "library",
@@ -8994,7 +8533,7 @@
"description": "Provides a way to profile code",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/stopwatch/tree/v5.4.0"
+ "source": "https://github.com/symfony/stopwatch/tree/v6.2.5"
},
"funding": [
{
@@ -9010,47 +8549,47 @@
"type": "tidelift"
}
],
- "time": "2021-11-23T10:19:22+00:00"
+ "time": "2023-01-01T08:36:55+00:00"
},
{
"name": "symfony/string",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "9ffaaba53c61ba75a3c7a3a779051d1e9ec4fd2d"
+ "reference": "b2dac0fa27b1ac0f9c0c0b23b43977f12308d0b0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/9ffaaba53c61ba75a3c7a3a779051d1e9ec4fd2d",
- "reference": "9ffaaba53c61ba75a3c7a3a779051d1e9ec4fd2d",
+ "url": "https://api.github.com/repos/symfony/string/zipball/b2dac0fa27b1ac0f9c0c0b23b43977f12308d0b0",
+ "reference": "b2dac0fa27b1ac0f9c0c0b23b43977f12308d0b0",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
+ "php": ">=8.1",
"symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-intl-grapheme": "~1.0",
"symfony/polyfill-intl-normalizer": "~1.0",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php80": "~1.15"
+ "symfony/polyfill-mbstring": "~1.0"
},
"conflict": {
- "symfony/translation-contracts": ">=3.0"
+ "symfony/translation-contracts": "<2.0"
},
"require-dev": {
- "symfony/error-handler": "^4.4|^5.0|^6.0",
- "symfony/http-client": "^4.4|^5.0|^6.0",
- "symfony/translation-contracts": "^1.1|^2",
- "symfony/var-exporter": "^4.4|^5.0|^6.0"
+ "symfony/error-handler": "^5.4|^6.0",
+ "symfony/http-client": "^5.4|^6.0",
+ "symfony/intl": "^6.2",
+ "symfony/translation-contracts": "^2.0|^3.0",
+ "symfony/var-exporter": "^5.4|^6.0"
},
"type": "library",
"autoload": {
- "psr-4": {
- "Symfony\\Component\\String\\": ""
- },
"files": [
"Resources/functions.php"
],
+ "psr-4": {
+ "Symfony\\Component\\String\\": ""
+ },
"exclude-from-classmap": [
"/Tests/"
]
@@ -9080,87 +8619,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v5.4.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2021-11-24T10:02:00+00:00"
- },
- {
- "name": "symfony/swiftmailer-bundle",
- "version": "v3.5.3",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/swiftmailer-bundle.git",
- "reference": "fa7d78cbdf0a16a4da126c465f25f6547ad69cf6"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/swiftmailer-bundle/zipball/fa7d78cbdf0a16a4da126c465f25f6547ad69cf6",
- "reference": "fa7d78cbdf0a16a4da126c465f25f6547ad69cf6",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1",
- "swiftmailer/swiftmailer": "^6.1.3",
- "symfony/config": "^4.4|^5.0",
- "symfony/dependency-injection": "^4.4|^5.0",
- "symfony/http-kernel": "^4.4|^5.0"
- },
- "conflict": {
- "twig/twig": "<1.41|>=2.0,<2.10"
- },
- "require-dev": {
- "symfony/console": "^4.4|^5.0",
- "symfony/framework-bundle": "^4.4|^5.0",
- "symfony/phpunit-bridge": "^4.4|^5.0",
- "symfony/yaml": "^4.4|^5.0"
- },
- "type": "symfony-bundle",
- "extra": {
- "branch-alias": {
- "dev-main": "3.5-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Bundle\\SwiftmailerBundle\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "http://symfony.com/contributors"
- }
- ],
- "description": "Symfony SwiftmailerBundle",
- "homepage": "http://symfony.com",
- "support": {
- "issues": "https://github.com/symfony/swiftmailer-bundle/issues",
- "source": "https://github.com/symfony/swiftmailer-bundle/tree/v3.5.3"
+ "source": "https://github.com/symfony/string/tree/v6.2.5"
},
"funding": [
{
@@ -9176,24 +8635,24 @@
"type": "tidelift"
}
],
- "time": "2021-12-02T16:23:52+00:00"
+ "time": "2023-01-01T08:38:09+00:00"
},
{
"name": "symfony/templating",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/templating.git",
- "reference": "5951210f5628417a9a0b39ad10d6b0cd39746435"
+ "reference": "c40882ddc4beeffa166516bc9a179603da79784b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/templating/zipball/5951210f5628417a9a0b39ad10d6b0cd39746435",
- "reference": "5951210f5628417a9a0b39ad10d6b0cd39746435",
+ "url": "https://api.github.com/repos/symfony/templating/zipball/c40882ddc4beeffa166516bc9a179603da79784b",
+ "reference": "c40882ddc4beeffa166516bc9a179603da79784b",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
+ "php": ">=8.1",
"symfony/polyfill-ctype": "~1.8"
},
"require-dev": {
@@ -9228,7 +8687,7 @@
"description": "Provides all the tools needed to build any kind of template system",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/templating/tree/v5.4.0"
+ "source": "https://github.com/symfony/templating/tree/v6.2.5"
},
"funding": [
{
@@ -9244,54 +8703,55 @@
"type": "tidelift"
}
],
- "time": "2021-11-28T15:25:38+00:00"
+ "time": "2023-01-01T08:38:09+00:00"
},
{
"name": "symfony/translation",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
- "reference": "6fe32b10e912a518805bc9eafc2a87145773cf13"
+ "reference": "60556925a703cfbc1581cde3b3f35b0bb0ea904c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation/zipball/6fe32b10e912a518805bc9eafc2a87145773cf13",
- "reference": "6fe32b10e912a518805bc9eafc2a87145773cf13",
+ "url": "https://api.github.com/repos/symfony/translation/zipball/60556925a703cfbc1581cde3b3f35b0bb0ea904c",
+ "reference": "60556925a703cfbc1581cde3b3f35b0bb0ea904c",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
+ "php": ">=8.1",
"symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php80": "^1.16",
- "symfony/translation-contracts": "^2.3"
+ "symfony/translation-contracts": "^2.3|^3.0"
},
"conflict": {
- "symfony/config": "<4.4",
- "symfony/console": "<5.3",
- "symfony/dependency-injection": "<5.0",
- "symfony/http-kernel": "<5.0",
- "symfony/twig-bundle": "<5.0",
- "symfony/yaml": "<4.4"
+ "symfony/config": "<5.4",
+ "symfony/console": "<5.4",
+ "symfony/dependency-injection": "<5.4",
+ "symfony/http-kernel": "<5.4",
+ "symfony/twig-bundle": "<5.4",
+ "symfony/yaml": "<5.4"
},
"provide": {
- "symfony/translation-implementation": "2.3"
+ "symfony/translation-implementation": "2.3|3.0"
},
"require-dev": {
+ "nikic/php-parser": "^4.13",
"psr/log": "^1|^2|^3",
- "symfony/config": "^4.4|^5.0|^6.0",
+ "symfony/config": "^5.4|^6.0",
"symfony/console": "^5.4|^6.0",
- "symfony/dependency-injection": "^5.0|^6.0",
- "symfony/finder": "^4.4|^5.0|^6.0",
+ "symfony/dependency-injection": "^5.4|^6.0",
+ "symfony/finder": "^5.4|^6.0",
"symfony/http-client-contracts": "^1.1|^2.0|^3.0",
- "symfony/http-kernel": "^5.0|^6.0",
- "symfony/intl": "^4.4|^5.0|^6.0",
+ "symfony/http-kernel": "^5.4|^6.0",
+ "symfony/intl": "^5.4|^6.0",
"symfony/polyfill-intl-icu": "^1.21",
+ "symfony/routing": "^5.4|^6.0",
"symfony/service-contracts": "^1.1.2|^2|^3",
- "symfony/yaml": "^4.4|^5.0|^6.0"
+ "symfony/yaml": "^5.4|^6.0"
},
"suggest": {
+ "nikic/php-parser": "To use PhpAstExtractor",
"psr/log-implementation": "To use logging capability in translator",
"symfony/config": "",
"symfony/yaml": ""
@@ -9325,7 +8785,7 @@
"description": "Provides tools to internationalize your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/translation/tree/v5.4.0"
+ "source": "https://github.com/symfony/translation/tree/v6.2.5"
},
"funding": [
{
@@ -9341,24 +8801,24 @@
"type": "tidelift"
}
],
- "time": "2021-11-29T15:30:56+00:00"
+ "time": "2023-01-05T07:00:27+00:00"
},
{
"name": "symfony/translation-contracts",
- "version": "v2.5.0",
+ "version": "v3.2.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation-contracts.git",
- "reference": "d28150f0f44ce854e942b671fc2620a98aae1b1e"
+ "reference": "68cce71402305a015f8c1589bfada1280dc64fe7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/d28150f0f44ce854e942b671fc2620a98aae1b1e",
- "reference": "d28150f0f44ce854e942b671fc2620a98aae1b1e",
+ "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/68cce71402305a015f8c1589bfada1280dc64fe7",
+ "reference": "68cce71402305a015f8c1589bfada1280dc64fe7",
"shasum": ""
},
"require": {
- "php": ">=7.2.5"
+ "php": ">=8.1"
},
"suggest": {
"symfony/translation-implementation": ""
@@ -9366,7 +8826,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.5-dev"
+ "dev-main": "3.3-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -9376,7 +8836,10 @@
"autoload": {
"psr-4": {
"Symfony\\Contracts\\Translation\\": ""
- }
+ },
+ "exclude-from-classmap": [
+ "/Test/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -9403,7 +8866,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/translation-contracts/tree/v2.5.0"
+ "source": "https://github.com/symfony/translation-contracts/tree/v3.2.0"
},
"funding": [
{
@@ -9419,65 +8882,67 @@
"type": "tidelift"
}
],
- "time": "2021-08-17T14:20:01+00:00"
+ "time": "2022-11-25T10:21:52+00:00"
},
{
"name": "symfony/twig-bridge",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/twig-bridge.git",
- "reference": "faed6ad85a2f8e675820422a74c4e0d5858a6821"
+ "reference": "c3ba1d52a74e583f13490eaa67b396d7feb7bab5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/faed6ad85a2f8e675820422a74c4e0d5858a6821",
- "reference": "faed6ad85a2f8e675820422a74c4e0d5858a6821",
+ "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/c3ba1d52a74e583f13490eaa67b396d7feb7bab5",
+ "reference": "c3ba1d52a74e583f13490eaa67b396d7feb7bab5",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/polyfill-php80": "^1.16",
+ "php": ">=8.1",
"symfony/translation-contracts": "^1.1|^2|^3",
"twig/twig": "^2.13|^3.0.4"
},
"conflict": {
"phpdocumentor/reflection-docblock": "<3.2.2",
"phpdocumentor/type-resolver": "<1.4.0",
- "symfony/console": "<5.3",
- "symfony/form": "<5.3",
- "symfony/http-foundation": "<5.3",
- "symfony/http-kernel": "<4.4",
- "symfony/translation": "<5.2",
- "symfony/workflow": "<5.2"
- },
- "require-dev": {
- "doctrine/annotations": "^1.12",
- "egulias/email-validator": "^2.1.10|^3",
- "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
- "symfony/asset": "^4.4|^5.0|^6.0",
- "symfony/console": "^5.3|^6.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/finder": "^4.4|^5.0|^6.0",
- "symfony/form": "^5.3|^6.0",
- "symfony/http-foundation": "^5.3|^6.0",
- "symfony/http-kernel": "^4.4|^5.0|^6.0",
- "symfony/intl": "^4.4|^5.0|^6.0",
- "symfony/mime": "^5.2|^6.0",
+ "symfony/console": "<5.4",
+ "symfony/form": "<6.1",
+ "symfony/http-foundation": "<5.4",
+ "symfony/http-kernel": "<6.2",
+ "symfony/mime": "<6.2",
+ "symfony/translation": "<5.4",
+ "symfony/workflow": "<5.4"
+ },
+ "require-dev": {
+ "doctrine/annotations": "^1.12|^2",
+ "egulias/email-validator": "^2.1.10|^3|^4",
+ "league/html-to-markdown": "^5.0",
+ "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
+ "symfony/asset": "^5.4|^6.0",
+ "symfony/console": "^5.4|^6.0",
+ "symfony/dependency-injection": "^5.4|^6.0",
+ "symfony/expression-language": "^5.4|^6.0",
+ "symfony/finder": "^5.4|^6.0",
+ "symfony/form": "^6.1",
+ "symfony/html-sanitizer": "^6.1",
+ "symfony/http-foundation": "^5.4|^6.0",
+ "symfony/http-kernel": "^6.2",
+ "symfony/intl": "^5.4|^6.0",
+ "symfony/mime": "^6.2",
"symfony/polyfill-intl-icu": "~1.0",
- "symfony/property-info": "^4.4|^5.1|^6.0",
- "symfony/routing": "^4.4|^5.0|^6.0",
+ "symfony/property-info": "^5.4|^6.0",
+ "symfony/routing": "^5.4|^6.0",
"symfony/security-acl": "^2.8|^3.0",
- "symfony/security-core": "^4.4|^5.0|^6.0",
- "symfony/security-csrf": "^4.4|^5.0|^6.0",
- "symfony/security-http": "^4.4|^5.0|^6.0",
- "symfony/serializer": "^5.2|^6.0",
- "symfony/stopwatch": "^4.4|^5.0|^6.0",
- "symfony/translation": "^5.2|^6.0",
- "symfony/web-link": "^4.4|^5.0|^6.0",
- "symfony/workflow": "^5.2|^6.0",
- "symfony/yaml": "^4.4|^5.0|^6.0",
+ "symfony/security-core": "^5.4|^6.0",
+ "symfony/security-csrf": "^5.4|^6.0",
+ "symfony/security-http": "^5.4|^6.0",
+ "symfony/serializer": "^6.2",
+ "symfony/stopwatch": "^5.4|^6.0",
+ "symfony/translation": "^5.4|^6.0",
+ "symfony/web-link": "^5.4|^6.0",
+ "symfony/workflow": "^5.4|^6.0",
+ "symfony/yaml": "^5.4|^6.0",
"twig/cssinliner-extra": "^2.12|^3",
"twig/inky-extra": "^2.12|^3",
"twig/markdown-extra": "^2.12|^3"
@@ -9487,6 +8952,7 @@
"symfony/expression-language": "For using the ExpressionExtension",
"symfony/finder": "",
"symfony/form": "For using the FormExtension",
+ "symfony/html-sanitizer": "For using the HtmlSanitizerExtension",
"symfony/http-kernel": "For using the HttpKernelExtension",
"symfony/routing": "For using the RoutingExtension",
"symfony/security-core": "For using the SecurityExtension",
@@ -9524,7 +8990,7 @@
"description": "Provides integration for Twig with various Symfony components",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/twig-bridge/tree/v5.4.0"
+ "source": "https://github.com/symfony/twig-bridge/tree/v6.2.5"
},
"funding": [
{
@@ -9540,52 +9006,48 @@
"type": "tidelift"
}
],
- "time": "2021-11-29T15:30:56+00:00"
+ "time": "2023-01-10T18:53:53+00:00"
},
{
"name": "symfony/twig-bundle",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/twig-bundle.git",
- "reference": "de8634b8c604a42277c6cc7e4f0d1e9e30c5ec7f"
+ "reference": "6f3b623ca55c52862b387e1aaf1f0378e54a7a73"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/de8634b8c604a42277c6cc7e4f0d1e9e30c5ec7f",
- "reference": "de8634b8c604a42277c6cc7e4f0d1e9e30c5ec7f",
+ "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/6f3b623ca55c52862b387e1aaf1f0378e54a7a73",
+ "reference": "6f3b623ca55c52862b387e1aaf1f0378e54a7a73",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/config": "^4.4|^5.0|^6.0",
- "symfony/http-foundation": "^4.4|^5.0|^6.0",
- "symfony/http-kernel": "^5.0|^6.0",
- "symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-php80": "^1.16",
- "symfony/twig-bridge": "^5.3|^6.0",
+ "composer-runtime-api": ">=2.1",
+ "php": ">=8.1",
+ "symfony/config": "^6.1",
+ "symfony/dependency-injection": "^6.1",
+ "symfony/http-foundation": "^5.4|^6.0",
+ "symfony/http-kernel": "^6.2",
+ "symfony/twig-bridge": "^6.2",
"twig/twig": "^2.13|^3.0.4"
},
"conflict": {
- "symfony/dependency-injection": "<5.3",
- "symfony/framework-bundle": "<5.0",
- "symfony/service-contracts": ">=3.0",
- "symfony/translation": "<5.0"
- },
- "require-dev": {
- "doctrine/annotations": "^1.10.4",
- "doctrine/cache": "^1.0|^2.0",
- "symfony/asset": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^5.3|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/finder": "^4.4|^5.0|^6.0",
- "symfony/form": "^4.4|^5.0|^6.0",
- "symfony/framework-bundle": "^5.0|^6.0",
- "symfony/routing": "^4.4|^5.0|^6.0",
- "symfony/stopwatch": "^4.4|^5.0|^6.0",
- "symfony/translation": "^5.0|^6.0",
- "symfony/web-link": "^4.4|^5.0|^6.0",
- "symfony/yaml": "^4.4|^5.0|^6.0"
+ "symfony/framework-bundle": "<5.4",
+ "symfony/translation": "<5.4"
+ },
+ "require-dev": {
+ "doctrine/annotations": "^1.10.4|^2",
+ "symfony/asset": "^5.4|^6.0",
+ "symfony/expression-language": "^5.4|^6.0",
+ "symfony/finder": "^5.4|^6.0",
+ "symfony/form": "^5.4|^6.0",
+ "symfony/framework-bundle": "^5.4|^6.0",
+ "symfony/routing": "^5.4|^6.0",
+ "symfony/stopwatch": "^5.4|^6.0",
+ "symfony/translation": "^5.4|^6.0",
+ "symfony/web-link": "^5.4|^6.0",
+ "symfony/yaml": "^5.4|^6.0"
},
"type": "symfony-bundle",
"autoload": {
@@ -9613,7 +9075,7 @@
"description": "Provides a tight integration of Twig into the Symfony full-stack framework",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/twig-bundle/tree/v5.4.0"
+ "source": "https://github.com/symfony/twig-bundle/tree/v6.2.5"
},
"funding": [
{
@@ -9629,63 +9091,59 @@
"type": "tidelift"
}
],
- "time": "2021-11-23T21:36:27+00:00"
+ "time": "2023-01-01T08:38:09+00:00"
},
{
"name": "symfony/validator",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/validator.git",
- "reference": "68db3401621f75b285cf54ac83e3b89066e08f8d"
+ "reference": "0ebfbe384790e61147e3d7f4aa0afbd6190198c4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/validator/zipball/68db3401621f75b285cf54ac83e3b89066e08f8d",
- "reference": "68db3401621f75b285cf54ac83e3b89066e08f8d",
+ "url": "https://api.github.com/repos/symfony/validator/zipball/0ebfbe384790e61147e3d7f4aa0afbd6190198c4",
+ "reference": "0ebfbe384790e61147e3d7f4aa0afbd6190198c4",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
+ "php": ">=8.1",
"symfony/deprecation-contracts": "^2.1|^3",
"symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php73": "~1.0",
- "symfony/polyfill-php80": "^1.16",
"symfony/translation-contracts": "^1.1|^2|^3"
},
"conflict": {
"doctrine/annotations": "<1.13",
- "doctrine/cache": "<1.11",
- "doctrine/lexer": "<1.0.2",
+ "doctrine/lexer": "<1.1",
"phpunit/phpunit": "<5.4.3",
- "symfony/dependency-injection": "<4.4",
- "symfony/expression-language": "<5.1",
- "symfony/http-kernel": "<4.4",
- "symfony/intl": "<4.4",
- "symfony/property-info": "<5.3",
- "symfony/translation": "<4.4",
- "symfony/yaml": "<4.4"
+ "symfony/dependency-injection": "<5.4",
+ "symfony/expression-language": "<5.4",
+ "symfony/http-kernel": "<5.4",
+ "symfony/intl": "<5.4",
+ "symfony/property-info": "<5.4",
+ "symfony/translation": "<5.4",
+ "symfony/yaml": "<5.4"
},
"require-dev": {
- "doctrine/annotations": "^1.13",
- "doctrine/cache": "^1.11|^2.0",
- "egulias/email-validator": "^2.1.10|^3",
- "symfony/cache": "^4.4|^5.0|^6.0",
- "symfony/config": "^4.4|^5.0|^6.0",
- "symfony/console": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/expression-language": "^5.1|^6.0",
- "symfony/finder": "^4.4|^5.0|^6.0",
- "symfony/http-client": "^4.4|^5.0|^6.0",
- "symfony/http-foundation": "^4.4|^5.0|^6.0",
- "symfony/http-kernel": "^4.4|^5.0|^6.0",
- "symfony/intl": "^4.4|^5.0|^6.0",
- "symfony/mime": "^4.4|^5.0|^6.0",
- "symfony/property-access": "^4.4|^5.0|^6.0",
- "symfony/property-info": "^5.3|^6.0",
- "symfony/translation": "^4.4|^5.0|^6.0",
- "symfony/yaml": "^4.4|^5.0|^6.0"
+ "doctrine/annotations": "^1.13|^2",
+ "egulias/email-validator": "^2.1.10|^3|^4",
+ "symfony/cache": "^5.4|^6.0",
+ "symfony/config": "^5.4|^6.0",
+ "symfony/console": "^5.4|^6.0",
+ "symfony/dependency-injection": "^5.4|^6.0",
+ "symfony/expression-language": "^5.4|^6.0",
+ "symfony/finder": "^5.4|^6.0",
+ "symfony/http-client": "^5.4|^6.0",
+ "symfony/http-foundation": "^5.4|^6.0",
+ "symfony/http-kernel": "^5.4|^6.0",
+ "symfony/intl": "^5.4|^6.0",
+ "symfony/mime": "^5.4|^6.0",
+ "symfony/property-access": "^5.4|^6.0",
+ "symfony/property-info": "^5.4|^6.0",
+ "symfony/translation": "^5.4|^6.0",
+ "symfony/yaml": "^5.4|^6.0"
},
"suggest": {
"egulias/email-validator": "Strict (RFC compliant) email validation",
@@ -9725,7 +9183,7 @@
"description": "Provides tools to validate values",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/validator/tree/v5.4.0"
+ "source": "https://github.com/symfony/validator/tree/v6.2.5"
},
"funding": [
{
@@ -9741,36 +9199,35 @@
"type": "tidelift"
}
],
- "time": "2021-11-29T15:30:56+00:00"
+ "time": "2023-01-20T17:45:48+00:00"
},
{
"name": "symfony/var-dumper",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
- "reference": "89ab66eaef230c9cd1992de2e9a1b26652b127b9"
+ "reference": "44b7b81749fd20c1bdf4946c041050e22bc8da27"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-dumper/zipball/89ab66eaef230c9cd1992de2e9a1b26652b127b9",
- "reference": "89ab66eaef230c9cd1992de2e9a1b26652b127b9",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/44b7b81749fd20c1bdf4946c041050e22bc8da27",
+ "reference": "44b7b81749fd20c1bdf4946c041050e22bc8da27",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.1",
+ "symfony/polyfill-mbstring": "~1.0"
},
"conflict": {
"phpunit/phpunit": "<5.4.3",
- "symfony/console": "<4.4"
+ "symfony/console": "<5.4"
},
"require-dev": {
"ext-iconv": "*",
- "symfony/console": "^4.4|^5.0|^6.0",
- "symfony/process": "^4.4|^5.0|^6.0",
- "symfony/uid": "^5.1|^6.0",
+ "symfony/console": "^5.4|^6.0",
+ "symfony/process": "^5.4|^6.0",
+ "symfony/uid": "^5.4|^6.0",
"twig/twig": "^2.13|^3.0.4"
},
"suggest": {
@@ -9814,7 +9271,7 @@
"dump"
],
"support": {
- "source": "https://github.com/symfony/var-dumper/tree/v5.4.0"
+ "source": "https://github.com/symfony/var-dumper/tree/v6.2.5"
},
"funding": [
{
@@ -9830,28 +9287,27 @@
"type": "tidelift"
}
],
- "time": "2021-11-29T15:30:56+00:00"
+ "time": "2023-01-20T17:45:48+00:00"
},
{
"name": "symfony/var-exporter",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-exporter.git",
- "reference": "d59446d6166b1643a8a3c30c2fa8e16e51cdbde7"
+ "reference": "108f9c6451eea8e04a7fb83bbacb5b812ef30e35"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-exporter/zipball/d59446d6166b1643a8a3c30c2fa8e16e51cdbde7",
- "reference": "d59446d6166b1643a8a3c30c2fa8e16e51cdbde7",
+ "url": "https://api.github.com/repos/symfony/var-exporter/zipball/108f9c6451eea8e04a7fb83bbacb5b812ef30e35",
+ "reference": "108f9c6451eea8e04a7fb83bbacb5b812ef30e35",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.1"
},
"require-dev": {
- "symfony/var-dumper": "^4.4.9|^5.0.9|^6.0"
+ "symfony/var-dumper": "^5.4|^6.0"
},
"type": "library",
"autoload": {
@@ -9884,10 +9340,12 @@
"export",
"hydrate",
"instantiate",
+ "lazy loading",
+ "proxy",
"serialize"
],
"support": {
- "source": "https://github.com/symfony/var-exporter/tree/v5.4.0"
+ "source": "https://github.com/symfony/var-exporter/tree/v6.2.5"
},
"funding": [
{
@@ -9903,35 +9361,34 @@
"type": "tidelift"
}
],
- "time": "2021-11-22T10:44:13+00:00"
+ "time": "2023-01-13T08:35:57+00:00"
},
{
"name": "symfony/web-link",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/web-link.git",
- "reference": "de535b46002214d976c5b092f33f46de5e0c1d05"
+ "reference": "b0d15d82f15f4301531cbef92e34cecaebb18dd5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/web-link/zipball/de535b46002214d976c5b092f33f46de5e0c1d05",
- "reference": "de535b46002214d976c5b092f33f46de5e0c1d05",
+ "url": "https://api.github.com/repos/symfony/web-link/zipball/b0d15d82f15f4301531cbef92e34cecaebb18dd5",
+ "reference": "b0d15d82f15f4301531cbef92e34cecaebb18dd5",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "psr/link": "^1.0",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.1",
+ "psr/link": "^1.1|^2.0"
},
"conflict": {
- "symfony/http-kernel": "<5.3"
+ "symfony/http-kernel": "<5.4"
},
"provide": {
- "psr/link-implementation": "1.0"
+ "psr/link-implementation": "1.0|2.0"
},
"require-dev": {
- "symfony/http-kernel": "^5.3|^6.0"
+ "symfony/http-kernel": "^5.4|^6.0"
},
"suggest": {
"symfony/http-kernel": ""
@@ -9974,7 +9431,7 @@
"push"
],
"support": {
- "source": "https://github.com/symfony/web-link/tree/v5.4.0"
+ "source": "https://github.com/symfony/web-link/tree/v6.2.5"
},
"funding": [
{
@@ -9990,20 +9447,20 @@
"type": "tidelift"
}
],
- "time": "2021-07-21T12:43:48+00:00"
+ "time": "2023-01-01T08:38:09+00:00"
},
{
"name": "symfony/webpack-encore-bundle",
- "version": "v1.13.2",
+ "version": "v1.16.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/webpack-encore-bundle.git",
- "reference": "509cad50878e838c879743225e0e921b3b64a3f2"
+ "reference": "1862d71e483769b40278548a30e756ce13ef9d4c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/webpack-encore-bundle/zipball/509cad50878e838c879743225e0e921b3b64a3f2",
- "reference": "509cad50878e838c879743225e0e921b3b64a3f2",
+ "url": "https://api.github.com/repos/symfony/webpack-encore-bundle/zipball/1862d71e483769b40278548a30e756ce13ef9d4c",
+ "reference": "1862d71e483769b40278548a30e756ce13ef9d4c",
"shasum": ""
},
"require": {
@@ -10011,7 +9468,9 @@
"symfony/asset": "^4.4 || ^5.0 || ^6.0",
"symfony/config": "^4.4 || ^5.0 || ^6.0",
"symfony/dependency-injection": "^4.4 || ^5.0 || ^6.0",
+ "symfony/deprecation-contracts": "^2.1 || ^3.0",
"symfony/http-kernel": "^4.4 || ^5.0 || ^6.0",
+ "symfony/polyfill-php80": "^1.25.0",
"symfony/service-contracts": "^1.0 || ^2.0 || ^3.0"
},
"require-dev": {
@@ -10045,7 +9504,7 @@
"description": "Integration with your Symfony app & Webpack Encore!",
"support": {
"issues": "https://github.com/symfony/webpack-encore-bundle/issues",
- "source": "https://github.com/symfony/webpack-encore-bundle/tree/v1.13.2"
+ "source": "https://github.com/symfony/webpack-encore-bundle/tree/v1.16.1"
},
"funding": [
{
@@ -10061,32 +9520,31 @@
"type": "tidelift"
}
],
- "time": "2021-12-02T19:45:55+00:00"
+ "time": "2023-01-18T19:37:55+00:00"
},
{
"name": "symfony/yaml",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
- "reference": "034ccc0994f1ae3f7499fa5b1f2e75d5e7a94efc"
+ "reference": "2bbfbdacc8a15574f8440c4838ce0d7bb6c86b19"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/034ccc0994f1ae3f7499fa5b1f2e75d5e7a94efc",
- "reference": "034ccc0994f1ae3f7499fa5b1f2e75d5e7a94efc",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/2bbfbdacc8a15574f8440c4838ce0d7bb6c86b19",
+ "reference": "2bbfbdacc8a15574f8440c4838ce0d7bb6c86b19",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
+ "php": ">=8.1",
"symfony/polyfill-ctype": "^1.8"
},
"conflict": {
- "symfony/console": "<5.3"
+ "symfony/console": "<5.4"
},
"require-dev": {
- "symfony/console": "^5.3|^6.0"
+ "symfony/console": "^5.4|^6.0"
},
"suggest": {
"symfony/console": "For validating YAML files using the lint command"
@@ -10120,7 +9578,7 @@
"description": "Loads and dumps YAML files",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/yaml/tree/v5.4.0"
+ "source": "https://github.com/symfony/yaml/tree/v6.2.5"
},
"funding": [
{
@@ -10136,20 +9594,20 @@
"type": "tidelift"
}
],
- "time": "2021-11-28T15:25:38+00:00"
+ "time": "2023-01-10T18:53:53+00:00"
},
{
"name": "tijsverkoyen/css-to-inline-styles",
- "version": "2.2.4",
+ "version": "2.2.6",
"source": {
"type": "git",
"url": "https://github.com/tijsverkoyen/CssToInlineStyles.git",
- "reference": "da444caae6aca7a19c0c140f68c6182e337d5b1c"
+ "reference": "c42125b83a4fa63b187fdf29f9c93cb7733da30c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/da444caae6aca7a19c0c140f68c6182e337d5b1c",
- "reference": "da444caae6aca7a19c0c140f68c6182e337d5b1c",
+ "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/c42125b83a4fa63b187fdf29f9c93cb7733da30c",
+ "reference": "c42125b83a4fa63b187fdf29f9c93cb7733da30c",
"shasum": ""
},
"require": {
@@ -10187,22 +9645,22 @@
"homepage": "https://github.com/tijsverkoyen/CssToInlineStyles",
"support": {
"issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues",
- "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/2.2.4"
+ "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/2.2.6"
},
- "time": "2021-12-08T09:12:39+00:00"
+ "time": "2023-01-03T09:29:04+00:00"
},
{
"name": "twig/cssinliner-extra",
- "version": "v3.3.4",
+ "version": "v3.5.1",
"source": {
"type": "git",
"url": "https://github.com/twigphp/cssinliner-extra.git",
- "reference": "a6065b23645282e1c81d847cf0c7f0211d22b682"
+ "reference": "381877765d17b0178322d68b818e0c67f9c93187"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/cssinliner-extra/zipball/a6065b23645282e1c81d847cf0c7f0211d22b682",
- "reference": "a6065b23645282e1c81d847cf0c7f0211d22b682",
+ "url": "https://api.github.com/repos/twigphp/cssinliner-extra/zipball/381877765d17b0178322d68b818e0c67f9c93187",
+ "reference": "381877765d17b0178322d68b818e0c67f9c93187",
"shasum": ""
},
"require": {
@@ -10216,7 +9674,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.2-dev"
+ "dev-master": "3.5-dev"
}
},
"autoload": {
@@ -10247,7 +9705,7 @@
"twig"
],
"support": {
- "source": "https://github.com/twigphp/cssinliner-extra/tree/v3.3.4"
+ "source": "https://github.com/twigphp/cssinliner-extra/tree/v3.5.1"
},
"funding": [
{
@@ -10259,29 +9717,30 @@
"type": "tidelift"
}
],
- "time": "2021-11-13T16:20:21+00:00"
+ "time": "2023-02-08T07:44:55+00:00"
},
{
"name": "twig/extra-bundle",
- "version": "v3.3.4",
+ "version": "v3.5.1",
"source": {
"type": "git",
"url": "https://github.com/twigphp/twig-extra-bundle.git",
- "reference": "1fe52d84aa22b7891c7717ef904b1551c8d70100"
+ "reference": "a961e553a624eebdbd423ad5ab931497ca6d87cd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/1fe52d84aa22b7891c7717ef904b1551c8d70100",
- "reference": "1fe52d84aa22b7891c7717ef904b1551c8d70100",
+ "url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/a961e553a624eebdbd423ad5ab931497ca6d87cd",
+ "reference": "a961e553a624eebdbd423ad5ab931497ca6d87cd",
"shasum": ""
},
"require": {
- "php": "^7.1.3|^8.0",
+ "php": ">=7.2.5",
"symfony/framework-bundle": "^4.4|^5.0|^6.0",
"symfony/twig-bundle": "^4.4|^5.0|^6.0",
"twig/twig": "^2.7|^3.0"
},
"require-dev": {
+ "league/commonmark": "^1.0|^2.0",
"symfony/phpunit-bridge": "^4.4.9|^5.0.9|^6.0",
"twig/cache-extra": "^3.0",
"twig/cssinliner-extra": "^2.12|^3.0",
@@ -10294,7 +9753,7 @@
"type": "symfony-bundle",
"extra": {
"branch-alias": {
- "dev-master": "3.2-dev"
+ "dev-master": "3.5-dev"
}
},
"autoload": {
@@ -10325,7 +9784,7 @@
"twig"
],
"support": {
- "source": "https://github.com/twigphp/twig-extra-bundle/tree/v3.3.4"
+ "source": "https://github.com/twigphp/twig-extra-bundle/tree/v3.5.1"
},
"funding": [
{
@@ -10337,20 +9796,20 @@
"type": "tidelift"
}
],
- "time": "2021-11-13T16:20:21+00:00"
+ "time": "2023-02-08T07:44:55+00:00"
},
{
"name": "twig/inky-extra",
- "version": "v3.3.4",
+ "version": "v3.5.1",
"source": {
"type": "git",
"url": "https://github.com/twigphp/inky-extra.git",
- "reference": "6f81ada491569cfeb04fb43070f3a8908fc0f9ce"
+ "reference": "4efde499b99942a27e206898e55208a8692c16ca"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/inky-extra/zipball/6f81ada491569cfeb04fb43070f3a8908fc0f9ce",
- "reference": "6f81ada491569cfeb04fb43070f3a8908fc0f9ce",
+ "url": "https://api.github.com/repos/twigphp/inky-extra/zipball/4efde499b99942a27e206898e55208a8692c16ca",
+ "reference": "4efde499b99942a27e206898e55208a8692c16ca",
"shasum": ""
},
"require": {
@@ -10364,7 +9823,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.2-dev"
+ "dev-master": "3.5-dev"
}
},
"autoload": {
@@ -10396,7 +9855,7 @@
"twig"
],
"support": {
- "source": "https://github.com/twigphp/inky-extra/tree/v3.3.4"
+ "source": "https://github.com/twigphp/inky-extra/tree/v3.5.1"
},
"funding": [
{
@@ -10408,26 +9867,27 @@
"type": "tidelift"
}
],
- "time": "2021-11-13T16:20:21+00:00"
+ "time": "2023-02-08T07:44:55+00:00"
},
{
"name": "twig/twig",
- "version": "v2.14.8",
+ "version": "v2.15.4",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
- "reference": "06b450a2326aa879faa2061ff72fe1588b3ab043"
+ "reference": "3e059001d6d597dd50ea7c74dd2464b4adea48d3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/Twig/zipball/06b450a2326aa879faa2061ff72fe1588b3ab043",
- "reference": "06b450a2326aa879faa2061ff72fe1588b3ab043",
+ "url": "https://api.github.com/repos/twigphp/Twig/zipball/3e059001d6d597dd50ea7c74dd2464b4adea48d3",
+ "reference": "3e059001d6d597dd50ea7c74dd2464b4adea48d3",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
+ "php": ">=7.1.3",
"symfony/polyfill-ctype": "^1.8",
- "symfony/polyfill-mbstring": "^1.3"
+ "symfony/polyfill-mbstring": "^1.3",
+ "symfony/polyfill-php72": "^1.8"
},
"require-dev": {
"psr/container": "^1.0",
@@ -10436,7 +9896,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.14-dev"
+ "dev-master": "2.15-dev"
}
},
"autoload": {
@@ -10475,7 +9935,7 @@
],
"support": {
"issues": "https://github.com/twigphp/Twig/issues",
- "source": "https://github.com/twigphp/Twig/tree/v2.14.8"
+ "source": "https://github.com/twigphp/Twig/tree/v2.15.4"
},
"funding": [
{
@@ -10487,36 +9947,40 @@
"type": "tidelift"
}
],
- "time": "2021-11-25T13:38:06+00:00"
+ "time": "2022-12-27T12:26:20+00:00"
},
{
"name": "vich/uploader-bundle",
- "version": "1.16.1",
+ "version": "1.21.1",
"source": {
"type": "git",
"url": "https://github.com/dustin10/VichUploaderBundle.git",
- "reference": "781dd64bf278e924971a35d38ef6c690e35de6e1"
+ "reference": "6b428642694cbfeb1be6e956ba59382d89ae1ee6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/dustin10/VichUploaderBundle/zipball/781dd64bf278e924971a35d38ef6c690e35de6e1",
- "reference": "781dd64bf278e924971a35d38ef6c690e35de6e1",
+ "url": "https://api.github.com/repos/dustin10/VichUploaderBundle/zipball/6b428642694cbfeb1be6e956ba59382d89ae1ee6",
+ "reference": "6b428642694cbfeb1be6e956ba59382d89ae1ee6",
"shasum": ""
},
"require": {
+ "doctrine/persistence": "^1.3 || ^2 || ^3",
"ext-simplexml": "*",
- "jms/metadata": "^2.4",
+ "jms/metadata": "^1.7 || ^2.4",
"php": "^7.3 || ^8.0",
- "symfony/config": "^4.4 || ^5.0",
- "symfony/console": "^4.4 || ^5.0",
- "symfony/dependency-injection": "^4.4 || ^5.0",
- "symfony/event-dispatcher-contracts": "^1.1 || ^2.0",
- "symfony/form": "^4.4 || ^5.0",
- "symfony/http-foundation": "^4.4 || ^5.0",
- "symfony/http-kernel": "^4.4 || ^5.0",
- "symfony/mime": "^4.4 || ^5.0",
- "symfony/property-access": "^4.4 || ^5.0",
- "symfony/string": "^5.0"
+ "symfony/config": "^4.4 || ^5.0 || ^6.0",
+ "symfony/console": "^4.4 || ^5.0 || ^6.0",
+ "symfony/dependency-injection": "^4.4 || ^5.0 || ^6.0",
+ "symfony/event-dispatcher-contracts": "^1.1 || ^2.0 || ^3.0",
+ "symfony/http-foundation": "^4.4 || ^5.0 || ^6.0",
+ "symfony/http-kernel": "^4.4 || ^5.0 || ^6.0",
+ "symfony/mime": "^4.4 || ^5.0 || ^6.0",
+ "symfony/property-access": "^4.4 || ^5.0 || ^6.0",
+ "symfony/string": "^5.0 || ^6.0"
+ },
+ "conflict": {
+ "doctrine/annotations": "<1.12",
+ "league/flysystem": "<2.0"
},
"require-dev": {
"alcaeus/mongo-php-adapter": "^1.2",
@@ -10524,27 +9988,27 @@
"doctrine/mongodb-odm": "^1.2 || ^2.0",
"doctrine/orm": "^2.7",
"ext-sqlite3": "*",
- "knplabs/knp-gaufrette-bundle": "^0.7",
- "league/flysystem-bundle": "^1.4",
- "league/flysystem-memory": "^1.0",
+ "knplabs/knp-gaufrette-bundle": "dev-master",
+ "league/flysystem-bundle": "^2.0",
+ "league/flysystem-memory": "^2.0",
"matthiasnoback/symfony-dependency-injection-test": "^4.1",
- "mikey179/vfsstream": "^1.6",
- "oneup/flysystem-bundle": "^3.3",
+ "mikey179/vfsstream": "^1.6.8",
"phpunit/phpunit": "^9.5",
- "symfony/asset": "^4.4 || ^5.0",
- "symfony/browser-kit": "^4.4 || ^5.0",
- "symfony/css-selector": "^4.4 || ^5.0",
- "symfony/doctrine-bridge": "^4.4 || ^5.0",
- "symfony/dom-crawler": "^4.4 || ^5.0",
- "symfony/framework-bundle": "^4.4 || ^5.0",
- "symfony/phpunit-bridge": "^5.2",
- "symfony/security-csrf": "^4.4 || ^5.0",
- "symfony/translation": "^4.4 || ^5.0",
- "symfony/twig-bridge": "^4.4 || ^5.0",
- "symfony/twig-bundle": "^4.4 || ^5.0",
- "symfony/validator": "^4.4 || ^5.0",
- "symfony/var-dumper": "^4.4 || ^5.0",
- "symfony/yaml": "^4.4 || ^5.0"
+ "symfony/asset": "^4.4 || ^5.0 || ^6.0",
+ "symfony/browser-kit": "^4.4 || ^5.0 || ^6.0",
+ "symfony/css-selector": "^4.4 || ^5.0 || ^6.0",
+ "symfony/doctrine-bridge": "^4.4 || ^5.0 || ^6.0",
+ "symfony/dom-crawler": "^4.4 || ^5.0 || ^6.0",
+ "symfony/form": "^4.4 || ^5.0 || ^6.0",
+ "symfony/framework-bundle": "^4.4 || ^5.0 || ^6.0",
+ "symfony/phpunit-bridge": "^6.0",
+ "symfony/security-csrf": "^4.4 || ^5.0 || ^6.0",
+ "symfony/translation": "^4.4 || ^5.0 || ^6.0",
+ "symfony/twig-bridge": "^4.4 || ^5.0 || ^6.0",
+ "symfony/twig-bundle": "^4.4 || ^5.0 || ^6.0",
+ "symfony/validator": "^4.4 || ^5.0 || ^6.0",
+ "symfony/var-dumper": "^4.4 || ^5.0 || ^6.0",
+ "symfony/yaml": "^4.4 || ^5.0 || ^6.0"
},
"suggest": {
"doctrine/doctrine-bundle": "For integration with Doctrine",
@@ -10552,10 +10016,12 @@
"doctrine/orm": "For integration with Doctrine ORM",
"doctrine/phpcr-odm": "For integration with Doctrine PHPCR",
"knplabs/knp-gaufrette-bundle": "For integration with Gaufrette",
+ "league/flysystem-bundle": "For integration with Flysystem",
"liip/imagine-bundle": "To generate image thumbnails",
"ocramius/proxy-manager": "To use lazy services",
"oneup/flysystem-bundle": "For integration with Flysystem",
"symfony/asset": "To generate better links",
+ "symfony/form": "To handle uploads in forms",
"symfony/yaml": "To use YAML mapping"
},
"type": "symfony-bundle",
@@ -10587,27 +10053,27 @@
],
"support": {
"issues": "https://github.com/dustin10/VichUploaderBundle/issues",
- "source": "https://github.com/dustin10/VichUploaderBundle/tree/1.16.1"
+ "source": "https://github.com/dustin10/VichUploaderBundle/tree/1.21.1"
},
- "time": "2021-01-19T11:35:18+00:00"
+ "time": "2022-08-12T07:38:44+00:00"
},
{
"name": "webmozart/assert",
- "version": "1.10.0",
+ "version": "1.11.0",
"source": {
"type": "git",
"url": "https://github.com/webmozarts/assert.git",
- "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25"
+ "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/webmozarts/assert/zipball/6964c76c7804814a842473e0c8fd15bab0f18e25",
- "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25",
+ "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991",
+ "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991",
"shasum": ""
},
"require": {
- "php": "^7.2 || ^8.0",
- "symfony/polyfill-ctype": "^1.8"
+ "ext-ctype": "*",
+ "php": "^7.2 || ^8.0"
},
"conflict": {
"phpstan/phpstan": "<0.12.20",
@@ -10645,45 +10111,115 @@
],
"support": {
"issues": "https://github.com/webmozarts/assert/issues",
- "source": "https://github.com/webmozarts/assert/tree/1.10.0"
+ "source": "https://github.com/webmozarts/assert/tree/1.11.0"
},
- "time": "2021-03-09T10:59:23+00:00"
+ "time": "2022-06-03T18:03:27+00:00"
}
],
"packages-dev": [
+ {
+ "name": "masterminds/html5",
+ "version": "2.7.6",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Masterminds/html5-php.git",
+ "reference": "897eb517a343a2281f11bc5556d6548db7d93947"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/897eb517a343a2281f11bc5556d6548db7d93947",
+ "reference": "897eb517a343a2281f11bc5556d6548db7d93947",
+ "shasum": ""
+ },
+ "require": {
+ "ext-ctype": "*",
+ "ext-dom": "*",
+ "ext-libxml": "*",
+ "php": ">=5.3.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.7-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Masterminds\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Matt Butcher",
+ "email": "technosophos@gmail.com"
+ },
+ {
+ "name": "Matt Farina",
+ "email": "matt@mattfarina.com"
+ },
+ {
+ "name": "Asmir Mustafic",
+ "email": "goetas@gmail.com"
+ }
+ ],
+ "description": "An HTML5 parser and serializer.",
+ "homepage": "http://masterminds.github.io/html5-php",
+ "keywords": [
+ "HTML5",
+ "dom",
+ "html",
+ "parser",
+ "querypath",
+ "serializer",
+ "xml"
+ ],
+ "support": {
+ "issues": "https://github.com/Masterminds/html5-php/issues",
+ "source": "https://github.com/Masterminds/html5-php/tree/2.7.6"
+ },
+ "time": "2022-08-18T16:18:26+00:00"
+ },
{
"name": "myclabs/deep-copy",
- "version": "1.10.2",
+ "version": "1.11.0",
"source": {
"type": "git",
"url": "https://github.com/myclabs/DeepCopy.git",
- "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220"
+ "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/776f831124e9c62e1a2c601ecc52e776d8bb7220",
- "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/14daed4296fae74d9e3201d2c4925d1acb7aa614",
+ "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614",
"shasum": ""
},
"require": {
"php": "^7.1 || ^8.0"
},
- "replace": {
- "myclabs/deep-copy": "self.version"
+ "conflict": {
+ "doctrine/collections": "<1.6.8",
+ "doctrine/common": "<2.13.3 || >=3,<3.2.2"
},
"require-dev": {
- "doctrine/collections": "^1.0",
- "doctrine/common": "^2.6",
- "phpunit/phpunit": "^7.1"
+ "doctrine/collections": "^1.6.8",
+ "doctrine/common": "^2.13.3 || ^3.2.2",
+ "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13"
},
"type": "library",
"autoload": {
- "psr-4": {
- "DeepCopy\\": "src/DeepCopy/"
- },
"files": [
"src/DeepCopy/deep_copy.php"
- ]
+ ],
+ "psr-4": {
+ "DeepCopy\\": "src/DeepCopy/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -10699,7 +10235,7 @@
],
"support": {
"issues": "https://github.com/myclabs/DeepCopy/issues",
- "source": "https://github.com/myclabs/DeepCopy/tree/1.10.2"
+ "source": "https://github.com/myclabs/DeepCopy/tree/1.11.0"
},
"funding": [
{
@@ -10707,20 +10243,20 @@
"type": "tidelift"
}
],
- "time": "2020-11-13T09:40:50+00:00"
+ "time": "2022-03-03T13:19:32+00:00"
},
{
"name": "nikic/php-parser",
- "version": "v4.13.2",
+ "version": "v4.15.3",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "210577fe3cf7badcc5814d99455df46564f3c077"
+ "reference": "570e980a201d8ed0236b0a62ddf2c9cbb2034039"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/210577fe3cf7badcc5814d99455df46564f3c077",
- "reference": "210577fe3cf7badcc5814d99455df46564f3c077",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/570e980a201d8ed0236b0a62ddf2c9cbb2034039",
+ "reference": "570e980a201d8ed0236b0a62ddf2c9cbb2034039",
"shasum": ""
},
"require": {
@@ -10761,9 +10297,9 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
- "source": "https://github.com/nikic/PHP-Parser/tree/v4.13.2"
+ "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.3"
},
- "time": "2021-11-30T19:35:32+00:00"
+ "time": "2023-01-16T22:05:37+00:00"
},
{
"name": "phar-io/manifest",
@@ -10827,16 +10363,16 @@
},
{
"name": "phar-io/version",
- "version": "3.1.0",
+ "version": "3.2.1",
"source": {
"type": "git",
"url": "https://github.com/phar-io/version.git",
- "reference": "bae7c545bef187884426f042434e561ab1ddb182"
+ "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phar-io/version/zipball/bae7c545bef187884426f042434e561ab1ddb182",
- "reference": "bae7c545bef187884426f042434e561ab1ddb182",
+ "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
+ "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
"shasum": ""
},
"require": {
@@ -10872,96 +10408,29 @@
"description": "Library for handling version information and constraints",
"support": {
"issues": "https://github.com/phar-io/version/issues",
- "source": "https://github.com/phar-io/version/tree/3.1.0"
- },
- "time": "2021-02-23T14:00:09+00:00"
- },
- {
- "name": "phpspec/prophecy",
- "version": "v1.15.0",
- "source": {
- "type": "git",
- "url": "https://github.com/phpspec/prophecy.git",
- "reference": "bbcd7380b0ebf3961ee21409db7b38bc31d69a13"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpspec/prophecy/zipball/bbcd7380b0ebf3961ee21409db7b38bc31d69a13",
- "reference": "bbcd7380b0ebf3961ee21409db7b38bc31d69a13",
- "shasum": ""
- },
- "require": {
- "doctrine/instantiator": "^1.2",
- "php": "^7.2 || ~8.0, <8.2",
- "phpdocumentor/reflection-docblock": "^5.2",
- "sebastian/comparator": "^3.0 || ^4.0",
- "sebastian/recursion-context": "^3.0 || ^4.0"
- },
- "require-dev": {
- "phpspec/phpspec": "^6.0 || ^7.0",
- "phpunit/phpunit": "^8.0 || ^9.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Prophecy\\": "src/Prophecy"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Konstantin Kudryashov",
- "email": "ever.zet@gmail.com",
- "homepage": "http://everzet.com"
- },
- {
- "name": "Marcello Duarte",
- "email": "marcello.duarte@gmail.com"
- }
- ],
- "description": "Highly opinionated mocking framework for PHP 5.3+",
- "homepage": "https://github.com/phpspec/prophecy",
- "keywords": [
- "Double",
- "Dummy",
- "fake",
- "mock",
- "spy",
- "stub"
- ],
- "support": {
- "issues": "https://github.com/phpspec/prophecy/issues",
- "source": "https://github.com/phpspec/prophecy/tree/v1.15.0"
+ "source": "https://github.com/phar-io/version/tree/3.2.1"
},
- "time": "2021-12-08T12:19:24+00:00"
+ "time": "2022-02-21T01:04:05+00:00"
},
{
"name": "phpunit/php-code-coverage",
- "version": "9.2.10",
+ "version": "9.2.24",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "d5850aaf931743067f4bfc1ae4cbd06468400687"
+ "reference": "2cf940ebc6355a9d430462811b5aaa308b174bed"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/d5850aaf931743067f4bfc1ae4cbd06468400687",
- "reference": "d5850aaf931743067f4bfc1ae4cbd06468400687",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2cf940ebc6355a9d430462811b5aaa308b174bed",
+ "reference": "2cf940ebc6355a9d430462811b5aaa308b174bed",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
"ext-xmlwriter": "*",
- "nikic/php-parser": "^4.13.0",
+ "nikic/php-parser": "^4.14",
"php": ">=7.3",
"phpunit/php-file-iterator": "^3.0.3",
"phpunit/php-text-template": "^2.0.2",
@@ -11010,7 +10479,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.10"
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.24"
},
"funding": [
{
@@ -11018,7 +10487,7 @@
"type": "github"
}
],
- "time": "2021-12-05T09:12:13+00:00"
+ "time": "2023-01-26T08:26:55+00:00"
},
{
"name": "phpunit/php-file-iterator",
@@ -11263,20 +10732,20 @@
},
{
"name": "phpunit/phpunit",
- "version": "9.5.10",
+ "version": "9.6.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "c814a05837f2edb0d1471d6e3f4ab3501ca3899a"
+ "reference": "e7b1615e3e887d6c719121c6d4a44b0ab9645555"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c814a05837f2edb0d1471d6e3f4ab3501ca3899a",
- "reference": "c814a05837f2edb0d1471d6e3f4ab3501ca3899a",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e7b1615e3e887d6c719121c6d4a44b0ab9645555",
+ "reference": "e7b1615e3e887d6c719121c6d4a44b0ab9645555",
"shasum": ""
},
"require": {
- "doctrine/instantiator": "^1.3.1",
+ "doctrine/instantiator": "^1.3.1 || ^2",
"ext-dom": "*",
"ext-json": "*",
"ext-libxml": "*",
@@ -11287,28 +10756,23 @@
"phar-io/manifest": "^2.0.3",
"phar-io/version": "^3.0.2",
"php": ">=7.3",
- "phpspec/prophecy": "^1.12.1",
- "phpunit/php-code-coverage": "^9.2.7",
+ "phpunit/php-code-coverage": "^9.2.13",
"phpunit/php-file-iterator": "^3.0.5",
"phpunit/php-invoker": "^3.1.1",
"phpunit/php-text-template": "^2.0.3",
"phpunit/php-timer": "^5.0.2",
"sebastian/cli-parser": "^1.0.1",
"sebastian/code-unit": "^1.0.6",
- "sebastian/comparator": "^4.0.5",
+ "sebastian/comparator": "^4.0.8",
"sebastian/diff": "^4.0.3",
"sebastian/environment": "^5.1.3",
- "sebastian/exporter": "^4.0.3",
+ "sebastian/exporter": "^4.0.5",
"sebastian/global-state": "^5.0.1",
"sebastian/object-enumerator": "^4.0.3",
"sebastian/resource-operations": "^3.0.3",
- "sebastian/type": "^2.3.4",
+ "sebastian/type": "^3.2",
"sebastian/version": "^3.0.2"
},
- "require-dev": {
- "ext-pdo": "*",
- "phpspec/prophecy-phpunit": "^2.0.1"
- },
"suggest": {
"ext-soap": "*",
"ext-xdebug": "*"
@@ -11319,15 +10783,15 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "9.5-dev"
+ "dev-master": "9.6-dev"
}
},
"autoload": {
- "classmap": [
- "src/"
- ],
"files": [
"src/Framework/Assert/Functions.php"
+ ],
+ "classmap": [
+ "src/"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -11350,19 +10814,23 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.10"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.3"
},
"funding": [
{
- "url": "https://phpunit.de/donate.html",
+ "url": "https://phpunit.de/sponsors.html",
"type": "custom"
},
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit",
+ "type": "tidelift"
}
],
- "time": "2021-09-25T07:38:51+00:00"
+ "time": "2023-02-04T13:37:15+00:00"
},
{
"name": "sebastian/cli-parser",
@@ -11533,16 +11001,16 @@
},
{
"name": "sebastian/comparator",
- "version": "4.0.6",
+ "version": "4.0.8",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "55f4261989e546dc112258c7a75935a81a7ce382"
+ "reference": "fa0f136dd2334583309d32b62544682ee972b51a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55f4261989e546dc112258c7a75935a81a7ce382",
- "reference": "55f4261989e546dc112258c7a75935a81a7ce382",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a",
+ "reference": "fa0f136dd2334583309d32b62544682ee972b51a",
"shasum": ""
},
"require": {
@@ -11595,7 +11063,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/comparator/issues",
- "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.6"
+ "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8"
},
"funding": [
{
@@ -11603,7 +11071,7 @@
"type": "github"
}
],
- "time": "2020-10-26T15:49:45+00:00"
+ "time": "2022-09-14T12:41:17+00:00"
},
{
"name": "sebastian/complexity",
@@ -11730,16 +11198,16 @@
},
{
"name": "sebastian/environment",
- "version": "5.1.3",
+ "version": "5.1.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "388b6ced16caa751030f6a69e588299fa09200ac"
+ "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/388b6ced16caa751030f6a69e588299fa09200ac",
- "reference": "388b6ced16caa751030f6a69e588299fa09200ac",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed",
+ "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed",
"shasum": ""
},
"require": {
@@ -11781,7 +11249,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/environment/issues",
- "source": "https://github.com/sebastianbergmann/environment/tree/5.1.3"
+ "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5"
},
"funding": [
{
@@ -11789,20 +11257,20 @@
"type": "github"
}
],
- "time": "2020-09-28T05:52:38+00:00"
+ "time": "2023-02-03T06:03:51+00:00"
},
{
"name": "sebastian/exporter",
- "version": "4.0.4",
+ "version": "4.0.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9"
+ "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/65e8b7db476c5dd267e65eea9cab77584d3cfff9",
- "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d",
+ "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d",
"shasum": ""
},
"require": {
@@ -11858,7 +11326,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/exporter/issues",
- "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.4"
+ "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.5"
},
"funding": [
{
@@ -11866,20 +11334,20 @@
"type": "github"
}
],
- "time": "2021-11-11T14:18:36+00:00"
+ "time": "2022-09-14T06:03:37+00:00"
},
{
"name": "sebastian/global-state",
- "version": "5.0.3",
+ "version": "5.0.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "23bd5951f7ff26f12d4e3242864df3e08dec4e49"
+ "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/23bd5951f7ff26f12d4e3242864df3e08dec4e49",
- "reference": "23bd5951f7ff26f12d4e3242864df3e08dec4e49",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2",
+ "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2",
"shasum": ""
},
"require": {
@@ -11922,7 +11390,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/global-state/issues",
- "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.3"
+ "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.5"
},
"funding": [
{
@@ -11930,7 +11398,7 @@
"type": "github"
}
],
- "time": "2021-06-11T13:31:12+00:00"
+ "time": "2022-02-14T08:28:10+00:00"
},
{
"name": "sebastian/lines-of-code",
@@ -12103,16 +11571,16 @@
},
{
"name": "sebastian/recursion-context",
- "version": "4.0.4",
+ "version": "4.0.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git",
- "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172"
+ "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172",
- "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
+ "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
"shasum": ""
},
"require": {
@@ -12151,10 +11619,10 @@
}
],
"description": "Provides functionality to recursively process PHP variables",
- "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
+ "homepage": "https://github.com/sebastianbergmann/recursion-context",
"support": {
"issues": "https://github.com/sebastianbergmann/recursion-context/issues",
- "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4"
+ "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5"
},
"funding": [
{
@@ -12162,7 +11630,7 @@
"type": "github"
}
],
- "time": "2020-10-26T13:17:30+00:00"
+ "time": "2023-02-03T06:07:39+00:00"
},
{
"name": "sebastian/resource-operations",
@@ -12221,28 +11689,28 @@
},
{
"name": "sebastian/type",
- "version": "2.3.4",
+ "version": "3.2.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/type.git",
- "reference": "b8cd8a1c753c90bc1a0f5372170e3e489136f914"
+ "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/b8cd8a1c753c90bc1a0f5372170e3e489136f914",
- "reference": "b8cd8a1c753c90bc1a0f5372170e3e489136f914",
+ "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7",
+ "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7",
"shasum": ""
},
"require": {
"php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^9.5"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.3-dev"
+ "dev-master": "3.2-dev"
}
},
"autoload": {
@@ -12265,7 +11733,7 @@
"homepage": "https://github.com/sebastianbergmann/type",
"support": {
"issues": "https://github.com/sebastianbergmann/type/issues",
- "source": "https://github.com/sebastianbergmann/type/tree/2.3.4"
+ "source": "https://github.com/sebastianbergmann/type/tree/3.2.1"
},
"funding": [
{
@@ -12273,7 +11741,7 @@
"type": "github"
}
],
- "time": "2021-06-15T12:49:02+00:00"
+ "time": "2023-02-03T06:13:03+00:00"
},
{
"name": "sebastian/version",
@@ -12330,28 +11798,27 @@
},
{
"name": "symfony/browser-kit",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/browser-kit.git",
- "reference": "d250db364a35ba5d60626b2a6f10f2eaf2073bde"
+ "reference": "ea591a69d714216d29cb67b519b509bd32b735a2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/browser-kit/zipball/d250db364a35ba5d60626b2a6f10f2eaf2073bde",
- "reference": "d250db364a35ba5d60626b2a6f10f2eaf2073bde",
+ "url": "https://api.github.com/repos/symfony/browser-kit/zipball/ea591a69d714216d29cb67b519b509bd32b735a2",
+ "reference": "ea591a69d714216d29cb67b519b509bd32b735a2",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/dom-crawler": "^4.4|^5.0|^6.0",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.1",
+ "symfony/dom-crawler": "^5.4|^6.0"
},
"require-dev": {
- "symfony/css-selector": "^4.4|^5.0|^6.0",
- "symfony/http-client": "^4.4|^5.0|^6.0",
- "symfony/mime": "^4.4|^5.0|^6.0",
- "symfony/process": "^4.4|^5.0|^6.0"
+ "symfony/css-selector": "^5.4|^6.0",
+ "symfony/http-client": "^5.4|^6.0",
+ "symfony/mime": "^5.4|^6.0",
+ "symfony/process": "^5.4|^6.0"
},
"suggest": {
"symfony/process": ""
@@ -12382,7 +11849,7 @@
"description": "Simulates the behavior of a web browser, allowing you to make requests, click on links and submit forms programmatically",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/browser-kit/tree/v5.4.0"
+ "source": "https://github.com/symfony/browser-kit/tree/v6.2.5"
},
"funding": [
{
@@ -12398,38 +11865,37 @@
"type": "tidelift"
}
],
- "time": "2021-10-26T22:29:18+00:00"
+ "time": "2023-01-01T08:38:09+00:00"
},
{
"name": "symfony/debug-bundle",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/debug-bundle.git",
- "reference": "71c299d4516dbc7c8e7bc73f57d57c7f7df9817e"
+ "reference": "c365a0f0f6bf80f17ae9a16bc6989548746071cc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/debug-bundle/zipball/71c299d4516dbc7c8e7bc73f57d57c7f7df9817e",
- "reference": "71c299d4516dbc7c8e7bc73f57d57c7f7df9817e",
+ "url": "https://api.github.com/repos/symfony/debug-bundle/zipball/c365a0f0f6bf80f17ae9a16bc6989548746071cc",
+ "reference": "c365a0f0f6bf80f17ae9a16bc6989548746071cc",
"shasum": ""
},
"require": {
"ext-xml": "*",
- "php": ">=7.2.5",
- "symfony/http-kernel": "^4.4|^5.0|^6.0",
- "symfony/polyfill-php80": "^1.16",
- "symfony/twig-bridge": "^4.4|^5.0|^6.0",
- "symfony/var-dumper": "^4.4|^5.0|^6.0"
+ "php": ">=8.1",
+ "symfony/dependency-injection": "^5.4|^6.0",
+ "symfony/http-kernel": "^5.4|^6.0",
+ "symfony/twig-bridge": "^5.4|^6.0",
+ "symfony/var-dumper": "^5.4|^6.0"
},
"conflict": {
- "symfony/config": "<4.4",
- "symfony/dependency-injection": "<5.2"
+ "symfony/config": "<5.4",
+ "symfony/dependency-injection": "<5.4"
},
"require-dev": {
- "symfony/config": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/web-profiler-bundle": "^4.4|^5.0|^6.0"
+ "symfony/config": "^5.4|^6.0",
+ "symfony/web-profiler-bundle": "^5.4|^6.0"
},
"suggest": {
"symfony/config": "For service container configuration",
@@ -12458,10 +11924,10 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Provides a tight integration of the Symfony Debug component into the Symfony full-stack framework",
+ "description": "Provides a tight integration of the Symfony VarDumper component and the ServerLogCommand from MonologBridge into the Symfony full-stack framework",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/debug-bundle/tree/v5.4.0"
+ "source": "https://github.com/symfony/debug-bundle/tree/v6.2.5"
},
"funding": [
{
@@ -12477,35 +11943,30 @@
"type": "tidelift"
}
],
- "time": "2021-07-21T12:43:48+00:00"
+ "time": "2023-01-01T08:38:09+00:00"
},
{
"name": "symfony/dom-crawler",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/dom-crawler.git",
- "reference": "5b06626e940a3ad54e573511d64d4e00dc8d0fd8"
+ "reference": "19aa4962a0687e96941f0bdb27b794c5b73e2394"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/5b06626e940a3ad54e573511d64d4e00dc8d0fd8",
- "reference": "5b06626e940a3ad54e573511d64d4e00dc8d0fd8",
+ "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/19aa4962a0687e96941f0bdb27b794c5b73e2394",
+ "reference": "19aa4962a0687e96941f0bdb27b794c5b73e2394",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
+ "masterminds/html5": "^2.6",
+ "php": ">=8.1",
"symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php80": "^1.16"
- },
- "conflict": {
- "masterminds/html5": "<2.6"
+ "symfony/polyfill-mbstring": "~1.0"
},
"require-dev": {
- "masterminds/html5": "^2.6",
- "symfony/css-selector": "^4.4|^5.0|^6.0"
+ "symfony/css-selector": "^5.4|^6.0"
},
"suggest": {
"symfony/css-selector": ""
@@ -12536,7 +11997,7 @@
"description": "Eases DOM navigation for HTML and XML documents",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/dom-crawler/tree/v5.4.0"
+ "source": "https://github.com/symfony/dom-crawler/tree/v6.2.5"
},
"funding": [
{
@@ -12552,45 +12013,50 @@
"type": "tidelift"
}
],
- "time": "2021-11-23T10:19:22+00:00"
+ "time": "2023-01-20T17:45:48+00:00"
},
{
"name": "symfony/maker-bundle",
- "version": "v1.38.0",
+ "version": "v1.48.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/maker-bundle.git",
- "reference": "143024ab0e426285d3d9b7f6a3ce51e12a9d8ec5"
+ "reference": "2e428e8432e9879187672fe08f1cc335e2a31dd6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/maker-bundle/zipball/143024ab0e426285d3d9b7f6a3ce51e12a9d8ec5",
- "reference": "143024ab0e426285d3d9b7f6a3ce51e12a9d8ec5",
+ "url": "https://api.github.com/repos/symfony/maker-bundle/zipball/2e428e8432e9879187672fe08f1cc335e2a31dd6",
+ "reference": "2e428e8432e9879187672fe08f1cc335e2a31dd6",
"shasum": ""
},
"require": {
- "doctrine/inflector": "^1.2|^2.0",
+ "doctrine/inflector": "^2.0",
"nikic/php-parser": "^4.11",
- "php": ">=7.1.3",
- "symfony/config": "^4.4|^5.0|^6.0",
- "symfony/console": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
+ "php": ">=8.0",
+ "symfony/config": "^5.4.7|^6.0",
+ "symfony/console": "^5.4.7|^6.0",
+ "symfony/dependency-injection": "^5.4.7|^6.0",
"symfony/deprecation-contracts": "^2.2|^3",
- "symfony/filesystem": "^4.4|^5.0|^6.0",
- "symfony/finder": "^4.4|^5.0|^6.0",
- "symfony/framework-bundle": "^4.4|^5.0|^6.0",
- "symfony/http-kernel": "^4.4|^5.0|^6.0"
+ "symfony/filesystem": "^5.4.7|^6.0",
+ "symfony/finder": "^5.4.3|^6.0",
+ "symfony/framework-bundle": "^5.4.7|^6.0",
+ "symfony/http-kernel": "^5.4.7|^6.0"
+ },
+ "conflict": {
+ "doctrine/doctrine-bundle": "<2.4",
+ "doctrine/orm": "<2.10",
+ "symfony/doctrine-bridge": "<5.4"
},
"require-dev": {
"composer/semver": "^3.0",
- "doctrine/doctrine-bundle": "^1.12.3|^2.0",
- "doctrine/orm": "^2.3",
- "symfony/http-client": "^4.4|^5.0|^6.0",
- "symfony/phpunit-bridge": "^4.4|^5.0|^6.0",
+ "doctrine/doctrine-bundle": "^2.4",
+ "doctrine/orm": "^2.10.0",
+ "symfony/http-client": "^5.4.7|^6.0",
+ "symfony/phpunit-bridge": "^5.4.7|^6.0",
"symfony/polyfill-php80": "^1.16.0",
- "symfony/process": "^4.4|^5.0|^6.0",
- "symfony/security-core": "^4.4|^5.0|^6.0",
- "symfony/yaml": "^4.4|^5.0|^6.0",
+ "symfony/process": "^5.4.7|^6.0",
+ "symfony/security-core": "^5.4.7|^6.0",
+ "symfony/yaml": "^5.4.3|^6.0",
"twig/twig": "^2.0|^3.0"
},
"type": "symfony-bundle",
@@ -12624,7 +12090,7 @@
],
"support": {
"issues": "https://github.com/symfony/maker-bundle/issues",
- "source": "https://github.com/symfony/maker-bundle/tree/v1.38.0"
+ "source": "https://github.com/symfony/maker-bundle/tree/v1.48.0"
},
"funding": [
{
@@ -12640,20 +12106,20 @@
"type": "tidelift"
}
],
- "time": "2022-02-24T21:06:51+00:00"
+ "time": "2022-11-14T10:48:46+00:00"
},
{
"name": "symfony/phpunit-bridge",
- "version": "v6.0.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/phpunit-bridge.git",
- "reference": "5d6cc6720085084f504d2482fc4a2f268784006b"
+ "reference": "d759e5372de414bef53a688c7aa7e240e4fd8aa2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/5d6cc6720085084f504d2482fc4a2f268784006b",
- "reference": "5d6cc6720085084f504d2482fc4a2f268784006b",
+ "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/d759e5372de414bef53a688c7aa7e240e4fd8aa2",
+ "reference": "d759e5372de414bef53a688c7aa7e240e4fd8aa2",
"shasum": ""
},
"require": {
@@ -12707,7 +12173,7 @@
"description": "Provides utilities for PHPUnit, especially user deprecation notices management",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/phpunit-bridge/tree/v6.0.0"
+ "source": "https://github.com/symfony/phpunit-bridge/tree/v6.2.5"
},
"funding": [
{
@@ -12723,43 +12189,41 @@
"type": "tidelift"
}
],
- "time": "2021-11-29T15:32:57+00:00"
+ "time": "2023-01-01T08:38:09+00:00"
},
{
"name": "symfony/web-profiler-bundle",
- "version": "v5.4.0",
+ "version": "v6.2.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/web-profiler-bundle.git",
- "reference": "85261499e255007ac76afe1a943b0c7c0f925c45"
+ "reference": "8d4b1a806ae185a735f789edfdc346c8b43d914b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/85261499e255007ac76afe1a943b0c7c0f925c45",
- "reference": "85261499e255007ac76afe1a943b0c7c0f925c45",
+ "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/8d4b1a806ae185a735f789edfdc346c8b43d914b",
+ "reference": "8d4b1a806ae185a735f789edfdc346c8b43d914b",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/config": "^4.4|^5.0|^6.0",
- "symfony/framework-bundle": "^5.3|^6.0",
- "symfony/http-kernel": "^5.3|^6.0",
- "symfony/polyfill-php80": "^1.16",
- "symfony/routing": "^4.4|^5.0|^6.0",
- "symfony/twig-bundle": "^4.4|^5.0|^6.0",
+ "php": ">=8.1",
+ "symfony/config": "^5.4|^6.0",
+ "symfony/framework-bundle": "^5.4|^6.0",
+ "symfony/http-kernel": "^6.1",
+ "symfony/routing": "^5.4|^6.0",
+ "symfony/twig-bundle": "^5.4|^6.0",
"twig/twig": "^2.13|^3.0.4"
},
"conflict": {
- "symfony/dependency-injection": "<5.2",
- "symfony/form": "<4.4",
+ "symfony/form": "<5.4",
"symfony/mailer": "<5.4",
- "symfony/messenger": "<4.4"
+ "symfony/messenger": "<5.4"
},
"require-dev": {
- "symfony/browser-kit": "^4.4|^5.0|^6.0",
- "symfony/console": "^4.4|^5.0|^6.0",
- "symfony/css-selector": "^4.4|^5.0|^6.0",
- "symfony/stopwatch": "^4.4|^5.0|^6.0"
+ "symfony/browser-kit": "^5.4|^6.0",
+ "symfony/console": "^5.4|^6.0",
+ "symfony/css-selector": "^5.4|^6.0",
+ "symfony/stopwatch": "^5.4|^6.0"
},
"type": "symfony-bundle",
"autoload": {
@@ -12787,79 +12251,7 @@
"description": "Provides a development tool that gives detailed information about the execution of any request",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/web-profiler-bundle/tree/v5.4.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2021-11-21T13:58:13+00:00"
- },
- {
- "name": "symfony/web-server-bundle",
- "version": "v4.4.27",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/web-server-bundle.git",
- "reference": "c283d46b40b1c9dee20771433a19fa7f4a9bb97a"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/web-server-bundle/zipball/c283d46b40b1c9dee20771433a19fa7f4a9bb97a",
- "reference": "c283d46b40b1c9dee20771433a19fa7f4a9bb97a",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1.3",
- "symfony/config": "^3.4|^4.0|^5.0",
- "symfony/console": "^3.4|^4.0|^5.0",
- "symfony/dependency-injection": "^3.4|^4.0|^5.0",
- "symfony/http-kernel": "^3.4|^4.0|^5.0",
- "symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-php80": "^1.16",
- "symfony/process": "^3.4.2|^4.0.2|^5.0"
- },
- "suggest": {
- "symfony/expression-language": "For using the filter option of the log server.",
- "symfony/monolog-bridge": "For using the log server."
- },
- "type": "symfony-bundle",
- "autoload": {
- "psr-4": {
- "Symfony\\Bundle\\WebServerBundle\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Provides commands for running applications using the PHP built-in web server",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/web-server-bundle/tree/v4.4.27"
+ "source": "https://github.com/symfony/web-profiler-bundle/tree/v6.2.5"
},
"funding": [
{
@@ -12875,7 +12267,7 @@
"type": "tidelift"
}
],
- "time": "2021-07-21T12:19:41+00:00"
+ "time": "2023-01-01T08:38:09+00:00"
},
{
"name": "theseer/tokenizer",
@@ -12934,10 +12326,10 @@
"prefer-stable": false,
"prefer-lowest": false,
"platform": {
- "php": "^7.4.25",
+ "php": "^8.1",
"ext-ctype": "*",
"ext-iconv": "*"
},
"platform-dev": [],
- "plugin-api-version": "2.0.0"
+ "plugin-api-version": "2.1.0"
}
diff --git a/config/assistant.yaml b/config/assistant.yaml
new file mode 100644
index 00000000..b515c146
--- /dev/null
+++ b/config/assistant.yaml
@@ -0,0 +1,53 @@
+steps:
+ 0:
+ type: 'App\Form\Type\SoftwareType'
+ title: 'software.processing.title'
+ info: 'software.processing.info'
+ newTitle: 'new.software'
+ skip: true
+ 1:
+ type: 'App\Form\Type\VVTType'
+ title: 'procedure.processing.title'
+ info: 'procedure.processing.info'
+ newTitle: 'new.procedure'
+ software: 0
+ 2:
+ type: 'App\Form\Type\KontaktType'
+ title: 'contact.source.title'
+ info: 'contact.source.info'
+ newTitle: 'new.contact'
+ 3:
+ type: 'App\Form\Type\DatenweitergabeType'
+ title: 'processing.title'
+ info: 'processing.info'
+ newTitle: 'new.processing'
+ transferType: 2
+ software: 0
+ procedure: 1
+ contact: 2
+ 4:
+ type: 'App\Form\Type\SoftwareType'
+ title: 'software.transfer.title'
+ info: 'software.transfer.info'
+ newTitle: 'new.software'
+ skip: true
+ 5:
+ type: 'App\Form\Type\VVTType'
+ title: 'procedure.transfer.title'
+ info: 'procedure.transfer.info'
+ newTitle: 'new.procedure'
+ software: 4
+ 6:
+ type: 'App\Form\Type\KontaktType'
+ title: 'contact.dest.title'
+ info: 'contact.dest.info'
+ newTitle: 'new.contact'
+ 7:
+ type: 'App\Form\Type\DatenweitergabeType'
+ title: 'transfer.title'
+ info: 'transfer.info'
+ newTitle: 'new.transfer'
+ transferType: 1
+ software: 4
+ procedure: 5
+ contact: 6
diff --git a/config/bundles.php b/config/bundles.php
index 1d187aa5..ff518d85 100644
--- a/config/bundles.php
+++ b/config/bundles.php
@@ -12,12 +12,10 @@
Symfony\Bundle\MonologBundle\MonologBundle::class => ['all' => true],
Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true, 'test' => true],
Symfony\Bundle\MakerBundle\MakerBundle::class => ['dev' => true],
- Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle::class => ['all' => true],
Vich\UploaderBundle\VichUploaderBundle::class => ['all' => true],
Oneup\FlysystemBundle\OneupFlysystemBundle::class => ['all' => true],
Symfony\WebpackEncoreBundle\WebpackEncoreBundle::class => ['all' => true],
Nucleos\DompdfBundle\NucleosDompdfBundle::class => ['all' => true],
KnpU\OAuth2ClientBundle\KnpUOAuth2ClientBundle::class => ['all' => true],
- Symfony\Bundle\WebServerBundle\WebServerBundle::class => ['dev' => true],
Ambta\DoctrineEncryptBundle\AmbtaDoctrineEncryptBundle::class => ['all' => true],
];
diff --git a/config/packages/dev/swiftmailer.yaml b/config/packages/dev/swiftmailer.yaml
deleted file mode 100644
index 9b8ff338..00000000
--- a/config/packages/dev/swiftmailer.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-# See https://symfony.com/doc/current/email/dev_environment.html
-swiftmailer:
- delivery_addresses: ['%env(DEV_EMAIL)%']
diff --git a/config/packages/doctrine.yaml b/config/packages/doctrine.yaml
index 5e80e77b..893350ee 100644
--- a/config/packages/doctrine.yaml
+++ b/config/packages/doctrine.yaml
@@ -12,7 +12,7 @@ doctrine:
mappings:
App:
is_bundle: false
- type: annotation
+ type: attribute
dir: '%kernel.project_dir%/src/Entity'
prefix: 'App\Entity'
alias: App
diff --git a/config/packages/mailer.yaml b/config/packages/mailer.yaml
index 56a650d8..a85ce28f 100644
--- a/config/packages/mailer.yaml
+++ b/config/packages/mailer.yaml
@@ -1,3 +1,8 @@
framework:
mailer:
dsn: '%env(MAILER_DSN)%'
+when@dev:
+ framework:
+ mailer:
+ envelope:
+ recipients: ['%env(DEV_EMAIL)%']
diff --git a/config/packages/oneup_flysystem.yaml b/config/packages/oneup_flysystem.yaml
index f7bb01de..ac5dcb0f 100644
--- a/config/packages/oneup_flysystem.yaml
+++ b/config/packages/oneup_flysystem.yaml
@@ -3,45 +3,45 @@ oneup_flysystem:
adapters:
asset_adapter:
local:
- directory: '%kernel.project_dir%/public%app.path.images%'
+ location: '%kernel.project_dir%/public%app.path.images%'
intern_adapter:
local:
- directory: '%kernel.project_dir%/data'
+ location: '%kernel.project_dir%/data'
policy_adapter:
local:
- directory: '%kernel.project_dir%/data/policies'
+ location: '%kernel.project_dir%/data/policies'
forms_adapter:
local:
- directory: '%kernel.project_dir%/data/forms'
+ location: '%kernel.project_dir%/data/forms'
daten_adapter:
local:
- directory: '%kernel.project_dir%/data/daten'
+ location: '%kernel.project_dir%/data/daten'
software_adapter:
local:
- directory: '%kernel.project_dir%/data/software'
+ location: '%kernel.project_dir%/data/software'
filesystems:
- asset_filesystem:
+ asset:
adapter: asset_adapter
alias: League\Flysystem\Asset
- mount: asset_filesystem
- intern_fileSystem:
+ mount: asset
+ intern:
adapter: intern_adapter
alias: League\Flysystem\Intern
- mount: intern_adapter
- policies_fileSystem:
+ mount: intern
+ policies:
adapter: policy_adapter
alias: League\Flysystem\Intern
- mount: policy_adapter
- forms_fileSystem:
+ mount: policies
+ forms:
adapter: forms_adapter
alias: League\Flysystem\Intern
- mount: forms_adapter
- daten_fileSystem:
+ mount: forms
+ daten:
adapter: daten_adapter
alias: League\Flysystem\Intern
- mount: daten_adapter
- software_fileSystem:
+ mount: daten
+ software:
adapter: software_adapter
alias: League\Flysystem\Intern
- mount: software_adapter
\ No newline at end of file
+ mount: software
\ No newline at end of file
diff --git a/config/packages/security.yaml b/config/packages/security.yaml
index e110aaa6..8394aee4 100644
--- a/config/packages/security.yaml
+++ b/config/packages/security.yaml
@@ -1,8 +1,8 @@
security:
- encoders:
+ password_hashers:
App\Entity\User:
algorithm: auto
-
+ enable_authenticator_manager: true
role_hierarchy:
@@ -23,25 +23,23 @@ security:
security: false
main:
pattern: ^/
- anonymous: true
switch_user: true
logout:
path: app_logout
target: dashboard
- guard:
- authenticators:
- - App\Security\GuardServiceKeycloak
+ custom_authenticators:
+ - App\Security\KeycloakAuthenticator
# Easy way to control access for large sections of your site
# Note: Only the *first* access control that matches will be used
access_control:
- { path: /backend/, role: ROLE_ADMIN }
- - { path: /login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- - { path: /no_team$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- - { path: /resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- - { path: /cron/, role: IS_AUTHENTICATED_ANONYMOUSLY }
- - { path: /client/, role: IS_AUTHENTICATED_ANONYMOUSLY }
- - { path: /health/, role: IS_AUTHENTICATED_ANONYMOUSLY }
+ - { path: /login$, role: PUBLIC_ACCESS }
+ - { path: /no_team$, role: PUBLIC_ACCESS }
+ - { path: /resetting, role: PUBLIC_ACCESS }
+ - { path: /cron/, role: PUBLIC_ACCESS }
+ - { path: /client/, role: PUBLIC_ACCESS }
+ - { path: /health/, role: PUBLIC_ACCESS }
- { path: /register, role: ROLE_ADMIN }
- { path: /, role: ROLE_USER }
diff --git a/config/packages/swiftmailer.yaml b/config/packages/swiftmailer.yaml
deleted file mode 100644
index 0dbfe892..00000000
--- a/config/packages/swiftmailer.yaml
+++ /dev/null
@@ -1,9 +0,0 @@
-swiftmailer:
- spool: { type: 'memory' }
- disable_delivery: false
- host: '%env(MAILER_HOST)%'
- password: '%env(MAILER_PASSWORD)%'
- username: '%env(MAILER_USERNAME)%'
- transport: '%env(MAILER_TRANSPORT)%'
- encryption: '%env(MAILER_ENCRYPTION)%'
- port: '%env(MAILER_PORT)%'
diff --git a/config/packages/translation.yaml b/config/packages/translation.yaml
index 05a2b3d8..155c354b 100644
--- a/config/packages/translation.yaml
+++ b/config/packages/translation.yaml
@@ -1,6 +1,6 @@
framework:
- default_locale: en
+ default_locale: de
translator:
default_path: '%kernel.project_dir%/translations'
fallbacks:
- - en
+ - de
diff --git a/config/packages/vich_uploader.yaml b/config/packages/vich_uploader.yaml
index 3299653b..51129fcf 100644
--- a/config/packages/vich_uploader.yaml
+++ b/config/packages/vich_uploader.yaml
@@ -4,27 +4,27 @@ vich_uploader:
mappings:
profil_picture:
uri_prefix: '%app.path.images%'
- upload_destination: intern_adapter
+ upload_destination: oneup_flysystem.intern_filesystem
namer: vich_uploader.namer_uniqid
delete_on_update: true
policies:
uri_prefix: '%app.path.images%'
- upload_destination: policy_adapter
+ upload_destination: oneup_flysystem.policies_filesystem
namer: vich_uploader.namer_uniqid
delete_on_update: true
forms:
uri_prefix: '%app.path.images%'
- upload_destination: forms_adapter
+ upload_destination: oneup_flysystem.forms_filesystem
namer: vich_uploader.namer_uniqid
delete_on_update: true
daten:
uri_prefix: '%app.path.images%'
- upload_destination: daten_adapter
+ upload_destination: oneup_flysystem.daten_filesystem
namer: vich_uploader.namer_uniqid
delete_on_update: true
software:
uri_prefix: '%kernel.project_dir%/data/software'
- upload_destination: software_adapter
+ upload_destination: oneup_flysystem.software_filesystem
namer: vich_uploader.namer_uniqid
delete_on_update: true
diff --git a/config/routes.yaml b/config/routes.yaml
index 5749978b..02de8665 100644
--- a/config/routes.yaml
+++ b/config/routes.yaml
@@ -3,4 +3,20 @@
# controller: App\Controller\DefaultController::index
app_logout:
path: /login/logout
- methods: GET
\ No newline at end of file
+ methods: GET
+connect_keycloak_check:
+ path: /login/keycloak_login/check
+ controller: App\Controller\LoginControllerKeycloak::check
+
+when@prod:
+ connect_keycloak_check:
+ path: /login/keycloak_login/check
+ controller: App\Controller\LoginControllerKeycloak::check
+ schemes: [https]
+
+controllers:
+ resource: '../src/Controller/'
+ type: annotation
+ prefix:
+ de: ''
+ en: '/en'
diff --git a/config/services.yaml b/config/services.yaml
index 705a89a0..41e8a2a7 100644
--- a/config/services.yaml
+++ b/config/services.yaml
@@ -12,8 +12,9 @@ parameters:
cronIPAdress: '%env(CRON_IPADRESS)%'
KEYCLOAK_URL: '%env(OAUTH_KEYCLOAK_SERVER)%'
KEYCLOAK_REALM: '%env(OAUTH_KEYCLOAK_REALM)%'
- KEYCLOAK_SECRETE: '%env(OAUTH_KEYCLOAK_CLIENT_SECRET)%'
+ KEYCLOAK_SECRET: '%env(OAUTH_KEYCLOAK_CLIENT_SECRET)%'
KEYCLOAK_ID: '%env(OAUTH_KEYCLOAK_CLIENT_ID)%'
+ superAdminRole: '%env(superAdminRole)%'
services:
# default configuration for services in *this* file
_defaults:
diff --git a/crowdin.yml b/crowdin.yml
new file mode 100644
index 00000000..3cf1aaaf
--- /dev/null
+++ b/crowdin.yml
@@ -0,0 +1,4 @@
+files:
+ - source: /translations/*/*.de.yaml
+ translation: /%original_path%/%file_name%.%two_letters_code%.yaml
+ translation_replace: {"de.": ""}
diff --git a/installDockerDebian.sh b/installDockerDebian.sh
new file mode 100644
index 00000000..db14256f
--- /dev/null
+++ b/installDockerDebian.sh
@@ -0,0 +1,22 @@
+sudo apt-get remove docker docker-engine docker.io containerd runc
+
+sudo apt-get update
+sudo apt-get install ca-certificates curl gnupg
+
+sudo install -m 0755 -d /etc/apt/keyrings
+curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
+sudo chmod a+r /etc/apt/keyrings/docker.gpg
+
+echo \
+ "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
+ "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
+ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
+
+sudo apt-get update
+sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin
+
+sudo wget https://github.com/docker/compose/releases/download/v2.7.0/docker-compose-linux-x86_64 -O /usr/local/bin/docker-compose
+sudo chmod +x /usr/local/bin/docker-compose
+docker-compose -v
+
+sudo bash ./installOdcDocker.sh
\ No newline at end of file
diff --git a/installDockerUbuntu.sh b/installDockerUbuntu.sh
new file mode 100644
index 00000000..3d6bfcd3
--- /dev/null
+++ b/installDockerUbuntu.sh
@@ -0,0 +1,22 @@
+sudo apt-get remove docker docker-engine docker.io containerd runc
+
+sudo apt-get update
+sudo apt-get install ca-certificates curl gnupg
+
+sudo install -m 0755 -d /etc/apt/keyrings
+curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
+sudo chmod a+r /etc/apt/keyrings/docker.gpg
+
+echo \
+ "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
+ "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
+ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
+
+sudo apt-get update
+sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin
+
+sudo wget https://github.com/docker/compose/releases/download/v2.7.0/docker-compose-linux-x86_64 -O /usr/local/bin/docker-compose
+sudo chmod +x /usr/local/bin/docker-compose
+docker-compose -v
+
+sudo bash ./installOdcDocker.sh
\ No newline at end of file
diff --git a/installDocker.sh b/installOdcDocker.sh
similarity index 97%
rename from installDocker.sh
rename to installOdcDocker.sh
index afdc37f3..59c4d9e1 100644
--- a/installDocker.sh
+++ b/installOdcDocker.sh
@@ -14,20 +14,20 @@ else
echo "ODC_DB_PW=$ODC_DB_PW" >> $FILE
source $FILE
fi
- ENVIRONMENT=${ENVIRONMENT:=dev}
+ ENVIRONMENT=${ENVIRONMENT:=prod}
read -p "Enter the environment dev/prod[$ENVIRONMENT]: " input
ENVIRONMENT=${input:=$ENVIRONMENT}
sed -i '/ENVIRONMENT/d' $FILE
echo "ENVIRONMENT=$ENVIRONMENT" >> $FILE
- HTTP_METHOD=${HTTP_METHOD:=http}
+ HTTP_METHOD=${HTTP_METHOD:=https}
read -p "Enter http/https for testing on local environment ALWAYS use http [$HTTP_METHOD]: " input
HTTP_METHOD=${input:=$HTTP_METHOD}
sed -i '/HTTP_METHOD/d' $FILE
echo "HTTP_METHOD=$HTTP_METHOD" >> $FILE
PUBLIC_URL=${PUBLIC_URL:=dev.domain.de}
- read -p "Enter the url you want to enter the open-datenschutzcenter [$PUBLIC_URL]: " input
+ read -p "Enter the url you want to enter the open-datenschutzcenter without http://, https:// or ports [$PUBLIC_URL]: " input
PUBLIC_URL=${input:=$PUBLIC_URL}
sed -i '/PUBLIC_URL/d' $FILE
echo "PUBLIC_URL=$PUBLIC_URL" >> $FILE
diff --git a/package-lock.json b/package-lock.json
index c3514452..22dc71a7 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -4,6 +4,7 @@
"requires": true,
"packages": {
"": {
+ "name": "open-datenschutzcenter",
"license": "UNLICENSED",
"dependencies": {
"bootstrap": "^4.5.0",
@@ -21,344 +22,476 @@
"vis-network": "^7.8.0"
},
"devDependencies": {
- "@symfony/webpack-encore": "^0.30.0",
+ "@symfony/webpack-encore": "^3.0.0",
"core-js": "^3.0.0",
"regenerator-runtime": "^0.13.2",
"webpack-notifier": "^1.6.0"
}
},
- "node_modules/@babel/code-frame": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "node_modules/@ampproject/remapping": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
+ "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
"dev": true,
"dependencies": {
- "@babel/highlight": "^7.10.4"
+ "@jridgewell/gen-mapping": "^0.1.0",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ },
+ "engines": {
+ "node": ">=6.0.0"
}
},
- "node_modules/@babel/compat-data": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.10.4.tgz",
- "integrity": "sha512-t+rjExOrSVvjQQXNp5zAIYDp00KjdvGl/TpDX5REPr0S9IAIPQMTilcfG6q8c0QFmj9lSTVySV2VTsyggvtNIw==",
+ "node_modules/@babel/code-frame": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
+ "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
"dev": true,
"dependencies": {
- "browserslist": "^4.12.0",
- "invariant": "^2.2.4",
- "semver": "^5.5.0"
+ "@babel/highlight": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
- "node_modules/@babel/compat-data/node_modules/semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "node_modules/@babel/compat-data": {
+ "version": "7.18.8",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.8.tgz",
+ "integrity": "sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==",
"dev": true,
- "bin": {
- "semver": "bin/semver"
+ "engines": {
+ "node": ">=6.9.0"
}
},
"node_modules/@babel/core": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.10.4.tgz",
- "integrity": "sha512-3A0tS0HWpy4XujGc7QtOIHTeNwUgWaZc/WuS5YQrfhU67jnVmsD6OGPc1AKHH0LJHQICGncy3+YUjIhVlfDdcA==",
- "dev": true,
- "dependencies": {
- "@babel/code-frame": "^7.10.4",
- "@babel/generator": "^7.10.4",
- "@babel/helper-module-transforms": "^7.10.4",
- "@babel/helpers": "^7.10.4",
- "@babel/parser": "^7.10.4",
- "@babel/template": "^7.10.4",
- "@babel/traverse": "^7.10.4",
- "@babel/types": "^7.10.4",
+ "version": "7.18.10",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.10.tgz",
+ "integrity": "sha512-JQM6k6ENcBFKVtWvLavlvi/mPcpYZ3+R+2EySDEMSMbp7Mn4FexlbbJVrx2R7Ijhr01T8gyqrOaABWIOgxeUyw==",
+ "dev": true,
+ "dependencies": {
+ "@ampproject/remapping": "^2.1.0",
+ "@babel/code-frame": "^7.18.6",
+ "@babel/generator": "^7.18.10",
+ "@babel/helper-compilation-targets": "^7.18.9",
+ "@babel/helper-module-transforms": "^7.18.9",
+ "@babel/helpers": "^7.18.9",
+ "@babel/parser": "^7.18.10",
+ "@babel/template": "^7.18.10",
+ "@babel/traverse": "^7.18.10",
+ "@babel/types": "^7.18.10",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
- "gensync": "^1.0.0-beta.1",
- "json5": "^2.1.2",
- "lodash": "^4.17.13",
- "resolve": "^1.3.2",
- "semver": "^5.4.1",
- "source-map": "^0.5.0"
+ "gensync": "^1.0.0-beta.2",
+ "json5": "^2.2.1",
+ "semver": "^6.3.0"
},
"engines": {
"node": ">=6.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/babel"
}
},
"node_modules/@babel/core/node_modules/semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
"dev": true,
"bin": {
- "semver": "bin/semver"
+ "semver": "bin/semver.js"
}
},
"node_modules/@babel/generator": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.4.tgz",
- "integrity": "sha512-toLIHUIAgcQygFZRAQcsLQV3CBuX6yOIru1kJk/qqqvcRmZrYe6WavZTSG+bB8MxhnL9YPf+pKQfuiP161q7ng==",
+ "version": "7.18.12",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.12.tgz",
+ "integrity": "sha512-dfQ8ebCN98SvyL7IxNMCUtZQSq5R7kxgN+r8qYTGDmmSion1hX2C0zq2yo1bsCDhXixokv1SAWTZUMYbO/V5zg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.18.10",
+ "@jridgewell/gen-mapping": "^0.3.2",
+ "jsesc": "^2.5.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
+ "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.10.4",
- "jsesc": "^2.5.1",
- "lodash": "^4.17.13",
- "source-map": "^0.5.0"
+ "@jridgewell/set-array": "^1.0.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ },
+ "engines": {
+ "node": ">=6.0.0"
}
},
"node_modules/@babel/helper-annotate-as-pure": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz",
- "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz",
+ "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.10.4"
+ "@babel/types": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
"node_modules/@babel/helper-builder-binary-assignment-operator-visitor": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz",
- "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==",
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz",
+ "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==",
"dev": true,
"dependencies": {
- "@babel/helper-explode-assignable-expression": "^7.10.4",
- "@babel/types": "^7.10.4"
+ "@babel/helper-explode-assignable-expression": "^7.18.6",
+ "@babel/types": "^7.18.9"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
"node_modules/@babel/helper-compilation-targets": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.4.tgz",
- "integrity": "sha512-a3rYhlsGV0UHNDvrtOXBg8/OpfV0OKTkxKPzIplS1zpx7CygDcWWxckxZeDd3gzPzC4kUT0A4nVFDK0wGMh4MQ==",
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz",
+ "integrity": "sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==",
"dev": true,
"dependencies": {
- "@babel/compat-data": "^7.10.4",
- "browserslist": "^4.12.0",
- "invariant": "^2.2.4",
- "levenary": "^1.1.1",
- "semver": "^5.5.0"
+ "@babel/compat-data": "^7.18.8",
+ "@babel/helper-validator-option": "^7.18.6",
+ "browserslist": "^4.20.2",
+ "semver": "^6.3.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
}
},
"node_modules/@babel/helper-compilation-targets/node_modules/semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
"dev": true,
"bin": {
- "semver": "bin/semver"
+ "semver": "bin/semver.js"
}
},
"node_modules/@babel/helper-create-class-features-plugin": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.4.tgz",
- "integrity": "sha512-9raUiOsXPxzzLjCXeosApJItoMnX3uyT4QdM2UldffuGApNrF8e938MwNpDCK9CPoyxrEoCgT+hObJc3mZa6lQ==",
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.9.tgz",
+ "integrity": "sha512-WvypNAYaVh23QcjpMR24CwZY2Nz6hqdOcFdPbNpV56hL5H6KiFheO7Xm1aPdlLQ7d5emYZX7VZwPp9x3z+2opw==",
"dev": true,
"dependencies": {
- "@babel/helper-function-name": "^7.10.4",
- "@babel/helper-member-expression-to-functions": "^7.10.4",
- "@babel/helper-optimise-call-expression": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/helper-replace-supers": "^7.10.4",
- "@babel/helper-split-export-declaration": "^7.10.4"
+ "@babel/helper-annotate-as-pure": "^7.18.6",
+ "@babel/helper-environment-visitor": "^7.18.9",
+ "@babel/helper-function-name": "^7.18.9",
+ "@babel/helper-member-expression-to-functions": "^7.18.9",
+ "@babel/helper-optimise-call-expression": "^7.18.6",
+ "@babel/helper-replace-supers": "^7.18.9",
+ "@babel/helper-split-export-declaration": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
}
},
"node_modules/@babel/helper-create-regexp-features-plugin": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz",
- "integrity": "sha512-2/hu58IEPKeoLF45DBwx3XFqsbCXmkdAay4spVr2x0jYgRxrSNp+ePwvSsy9g6YSaNDcKIQVPXk1Ov8S2edk2g==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz",
+ "integrity": "sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==",
"dev": true,
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.10.4",
- "@babel/helper-regex": "^7.10.4",
- "regexpu-core": "^4.7.0"
+ "@babel/helper-annotate-as-pure": "^7.18.6",
+ "regexpu-core": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
}
},
- "node_modules/@babel/helper-define-map": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.4.tgz",
- "integrity": "sha512-nIij0oKErfCnLUCWaCaHW0Bmtl2RO9cN7+u2QT8yqTywgALKlyUVOvHDElh+b5DwVC6YB1FOYFOTWcN/+41EDA==",
+ "node_modules/@babel/helper-define-polyfill-provider": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz",
+ "integrity": "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==",
"dev": true,
"dependencies": {
- "@babel/helper-function-name": "^7.10.4",
- "@babel/types": "^7.10.4",
- "lodash": "^4.17.13"
+ "@babel/helper-compilation-targets": "^7.17.7",
+ "@babel/helper-plugin-utils": "^7.16.7",
+ "debug": "^4.1.1",
+ "lodash.debounce": "^4.0.8",
+ "resolve": "^1.14.2",
+ "semver": "^6.1.2"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.4.0-0"
}
},
- "node_modules/@babel/helper-explode-assignable-expression": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.4.tgz",
- "integrity": "sha512-4K71RyRQNPRrR85sr5QY4X3VwG4wtVoXZB9+L3r1Gp38DhELyHCtovqydRi7c1Ovb17eRGiQ/FD5s8JdU0Uy5A==",
+ "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
"dev": true,
- "dependencies": {
- "@babel/traverse": "^7.10.4",
- "@babel/types": "^7.10.4"
+ "bin": {
+ "semver": "bin/semver.js"
}
},
- "node_modules/@babel/helper-function-name": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz",
- "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==",
+ "node_modules/@babel/helper-environment-visitor": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz",
+ "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-explode-assignable-expression": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz",
+ "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==",
"dev": true,
"dependencies": {
- "@babel/helper-get-function-arity": "^7.10.4",
- "@babel/template": "^7.10.4",
- "@babel/types": "^7.10.4"
+ "@babel/types": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
- "node_modules/@babel/helper-get-function-arity": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz",
- "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==",
+ "node_modules/@babel/helper-function-name": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz",
+ "integrity": "sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.10.4"
+ "@babel/template": "^7.18.6",
+ "@babel/types": "^7.18.9"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
"node_modules/@babel/helper-hoist-variables": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz",
- "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz",
+ "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.10.4"
+ "@babel/types": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
"node_modules/@babel/helper-member-expression-to-functions": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.4.tgz",
- "integrity": "sha512-m5j85pK/KZhuSdM/8cHUABQTAslV47OjfIB9Cc7P+PvlAoBzdb79BGNfw8RhT5Mq3p+xGd0ZfAKixbrUZx0C7A==",
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz",
+ "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.10.4"
+ "@babel/types": "^7.18.9"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-imports": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz",
- "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz",
+ "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.10.4"
+ "@babel/types": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-transforms": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.4.tgz",
- "integrity": "sha512-Er2FQX0oa3nV7eM1o0tNCTx7izmQtwAQsIiaLRWtavAAEcskb0XJ5OjJbVrYXWOTr8om921Scabn4/tzlx7j1Q==",
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz",
+ "integrity": "sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==",
"dev": true,
"dependencies": {
- "@babel/helper-module-imports": "^7.10.4",
- "@babel/helper-replace-supers": "^7.10.4",
- "@babel/helper-simple-access": "^7.10.4",
- "@babel/helper-split-export-declaration": "^7.10.4",
- "@babel/template": "^7.10.4",
- "@babel/types": "^7.10.4",
- "lodash": "^4.17.13"
+ "@babel/helper-environment-visitor": "^7.18.9",
+ "@babel/helper-module-imports": "^7.18.6",
+ "@babel/helper-simple-access": "^7.18.6",
+ "@babel/helper-split-export-declaration": "^7.18.6",
+ "@babel/helper-validator-identifier": "^7.18.6",
+ "@babel/template": "^7.18.6",
+ "@babel/traverse": "^7.18.9",
+ "@babel/types": "^7.18.9"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
"node_modules/@babel/helper-optimise-call-expression": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz",
- "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz",
+ "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.10.4"
+ "@babel/types": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
"node_modules/@babel/helper-plugin-utils": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
- "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
- "dev": true
- },
- "node_modules/@babel/helper-regex": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.4.tgz",
- "integrity": "sha512-inWpnHGgtg5NOF0eyHlC0/74/VkdRITY9dtTpB2PrxKKn+AkVMRiZz/Adrx+Ssg+MLDesi2zohBW6MVq6b4pOQ==",
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz",
+ "integrity": "sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==",
"dev": true,
- "dependencies": {
- "lodash": "^4.17.13"
+ "engines": {
+ "node": ">=6.9.0"
}
},
"node_modules/@babel/helper-remap-async-to-generator": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.4.tgz",
- "integrity": "sha512-86Lsr6NNw3qTNl+TBcF1oRZMaVzJtbWTyTko+CQL/tvNvcGYEFKbLXDPxtW0HKk3McNOk4KzY55itGWCAGK5tg==",
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz",
+ "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==",
"dev": true,
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.10.4",
- "@babel/helper-wrap-function": "^7.10.4",
- "@babel/template": "^7.10.4",
- "@babel/traverse": "^7.10.4",
- "@babel/types": "^7.10.4"
+ "@babel/helper-annotate-as-pure": "^7.18.6",
+ "@babel/helper-environment-visitor": "^7.18.9",
+ "@babel/helper-wrap-function": "^7.18.9",
+ "@babel/types": "^7.18.9"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
}
},
"node_modules/@babel/helper-replace-supers": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz",
- "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==",
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz",
+ "integrity": "sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==",
"dev": true,
"dependencies": {
- "@babel/helper-member-expression-to-functions": "^7.10.4",
- "@babel/helper-optimise-call-expression": "^7.10.4",
- "@babel/traverse": "^7.10.4",
- "@babel/types": "^7.10.4"
+ "@babel/helper-environment-visitor": "^7.18.9",
+ "@babel/helper-member-expression-to-functions": "^7.18.9",
+ "@babel/helper-optimise-call-expression": "^7.18.6",
+ "@babel/traverse": "^7.18.9",
+ "@babel/types": "^7.18.9"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
"node_modules/@babel/helper-simple-access": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz",
- "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz",
+ "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==",
"dev": true,
"dependencies": {
- "@babel/template": "^7.10.4",
- "@babel/types": "^7.10.4"
+ "@babel/types": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-skip-transparent-expression-wrappers": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz",
+ "integrity": "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.18.9"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
"node_modules/@babel/helper-split-export-declaration": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz",
- "integrity": "sha512-pySBTeoUff56fL5CBU2hWm9TesA4r/rOkI9DyJLvvgz09MB9YtfIYe3iBriVaYNaPe+Alua0vBIOVOLs2buWhg==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz",
+ "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.10.4"
+ "@babel/types": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.18.10",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz",
+ "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
- "dev": true
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz",
+ "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-option": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz",
+ "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
},
"node_modules/@babel/helper-wrap-function": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz",
- "integrity": "sha512-6py45WvEF0MhiLrdxtRjKjufwLL1/ob2qDJgg5JgNdojBAZSAKnAjkyOCNug6n+OBl4VW76XjvgSFTdaMcW0Ug==",
+ "version": "7.18.11",
+ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.18.11.tgz",
+ "integrity": "sha512-oBUlbv+rjZLh2Ks9SKi4aL7eKaAXBWleHzU89mP0G6BMUlRxSckk9tSIkgDGydhgFxHuGSlBQZfnaD47oBEB7w==",
"dev": true,
"dependencies": {
- "@babel/helper-function-name": "^7.10.4",
- "@babel/template": "^7.10.4",
- "@babel/traverse": "^7.10.4",
- "@babel/types": "^7.10.4"
+ "@babel/helper-function-name": "^7.18.9",
+ "@babel/template": "^7.18.10",
+ "@babel/traverse": "^7.18.11",
+ "@babel/types": "^7.18.10"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
"node_modules/@babel/helpers": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.4.tgz",
- "integrity": "sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA==",
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.9.tgz",
+ "integrity": "sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ==",
"dev": true,
"dependencies": {
- "@babel/template": "^7.10.4",
- "@babel/traverse": "^7.10.4",
- "@babel/types": "^7.10.4"
+ "@babel/template": "^7.18.6",
+ "@babel/traverse": "^7.18.9",
+ "@babel/types": "^7.18.9"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
"node_modules/@babel/highlight": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
- "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
+ "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
"dev": true,
"dependencies": {
- "@babel/helper-validator-identifier": "^7.10.4",
+ "@babel/helper-validator-identifier": "^7.18.6",
"chalk": "^2.0.0",
"js-tokens": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
"node_modules/@babel/highlight/node_modules/chalk": {
@@ -375,131 +508,327 @@
"node": ">=4"
}
},
- "node_modules/@babel/parser": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.4.tgz",
- "integrity": "sha512-8jHII4hf+YVDsskTF6WuMB3X4Eh+PsUkC2ljq22so5rHvH+T8BzyL94VOdyFLNR8tBSVXOTbNHOKpR4TfRxVtA==",
+ "node_modules/@babel/highlight/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
"dev": true,
- "bin": {
- "parser": "bin/babel-parser.js"
- },
"engines": {
- "node": ">=6.0.0"
+ "node": ">=0.8.0"
}
},
- "node_modules/@babel/plugin-proposal-async-generator-functions": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.4.tgz",
- "integrity": "sha512-MJbxGSmejEFVOANAezdO39SObkURO5o/8b6fSH6D1pi9RZQt+ldppKPXfqgUWpSQ9asM6xaSaSJIaeWMDRP0Zg==",
+ "node_modules/@babel/highlight/node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
"dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/helper-remap-async-to-generator": "^7.10.4",
- "@babel/plugin-syntax-async-generators": "^7.8.0"
+ "engines": {
+ "node": ">=4"
}
},
- "node_modules/@babel/plugin-proposal-class-properties": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.4.tgz",
- "integrity": "sha512-vhwkEROxzcHGNu2mzUC0OFFNXdZ4M23ib8aRRcJSsW8BZK9pQMD7QB7csl97NBbgGZO7ZyHUyKDnxzOaP4IrCg==",
+ "node_modules/@babel/highlight/node_modules/supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true,
"dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4"
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
}
},
- "node_modules/@babel/plugin-proposal-dynamic-import": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.4.tgz",
- "integrity": "sha512-up6oID1LeidOOASNXgv/CFbgBqTuKJ0cJjz6An5tWD+NVBNlp3VNSBxv2ZdU7SYl3NxJC7agAQDApZusV6uFwQ==",
+ "node_modules/@babel/parser": {
+ "version": "7.18.11",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.11.tgz",
+ "integrity": "sha512-9JKn5vN+hDt0Hdqn1PiJ2guflwP+B6Ga8qbDuoF0PzzVhrzsKIJo8yGqVk6CmMHiMei9w1C1Bp9IMJSIK+HPIQ==",
"dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/plugin-syntax-dynamic-import": "^7.8.0"
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
}
},
- "node_modules/@babel/plugin-proposal-json-strings": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.4.tgz",
- "integrity": "sha512-fCL7QF0Jo83uy1K0P2YXrfX11tj3lkpN7l4dMv9Y9VkowkhkQDwFHFd8IiwyK5MZjE8UpbgokkgtcReH88Abaw==",
+ "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz",
+ "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/plugin-syntax-json-strings": "^7.8.0"
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
}
},
- "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz",
- "integrity": "sha512-wq5n1M3ZUlHl9sqT2ok1T2/MTt6AXE0e1Lz4WzWBr95LsAZ5qDXe4KnFuauYyEyLiohvXFMdbsOTMyLZs91Zlw==",
+ "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz",
+ "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0"
+ "@babel/helper-plugin-utils": "^7.18.9",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9",
+ "@babel/plugin-proposal-optional-chaining": "^7.18.9"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.13.0"
}
},
- "node_modules/@babel/plugin-proposal-numeric-separator": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.4.tgz",
- "integrity": "sha512-73/G7QoRoeNkLZFxsoCCvlg4ezE4eM+57PnOqgaPOozd5myfj7p0muD1mRVJvbUWbOzD+q3No2bWbaKy+DJ8DA==",
+ "node_modules/@babel/plugin-proposal-async-generator-functions": {
+ "version": "7.18.10",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.10.tgz",
+ "integrity": "sha512-1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/plugin-syntax-numeric-separator": "^7.10.4"
+ "@babel/helper-environment-visitor": "^7.18.9",
+ "@babel/helper-plugin-utils": "^7.18.9",
+ "@babel/helper-remap-async-to-generator": "^7.18.9",
+ "@babel/plugin-syntax-async-generators": "^7.8.4"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-proposal-object-rest-spread": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.4.tgz",
- "integrity": "sha512-6vh4SqRuLLarjgeOf4EaROJAHjvu9Gl+/346PbDH9yWbJyfnJ/ah3jmYKYtswEyCoWZiidvVHjHshd4WgjB9BA==",
+ "node_modules/@babel/plugin-proposal-class-properties": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz",
+ "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
- "@babel/plugin-transform-parameters": "^7.10.4"
+ "@babel/helper-create-class-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-proposal-optional-catch-binding": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.4.tgz",
- "integrity": "sha512-LflT6nPh+GK2MnFiKDyLiqSqVHkQnVf7hdoAvyTnnKj9xB3docGRsdPuxp6qqqW19ifK3xgc9U5/FwrSaCNX5g==",
+ "node_modules/@babel/plugin-proposal-class-static-block": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz",
+ "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.0"
+ "@babel/helper-create-class-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/plugin-syntax-class-static-block": "^7.14.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.12.0"
}
},
- "node_modules/@babel/plugin-proposal-optional-chaining": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.4.tgz",
- "integrity": "sha512-ZIhQIEeavTgouyMSdZRap4VPPHqJJ3NEs2cuHs5p0erH+iz6khB0qfgU8g7UuJkG88+fBMy23ZiU+nuHvekJeQ==",
+ "node_modules/@babel/plugin-proposal-dynamic-import": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz",
+ "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/plugin-syntax-optional-chaining": "^7.8.0"
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-proposal-private-methods": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.4.tgz",
- "integrity": "sha512-wh5GJleuI8k3emgTg5KkJK6kHNsGEr0uBTDBuQUBJwckk9xs1ez79ioheEVVxMLyPscB0LfkbVHslQqIzWV6Bw==",
+ "node_modules/@babel/plugin-proposal-export-namespace-from": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz",
+ "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==",
"dev": true,
"dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.18.9",
+ "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-proposal-unicode-property-regex": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.4.tgz",
- "integrity": "sha512-H+3fOgPnEXFL9zGYtKQe4IDOPKYlZdF1kqFDQRRb8PK4B8af1vAGK04tF5iQAAsui+mHNBQSAtd2/ndEDe9wuA==",
+ "node_modules/@babel/plugin-proposal-json-strings": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz",
+ "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==",
"dev": true,
"dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/plugin-syntax-json-strings": "^7.8.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-logical-assignment-operators": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz",
+ "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.9",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz",
+ "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-numeric-separator": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz",
+ "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/plugin-syntax-numeric-separator": "^7.10.4"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-object-rest-spread": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz",
+ "integrity": "sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==",
+ "dev": true,
+ "dependencies": {
+ "@babel/compat-data": "^7.18.8",
+ "@babel/helper-compilation-targets": "^7.18.9",
+ "@babel/helper-plugin-utils": "^7.18.9",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-transform-parameters": "^7.18.8"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-optional-catch-binding": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz",
+ "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-optional-chaining": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz",
+ "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.9",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-private-methods": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz",
+ "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-create-class-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-private-property-in-object": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz",
+ "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.18.6",
+ "@babel/helper-create-class-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-unicode-property-regex": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz",
+ "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
},
"engines": {
"node": ">=4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-syntax-async-generators": {
@@ -509,15 +838,36 @@
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-syntax-class-properties": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz",
- "integrity": "sha512-GCSBF7iUle6rNugfURwNmCGG3Z/2+opxAMLs1nND4bhEG5PuxTIggDBoeYYSujAlLtsupzOHYJQgPS3pivwXIA==",
+ "version": "7.12.13",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
+ "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-class-static-block": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz",
+ "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-syntax-dynamic-import": {
@@ -527,6 +877,36 @@
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-export-namespace-from": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz",
+ "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-import-assertions": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz",
+ "integrity": "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-syntax-json-strings": {
@@ -536,6 +916,21 @@
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-logical-assignment-operators": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
+ "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
@@ -545,6 +940,9 @@
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-syntax-numeric-separator": {
@@ -554,6 +952,9 @@
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-syntax-object-rest-spread": {
@@ -563,6 +964,9 @@
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-syntax-optional-catch-binding": {
@@ -572,6 +976,9 @@
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-syntax-optional-chaining": {
@@ -581,417 +988,651 @@
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-private-property-in-object": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz",
+ "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-syntax-top-level-await": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.4.tgz",
- "integrity": "sha512-ni1brg4lXEmWyafKr0ccFWkJG0CeMt4WV1oyeBW6EFObF4oOHclbkj5cARxAPQyAQ2UTuplJyK4nfkXIMMFvsQ==",
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
+ "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.14.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-transform-arrow-functions": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.4.tgz",
- "integrity": "sha512-9J/oD1jV0ZCBcgnoFWFq1vJd4msoKb/TCpGNFyyLt0zABdcvgK3aYikZ8HjzB14c26bc7E3Q1yugpwGy2aTPNA==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz",
+ "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-transform-async-to-generator": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.4.tgz",
- "integrity": "sha512-F6nREOan7J5UXTLsDsZG3DXmZSVofr2tGNwfdrVwkDWHfQckbQXnXSPfD7iO+c/2HGqycwyLST3DnZ16n+cBJQ==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz",
+ "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==",
"dev": true,
"dependencies": {
- "@babel/helper-module-imports": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/helper-remap-async-to-generator": "^7.10.4"
+ "@babel/helper-module-imports": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/helper-remap-async-to-generator": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-transform-block-scoped-functions": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.4.tgz",
- "integrity": "sha512-WzXDarQXYYfjaV1szJvN3AD7rZgZzC1JtjJZ8dMHUyiK8mxPRahynp14zzNjU3VkPqPsO38CzxiWO1c9ARZ8JA==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz",
+ "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-transform-block-scoping": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.4.tgz",
- "integrity": "sha512-J3b5CluMg3hPUii2onJDRiaVbPtKFPLEaV5dOPY5OeAbDi1iU/UbbFFTgwb7WnanaDy7bjU35kc26W3eM5Qa0A==",
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz",
+ "integrity": "sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4",
- "lodash": "^4.17.13"
+ "@babel/helper-plugin-utils": "^7.18.9"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-transform-classes": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.4.tgz",
- "integrity": "sha512-2oZ9qLjt161dn1ZE0Ms66xBncQH4In8Sqw1YWgBUZuGVJJS5c0OFZXL6dP2MRHrkU/eKhWg8CzFJhRQl50rQxA==",
- "dev": true,
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.10.4",
- "@babel/helper-define-map": "^7.10.4",
- "@babel/helper-function-name": "^7.10.4",
- "@babel/helper-optimise-call-expression": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/helper-replace-supers": "^7.10.4",
- "@babel/helper-split-export-declaration": "^7.10.4",
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz",
+ "integrity": "sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.18.6",
+ "@babel/helper-environment-visitor": "^7.18.9",
+ "@babel/helper-function-name": "^7.18.9",
+ "@babel/helper-optimise-call-expression": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.9",
+ "@babel/helper-replace-supers": "^7.18.9",
+ "@babel/helper-split-export-declaration": "^7.18.6",
"globals": "^11.1.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-transform-computed-properties": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.4.tgz",
- "integrity": "sha512-JFwVDXcP/hM/TbyzGq3l/XWGut7p46Z3QvqFMXTfk6/09m7xZHJUN9xHfsv7vqqD4YnfI5ueYdSJtXqqBLyjBw==",
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz",
+ "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.18.9"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-transform-destructuring": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.4.tgz",
- "integrity": "sha512-+WmfvyfsyF603iPa6825mq6Qrb7uLjTOsa3XOFzlYcYDHSS4QmpOWOL0NNBY5qMbvrcf3tq0Cw+v4lxswOBpgA==",
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz",
+ "integrity": "sha512-p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.18.9"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-transform-dotall-regex": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.4.tgz",
- "integrity": "sha512-ZEAVvUTCMlMFAbASYSVQoxIbHm2OkG2MseW6bV2JjIygOjdVv8tuxrCTzj1+Rynh7ODb8GivUy7dzEXzEhuPaA==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz",
+ "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==",
"dev": true,
"dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@babel/helper-create-regexp-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-transform-duplicate-keys": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.4.tgz",
- "integrity": "sha512-GL0/fJnmgMclHiBTTWXNlYjYsA7rDrtsazHG6mglaGSTh0KsrW04qml+Bbz9FL0LcJIRwBWL5ZqlNHKTkU3xAA==",
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz",
+ "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.18.9"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-transform-exponentiation-operator": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.4.tgz",
- "integrity": "sha512-S5HgLVgkBcRdyQAHbKj+7KyuWx8C6t5oETmUuwz1pt3WTWJhsUV0WIIXuVvfXMxl/QQyHKlSCNNtaIamG8fysw==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz",
+ "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==",
"dev": true,
"dependencies": {
- "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-transform-for-of": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.4.tgz",
- "integrity": "sha512-ItdQfAzu9AlEqmusA/65TqJ79eRcgGmpPPFvBnGILXZH975G0LNjP1yjHvGgfuCxqrPPueXOPe+FsvxmxKiHHQ==",
+ "version": "7.18.8",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz",
+ "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-transform-function-name": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.4.tgz",
- "integrity": "sha512-OcDCq2y5+E0dVD5MagT5X+yTRbcvFjDI2ZVAottGH6tzqjx/LKpgkUepu3hp/u4tZBzxxpNGwLsAvGBvQ2mJzg==",
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz",
+ "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==",
"dev": true,
"dependencies": {
- "@babel/helper-function-name": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@babel/helper-compilation-targets": "^7.18.9",
+ "@babel/helper-function-name": "^7.18.9",
+ "@babel/helper-plugin-utils": "^7.18.9"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-transform-literals": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.4.tgz",
- "integrity": "sha512-Xd/dFSTEVuUWnyZiMu76/InZxLTYilOSr1UlHV+p115Z/Le2Fi1KXkJUYz0b42DfndostYlPub3m8ZTQlMaiqQ==",
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz",
+ "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.18.9"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-transform-member-expression-literals": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.4.tgz",
- "integrity": "sha512-0bFOvPyAoTBhtcJLr9VcwZqKmSjFml1iVxvPL0ReomGU53CX53HsM4h2SzckNdkQcHox1bpAqzxBI1Y09LlBSw==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz",
+ "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-transform-modules-amd": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.4.tgz",
- "integrity": "sha512-3Fw+H3WLUrTlzi3zMiZWp3AR4xadAEMv6XRCYnd5jAlLM61Rn+CRJaZMaNvIpcJpQ3vs1kyifYvEVPFfoSkKOA==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz",
+ "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==",
"dev": true,
"dependencies": {
- "@babel/helper-module-transforms": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/helper-module-transforms": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6",
"babel-plugin-dynamic-import-node": "^2.3.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-transform-modules-commonjs": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.4.tgz",
- "integrity": "sha512-Xj7Uq5o80HDLlW64rVfDBhao6OX89HKUmb+9vWYaLXBZOma4gA6tw4Ni1O5qVDoZWUV0fxMYA0aYzOawz0l+1w==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz",
+ "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==",
"dev": true,
"dependencies": {
- "@babel/helper-module-transforms": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/helper-simple-access": "^7.10.4",
+ "@babel/helper-module-transforms": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/helper-simple-access": "^7.18.6",
"babel-plugin-dynamic-import-node": "^2.3.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-transform-modules-systemjs": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.4.tgz",
- "integrity": "sha512-Tb28LlfxrTiOTGtZFsvkjpyjCl9IoaRI52AEU/VIwOwvDQWtbNJsAqTXzh+5R7i74e/OZHH2c2w2fsOqAfnQYQ==",
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz",
+ "integrity": "sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A==",
"dev": true,
"dependencies": {
- "@babel/helper-hoist-variables": "^7.10.4",
- "@babel/helper-module-transforms": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/helper-hoist-variables": "^7.18.6",
+ "@babel/helper-module-transforms": "^7.18.9",
+ "@babel/helper-plugin-utils": "^7.18.9",
+ "@babel/helper-validator-identifier": "^7.18.6",
"babel-plugin-dynamic-import-node": "^2.3.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-transform-modules-umd": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.4.tgz",
- "integrity": "sha512-mohW5q3uAEt8T45YT7Qc5ws6mWgJAaL/8BfWD9Dodo1A3RKWli8wTS+WiQ/knF+tXlPirW/1/MqzzGfCExKECA==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz",
+ "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==",
"dev": true,
"dependencies": {
- "@babel/helper-module-transforms": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@babel/helper-module-transforms": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.4.tgz",
- "integrity": "sha512-V6LuOnD31kTkxQPhKiVYzYC/Jgdq53irJC/xBSmqcNcqFGV+PER4l6rU5SH2Vl7bH9mLDHcc0+l9HUOe4RNGKA==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz",
+ "integrity": "sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==",
"dev": true,
"dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.10.4"
+ "@babel/helper-create-regexp-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
}
},
"node_modules/@babel/plugin-transform-new-target": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.4.tgz",
- "integrity": "sha512-YXwWUDAH/J6dlfwqlWsztI2Puz1NtUAubXhOPLQ5gjR/qmQ5U96DY4FQO8At33JN4XPBhrjB8I4eMmLROjjLjw==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz",
+ "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-transform-object-super": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.4.tgz",
- "integrity": "sha512-5iTw0JkdRdJvr7sY0vHqTpnruUpTea32JHmq/atIWqsnNussbRzjEDyWep8UNztt1B5IusBYg8Irb0bLbiEBCQ==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz",
+ "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/helper-replace-supers": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/helper-replace-supers": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-transform-parameters": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.4.tgz",
- "integrity": "sha512-RurVtZ/D5nYfEg0iVERXYKEgDFeesHrHfx8RT05Sq57ucj2eOYAP6eu5fynL4Adju4I/mP/I6SO0DqNWAXjfLQ==",
+ "version": "7.18.8",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz",
+ "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==",
"dev": true,
"dependencies": {
- "@babel/helper-get-function-arity": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-transform-property-literals": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.4.tgz",
- "integrity": "sha512-ofsAcKiUxQ8TY4sScgsGeR2vJIsfrzqvFb9GvJ5UdXDzl+MyYCaBj/FGzXuv7qE0aJcjWMILny1epqelnFlz8g==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz",
+ "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-transform-regenerator": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.4.tgz",
- "integrity": "sha512-3thAHwtor39A7C04XucbMg17RcZ3Qppfxr22wYzZNcVIkPHfpM9J0SO8zuCV6SZa265kxBJSrfKTvDCYqBFXGw==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz",
+ "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==",
"dev": true,
"dependencies": {
- "regenerator-transform": "^0.14.2"
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "regenerator-transform": "^0.15.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-transform-reserved-words": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.4.tgz",
- "integrity": "sha512-hGsw1O6Rew1fkFbDImZIEqA8GoidwTAilwCyWqLBM9f+e/u/sQMQu7uX6dyokfOayRuuVfKOW4O7HvaBWM+JlQ==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz",
+ "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-transform-shorthand-properties": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz",
- "integrity": "sha512-AC2K/t7o07KeTIxMoHneyX90v3zkm5cjHJEokrPEAGEy3UCp8sLKfnfOIGdZ194fyN4wfX/zZUWT9trJZ0qc+Q==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz",
+ "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-transform-spread": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.4.tgz",
- "integrity": "sha512-1e/51G/Ni+7uH5gktbWv+eCED9pP8ZpRhZB3jOaI3mmzfvJTWHkuyYTv0Z5PYtyM+Tr2Ccr9kUdQxn60fI5WuQ==",
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz",
+ "integrity": "sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.18.9",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-transform-sticky-regex": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.4.tgz",
- "integrity": "sha512-Ddy3QZfIbEV0VYcVtFDCjeE4xwVTJWTmUtorAJkn6u/92Z/nWJNV+mILyqHKrUxXYKA2EoCilgoPePymKL4DvQ==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz",
+ "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/helper-regex": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-transform-template-literals": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.4.tgz",
- "integrity": "sha512-4NErciJkAYe+xI5cqfS8pV/0ntlY5N5Ske/4ImxAVX7mk9Rxt2bwDTGv1Msc2BRJvWQcmYEC+yoMLdX22aE4VQ==",
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz",
+ "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==",
"dev": true,
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.18.9"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-transform-typeof-symbol": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.4.tgz",
- "integrity": "sha512-QqNgYwuuW0y0H+kUE/GWSR45t/ccRhe14Fs/4ZRouNNQsyd4o3PG4OtHiIrepbM2WKUBDAXKCAK/Lk4VhzTaGA==",
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz",
+ "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.18.9"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-transform-unicode-escapes": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.4.tgz",
- "integrity": "sha512-y5XJ9waMti2J+e7ij20e+aH+fho7Wb7W8rNuu72aKRwCHFqQdhkdU2lo3uZ9tQuboEJcUFayXdARhcxLQ3+6Fg==",
+ "version": "7.18.10",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz",
+ "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.18.9"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-transform-unicode-regex": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.4.tgz",
- "integrity": "sha512-wNfsc4s8N2qnIwpO/WP2ZiSyjfpTamT2C9V9FDH/Ljub9zw6P3SjkXcFmc0RQUt96k2fmIvtla2MMjgTwIAC+A==",
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz",
+ "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==",
"dev": true,
"dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@babel/helper-create-regexp-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/preset-env": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.10.4.tgz",
- "integrity": "sha512-tcmuQ6vupfMZPrLrc38d0sF2OjLT3/bZ0dry5HchNCQbrokoQi4reXqclvkkAT5b+gWc23meVWpve5P/7+w/zw==",
- "dev": true,
- "dependencies": {
- "@babel/compat-data": "^7.10.4",
- "@babel/helper-compilation-targets": "^7.10.4",
- "@babel/helper-module-imports": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/plugin-proposal-async-generator-functions": "^7.10.4",
- "@babel/plugin-proposal-class-properties": "^7.10.4",
- "@babel/plugin-proposal-dynamic-import": "^7.10.4",
- "@babel/plugin-proposal-json-strings": "^7.10.4",
- "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.4",
- "@babel/plugin-proposal-numeric-separator": "^7.10.4",
- "@babel/plugin-proposal-object-rest-spread": "^7.10.4",
- "@babel/plugin-proposal-optional-catch-binding": "^7.10.4",
- "@babel/plugin-proposal-optional-chaining": "^7.10.4",
- "@babel/plugin-proposal-private-methods": "^7.10.4",
- "@babel/plugin-proposal-unicode-property-regex": "^7.10.4",
- "@babel/plugin-syntax-async-generators": "^7.8.0",
- "@babel/plugin-syntax-class-properties": "^7.10.4",
- "@babel/plugin-syntax-dynamic-import": "^7.8.0",
- "@babel/plugin-syntax-json-strings": "^7.8.0",
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0",
+ "version": "7.18.10",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.10.tgz",
+ "integrity": "sha512-wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/compat-data": "^7.18.8",
+ "@babel/helper-compilation-targets": "^7.18.9",
+ "@babel/helper-plugin-utils": "^7.18.9",
+ "@babel/helper-validator-option": "^7.18.6",
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6",
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9",
+ "@babel/plugin-proposal-async-generator-functions": "^7.18.10",
+ "@babel/plugin-proposal-class-properties": "^7.18.6",
+ "@babel/plugin-proposal-class-static-block": "^7.18.6",
+ "@babel/plugin-proposal-dynamic-import": "^7.18.6",
+ "@babel/plugin-proposal-export-namespace-from": "^7.18.9",
+ "@babel/plugin-proposal-json-strings": "^7.18.6",
+ "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9",
+ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6",
+ "@babel/plugin-proposal-numeric-separator": "^7.18.6",
+ "@babel/plugin-proposal-object-rest-spread": "^7.18.9",
+ "@babel/plugin-proposal-optional-catch-binding": "^7.18.6",
+ "@babel/plugin-proposal-optional-chaining": "^7.18.9",
+ "@babel/plugin-proposal-private-methods": "^7.18.6",
+ "@babel/plugin-proposal-private-property-in-object": "^7.18.6",
+ "@babel/plugin-proposal-unicode-property-regex": "^7.18.6",
+ "@babel/plugin-syntax-async-generators": "^7.8.4",
+ "@babel/plugin-syntax-class-properties": "^7.12.13",
+ "@babel/plugin-syntax-class-static-block": "^7.14.5",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3",
+ "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
+ "@babel/plugin-syntax-import-assertions": "^7.18.6",
+ "@babel/plugin-syntax-json-strings": "^7.8.3",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
"@babel/plugin-syntax-numeric-separator": "^7.10.4",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.0",
- "@babel/plugin-syntax-optional-chaining": "^7.8.0",
- "@babel/plugin-syntax-top-level-await": "^7.10.4",
- "@babel/plugin-transform-arrow-functions": "^7.10.4",
- "@babel/plugin-transform-async-to-generator": "^7.10.4",
- "@babel/plugin-transform-block-scoped-functions": "^7.10.4",
- "@babel/plugin-transform-block-scoping": "^7.10.4",
- "@babel/plugin-transform-classes": "^7.10.4",
- "@babel/plugin-transform-computed-properties": "^7.10.4",
- "@babel/plugin-transform-destructuring": "^7.10.4",
- "@babel/plugin-transform-dotall-regex": "^7.10.4",
- "@babel/plugin-transform-duplicate-keys": "^7.10.4",
- "@babel/plugin-transform-exponentiation-operator": "^7.10.4",
- "@babel/plugin-transform-for-of": "^7.10.4",
- "@babel/plugin-transform-function-name": "^7.10.4",
- "@babel/plugin-transform-literals": "^7.10.4",
- "@babel/plugin-transform-member-expression-literals": "^7.10.4",
- "@babel/plugin-transform-modules-amd": "^7.10.4",
- "@babel/plugin-transform-modules-commonjs": "^7.10.4",
- "@babel/plugin-transform-modules-systemjs": "^7.10.4",
- "@babel/plugin-transform-modules-umd": "^7.10.4",
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.10.4",
- "@babel/plugin-transform-new-target": "^7.10.4",
- "@babel/plugin-transform-object-super": "^7.10.4",
- "@babel/plugin-transform-parameters": "^7.10.4",
- "@babel/plugin-transform-property-literals": "^7.10.4",
- "@babel/plugin-transform-regenerator": "^7.10.4",
- "@babel/plugin-transform-reserved-words": "^7.10.4",
- "@babel/plugin-transform-shorthand-properties": "^7.10.4",
- "@babel/plugin-transform-spread": "^7.10.4",
- "@babel/plugin-transform-sticky-regex": "^7.10.4",
- "@babel/plugin-transform-template-literals": "^7.10.4",
- "@babel/plugin-transform-typeof-symbol": "^7.10.4",
- "@babel/plugin-transform-unicode-escapes": "^7.10.4",
- "@babel/plugin-transform-unicode-regex": "^7.10.4",
- "@babel/preset-modules": "^0.1.3",
- "@babel/types": "^7.10.4",
- "browserslist": "^4.12.0",
- "core-js-compat": "^3.6.2",
- "invariant": "^2.2.2",
- "levenary": "^1.1.1",
- "semver": "^5.5.0"
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3",
+ "@babel/plugin-syntax-private-property-in-object": "^7.14.5",
+ "@babel/plugin-syntax-top-level-await": "^7.14.5",
+ "@babel/plugin-transform-arrow-functions": "^7.18.6",
+ "@babel/plugin-transform-async-to-generator": "^7.18.6",
+ "@babel/plugin-transform-block-scoped-functions": "^7.18.6",
+ "@babel/plugin-transform-block-scoping": "^7.18.9",
+ "@babel/plugin-transform-classes": "^7.18.9",
+ "@babel/plugin-transform-computed-properties": "^7.18.9",
+ "@babel/plugin-transform-destructuring": "^7.18.9",
+ "@babel/plugin-transform-dotall-regex": "^7.18.6",
+ "@babel/plugin-transform-duplicate-keys": "^7.18.9",
+ "@babel/plugin-transform-exponentiation-operator": "^7.18.6",
+ "@babel/plugin-transform-for-of": "^7.18.8",
+ "@babel/plugin-transform-function-name": "^7.18.9",
+ "@babel/plugin-transform-literals": "^7.18.9",
+ "@babel/plugin-transform-member-expression-literals": "^7.18.6",
+ "@babel/plugin-transform-modules-amd": "^7.18.6",
+ "@babel/plugin-transform-modules-commonjs": "^7.18.6",
+ "@babel/plugin-transform-modules-systemjs": "^7.18.9",
+ "@babel/plugin-transform-modules-umd": "^7.18.6",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.18.6",
+ "@babel/plugin-transform-new-target": "^7.18.6",
+ "@babel/plugin-transform-object-super": "^7.18.6",
+ "@babel/plugin-transform-parameters": "^7.18.8",
+ "@babel/plugin-transform-property-literals": "^7.18.6",
+ "@babel/plugin-transform-regenerator": "^7.18.6",
+ "@babel/plugin-transform-reserved-words": "^7.18.6",
+ "@babel/plugin-transform-shorthand-properties": "^7.18.6",
+ "@babel/plugin-transform-spread": "^7.18.9",
+ "@babel/plugin-transform-sticky-regex": "^7.18.6",
+ "@babel/plugin-transform-template-literals": "^7.18.9",
+ "@babel/plugin-transform-typeof-symbol": "^7.18.9",
+ "@babel/plugin-transform-unicode-escapes": "^7.18.10",
+ "@babel/plugin-transform-unicode-regex": "^7.18.6",
+ "@babel/preset-modules": "^0.1.5",
+ "@babel/types": "^7.18.10",
+ "babel-plugin-polyfill-corejs2": "^0.3.2",
+ "babel-plugin-polyfill-corejs3": "^0.5.3",
+ "babel-plugin-polyfill-regenerator": "^0.4.0",
+ "core-js-compat": "^3.22.1",
+ "semver": "^6.3.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/preset-env/node_modules/semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
"dev": true,
"bin": {
- "semver": "bin/semver"
+ "semver": "bin/semver.js"
}
},
"node_modules/@babel/preset-modules": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.3.tgz",
- "integrity": "sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==",
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz",
+ "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==",
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.0.0",
@@ -999,56 +1640,158 @@
"@babel/plugin-transform-dotall-regex": "^7.4.4",
"@babel/types": "^7.4.4",
"esutils": "^2.0.2"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/runtime": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.4.tgz",
- "integrity": "sha512-UpTN5yUJr9b4EX2CnGNWIvER7Ab83ibv0pcvvHc4UOdrBI5jb8bj+32cCwPX6xu0mt2daFNjYhoi+X7beH0RSw==",
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.9.tgz",
+ "integrity": "sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==",
"dev": true,
"dependencies": {
"regenerator-runtime": "^0.13.4"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
"node_modules/@babel/template": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz",
- "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==",
+ "version": "7.18.10",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz",
+ "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==",
"dev": true,
"dependencies": {
- "@babel/code-frame": "^7.10.4",
- "@babel/parser": "^7.10.4",
- "@babel/types": "^7.10.4"
+ "@babel/code-frame": "^7.18.6",
+ "@babel/parser": "^7.18.10",
+ "@babel/types": "^7.18.10"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
"node_modules/@babel/traverse": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.4.tgz",
- "integrity": "sha512-aSy7p5THgSYm4YyxNGz6jZpXf+Ok40QF3aA2LyIONkDHpAcJzDUqlCKXv6peqYUs2gmic849C/t2HKw2a2K20Q==",
- "dev": true,
- "dependencies": {
- "@babel/code-frame": "^7.10.4",
- "@babel/generator": "^7.10.4",
- "@babel/helper-function-name": "^7.10.4",
- "@babel/helper-split-export-declaration": "^7.10.4",
- "@babel/parser": "^7.10.4",
- "@babel/types": "^7.10.4",
+ "version": "7.18.11",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.11.tgz",
+ "integrity": "sha512-TG9PiM2R/cWCAy6BPJKeHzNbu4lPzOSZpeMfeNErskGpTJx6trEvFaVCbDvpcxwy49BKWmEPwiW8mrysNiDvIQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.18.6",
+ "@babel/generator": "^7.18.10",
+ "@babel/helper-environment-visitor": "^7.18.9",
+ "@babel/helper-function-name": "^7.18.9",
+ "@babel/helper-hoist-variables": "^7.18.6",
+ "@babel/helper-split-export-declaration": "^7.18.6",
+ "@babel/parser": "^7.18.11",
+ "@babel/types": "^7.18.10",
"debug": "^4.1.0",
- "globals": "^11.1.0",
- "lodash": "^4.17.13"
+ "globals": "^11.1.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
"node_modules/@babel/types": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.4.tgz",
- "integrity": "sha512-UTCFOxC3FsFHb7lkRMVvgLzaRVamXuAs2Tz4wajva4WxtVY82eZeaUBtC2Zt95FU9TiznuC0Zk35tsim8jeVpg==",
+ "version": "7.18.10",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.10.tgz",
+ "integrity": "sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ==",
"dev": true,
"dependencies": {
- "@babel/helper-validator-identifier": "^7.10.4",
- "lodash": "^4.17.13",
+ "@babel/helper-string-parser": "^7.18.10",
+ "@babel/helper-validator-identifier": "^7.18.6",
"to-fast-properties": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@discoveryjs/json-ext": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz",
+ "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
+ "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/set-array": "^1.0.0",
+ "@jridgewell/sourcemap-codec": "^1.4.10"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
+ "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/set-array": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
+ "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/source-map": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz",
+ "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.0",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ }
+ },
+ "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
+ "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/set-array": "^1.0.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.4.14",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
+ "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
+ "dev": true
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.15",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz",
+ "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.0.3",
+ "@jridgewell/sourcemap-codec": "^1.4.10"
}
},
+ "node_modules/@leichtgewicht/ip-codec": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz",
+ "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==",
+ "dev": true
+ },
"node_modules/@nodelib/fs.scandir": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz",
@@ -1103,52 +1846,134 @@
"node": ">=10"
}
},
+ "node_modules/@nuxt/friendly-errors-webpack-plugin": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/@nuxt/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-2.5.2.tgz",
+ "integrity": "sha512-LLc+90lnxVbpKkMqk5z1EWpXoODhc6gRkqqXJCInJwF5xabHAE7biFvbULfvTRmtaTzAaP8IV4HQDLUgeAUTTw==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^2.3.2",
+ "consola": "^2.6.0",
+ "error-stack-parser": "^2.0.0",
+ "string-width": "^4.2.3"
+ },
+ "engines": {
+ "node": ">=8.0.0",
+ "npm": ">=5.0.0"
+ },
+ "peerDependencies": {
+ "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0"
+ }
+ },
+ "node_modules/@nuxt/friendly-errors-webpack-plugin/node_modules/chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@nuxt/friendly-errors-webpack-plugin/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/@nuxt/friendly-errors-webpack-plugin/node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@nuxt/friendly-errors-webpack-plugin/node_modules/supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/@symfony/webpack-encore": {
- "version": "0.30.2",
- "resolved": "https://registry.npmjs.org/@symfony/webpack-encore/-/webpack-encore-0.30.2.tgz",
- "integrity": "sha512-fJGPnNJ69/FrRcIRluqk5grO4R0ZmXU1n3TyplOjjXv9nuLTA8ljvhk/sMAs/WMri4vb1ZdWwcT5sPw1pmYZdA==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@symfony/webpack-encore/-/webpack-encore-3.0.0.tgz",
+ "integrity": "sha512-59BTz9glnvcGSFeTaYWtNzgfA26wLwh0TSbVQk8I9hmCnFYOFp+LgnUN+T4MyXA4WWg6+DAFIf+CuOD3o1XwoA==",
"dev": true,
"dependencies": {
- "@babel/core": "^7.7.0",
- "@babel/plugin-syntax-dynamic-import": "^7.0.0",
- "@babel/preset-env": "^7.4.0",
- "assets-webpack-plugin": "^3.9.7",
- "babel-loader": "^8.0.0",
+ "@babel/core": "^7.17.0",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.0",
+ "@babel/preset-env": "^7.16.0",
+ "@nuxt/friendly-errors-webpack-plugin": "^2.5.1",
+ "assets-webpack-plugin": "7.0.*",
+ "babel-loader": "^8.2.5",
"chalk": "^4.0.0",
- "clean-webpack-plugin": "^3.0.0",
- "css-loader": "^3.5.2",
- "fast-levenshtein": "^2.0.6",
- "file-loader": "^6.0.0",
- "friendly-errors-webpack-plugin": "^2.0.0-beta.1",
- "loader-utils": "^2.0.0",
- "mini-css-extract-plugin": ">=0.4.0 <0.4.3",
- "optimize-css-assets-webpack-plugin": "^5.0.1",
+ "clean-webpack-plugin": "^4.0.0",
+ "css-loader": "^6.7.0",
+ "css-minimizer-webpack-plugin": "^4.0.0",
+ "fast-levenshtein": "^3.0.0",
+ "mini-css-extract-plugin": "^2.6.0",
"pkg-up": "^3.1.0",
- "pretty-error": "^2.1.1",
- "resolve-url-loader": "^3.0.1",
+ "pretty-error": "^4.0.0",
+ "resolve-url-loader": "^5.0.0",
"semver": "^7.3.2",
- "style-loader": "^1.1.3",
- "terser-webpack-plugin": "^1.1.0",
+ "style-loader": "^3.3.0",
+ "sync-rpc": "^1.3.6",
+ "terser-webpack-plugin": "^5.3.0",
"tmp": "^0.2.1",
- "webpack": "^4.36.0",
- "webpack-cli": "^3.0.0",
- "webpack-dev-server": "^3.1.14",
- "webpack-manifest-plugin": "^2.0.2",
- "webpack-sources": "^1.3.0",
- "yargs-parser": "^18.1.3"
+ "webpack": "^5.72",
+ "webpack-cli": "^4.9.1",
+ "webpack-dev-server": "^4.8.0",
+ "yargs-parser": "^21.0.0"
},
"bin": {
"encore": "bin/encore.js"
},
"engines": {
- "node": ">= 10.13.0"
+ "node": ">=14.0.0"
}
},
- "node_modules/@types/anymatch": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz",
- "integrity": "sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==",
- "dev": true
+ "node_modules/@trysound/sax": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz",
+ "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/@types/body-parser": {
+ "version": "1.19.2",
+ "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz",
+ "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==",
+ "dev": true,
+ "dependencies": {
+ "@types/connect": "*",
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/bonjour": {
+ "version": "3.5.10",
+ "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz",
+ "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
},
"node_modules/@types/color-name": {
"version": "1.1.1",
@@ -1156,25 +1981,108 @@
"integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
"dev": true
},
+ "node_modules/@types/connect": {
+ "version": "3.4.35",
+ "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz",
+ "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/connect-history-api-fallback": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz",
+ "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==",
+ "dev": true,
+ "dependencies": {
+ "@types/express-serve-static-core": "*",
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/eslint": {
+ "version": "8.4.5",
+ "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.5.tgz",
+ "integrity": "sha512-dhsC09y1gpJWnK+Ff4SGvCuSnk9DaU0BJZSzOwa6GVSg65XtTugLBITDAAzRU5duGBoXBHpdR/9jHGxJjNflJQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/estree": "*",
+ "@types/json-schema": "*"
+ }
+ },
+ "node_modules/@types/eslint-scope": {
+ "version": "3.7.4",
+ "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz",
+ "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==",
+ "dev": true,
+ "dependencies": {
+ "@types/eslint": "*",
+ "@types/estree": "*"
+ }
+ },
+ "node_modules/@types/estree": {
+ "version": "0.0.51",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz",
+ "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==",
+ "dev": true
+ },
+ "node_modules/@types/express": {
+ "version": "4.17.13",
+ "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz",
+ "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==",
+ "dev": true,
+ "dependencies": {
+ "@types/body-parser": "*",
+ "@types/express-serve-static-core": "^4.17.18",
+ "@types/qs": "*",
+ "@types/serve-static": "*"
+ }
+ },
+ "node_modules/@types/express-serve-static-core": {
+ "version": "4.17.30",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.30.tgz",
+ "integrity": "sha512-gstzbTWro2/nFed1WXtf+TtrpwxH7Ggs4RLYTLbeVgIkUQOI3WG/JKjgeOU1zXDvezllupjrf8OPIdvTbIaVOQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*",
+ "@types/qs": "*",
+ "@types/range-parser": "*"
+ }
+ },
"node_modules/@types/glob": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.2.tgz",
- "integrity": "sha512-VgNIkxK+j7Nz5P7jvUZlRvhuPSmsEfS03b0alKcq5V/STUKAa3Plemsn5mrQUO7am6OErJ4rhGEGJbACclrtRA==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz",
+ "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==",
"dev": true,
"dependencies": {
"@types/minimatch": "*",
"@types/node": "*"
}
},
+ "node_modules/@types/http-proxy": {
+ "version": "1.17.9",
+ "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz",
+ "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
"node_modules/@types/json-schema": {
- "version": "7.0.5",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.5.tgz",
- "integrity": "sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ=="
+ "version": "7.0.11",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
+ "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ=="
+ },
+ "node_modules/@types/mime": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz",
+ "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==",
+ "dev": true
},
"node_modules/@types/minimatch": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
- "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz",
+ "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==",
"dev": true
},
"node_modules/@types/node": {
@@ -1183,258 +2091,254 @@
"integrity": "sha512-syUgf67ZQpaJj01/tRTknkMNoBBLWJOBODF0Zm4NrXmiSuxjymFrxnTu1QVYRubhVkRcZLYZG8STTwJRdVm/WQ==",
"dev": true
},
- "node_modules/@types/q": {
- "version": "1.5.4",
- "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz",
- "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==",
+ "node_modules/@types/qs": {
+ "version": "6.9.7",
+ "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz",
+ "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==",
"dev": true
},
- "node_modules/@types/source-list-map": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz",
- "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==",
+ "node_modules/@types/range-parser": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz",
+ "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==",
"dev": true
},
- "node_modules/@types/tapable": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.6.tgz",
- "integrity": "sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA==",
+ "node_modules/@types/retry": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz",
+ "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==",
"dev": true
},
- "node_modules/@types/uglify-js": {
- "version": "3.9.3",
- "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.9.3.tgz",
- "integrity": "sha512-KswB5C7Kwduwjj04Ykz+AjvPcfgv/37Za24O2EDzYNbwyzOo8+ydtvzUfZ5UMguiVu29Gx44l1A6VsPPcmYu9w==",
+ "node_modules/@types/serve-index": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz",
+ "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==",
"dev": true,
"dependencies": {
- "source-map": "^0.6.1"
+ "@types/express": "*"
}
},
- "node_modules/@types/uglify-js/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "node_modules/@types/serve-static": {
+ "version": "1.15.0",
+ "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz",
+ "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==",
"dev": true,
- "engines": {
- "node": ">=0.10.0"
+ "dependencies": {
+ "@types/mime": "*",
+ "@types/node": "*"
}
},
- "node_modules/@types/webpack": {
- "version": "4.41.19",
- "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.19.tgz",
- "integrity": "sha512-hBryCwAJhqf7MiYNnsr6UsPVQHF4+sUnXVG9MTVAJFtX8vJoxc2rPFcWEAUVuBOCxfTkEY5TPc7RYUer7EXTEQ==",
+ "node_modules/@types/sockjs": {
+ "version": "0.3.33",
+ "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz",
+ "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==",
"dev": true,
"dependencies": {
- "@types/anymatch": "*",
- "@types/node": "*",
- "@types/tapable": "*",
- "@types/uglify-js": "*",
- "@types/webpack-sources": "*",
- "source-map": "^0.6.0"
+ "@types/node": "*"
}
},
- "node_modules/@types/webpack-sources": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-1.4.0.tgz",
- "integrity": "sha512-c88dKrpSle9BtTqR6ifdaxu1Lvjsl3C5OsfvuUbUwdXymshv1TkufUAXBajCCUM/f/TmnkZC/Esb03MinzSiXQ==",
+ "node_modules/@types/webpack": {
+ "version": "5.28.0",
+ "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-5.28.0.tgz",
+ "integrity": "sha512-8cP0CzcxUiFuA9xGJkfeVpqmWTk9nx6CWwamRGCj95ph1SmlRRk9KlCZ6avhCbZd4L68LvYT6l1kpdEnQXrF8w==",
"dev": true,
+ "optional": true,
+ "peer": true,
"dependencies": {
"@types/node": "*",
- "@types/source-list-map": "*",
- "source-map": "^0.7.3"
- }
- },
- "node_modules/@types/webpack-sources/node_modules/source-map": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
- "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
- "dev": true,
- "engines": {
- "node": ">= 8"
+ "tapable": "^2.2.0",
+ "webpack": "^5"
}
},
- "node_modules/@types/webpack/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "node_modules/@types/ws": {
+ "version": "8.5.3",
+ "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz",
+ "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==",
"dev": true,
- "engines": {
- "node": ">=0.10.0"
+ "dependencies": {
+ "@types/node": "*"
}
},
"node_modules/@webassemblyjs/ast": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz",
- "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
+ "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==",
"dev": true,
"dependencies": {
- "@webassemblyjs/helper-module-context": "1.9.0",
- "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
- "@webassemblyjs/wast-parser": "1.9.0"
+ "@webassemblyjs/helper-numbers": "1.11.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.1"
}
},
"node_modules/@webassemblyjs/floating-point-hex-parser": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz",
- "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz",
+ "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==",
"dev": true
},
"node_modules/@webassemblyjs/helper-api-error": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz",
- "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz",
+ "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==",
"dev": true
},
"node_modules/@webassemblyjs/helper-buffer": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz",
- "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==",
- "dev": true
- },
- "node_modules/@webassemblyjs/helper-code-frame": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz",
- "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==",
- "dev": true,
- "dependencies": {
- "@webassemblyjs/wast-printer": "1.9.0"
- }
- },
- "node_modules/@webassemblyjs/helper-fsm": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz",
- "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz",
+ "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==",
"dev": true
},
- "node_modules/@webassemblyjs/helper-module-context": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz",
- "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==",
+ "node_modules/@webassemblyjs/helper-numbers": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz",
+ "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==",
"dev": true,
"dependencies": {
- "@webassemblyjs/ast": "1.9.0"
+ "@webassemblyjs/floating-point-hex-parser": "1.11.1",
+ "@webassemblyjs/helper-api-error": "1.11.1",
+ "@xtuc/long": "4.2.2"
}
},
"node_modules/@webassemblyjs/helper-wasm-bytecode": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz",
- "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz",
+ "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==",
"dev": true
},
"node_modules/@webassemblyjs/helper-wasm-section": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz",
- "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz",
+ "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==",
"dev": true,
"dependencies": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/helper-buffer": "1.9.0",
- "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
- "@webassemblyjs/wasm-gen": "1.9.0"
+ "@webassemblyjs/ast": "1.11.1",
+ "@webassemblyjs/helper-buffer": "1.11.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
+ "@webassemblyjs/wasm-gen": "1.11.1"
}
},
"node_modules/@webassemblyjs/ieee754": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz",
- "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz",
+ "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==",
"dev": true,
"dependencies": {
"@xtuc/ieee754": "^1.2.0"
}
},
"node_modules/@webassemblyjs/leb128": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz",
- "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz",
+ "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==",
"dev": true,
"dependencies": {
"@xtuc/long": "4.2.2"
}
},
"node_modules/@webassemblyjs/utf8": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz",
- "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz",
+ "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==",
"dev": true
},
"node_modules/@webassemblyjs/wasm-edit": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz",
- "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz",
+ "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==",
"dev": true,
"dependencies": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/helper-buffer": "1.9.0",
- "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
- "@webassemblyjs/helper-wasm-section": "1.9.0",
- "@webassemblyjs/wasm-gen": "1.9.0",
- "@webassemblyjs/wasm-opt": "1.9.0",
- "@webassemblyjs/wasm-parser": "1.9.0",
- "@webassemblyjs/wast-printer": "1.9.0"
+ "@webassemblyjs/ast": "1.11.1",
+ "@webassemblyjs/helper-buffer": "1.11.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
+ "@webassemblyjs/helper-wasm-section": "1.11.1",
+ "@webassemblyjs/wasm-gen": "1.11.1",
+ "@webassemblyjs/wasm-opt": "1.11.1",
+ "@webassemblyjs/wasm-parser": "1.11.1",
+ "@webassemblyjs/wast-printer": "1.11.1"
}
},
"node_modules/@webassemblyjs/wasm-gen": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz",
- "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz",
+ "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==",
"dev": true,
"dependencies": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
- "@webassemblyjs/ieee754": "1.9.0",
- "@webassemblyjs/leb128": "1.9.0",
- "@webassemblyjs/utf8": "1.9.0"
+ "@webassemblyjs/ast": "1.11.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
+ "@webassemblyjs/ieee754": "1.11.1",
+ "@webassemblyjs/leb128": "1.11.1",
+ "@webassemblyjs/utf8": "1.11.1"
}
},
"node_modules/@webassemblyjs/wasm-opt": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz",
- "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz",
+ "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==",
"dev": true,
"dependencies": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/helper-buffer": "1.9.0",
- "@webassemblyjs/wasm-gen": "1.9.0",
- "@webassemblyjs/wasm-parser": "1.9.0"
+ "@webassemblyjs/ast": "1.11.1",
+ "@webassemblyjs/helper-buffer": "1.11.1",
+ "@webassemblyjs/wasm-gen": "1.11.1",
+ "@webassemblyjs/wasm-parser": "1.11.1"
}
},
"node_modules/@webassemblyjs/wasm-parser": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz",
- "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz",
+ "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==",
"dev": true,
"dependencies": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/helper-api-error": "1.9.0",
- "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
- "@webassemblyjs/ieee754": "1.9.0",
- "@webassemblyjs/leb128": "1.9.0",
- "@webassemblyjs/utf8": "1.9.0"
+ "@webassemblyjs/ast": "1.11.1",
+ "@webassemblyjs/helper-api-error": "1.11.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
+ "@webassemblyjs/ieee754": "1.11.1",
+ "@webassemblyjs/leb128": "1.11.1",
+ "@webassemblyjs/utf8": "1.11.1"
}
},
- "node_modules/@webassemblyjs/wast-parser": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz",
- "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==",
+ "node_modules/@webassemblyjs/wast-printer": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz",
+ "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==",
"dev": true,
"dependencies": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/floating-point-hex-parser": "1.9.0",
- "@webassemblyjs/helper-api-error": "1.9.0",
- "@webassemblyjs/helper-code-frame": "1.9.0",
- "@webassemblyjs/helper-fsm": "1.9.0",
+ "@webassemblyjs/ast": "1.11.1",
"@xtuc/long": "4.2.2"
}
},
- "node_modules/@webassemblyjs/wast-printer": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz",
- "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==",
+ "node_modules/@webpack-cli/configtest": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz",
+ "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==",
+ "dev": true,
+ "peerDependencies": {
+ "webpack": "4.x.x || 5.x.x",
+ "webpack-cli": "4.x.x"
+ }
+ },
+ "node_modules/@webpack-cli/info": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz",
+ "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==",
"dev": true,
"dependencies": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/wast-parser": "1.9.0",
- "@xtuc/long": "4.2.2"
+ "envinfo": "^7.7.3"
+ },
+ "peerDependencies": {
+ "webpack-cli": "4.x.x"
+ }
+ },
+ "node_modules/@webpack-cli/serve": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz",
+ "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==",
+ "dev": true,
+ "peerDependencies": {
+ "webpack-cli": "4.x.x"
+ },
+ "peerDependenciesMeta": {
+ "webpack-dev-server": {
+ "optional": true
+ }
}
},
"node_modules/@xtuc/ieee754": {
@@ -1450,22 +2354,22 @@
"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==",
"dev": true,
"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": "6.4.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz",
- "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==",
+ "version": "8.8.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz",
+ "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==",
"dev": true,
"bin": {
"acorn": "bin/acorn"
@@ -1474,61 +2378,26 @@
"node": ">=0.4.0"
}
},
- "node_modules/adjust-sourcemap-loader": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-2.0.0.tgz",
- "integrity": "sha512-4hFsTsn58+YjrU9qKzML2JSSDqKvN8mUGQ0nNIrfPi8hmIONT4L3uUaT6MKdMsZ9AjsU6D2xDkZxCkbQPxChrA==",
- "dev": true,
- "dependencies": {
- "assert": "1.4.1",
- "camelcase": "5.0.0",
- "loader-utils": "1.2.3",
- "object-path": "0.11.4",
- "regex-parser": "2.2.10"
- }
- },
- "node_modules/adjust-sourcemap-loader/node_modules/camelcase": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz",
- "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/adjust-sourcemap-loader/node_modules/emojis-list": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
- "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
- "dev": true,
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/adjust-sourcemap-loader/node_modules/json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+ "node_modules/acorn-import-assertions": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz",
+ "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==",
"dev": true,
- "dependencies": {
- "minimist": "^1.2.0"
- },
- "bin": {
- "json5": "lib/cli.js"
+ "peerDependencies": {
+ "acorn": "^8"
}
},
- "node_modules/adjust-sourcemap-loader/node_modules/loader-utils": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz",
- "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==",
+ "node_modules/adjust-sourcemap-loader": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz",
+ "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==",
"dev": true,
"dependencies": {
- "big.js": "^5.2.2",
- "emojis-list": "^2.0.0",
- "json5": "^1.0.1"
+ "loader-utils": "^2.0.0",
+ "regex-parser": "^2.2.11"
},
"engines": {
- "node": ">=4.0.0"
+ "node": ">=8.9"
}
},
"node_modules/aggregate-error": {
@@ -1544,46 +2413,71 @@
}
},
"node_modules/ajv": {
- "version": "6.12.3",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz",
- "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==",
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
"dependencies": {
"fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.4.1",
"uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
}
},
- "node_modules/ajv-errors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
- "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
- "dev": true
+ "node_modules/ajv-formats": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
+ "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
+ "dev": true,
+ "dependencies": {
+ "ajv": "^8.0.0"
+ },
+ "peerDependencies": {
+ "ajv": "^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "ajv": {
+ "optional": true
+ }
+ }
},
- "node_modules/ajv-keywords": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.0.tgz",
- "integrity": "sha512-eyoaac3btgU8eJlvh01En8OCKzRqlLe2G5jDsCr3RiE2uLGMEEB1aaGwVVpwR8M95956tGH6R+9edC++OvzaVw=="
+ "node_modules/ajv-formats/node_modules/ajv": {
+ "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",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
},
- "node_modules/alphanum-sort": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz",
- "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=",
+ "node_modules/ajv-formats/node_modules/json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
"dev": true
},
- "node_modules/ansi-colors": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz",
- "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==",
- "dev": true,
- "engines": {
- "node": ">=6"
+ "node_modules/ajv-keywords": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
+ "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
+ "peerDependencies": {
+ "ajv": "^6.9.1"
}
},
- "node_modules/ansi-html": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
- "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=",
+ "node_modules/ansi-html-community": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz",
+ "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==",
"dev": true,
"engines": [
"node >= 0.8.0"
@@ -1593,12 +2487,12 @@
}
},
"node_modules/ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
"dev": true,
"engines": {
- "node": ">=4"
+ "node": ">=8"
}
},
"node_modules/ansi-styles": {
@@ -1614,11 +2508,10 @@
}
},
"node_modules/anymatch": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
- "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
+ "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
"dev": true,
- "optional": true,
"dependencies": {
"normalize-path": "^3.0.0",
"picomatch": "^2.0.4"
@@ -1627,54 +2520,6 @@
"node": ">= 8"
}
},
- "node_modules/aproba": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
- "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
- "dev": true
- },
- "node_modules/argparse": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
- "dev": true,
- "dependencies": {
- "sprintf-js": "~1.0.2"
- }
- },
- "node_modules/arity-n": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/arity-n/-/arity-n-1.0.4.tgz",
- "integrity": "sha1-2edrEXM+CFacCEeuezmyhgswt0U=",
- "dev": true
- },
- "node_modules/arr-diff": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
- "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/arr-flatten": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
- "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/arr-union": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
- "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/array-flatten": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
@@ -1684,7 +2529,7 @@
"node_modules/array-union": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
- "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
+ "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==",
"dev": true,
"dependencies": {
"array-uniq": "^1.0.1"
@@ -1696,150 +2541,46 @@
"node_modules/array-uniq": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
- "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/array-unique": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
- "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+ "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/asn1.js": {
- "version": "4.10.1",
- "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
- "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
- "dev": true,
- "dependencies": {
- "bn.js": "^4.0.0",
- "inherits": "^2.0.1",
- "minimalistic-assert": "^1.0.0"
- }
- },
- "node_modules/asn1.js/node_modules/bn.js": {
- "version": "4.11.9",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
- "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
- "dev": true
- },
- "node_modules/assert": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz",
- "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=",
- "dev": true,
- "dependencies": {
- "util": "0.10.3"
- }
- },
"node_modules/assets-webpack-plugin": {
- "version": "3.9.12",
- "resolved": "https://registry.npmjs.org/assets-webpack-plugin/-/assets-webpack-plugin-3.9.12.tgz",
- "integrity": "sha512-iqXT/CtP013CO+IZJG7f4/KmUnde+nn6FSksAhrGRbT1GODsFU3xocP6A5NkTFoey3XOI9n1ZY0QmX/mY74gNA==",
- "dev": true,
- "dependencies": {
- "camelcase": "5.3.1",
- "escape-string-regexp": "2.0.0",
- "lodash": "4.17.15",
- "mkdirp": "0.5.3"
- }
- },
- "node_modules/assets-webpack-plugin/node_modules/escape-string-regexp": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
- "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/assign-symbols": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
- "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/async": {
- "version": "2.6.3",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
- "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/assets-webpack-plugin/-/assets-webpack-plugin-7.0.0.tgz",
+ "integrity": "sha512-DMZ9r6HFxynWeONRMhSOFTvTrmit5dovdoUKdJgCG03M6CC7XiwNImPH+Ad1jaVrQ2n59e05lBhte52xPt4MSA==",
"dev": true,
"dependencies": {
- "lodash": "^4.17.14"
- }
- },
- "node_modules/async-each": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
- "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
- "dev": true
- },
- "node_modules/async-limiter": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
- "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==",
- "dev": true
- },
- "node_modules/atob": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
- "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
- "dev": true,
- "bin": {
- "atob": "bin/atob.js"
+ "camelcase": "^6.0.0",
+ "escape-string-regexp": "^4.0.0",
+ "lodash": "^4.17.20"
},
"engines": {
- "node": ">= 4.5.0"
+ "node": ">=10.x.x"
+ },
+ "peerDependencies": {
+ "webpack": ">=5.0.0"
}
},
"node_modules/babel-loader": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz",
- "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==",
+ "version": "8.2.5",
+ "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz",
+ "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==",
"dev": true,
"dependencies": {
- "find-cache-dir": "^2.1.0",
- "loader-utils": "^1.4.0",
- "mkdirp": "^0.5.3",
- "pify": "^4.0.1",
+ "find-cache-dir": "^3.3.1",
+ "loader-utils": "^2.0.0",
+ "make-dir": "^3.1.0",
"schema-utils": "^2.6.5"
},
"engines": {
- "node": ">= 6.9"
- }
- },
- "node_modules/babel-loader/node_modules/json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
- "dev": true,
- "dependencies": {
- "minimist": "^1.2.0"
- },
- "bin": {
- "json5": "lib/cli.js"
- }
- },
- "node_modules/babel-loader/node_modules/loader-utils": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
- "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
- "dev": true,
- "dependencies": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^1.0.1"
+ "node": ">= 8.9"
},
- "engines": {
- "node": ">=4.0.0"
+ "peerDependencies": {
+ "@babel/core": "^7.0.0",
+ "webpack": ">=2"
}
},
"node_modules/babel-plugin-dynamic-import-node": {
@@ -1851,89 +2592,63 @@
"object.assign": "^4.1.0"
}
},
- "node_modules/balanced-match": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
- "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
- },
- "node_modules/base": {
- "version": "0.11.2",
- "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
- "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
- "dev": true,
- "dependencies": {
- "cache-base": "^1.0.1",
- "class-utils": "^0.3.5",
- "component-emitter": "^1.2.1",
- "define-property": "^1.0.0",
- "isobject": "^3.0.1",
- "mixin-deep": "^1.2.0",
- "pascalcase": "^0.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/base/node_modules/define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "node_modules/babel-plugin-polyfill-corejs2": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz",
+ "integrity": "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==",
"dev": true,
"dependencies": {
- "is-descriptor": "^1.0.0"
+ "@babel/compat-data": "^7.17.7",
+ "@babel/helper-define-polyfill-provider": "^0.3.2",
+ "semver": "^6.1.1"
},
- "engines": {
- "node": ">=0.10.0"
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
- "node_modules/base/node_modules/is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
"dev": true,
- "dependencies": {
- "kind-of": "^6.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
+ "bin": {
+ "semver": "bin/semver.js"
}
},
- "node_modules/base/node_modules/is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "node_modules/babel-plugin-polyfill-corejs3": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz",
+ "integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==",
"dev": true,
"dependencies": {
- "kind-of": "^6.0.0"
+ "@babel/helper-define-polyfill-provider": "^0.3.2",
+ "core-js-compat": "^3.21.0"
},
- "engines": {
- "node": ">=0.10.0"
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
- "node_modules/base/node_modules/is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "node_modules/babel-plugin-polyfill-regenerator": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz",
+ "integrity": "sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw==",
"dev": true,
"dependencies": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
+ "@babel/helper-define-polyfill-provider": "^0.3.2"
},
- "engines": {
- "node": ">=0.10.0"
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
- "node_modules/base64-js": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz",
- "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==",
- "dev": true
+ "node_modules/balanced-match": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
},
"node_modules/batch": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
- "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=",
+ "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==",
"dev": true
},
"node_modules/big.js": {
@@ -1945,52 +2660,42 @@
}
},
"node_modules/binary-extensions": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz",
- "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
"dev": true,
- "optional": true,
"engines": {
"node": ">=8"
}
},
- "node_modules/bluebird": {
- "version": "3.7.2",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
- "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
- "dev": true
- },
- "node_modules/bn.js": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.2.tgz",
- "integrity": "sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA==",
- "dev": true
- },
"node_modules/body-parser": {
- "version": "1.19.0",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
- "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
+ "version": "1.20.0",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz",
+ "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==",
"dev": true,
"dependencies": {
- "bytes": "3.1.0",
+ "bytes": "3.1.2",
"content-type": "~1.0.4",
"debug": "2.6.9",
- "depd": "~1.1.2",
- "http-errors": "1.7.2",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "http-errors": "2.0.0",
"iconv-lite": "0.4.24",
- "on-finished": "~2.3.0",
- "qs": "6.7.0",
- "raw-body": "2.4.0",
- "type-is": "~1.6.17"
+ "on-finished": "2.4.1",
+ "qs": "6.10.3",
+ "raw-body": "2.5.1",
+ "type-is": "~1.6.18",
+ "unpipe": "1.0.0"
},
"engines": {
- "node": ">= 0.8"
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
}
},
"node_modules/body-parser/node_modules/bytes": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
- "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
"dev": true,
"engines": {
"node": ">= 0.8"
@@ -2008,27 +2713,25 @@
"node_modules/body-parser/node_modules/ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"dev": true
},
- "node_modules/bonjour": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz",
- "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=",
+ "node_modules/bonjour-service": {
+ "version": "1.0.13",
+ "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.13.tgz",
+ "integrity": "sha512-LWKRU/7EqDUC9CTAQtuZl5HzBALoCYwtLhffW3et7vZMwv3bWLpJf8bRYlMD5OCcDpTfnPgNCV4yo9ZIaJGMiA==",
"dev": true,
"dependencies": {
- "array-flatten": "^2.1.0",
- "deep-equal": "^1.0.1",
+ "array-flatten": "^2.1.2",
"dns-equal": "^1.0.0",
- "dns-txt": "^2.0.2",
- "multicast-dns": "^6.0.1",
- "multicast-dns-service-types": "^1.1.0"
+ "fast-deep-equal": "^3.1.3",
+ "multicast-dns": "^7.2.5"
}
},
"node_modules/boolbase": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
- "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
+ "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
"dev": true
},
"node_modules/bootstrap": {
@@ -2051,139 +2754,36 @@
}
},
"node_modules/braces": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
- "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
- "dev": true,
- "dependencies": {
- "arr-flatten": "^1.1.0",
- "array-unique": "^0.3.2",
- "extend-shallow": "^2.0.1",
- "fill-range": "^4.0.0",
- "isobject": "^3.0.1",
- "repeat-element": "^1.1.2",
- "snapdragon": "^0.8.1",
- "snapdragon-node": "^2.0.1",
- "split-string": "^3.0.2",
- "to-regex": "^3.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/braces/node_modules/extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
"dependencies": {
- "is-extendable": "^0.1.0"
+ "fill-range": "^7.0.1"
},
"engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/brorand": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
- "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
- "dev": true
- },
- "node_modules/browserify-aes": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
- "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
- "dev": true,
- "dependencies": {
- "buffer-xor": "^1.0.3",
- "cipher-base": "^1.0.0",
- "create-hash": "^1.1.0",
- "evp_bytestokey": "^1.0.3",
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- }
- },
- "node_modules/browserify-cipher": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
- "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
- "dev": true,
- "dependencies": {
- "browserify-aes": "^1.0.4",
- "browserify-des": "^1.0.0",
- "evp_bytestokey": "^1.0.0"
- }
- },
- "node_modules/browserify-des": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
- "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
- "dev": true,
- "dependencies": {
- "cipher-base": "^1.0.1",
- "des.js": "^1.0.0",
- "inherits": "^2.0.1",
- "safe-buffer": "^5.1.2"
- }
- },
- "node_modules/browserify-rsa": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
- "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
- "dev": true,
- "dependencies": {
- "bn.js": "^4.1.0",
- "randombytes": "^2.0.1"
- }
- },
- "node_modules/browserify-rsa/node_modules/bn.js": {
- "version": "4.11.9",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
- "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
- "dev": true
- },
- "node_modules/browserify-sign": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.0.tgz",
- "integrity": "sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA==",
- "dev": true,
- "dependencies": {
- "bn.js": "^5.1.1",
- "browserify-rsa": "^4.0.1",
- "create-hash": "^1.2.0",
- "create-hmac": "^1.1.7",
- "elliptic": "^6.5.2",
- "inherits": "^2.0.4",
- "parse-asn1": "^5.1.5",
- "readable-stream": "^3.6.0",
- "safe-buffer": "^5.2.0"
- }
- },
- "node_modules/browserify-sign/node_modules/safe-buffer": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
- "dev": true
- },
- "node_modules/browserify-zlib": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
- "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
- "dev": true,
- "dependencies": {
- "pako": "~1.0.5"
+ "node": ">=8"
}
},
"node_modules/browserslist": {
- "version": "4.13.0",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.13.0.tgz",
- "integrity": "sha512-MINatJ5ZNrLnQ6blGvePd/QOz9Xtu+Ne+x29iQSCHfkU5BugKVJwZKn/iiL8UbpIpa3JhviKjz+XxMo0m2caFQ==",
+ "version": "4.21.3",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz",
+ "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==",
"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.30001093",
- "electron-to-chromium": "^1.3.488",
- "escalade": "^3.0.1",
- "node-releases": "^1.1.58"
+ "caniuse-lite": "^1.0.30001370",
+ "electron-to-chromium": "^1.4.202",
+ "node-releases": "^2.0.6",
+ "update-browserslist-db": "^1.0.5"
},
"bin": {
"browserslist": "cli.js"
@@ -2192,133 +2792,44 @@
"node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
}
},
- "node_modules/buffer": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
- "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==",
- "dev": true,
- "dependencies": {
- "base64-js": "^1.0.2",
- "ieee754": "^1.1.4",
- "isarray": "^1.0.0"
- }
- },
"node_modules/buffer-from": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
- "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
- "dev": true
- },
- "node_modules/buffer-indexof": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz",
- "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==",
- "dev": true
- },
- "node_modules/buffer-xor": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
- "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
- "dev": true
- },
- "node_modules/builtin-status-codes": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
- "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
+ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
"dev": true
},
"node_modules/bytes": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
- "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
+ "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==",
"dev": true,
"engines": {
"node": ">= 0.8"
}
},
- "node_modules/cacache": {
- "version": "12.0.4",
- "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz",
- "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==",
- "dev": true,
- "dependencies": {
- "bluebird": "^3.5.5",
- "chownr": "^1.1.1",
- "figgy-pudding": "^3.5.1",
- "glob": "^7.1.4",
- "graceful-fs": "^4.1.15",
- "infer-owner": "^1.0.3",
- "lru-cache": "^5.1.1",
- "mississippi": "^3.0.0",
- "mkdirp": "^0.5.1",
- "move-concurrently": "^1.0.1",
- "promise-inflight": "^1.0.1",
- "rimraf": "^2.6.3",
- "ssri": "^6.0.1",
- "unique-filename": "^1.1.1",
- "y18n": "^4.0.0"
- }
- },
- "node_modules/cache-base": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
- "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
- "dev": true,
- "dependencies": {
- "collection-visit": "^1.0.0",
- "component-emitter": "^1.2.1",
- "get-value": "^2.0.6",
- "has-value": "^1.0.0",
- "isobject": "^3.0.1",
- "set-value": "^2.0.0",
- "to-object-path": "^0.3.0",
- "union-value": "^1.0.0",
- "unset-value": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/caller-callsite": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz",
- "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=",
- "dev": true,
- "dependencies": {
- "callsites": "^2.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/caller-path": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz",
- "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=",
+ "node_modules/call-bind": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+ "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
"dev": true,
"dependencies": {
- "caller-callsite": "^2.0.0"
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.0.2"
},
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/callsites": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
- "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=",
- "dev": true,
- "engines": {
- "node": ">=4"
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
"dev": true,
"engines": {
- "node": ">=6"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/caniuse-api": {
@@ -2334,10 +2845,20 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001094",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001094.tgz",
- "integrity": "sha512-ufHZNtMaDEuRBpTbqD93tIQnngmJ+oBknjvr0IbFympSdtFpAUFmNv4mVKbb53qltxFx0nK3iy32S9AqkLzUNA==",
- "dev": true
+ "version": "1.0.30001378",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001378.tgz",
+ "integrity": "sha512-JVQnfoO7FK7WvU4ZkBRbPjaot4+YqxogSDosHv0Hv5mWpUESmN+UubMU6L/hGz8QlQ2aY5U0vR6MOs6j/CXpNA==",
+ "dev": true,
+ "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.0",
@@ -2383,15 +2904,6 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
- "node_modules/chalk/node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/chalk/node_modules/supports-color": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
@@ -2405,80 +2917,32 @@
}
},
"node_modules/chokidar": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz",
- "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==",
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+ "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
"dev": true,
- "optional": true,
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://paulmillr.com/funding/"
+ }
+ ],
"dependencies": {
- "anymatch": "~3.1.1",
+ "anymatch": "~3.1.2",
"braces": "~3.0.2",
- "fsevents": "~2.1.2",
- "glob-parent": "~5.1.0",
+ "glob-parent": "~5.1.2",
"is-binary-path": "~2.1.0",
"is-glob": "~4.0.1",
"normalize-path": "~3.0.0",
- "readdirp": "~3.4.0"
+ "readdirp": "~3.6.0"
},
"engines": {
"node": ">= 8.10.0"
- }
- },
- "node_modules/chokidar/node_modules/braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "optional": true,
- "dependencies": {
- "fill-range": "^7.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/chokidar/node_modules/fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
- "optional": true,
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/chokidar/node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true,
- "optional": true,
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/chokidar/node_modules/to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "optional": true,
- "dependencies": {
- "is-number": "^7.0.0"
},
- "engines": {
- "node": ">=8.0"
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
}
},
- "node_modules/chownr": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
- "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
- "dev": true
- },
"node_modules/chrome-trace-event": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz",
@@ -2491,43 +2955,6 @@
"node": ">=6.0"
}
},
- "node_modules/cipher-base": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
- "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
- "dev": true,
- "dependencies": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- }
- },
- "node_modules/class-utils": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
- "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
- "dev": true,
- "dependencies": {
- "arr-union": "^3.1.0",
- "define-property": "^0.2.5",
- "isobject": "^3.0.0",
- "static-extend": "^0.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/class-utils/node_modules/define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "dependencies": {
- "is-descriptor": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/clean-stack": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
@@ -2537,92 +2964,32 @@
}
},
"node_modules/clean-webpack-plugin": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-3.0.0.tgz",
- "integrity": "sha512-MciirUH5r+cYLGCOL5JX/ZLzOZbVr1ot3Fw+KcvbhUb6PM+yycqd9ZhIlcigQ5gl+XhppNmw3bEFuaaMNyLj3A==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-4.0.0.tgz",
+ "integrity": "sha512-WuWE1nyTNAyW5T7oNyys2EN0cfP2fdRxhxnIQWiAp0bMabPdHhoGxM8A6YL2GhqwgrPnnaemVE7nv5XJ2Fhh2w==",
"dev": true,
"dependencies": {
- "@types/webpack": "^4.4.31",
"del": "^4.1.1"
},
"engines": {
- "node": ">=8.9.0"
- }
- },
- "node_modules/cliui": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
- "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
- "dev": true,
- "dependencies": {
- "string-width": "^3.1.0",
- "strip-ansi": "^5.2.0",
- "wrap-ansi": "^5.1.0"
- }
- },
- "node_modules/cliui/node_modules/string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
- "dev": true,
- "dependencies": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/coa": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz",
- "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==",
- "dev": true,
- "dependencies": {
- "@types/q": "^1.5.1",
- "chalk": "^2.4.1",
- "q": "^1.1.2"
- },
- "engines": {
- "node": ">= 4.0"
- }
- },
- "node_modules/coa/node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
+ "node": ">=10.0.0"
},
- "engines": {
- "node": ">=4"
+ "peerDependencies": {
+ "webpack": ">=4.0.0 <6.0.0"
}
},
- "node_modules/collection-visit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
- "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
+ "node_modules/clone-deep": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
+ "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
"dev": true,
"dependencies": {
- "map-visit": "^1.0.0",
- "object-visit": "^1.0.0"
+ "is-plain-object": "^2.0.4",
+ "kind-of": "^6.0.2",
+ "shallow-clone": "^3.0.0"
},
"engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/color": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz",
- "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==",
- "dev": true,
- "dependencies": {
- "color-convert": "^1.9.1",
- "color-string": "^1.5.2"
+ "node": ">=6"
}
},
"node_modules/color-convert": {
@@ -2637,45 +3004,35 @@
"node_modules/color-name": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
"dev": true
},
- "node_modules/color-string": {
- "version": "1.5.3",
- "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz",
- "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==",
- "dev": true,
- "dependencies": {
- "color-name": "^1.0.0",
- "simple-swizzle": "^0.2.2"
- }
+ "node_modules/colord": {
+ "version": "2.9.3",
+ "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz",
+ "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==",
+ "dev": true
},
- "node_modules/commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+ "node_modules/colorette": {
+ "version": "2.0.19",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz",
+ "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==",
"dev": true
},
+ "node_modules/commander": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
+ "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 10"
+ }
+ },
"node_modules/commondir": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
"integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs="
},
- "node_modules/component-emitter": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
- "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
- "dev": true
- },
- "node_modules/compose-function": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/compose-function/-/compose-function-3.0.3.tgz",
- "integrity": "sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8=",
- "dev": true,
- "dependencies": {
- "arity-n": "^1.0.4"
- }
- },
"node_modules/compressible": {
"version": "2.0.18",
"resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
@@ -2718,7 +3075,7 @@
"node_modules/compression/node_modules/ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"dev": true
},
"node_modules/concat-map": {
@@ -2726,78 +3083,53 @@
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
},
- "node_modules/concat-stream": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
- "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
- "dev": true,
- "engines": [
- "node >= 0.8"
- ],
- "dependencies": {
- "buffer-from": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^2.2.2",
- "typedarray": "^0.0.6"
- }
- },
- "node_modules/concat-stream/node_modules/readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "node_modules/concat-stream/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "~5.1.0"
- }
- },
"node_modules/connect-history-api-fallback": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz",
- "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz",
+ "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==",
"dev": true,
"engines": {
"node": ">=0.8"
}
},
- "node_modules/console-browserify": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz",
- "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==",
- "dev": true
- },
- "node_modules/constants-browserify": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
- "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
+ "node_modules/consola": {
+ "version": "2.15.3",
+ "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz",
+ "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==",
"dev": true
},
"node_modules/content-disposition": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
- "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
+ "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
"dev": true,
"dependencies": {
- "safe-buffer": "5.1.2"
+ "safe-buffer": "5.2.1"
},
"engines": {
"node": ">= 0.6"
}
},
+ "node_modules/content-disposition/node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
"node_modules/content-type": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
@@ -2808,18 +3140,18 @@
}
},
"node_modules/convert-source-map": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
- "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
+ "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==",
"dev": true,
"dependencies": {
"safe-buffer": "~5.1.1"
}
},
"node_modules/cookie": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
- "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==",
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
+ "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
"dev": true,
"engines": {
"node": ">= 0.6"
@@ -2828,32 +3160,9 @@
"node_modules/cookie-signature": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
- "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
+ "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==",
"dev": true
},
- "node_modules/copy-concurrently": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
- "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
- "dev": true,
- "dependencies": {
- "aproba": "^1.1.1",
- "fs-write-stream-atomic": "^1.0.8",
- "iferr": "^0.1.5",
- "mkdirp": "^0.5.1",
- "rimraf": "^2.5.4",
- "run-queue": "^1.0.0"
- }
- },
- "node_modules/copy-descriptor": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
- "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/copy-webpack-plugin": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-6.0.3.tgz",
@@ -2918,31 +3227,6 @@
"node": ">=10"
}
},
- "node_modules/copy-webpack-plugin/node_modules/find-cache-dir": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz",
- "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==",
- "dependencies": {
- "commondir": "^1.0.1",
- "make-dir": "^3.0.2",
- "pkg-dir": "^4.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/copy-webpack-plugin/node_modules/find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dependencies": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/copy-webpack-plugin/node_modules/globby": {
"version": "11.0.1",
"resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz",
@@ -2959,28 +3243,6 @@
"node": ">=10"
}
},
- "node_modules/copy-webpack-plugin/node_modules/locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dependencies": {
- "p-locate": "^4.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/copy-webpack-plugin/node_modules/make-dir": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
- "dependencies": {
- "semver": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/copy-webpack-plugin/node_modules/mkdirp": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
@@ -3003,28 +3265,6 @@
"node": ">=10"
}
},
- "node_modules/copy-webpack-plugin/node_modules/p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dependencies": {
- "p-limit": "^2.2.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/copy-webpack-plugin/node_modules/p-locate/node_modules/p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dependencies": {
- "p-try": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/copy-webpack-plugin/node_modules/p-map": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
@@ -3036,25 +3276,6 @@
"node": ">=10"
}
},
- "node_modules/copy-webpack-plugin/node_modules/path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/copy-webpack-plugin/node_modules/pkg-dir": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
- "dependencies": {
- "find-up": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/copy-webpack-plugin/node_modules/rimraf": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
@@ -3066,14 +3287,6 @@
"rimraf": "bin.js"
}
},
- "node_modules/copy-webpack-plugin/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
"node_modules/copy-webpack-plugin/node_modules/serialize-javascript": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
@@ -3083,9 +3296,9 @@
}
},
"node_modules/copy-webpack-plugin/node_modules/ssri": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.0.tgz",
- "integrity": "sha512-aq/pz989nxVYwn16Tsbj1TqFpD5LLrQxHf5zaHuieFV+R0Bbr4y8qUsOA45hXT/N4/9UNXTarBjnjVmjSOVaAA==",
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz",
+ "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==",
"dependencies": {
"minipass": "^3.1.1"
},
@@ -3101,13 +3314,17 @@
"hasInstallScript": true
},
"node_modules/core-js-compat": {
- "version": "3.6.5",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz",
- "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==",
+ "version": "3.24.1",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.24.1.tgz",
+ "integrity": "sha512-XhdNAGeRnTpp8xbD+sR/HFDK9CbeeeqXT6TuofXh3urqEevzkWmLRgrVoykodsw8okqo2pu1BOmuCKrHx63zdw==",
"dev": true,
"dependencies": {
- "browserslist": "^4.8.5",
+ "browserslist": "^4.21.3",
"semver": "7.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/core-js"
}
},
"node_modules/core-js-compat/node_modules/semver": {
@@ -3124,260 +3341,221 @@
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
},
- "node_modules/cosmiconfig": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
- "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==",
+ "node_modules/cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
"dev": true,
"dependencies": {
- "import-fresh": "^2.0.0",
- "is-directory": "^0.3.1",
- "js-yaml": "^3.13.1",
- "parse-json": "^4.0.0"
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
},
"engines": {
- "node": ">=4"
+ "node": ">= 8"
}
},
- "node_modules/create-ecdh": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz",
- "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==",
+ "node_modules/css-declaration-sorter": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.0.tgz",
+ "integrity": "sha512-OGT677UGHJTAVMRhPO+HJ4oKln3wkBTwtDFH0ojbqm+MJm6xuDMHp2nkhh/ThaBqq20IbraBQSWKfSLNHQO9Og==",
"dev": true,
- "dependencies": {
- "bn.js": "^4.1.0",
- "elliptic": "^6.0.0"
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ },
+ "peerDependencies": {
+ "postcss": "^8.0.9"
}
},
- "node_modules/create-ecdh/node_modules/bn.js": {
- "version": "4.11.9",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
- "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
- "dev": true
- },
- "node_modules/create-hash": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
- "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
+ "node_modules/css-loader": {
+ "version": "6.7.1",
+ "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz",
+ "integrity": "sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==",
"dev": true,
"dependencies": {
- "cipher-base": "^1.0.1",
- "inherits": "^2.0.1",
- "md5.js": "^1.3.4",
- "ripemd160": "^2.0.1",
- "sha.js": "^2.4.0"
+ "icss-utils": "^5.1.0",
+ "postcss": "^8.4.7",
+ "postcss-modules-extract-imports": "^3.0.0",
+ "postcss-modules-local-by-default": "^4.0.0",
+ "postcss-modules-scope": "^3.0.0",
+ "postcss-modules-values": "^4.0.0",
+ "postcss-value-parser": "^4.2.0",
+ "semver": "^7.3.5"
+ },
+ "engines": {
+ "node": ">= 12.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^5.0.0"
}
},
- "node_modules/create-hmac": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
- "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
+ "node_modules/css-loader/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"dependencies": {
- "cipher-base": "^1.0.3",
- "create-hash": "^1.1.0",
- "inherits": "^2.0.1",
- "ripemd160": "^2.0.0",
- "safe-buffer": "^5.0.1",
- "sha.js": "^2.4.8"
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
}
},
- "node_modules/cross-spawn": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
- "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "node_modules/css-loader/node_modules/semver": {
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
"dev": true,
"dependencies": {
- "nice-try": "^1.0.4",
- "path-key": "^2.0.1",
- "semver": "^5.5.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
},
"engines": {
- "node": ">=4.8"
+ "node": ">=10"
}
},
- "node_modules/cross-spawn/node_modules/semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true,
- "bin": {
- "semver": "bin/semver"
- }
+ "node_modules/css-loader/node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
},
- "node_modules/crypto-browserify": {
- "version": "3.12.0",
- "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
- "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
+ "node_modules/css-minimizer-webpack-plugin": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-4.0.0.tgz",
+ "integrity": "sha512-7ZXXRzRHvofv3Uac5Y+RkWRNo0ZMlcg8e9/OtrqUYmwDWJo+qs67GvdeFrXLsFb7czKNwjQhPkM0avlIYl+1nA==",
"dev": true,
"dependencies": {
- "browserify-cipher": "^1.0.0",
- "browserify-sign": "^4.0.0",
- "create-ecdh": "^4.0.0",
- "create-hash": "^1.1.0",
- "create-hmac": "^1.1.0",
- "diffie-hellman": "^5.0.0",
- "inherits": "^2.0.1",
- "pbkdf2": "^3.0.3",
- "public-encrypt": "^4.0.0",
- "randombytes": "^2.0.0",
- "randomfill": "^1.0.3"
+ "cssnano": "^5.1.8",
+ "jest-worker": "^27.5.1",
+ "postcss": "^8.4.13",
+ "schema-utils": "^4.0.0",
+ "serialize-javascript": "^6.0.0",
+ "source-map": "^0.6.1"
},
"engines": {
- "node": "*"
+ "node": ">= 14.15.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^5.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@parcel/css": {
+ "optional": true
+ },
+ "clean-css": {
+ "optional": true
+ },
+ "csso": {
+ "optional": true
+ },
+ "esbuild": {
+ "optional": true
+ }
}
},
- "node_modules/css": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz",
- "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==",
+ "node_modules/css-minimizer-webpack-plugin/node_modules/ajv": {
+ "version": "8.11.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
+ "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
"dev": true,
"dependencies": {
- "inherits": "^2.0.3",
- "source-map": "^0.6.1",
- "source-map-resolve": "^0.5.2",
- "urix": "^0.1.0"
- }
- },
- "node_modules/css-color-names": {
- "version": "0.0.4",
- "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz",
- "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=",
- "dev": true,
- "engines": {
- "node": "*"
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
}
},
- "node_modules/css-declaration-sorter": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz",
- "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==",
+ "node_modules/css-minimizer-webpack-plugin/node_modules/ajv-keywords": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
+ "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
"dev": true,
"dependencies": {
- "postcss": "^7.0.1",
- "timsort": "^0.3.0"
+ "fast-deep-equal": "^3.1.3"
},
- "engines": {
- "node": ">4"
+ "peerDependencies": {
+ "ajv": "^8.8.2"
}
},
- "node_modules/css-loader": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz",
- "integrity": "sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==",
+ "node_modules/css-minimizer-webpack-plugin/node_modules/json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ },
+ "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
+ "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
"dev": true,
"dependencies": {
- "camelcase": "^5.3.1",
- "cssesc": "^3.0.0",
- "icss-utils": "^4.1.1",
- "loader-utils": "^1.2.3",
- "normalize-path": "^3.0.0",
- "postcss": "^7.0.32",
- "postcss-modules-extract-imports": "^2.0.0",
- "postcss-modules-local-by-default": "^3.0.2",
- "postcss-modules-scope": "^2.2.0",
- "postcss-modules-values": "^3.0.0",
- "postcss-value-parser": "^4.1.0",
- "schema-utils": "^2.7.0",
- "semver": "^6.3.0"
+ "@types/json-schema": "^7.0.9",
+ "ajv": "^8.8.0",
+ "ajv-formats": "^2.1.1",
+ "ajv-keywords": "^5.0.0"
},
"engines": {
- "node": ">= 8.9.0"
+ "node": ">= 12.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
}
},
- "node_modules/css-loader/node_modules/json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+ "node_modules/css-select": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz",
+ "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==",
"dev": true,
"dependencies": {
- "minimist": "^1.2.0"
+ "boolbase": "^1.0.0",
+ "css-what": "^6.0.1",
+ "domhandler": "^4.3.1",
+ "domutils": "^2.8.0",
+ "nth-check": "^2.0.1"
},
- "bin": {
- "json5": "lib/cli.js"
+ "funding": {
+ "url": "https://github.com/sponsors/fb55"
}
},
- "node_modules/css-loader/node_modules/loader-utils": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
- "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+ "node_modules/css-tree": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz",
+ "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==",
"dev": true,
"dependencies": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^1.0.1"
+ "mdn-data": "2.0.14",
+ "source-map": "^0.6.1"
},
"engines": {
- "node": ">=4.0.0"
+ "node": ">=8.0.0"
}
},
- "node_modules/css-loader/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true,
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/css-select": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz",
- "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==",
- "dev": true,
- "dependencies": {
- "boolbase": "^1.0.0",
- "css-what": "^3.2.1",
- "domutils": "^1.7.0",
- "nth-check": "^1.0.2"
- }
- },
- "node_modules/css-select-base-adapter": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz",
- "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==",
- "dev": true
- },
- "node_modules/css-tree": {
- "version": "1.0.0-alpha.37",
- "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz",
- "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==",
- "dev": true,
- "dependencies": {
- "mdn-data": "2.0.4",
- "source-map": "^0.6.1"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/css-tree/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/css-what": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.3.0.tgz",
- "integrity": "sha512-pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg==",
+ "node_modules/css-what": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
+ "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==",
"dev": true,
"engines": {
"node": ">= 6"
- }
- },
- "node_modules/css/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/fb55"
}
},
"node_modules/cssesc": {
@@ -3393,160 +3571,97 @@
}
},
"node_modules/cssnano": {
- "version": "4.1.10",
- "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz",
- "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==",
+ "version": "5.1.13",
+ "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.13.tgz",
+ "integrity": "sha512-S2SL2ekdEz6w6a2epXn4CmMKU4K3KpcyXLKfAYc9UQQqJRkD/2eLUG0vJ3Db/9OvO5GuAdgXw3pFbR6abqghDQ==",
"dev": true,
"dependencies": {
- "cosmiconfig": "^5.0.0",
- "cssnano-preset-default": "^4.0.7",
- "is-resolvable": "^1.0.0",
- "postcss": "^7.0.0"
+ "cssnano-preset-default": "^5.2.12",
+ "lilconfig": "^2.0.3",
+ "yaml": "^1.10.2"
},
"engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/cssnano-preset-default": {
- "version": "4.0.7",
- "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz",
- "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==",
- "dev": true,
- "dependencies": {
- "css-declaration-sorter": "^4.0.1",
- "cssnano-util-raw-cache": "^4.0.1",
- "postcss": "^7.0.0",
- "postcss-calc": "^7.0.1",
- "postcss-colormin": "^4.0.3",
- "postcss-convert-values": "^4.0.1",
- "postcss-discard-comments": "^4.0.2",
- "postcss-discard-duplicates": "^4.0.2",
- "postcss-discard-empty": "^4.0.1",
- "postcss-discard-overridden": "^4.0.1",
- "postcss-merge-longhand": "^4.0.11",
- "postcss-merge-rules": "^4.0.3",
- "postcss-minify-font-values": "^4.0.2",
- "postcss-minify-gradients": "^4.0.2",
- "postcss-minify-params": "^4.0.2",
- "postcss-minify-selectors": "^4.0.2",
- "postcss-normalize-charset": "^4.0.1",
- "postcss-normalize-display-values": "^4.0.2",
- "postcss-normalize-positions": "^4.0.2",
- "postcss-normalize-repeat-style": "^4.0.2",
- "postcss-normalize-string": "^4.0.2",
- "postcss-normalize-timing-functions": "^4.0.2",
- "postcss-normalize-unicode": "^4.0.1",
- "postcss-normalize-url": "^4.0.1",
- "postcss-normalize-whitespace": "^4.0.2",
- "postcss-ordered-values": "^4.1.2",
- "postcss-reduce-initial": "^4.0.3",
- "postcss-reduce-transforms": "^4.0.2",
- "postcss-svgo": "^4.0.2",
- "postcss-unique-selectors": "^4.0.1"
+ "node": "^10 || ^12 || >=14.0"
},
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/cssnano-util-get-arguments": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz",
- "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/cssnano-util-get-match": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz",
- "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/cssnano-util-raw-cache": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz",
- "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==",
- "dev": true,
- "dependencies": {
- "postcss": "^7.0.0"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/cssnano"
},
- "engines": {
- "node": ">=6.9.0"
+ "peerDependencies": {
+ "postcss": "^8.2.15"
}
},
- "node_modules/cssnano-util-same-parent": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz",
- "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==",
+ "node_modules/cssnano-preset-default": {
+ "version": "5.2.12",
+ "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.12.tgz",
+ "integrity": "sha512-OyCBTZi+PXgylz9HAA5kHyoYhfGcYdwFmyaJzWnzxuGRtnMw/kR6ilW9XzlzlRAtB6PLT/r+prYgkef7hngFew==",
+ "dev": true,
+ "dependencies": {
+ "css-declaration-sorter": "^6.3.0",
+ "cssnano-utils": "^3.1.0",
+ "postcss-calc": "^8.2.3",
+ "postcss-colormin": "^5.3.0",
+ "postcss-convert-values": "^5.1.2",
+ "postcss-discard-comments": "^5.1.2",
+ "postcss-discard-duplicates": "^5.1.0",
+ "postcss-discard-empty": "^5.1.1",
+ "postcss-discard-overridden": "^5.1.0",
+ "postcss-merge-longhand": "^5.1.6",
+ "postcss-merge-rules": "^5.1.2",
+ "postcss-minify-font-values": "^5.1.0",
+ "postcss-minify-gradients": "^5.1.1",
+ "postcss-minify-params": "^5.1.3",
+ "postcss-minify-selectors": "^5.2.1",
+ "postcss-normalize-charset": "^5.1.0",
+ "postcss-normalize-display-values": "^5.1.0",
+ "postcss-normalize-positions": "^5.1.1",
+ "postcss-normalize-repeat-style": "^5.1.1",
+ "postcss-normalize-string": "^5.1.0",
+ "postcss-normalize-timing-functions": "^5.1.0",
+ "postcss-normalize-unicode": "^5.1.0",
+ "postcss-normalize-url": "^5.1.0",
+ "postcss-normalize-whitespace": "^5.1.1",
+ "postcss-ordered-values": "^5.1.3",
+ "postcss-reduce-initial": "^5.1.0",
+ "postcss-reduce-transforms": "^5.1.0",
+ "postcss-svgo": "^5.1.0",
+ "postcss-unique-selectors": "^5.1.1"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/cssnano-utils": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz",
+ "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==",
"dev": true,
"engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/csso": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz",
- "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==",
- "dev": true,
- "dependencies": {
- "css-tree": "1.0.0-alpha.39"
+ "node": "^10 || ^12 || >=14.0"
},
- "engines": {
- "node": ">=8.0.0"
+ "peerDependencies": {
+ "postcss": "^8.2.15"
}
},
- "node_modules/csso/node_modules/css-tree": {
- "version": "1.0.0-alpha.39",
- "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz",
- "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==",
+ "node_modules/csso": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz",
+ "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==",
"dev": true,
"dependencies": {
- "mdn-data": "2.0.6",
- "source-map": "^0.6.1"
+ "css-tree": "^1.1.2"
},
"engines": {
"node": ">=8.0.0"
}
},
- "node_modules/csso/node_modules/mdn-data": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz",
- "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==",
- "dev": true
- },
- "node_modules/csso/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/cyclist": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
- "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=",
- "dev": true
- },
- "node_modules/d": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
- "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
- "dev": true,
- "dependencies": {
- "es5-ext": "^0.10.50",
- "type": "^1.0.1"
- }
- },
"node_modules/datatables.net": {
- "version": "1.10.21",
- "resolved": "https://registry.npmjs.org/datatables.net/-/datatables.net-1.10.21.tgz",
- "integrity": "sha512-/bSZtxmf3GTpYcvEmwZ8q26I1yhSx8qklR2B+s1K8+/51UW/zc2zTYwJMqr/Z+iCYixAc00ildj4g2x0Qamolw==",
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/datatables.net/-/datatables.net-1.12.1.tgz",
+ "integrity": "sha512-e6XAMUoV41JdQPS/r9YRfRcmTPcCVvyZbWI+xog1Zg+kjVliMQbEkvWK5XFItmi64Cvwg+IqsZbTUJ1KSY3umA==",
"dependencies": {
"jquery": ">=1.7"
}
@@ -3571,129 +3686,66 @@
}
},
"node_modules/datatables.net-dt": {
- "version": "1.10.21",
- "resolved": "https://registry.npmjs.org/datatables.net-dt/-/datatables.net-dt-1.10.21.tgz",
- "integrity": "sha512-P89PgkhVCB6shP0CbigmB1Z812yfdfhvAbUdg08mLuF7tuvLFPQC9F+WIV30Hj9mgMsPALWAEJEYAA3aJjuqIA==",
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/datatables.net-dt/-/datatables.net-dt-1.12.1.tgz",
+ "integrity": "sha512-HYsHbSYqOqlgsgjKMH/kkCB5455t51GmmtXRxgnDMRbjPLEIKo5CZmAlUe5mdD/RVPRtAUaj5K3SDlkEZ1bUmw==",
"dependencies": {
- "datatables.net": "1.10.21",
+ "datatables.net": ">=1.11.3",
"jquery": ">=1.7"
}
},
"node_modules/debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
- "dev": true,
- "dependencies": {
- "ms": "^2.1.1"
- }
- },
- "node_modules/decamelize": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/decode-uri-component": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
- "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
- "dev": true,
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/deep-equal": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz",
- "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==",
- "dev": true,
- "dependencies": {
- "is-arguments": "^1.0.4",
- "is-date-object": "^1.0.1",
- "is-regex": "^1.0.4",
- "object-is": "^1.0.1",
- "object-keys": "^1.1.1",
- "regexp.prototype.flags": "^1.2.0"
- }
- },
- "node_modules/default-gateway": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz",
- "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==",
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dev": true,
"dependencies": {
- "execa": "^1.0.0",
- "ip-regex": "^2.1.0"
+ "ms": "2.1.2"
},
"engines": {
- "node": ">=6"
- }
- },
- "node_modules/define-properties": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
- "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
- "dev": true,
- "dependencies": {
- "object-keys": "^1.0.12"
+ "node": ">=6.0"
},
- "engines": {
- "node": ">= 0.4"
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
}
},
- "node_modules/define-property": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
- "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
+ "node_modules/default-gateway": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz",
+ "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==",
"dev": true,
"dependencies": {
- "is-descriptor": "^1.0.2",
- "isobject": "^3.0.1"
+ "execa": "^5.0.0"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 10"
}
},
- "node_modules/define-property/node_modules/is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "node_modules/define-lazy-prop": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
+ "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
"dev": true,
- "dependencies": {
- "kind-of": "^6.0.0"
- },
"engines": {
- "node": ">=0.10.0"
+ "node": ">=8"
}
},
- "node_modules/define-property/node_modules/is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "node_modules/define-properties": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz",
+ "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==",
"dev": true,
"dependencies": {
- "kind-of": "^6.0.0"
+ "has-property-descriptors": "^1.0.0",
+ "object-keys": "^1.1.1"
},
"engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/define-property/node_modules/is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "dependencies": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
+ "node": ">= 0.4"
},
- "engines": {
- "node": ">=0.10.0"
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/del": {
@@ -3715,60 +3767,28 @@
}
},
"node_modules/depd": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
- "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
"dev": true,
"engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/des.js": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz",
- "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==",
- "dev": true,
- "dependencies": {
- "inherits": "^2.0.1",
- "minimalistic-assert": "^1.0.0"
+ "node": ">= 0.8"
}
},
"node_modules/destroy": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
- "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
- "dev": true
- },
- "node_modules/detect-file": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
- "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
"dev": true,
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
}
},
"node_modules/detect-node": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz",
- "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==",
- "dev": true
- },
- "node_modules/diffie-hellman": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
- "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
- "dev": true,
- "dependencies": {
- "bn.js": "^4.1.0",
- "miller-rabin": "^4.0.0",
- "randombytes": "^2.0.0"
- }
- },
- "node_modules/diffie-hellman/node_modules/bn.js": {
- "version": "4.11.9",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
- "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz",
+ "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==",
"dev": true
},
"node_modules/dir-glob": {
@@ -3785,26 +3805,19 @@
"node_modules/dns-equal": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
- "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=",
+ "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==",
"dev": true
},
"node_modules/dns-packet": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz",
- "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==",
- "dev": true,
- "dependencies": {
- "ip": "^1.1.0",
- "safe-buffer": "^5.0.1"
- }
- },
- "node_modules/dns-txt": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz",
- "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=",
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz",
+ "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==",
"dev": true,
"dependencies": {
- "buffer-indexof": "^1.0.0"
+ "@leichtgewicht/ip-codec": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=6"
}
},
"node_modules/dom-converter": {
@@ -3817,328 +3830,148 @@
}
},
"node_modules/dom-serializer": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz",
- "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==",
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz",
+ "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==",
"dev": true,
"dependencies": {
"domelementtype": "^2.0.1",
+ "domhandler": "^4.2.0",
"entities": "^2.0.0"
- }
- },
- "node_modules/dom-serializer/node_modules/domelementtype": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz",
- "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==",
- "dev": true
- },
- "node_modules/domain-browser": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
- "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
- "dev": true,
- "engines": {
- "node": ">=0.4",
- "npm": ">=1.2"
+ },
+ "funding": {
+ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
}
},
"node_modules/domelementtype": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
- "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==",
- "dev": true
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
+ "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fb55"
+ }
+ ]
},
"node_modules/domhandler": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
- "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
+ "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
"dev": true,
"dependencies": {
- "domelementtype": "1"
+ "domelementtype": "^2.2.0"
+ },
+ "engines": {
+ "node": ">= 4"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domhandler?sponsor=1"
}
},
"node_modules/domutils": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
- "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
+ "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
"dev": true,
"dependencies": {
- "dom-serializer": "0",
- "domelementtype": "1"
+ "dom-serializer": "^1.0.1",
+ "domelementtype": "^2.2.0",
+ "domhandler": "^4.2.0"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domutils?sponsor=1"
+ }
+ },
+ "node_modules/ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
+ "dev": true
+ },
+ "node_modules/electron-to-chromium": {
+ "version": "1.4.222",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.222.tgz",
+ "integrity": "sha512-gEM2awN5HZknWdLbngk4uQCVfhucFAfFzuchP3wM3NN6eow1eDU0dFy2kts43FB20ZfhVFF0jmFSTb1h5OhyIg==",
+ "dev": true
+ },
+ "node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "node_modules/emojis-list": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
+ "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8"
}
},
- "node_modules/dot-prop": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz",
- "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==",
+ "node_modules/enhanced-resolve": {
+ "version": "5.10.0",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz",
+ "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==",
"dev": true,
"dependencies": {
- "is-obj": "^2.0.0"
+ "graceful-fs": "^4.2.4",
+ "tapable": "^2.2.0"
},
"engines": {
- "node": ">=8"
+ "node": ">=10.13.0"
}
},
- "node_modules/duplexify": {
- "version": "3.7.1",
- "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
- "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
+ "node_modules/entities": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
+ "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
"dev": true,
- "dependencies": {
- "end-of-stream": "^1.0.0",
- "inherits": "^2.0.1",
- "readable-stream": "^2.0.0",
- "stream-shift": "^1.0.0"
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
}
},
- "node_modules/duplexify/node_modules/readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "node_modules/envinfo": {
+ "version": "7.8.1",
+ "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz",
+ "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==",
"dev": true,
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "node_modules/duplexify/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "~5.1.0"
- }
- },
- "node_modules/ee-first": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
- "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
- "dev": true
- },
- "node_modules/electron-to-chromium": {
- "version": "1.3.488",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.488.tgz",
- "integrity": "sha512-NReBdOugu1yl8ly+0VDtiQ6Yw/1sLjnvflWq0gvY1nfUXU2PbA+1XAVuEb7ModnwL/MfUPjby7e4pAFnSHiy6Q==",
- "dev": true
- },
- "node_modules/elliptic": {
- "version": "6.5.3",
- "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz",
- "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==",
- "dev": true,
- "dependencies": {
- "bn.js": "^4.4.0",
- "brorand": "^1.0.1",
- "hash.js": "^1.0.0",
- "hmac-drbg": "^1.0.0",
- "inherits": "^2.0.1",
- "minimalistic-assert": "^1.0.0",
- "minimalistic-crypto-utils": "^1.0.0"
- }
- },
- "node_modules/elliptic/node_modules/bn.js": {
- "version": "4.11.9",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
- "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
- "dev": true
- },
- "node_modules/emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
- "dev": true
- },
- "node_modules/emojis-list": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
- "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/encodeurl": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
- "dev": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/end-of-stream": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
- "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
- "dev": true,
- "dependencies": {
- "once": "^1.4.0"
- }
- },
- "node_modules/enhanced-resolve": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.2.0.tgz",
- "integrity": "sha512-S7eiFb/erugyd1rLb6mQ3Vuq+EXHv5cpCkNqqIkYkBgN2QdFnyCZzFBleqwGEx4lgNGYij81BWnCrFNK7vxvjQ==",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.1.2",
- "memory-fs": "^0.5.0",
- "tapable": "^1.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/enhanced-resolve/node_modules/memory-fs": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
- "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
- "dev": true,
- "dependencies": {
- "errno": "^0.1.3",
- "readable-stream": "^2.0.1"
- },
- "engines": {
- "node": ">=4.3.0 <5.0.0 || >=5.10"
- }
- },
- "node_modules/enhanced-resolve/node_modules/readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "node_modules/enhanced-resolve/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "~5.1.0"
- }
- },
- "node_modules/entities": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz",
- "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==",
- "dev": true
- },
- "node_modules/errno": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
- "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
- "dev": true,
- "dependencies": {
- "prr": "~1.0.1"
- },
"bin": {
- "errno": "cli.js"
- }
- },
- "node_modules/error-ex": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
- "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
- "dev": true,
- "dependencies": {
- "is-arrayish": "^0.2.1"
- }
- },
- "node_modules/error-stack-parser": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz",
- "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==",
- "dev": true,
- "dependencies": {
- "stackframe": "^1.1.1"
- }
- },
- "node_modules/es-abstract": {
- "version": "1.17.6",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz",
- "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==",
- "dev": true,
- "dependencies": {
- "es-to-primitive": "^1.2.1",
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.1",
- "is-callable": "^1.2.0",
- "is-regex": "^1.1.0",
- "object-inspect": "^1.7.0",
- "object-keys": "^1.1.1",
- "object.assign": "^4.1.0",
- "string.prototype.trimend": "^1.0.1",
- "string.prototype.trimstart": "^1.0.1"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/es-to-primitive": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
- "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
- "dev": true,
- "dependencies": {
- "is-callable": "^1.1.4",
- "is-date-object": "^1.0.1",
- "is-symbol": "^1.0.2"
+ "envinfo": "dist/cli.js"
},
"engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/es5-ext": {
- "version": "0.10.53",
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz",
- "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==",
- "dev": true,
- "dependencies": {
- "es6-iterator": "~2.0.3",
- "es6-symbol": "~3.1.3",
- "next-tick": "~1.0.0"
+ "node": ">=4"
}
},
- "node_modules/es6-iterator": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
- "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
+ "node_modules/error-stack-parser": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz",
+ "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==",
"dev": true,
"dependencies": {
- "d": "1",
- "es5-ext": "^0.10.35",
- "es6-symbol": "^3.1.1"
+ "stackframe": "^1.3.4"
}
},
- "node_modules/es6-symbol": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz",
- "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
- "dev": true,
- "dependencies": {
- "d": "^1.0.1",
- "ext": "^1.1.2"
- }
+ "node_modules/es-module-lexer": {
+ "version": "0.9.3",
+ "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz",
+ "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==",
+ "dev": true
},
"node_modules/escalade": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.0.1.tgz",
- "integrity": "sha512-DR6NO3h9niOT+MZs7bjxlj2a1k+POu5RN8CLTPX2+i78bRi9eLe7+0zXgUHMnGXWybYcL61E9hGhPKqedy8tQA==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
"dev": true,
"engines": {
"node": ">=6"
@@ -4147,52 +3980,51 @@
"node_modules/escape-html": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
"dev": true
},
"node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
"dev": true,
"engines": {
- "node": ">=0.8.0"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/eslint-scope": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
- "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
+ "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.1.0",
+ "esrecurse": "^4.3.0",
"estraverse": "^4.1.1"
},
"engines": {
- "node": ">=4.0.0"
+ "node": ">=8.0.0"
}
},
- "node_modules/esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "node_modules/esrecurse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
"dev": true,
- "bin": {
- "esparse": "bin/esparse.js",
- "esvalidate": "bin/esvalidate.js"
+ "dependencies": {
+ "estraverse": "^5.2.0"
},
"engines": {
- "node": ">=4"
+ "node": ">=4.0"
}
},
- "node_modules/esrecurse": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
- "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
+ "node_modules/esrecurse/node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
"dev": true,
- "dependencies": {
- "estraverse": "^4.1.0"
- },
"engines": {
"node": ">=4.0"
}
@@ -4218,169 +4050,84 @@
"node_modules/etag": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
- "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
"dev": true,
"engines": {
"node": ">= 0.6"
}
},
"node_modules/eventemitter3": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz",
- "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==",
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
+ "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
"dev": true
},
"node_modules/events": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz",
- "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+ "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
"dev": true,
"engines": {
"node": ">=0.8.x"
}
},
- "node_modules/eventsource": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz",
- "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==",
- "dev": true,
- "dependencies": {
- "original": "^1.0.0"
- },
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/evp_bytestokey": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
- "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
- "dev": true,
- "dependencies": {
- "md5.js": "^1.3.4",
- "safe-buffer": "^5.1.1"
- }
- },
"node_modules/execa": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
- "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
- "dev": true,
- "dependencies": {
- "cross-spawn": "^6.0.0",
- "get-stream": "^4.0.0",
- "is-stream": "^1.1.0",
- "npm-run-path": "^2.0.0",
- "p-finally": "^1.0.0",
- "signal-exit": "^3.0.0",
- "strip-eof": "^1.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/expand-brackets": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
- "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
- "dev": true,
- "dependencies": {
- "debug": "^2.3.3",
- "define-property": "^0.2.5",
- "extend-shallow": "^2.0.1",
- "posix-character-classes": "^0.1.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/expand-brackets/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/expand-brackets/node_modules/define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "dependencies": {
- "is-descriptor": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/expand-brackets/node_modules/extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
+ "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
"dev": true,
"dependencies": {
- "is-extendable": "^0.1.0"
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.0",
+ "human-signals": "^2.1.0",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.1",
+ "onetime": "^5.1.2",
+ "signal-exit": "^3.0.3",
+ "strip-final-newline": "^2.0.0"
},
"engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/expand-brackets/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- },
- "node_modules/expand-tilde": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
- "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
- "dev": true,
- "dependencies": {
- "homedir-polyfill": "^1.0.1"
+ "node": ">=10"
},
- "engines": {
- "node": ">=0.10.0"
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
}
},
"node_modules/express": {
- "version": "4.17.1",
- "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
- "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
+ "version": "4.18.1",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz",
+ "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==",
"dev": true,
"dependencies": {
- "accepts": "~1.3.7",
+ "accepts": "~1.3.8",
"array-flatten": "1.1.1",
- "body-parser": "1.19.0",
- "content-disposition": "0.5.3",
+ "body-parser": "1.20.0",
+ "content-disposition": "0.5.4",
"content-type": "~1.0.4",
- "cookie": "0.4.0",
+ "cookie": "0.5.0",
"cookie-signature": "1.0.6",
"debug": "2.6.9",
- "depd": "~1.1.2",
+ "depd": "2.0.0",
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"etag": "~1.8.1",
- "finalhandler": "~1.1.2",
+ "finalhandler": "1.2.0",
"fresh": "0.5.2",
+ "http-errors": "2.0.0",
"merge-descriptors": "1.0.1",
"methods": "~1.1.2",
- "on-finished": "~2.3.0",
+ "on-finished": "2.4.1",
"parseurl": "~1.3.3",
"path-to-regexp": "0.1.7",
- "proxy-addr": "~2.0.5",
- "qs": "6.7.0",
+ "proxy-addr": "~2.0.7",
+ "qs": "6.10.3",
"range-parser": "~1.2.1",
- "safe-buffer": "5.1.2",
- "send": "0.17.1",
- "serve-static": "1.14.1",
- "setprototypeof": "1.1.1",
- "statuses": "~1.5.0",
+ "safe-buffer": "5.2.1",
+ "send": "0.18.0",
+ "serve-static": "1.15.0",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
"type-is": "~1.6.18",
"utils-merge": "1.0.1",
"vary": "~1.1.2"
@@ -4392,7 +4139,7 @@
"node_modules/express/node_modules/array-flatten": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
- "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
+ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==",
"dev": true
},
"node_modules/express/node_modules/debug": {
@@ -4407,215 +4154,73 @@
"node_modules/express/node_modules/ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"dev": true
},
- "node_modules/ext": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz",
- "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==",
+ "node_modules/express/node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"dev": true,
- "dependencies": {
- "type": "^2.0.0"
- }
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
},
- "node_modules/ext/node_modules/type": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/type/-/type-2.0.0.tgz",
- "integrity": "sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow==",
- "dev": true
+ "node_modules/fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
},
- "node_modules/extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "dev": true,
+ "node_modules/fast-glob": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz",
+ "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==",
"dependencies": {
- "assign-symbols": "^1.0.0",
- "is-extendable": "^1.0.1"
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.0",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.2",
+ "picomatch": "^2.2.1"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=8"
}
},
- "node_modules/extend-shallow/node_modules/is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "dev": true,
- "dependencies": {
- "is-plain-object": "^2.0.4"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/extglob": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
- "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
- "dev": true,
- "dependencies": {
- "array-unique": "^0.3.2",
- "define-property": "^1.0.0",
- "expand-brackets": "^2.1.4",
- "extend-shallow": "^2.0.1",
- "fragment-cache": "^0.2.1",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/extglob/node_modules/define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "dev": true,
- "dependencies": {
- "is-descriptor": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/extglob/node_modules/extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "dependencies": {
- "is-extendable": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/extglob/node_modules/is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
- "dependencies": {
- "kind-of": "^6.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
+ "node_modules/fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
},
- "node_modules/extglob/node_modules/is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "node_modules/fast-levenshtein": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-3.0.0.tgz",
+ "integrity": "sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ==",
"dev": true,
"dependencies": {
- "kind-of": "^6.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
+ "fastest-levenshtein": "^1.0.7"
}
},
- "node_modules/extglob/node_modules/is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "node_modules/fastest-levenshtein": {
+ "version": "1.0.16",
+ "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
+ "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
"dev": true,
- "dependencies": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/fast-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
- },
- "node_modules/fast-glob": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz",
- "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==",
- "dependencies": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.0",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.2",
- "picomatch": "^2.2.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/fast-glob/node_modules/braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dependencies": {
- "fill-range": "^7.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/fast-glob/node_modules/fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/fast-glob/node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/fast-glob/node_modules/micromatch": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
- "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
- "dependencies": {
- "braces": "^3.0.1",
- "picomatch": "^2.0.5"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/fast-glob/node_modules/to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dependencies": {
- "is-number": "^7.0.0"
- },
"engines": {
- "node": ">=8.0"
+ "node": ">= 4.9.1"
}
},
- "node_modules/fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
- },
- "node_modules/fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
- "dev": true
- },
"node_modules/fastq": {
"version": "1.8.0",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.8.0.tgz",
@@ -4625,75 +4230,40 @@
}
},
"node_modules/faye-websocket": {
- "version": "0.10.0",
- "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
- "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
+ "version": "0.11.4",
+ "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz",
+ "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==",
"dev": true,
"dependencies": {
"websocket-driver": ">=0.5.1"
},
"engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/figgy-pudding": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz",
- "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==",
- "dev": true
- },
- "node_modules/file-loader": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.0.0.tgz",
- "integrity": "sha512-/aMOAYEFXDdjG0wytpTL5YQLfZnnTmLNjn+AIrJ/6HVnTfDqLsVKUUwkDf4I4kgex36BvjuXEn/TX9B/1ESyqQ==",
- "dev": true,
- "dependencies": {
- "loader-utils": "^2.0.0",
- "schema-utils": "^2.6.5"
- },
- "engines": {
- "node": ">= 10.13.0"
+ "node": ">=0.8.0"
}
},
"node_modules/fill-range": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
- "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
- "dev": true,
- "dependencies": {
- "extend-shallow": "^2.0.1",
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1",
- "to-regex-range": "^2.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/fill-range/node_modules/extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
"dependencies": {
- "is-extendable": "^0.1.0"
+ "to-regex-range": "^5.0.1"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=8"
}
},
"node_modules/finalhandler": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
- "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
+ "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
"dev": true,
"dependencies": {
"debug": "2.6.9",
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
- "on-finished": "~2.3.0",
+ "on-finished": "2.4.1",
"parseurl": "~1.3.3",
- "statuses": "~1.5.0",
+ "statuses": "2.0.1",
"unpipe": "~1.0.0"
},
"engines": {
@@ -4712,21 +4282,23 @@
"node_modules/finalhandler/node_modules/ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"dev": true
},
"node_modules/find-cache-dir": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
- "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
- "dev": true,
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
+ "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
"dependencies": {
"commondir": "^1.0.1",
- "make-dir": "^2.0.0",
- "pkg-dir": "^3.0.0"
+ "make-dir": "^3.0.2",
+ "pkg-dir": "^4.1.0"
},
"engines": {
- "node": ">=6"
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/avajs/find-cache-dir?sponsor=1"
}
},
"node_modules/find-up": {
@@ -4741,237 +4313,72 @@
"node": ">=6"
}
},
- "node_modules/findup-sync": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz",
- "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==",
- "dev": true,
- "dependencies": {
- "detect-file": "^1.0.0",
- "is-glob": "^4.0.0",
- "micromatch": "^3.0.4",
- "resolve-dir": "^1.0.1"
- },
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/flush-write-stream": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
- "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==",
- "dev": true,
- "dependencies": {
- "inherits": "^2.0.3",
- "readable-stream": "^2.3.6"
- }
- },
- "node_modules/flush-write-stream/node_modules/readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "node_modules/flush-write-stream/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "~5.1.0"
- }
- },
"node_modules/follow-redirects": {
- "version": "1.12.1",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.12.1.tgz",
- "integrity": "sha512-tmRv0AVuR7ZyouUHLeNSiO6pqulF7dYa3s19c6t+wz9LD69/uSzdMxJ2S91nTI9U3rt/IldxpzMOFejp6f0hjg==",
+ "version": "1.15.1",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz",
+ "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==",
"dev": true,
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/RubenVerborgh"
+ }
+ ],
"engines": {
"node": ">=4.0"
- }
- },
- "node_modules/for-in": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
- "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
+ },
+ "peerDependenciesMeta": {
+ "debug": {
+ "optional": true
+ }
}
},
"node_modules/forwarded": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
- "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=",
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
+ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
"dev": true,
"engines": {
"node": ">= 0.6"
}
},
- "node_modules/fragment-cache": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
- "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
- "dev": true,
- "dependencies": {
- "map-cache": "^0.2.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/fresh": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
- "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
+ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
"dev": true,
"engines": {
"node": ">= 0.6"
}
},
- "node_modules/friendly-errors-webpack-plugin": {
- "version": "2.0.0-beta.2",
- "resolved": "https://registry.npmjs.org/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-2.0.0-beta.2.tgz",
- "integrity": "sha512-0x14cdjGx5q0yZc3Cy9sgAF/szWUFx1WxH/IX88UuKbM5Z+7FCk/Z/6hFbXMcz3qqK0mp7WrHKX3cxhUAL2aqQ==",
- "dev": true,
+ "node_modules/fs-minipass": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
+ "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
"dependencies": {
- "chalk": "^2.4.2",
- "error-stack-parser": "^2.0.2",
- "string-width": "^2.0.0",
- "strip-ansi": "^5"
+ "minipass": "^3.0.0"
},
"engines": {
- "node": ">=8.0.0"
+ "node": ">= 8"
}
},
- "node_modules/friendly-errors-webpack-plugin/node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
+ "node_modules/fs-monkey": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz",
+ "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==",
+ "dev": true
},
- "node_modules/from2": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
- "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
- "dev": true,
- "dependencies": {
- "inherits": "^2.0.1",
- "readable-stream": "^2.0.0"
- }
- },
- "node_modules/from2/node_modules/readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "node_modules/from2/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "~5.1.0"
- }
- },
- "node_modules/fs-extra": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
- "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.1.2",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- },
- "engines": {
- "node": ">=6 <7 || >=8"
- }
- },
- "node_modules/fs-minipass": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
- "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
- "dependencies": {
- "minipass": "^3.0.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/fs-write-stream-atomic": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
- "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.1.2",
- "iferr": "^0.1.5",
- "imurmurhash": "^0.1.4",
- "readable-stream": "1 || 2"
- }
- },
- "node_modules/fs-write-stream-atomic/node_modules/readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "node_modules/fs-write-stream-atomic/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "~5.1.0"
- }
- },
- "node_modules/fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
+ "node_modules/fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
},
"node_modules/fsevents": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
- "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
"dev": true,
+ "hasInstallScript": true,
"optional": true,
"os": [
"darwin"
@@ -4987,42 +4394,47 @@
"dev": true
},
"node_modules/gensync": {
- "version": "1.0.0-beta.1",
- "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz",
- "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==",
+ "version": "1.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
"dev": true,
"engines": {
"node": ">=6.9.0"
}
},
- "node_modules/get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "node_modules/get-intrinsic": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz",
+ "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==",
"dev": true,
- "engines": {
- "node": "6.* || 8.* || >= 10.*"
+ "dependencies": {
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/get-stream": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
- "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+ "node_modules/get-port": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz",
+ "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==",
"dev": true,
- "dependencies": {
- "pump": "^3.0.0"
- },
"engines": {
- "node": ">=6"
+ "node": ">=4"
}
},
- "node_modules/get-value": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
- "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
+ "node_modules/get-stream": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
+ "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
"dev": true,
"engines": {
- "node": ">=0.10.0"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/glob": {
@@ -5042,9 +4454,9 @@
}
},
"node_modules/glob-parent": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
- "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dependencies": {
"is-glob": "^4.0.1"
},
@@ -5052,47 +4464,11 @@
"node": ">= 6"
}
},
- "node_modules/global-modules": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
- "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
- "dev": true,
- "dependencies": {
- "global-prefix": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/global-modules/node_modules/global-prefix": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
- "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
- "dev": true,
- "dependencies": {
- "ini": "^1.3.5",
- "kind-of": "^6.0.2",
- "which": "^1.3.1"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/global-prefix": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
- "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
- "dev": true,
- "dependencies": {
- "expand-tilde": "^2.0.2",
- "homedir-polyfill": "^1.0.1",
- "ini": "^1.3.4",
- "is-windows": "^1.0.1",
- "which": "^1.2.14"
- },
- "engines": {
- "node": ">=0.10.0"
- }
+ "node_modules/glob-to-regexp": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
+ "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
+ "dev": true
},
"node_modules/globals": {
"version": "11.12.0",
@@ -5106,7 +4482,7 @@
"node_modules/globby": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
- "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
+ "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==",
"dev": true,
"dependencies": {
"array-union": "^1.0.1",
@@ -5122,22 +4498,22 @@
"node_modules/globby/node_modules/pify": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/graceful-fs": {
- "version": "4.2.4",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
- "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
+ "version": "4.2.10",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
+ "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
"dev": true
},
"node_modules/growly": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
- "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=",
+ "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==",
"dev": true
},
"node_modules/h2-invent-apps": {
@@ -5167,125 +4543,42 @@
}
},
"node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/has-symbols": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
- "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/has-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
- "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
- "dev": true,
- "dependencies": {
- "get-value": "^2.0.6",
- "has-values": "^1.0.0",
- "isobject": "^3.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/has-values": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
- "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
- "dev": true,
- "dependencies": {
- "is-number": "^3.0.0",
- "kind-of": "^4.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/has-values/node_modules/kind-of": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
- "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
- "dependencies": {
- "is-buffer": "^1.1.5"
- },
"engines": {
- "node": ">=0.10.0"
+ "node": ">=8"
}
},
- "node_modules/hash-base": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz",
- "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==",
+ "node_modules/has-property-descriptors": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz",
+ "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==",
"dev": true,
"dependencies": {
- "inherits": "^2.0.4",
- "readable-stream": "^3.6.0",
- "safe-buffer": "^5.2.0"
+ "get-intrinsic": "^1.1.1"
},
- "engines": {
- "node": ">=4"
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/hash-base/node_modules/safe-buffer": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
- "dev": true
- },
- "node_modules/hash.js": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
- "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
- "dev": true,
- "dependencies": {
- "inherits": "^2.0.3",
- "minimalistic-assert": "^1.0.1"
- }
- },
- "node_modules/hex-color-regex": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz",
- "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==",
- "dev": true
- },
- "node_modules/hmac-drbg": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
- "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
- "dev": true,
- "dependencies": {
- "hash.js": "^1.0.3",
- "minimalistic-assert": "^1.0.0",
- "minimalistic-crypto-utils": "^1.0.1"
- }
- },
- "node_modules/homedir-polyfill": {
+ "node_modules/has-symbols": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
- "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
"dev": true,
- "dependencies": {
- "parse-passwd": "^1.0.0"
- },
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/hpack.js": {
"version": "2.1.6",
"resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz",
- "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=",
+ "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==",
"dev": true,
"dependencies": {
"inherits": "^2.0.1",
@@ -5318,76 +4611,57 @@
"safe-buffer": "~5.1.0"
}
},
- "node_modules/hsl-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz",
- "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=",
- "dev": true
- },
- "node_modules/hsla-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz",
- "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=",
- "dev": true
- },
- "node_modules/html-comment-regex": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz",
- "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==",
- "dev": true
- },
"node_modules/html-entities": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.1.tgz",
- "integrity": "sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA==",
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz",
+ "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==",
"dev": true
},
"node_modules/htmlparser2": {
- "version": "3.10.1",
- "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
- "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==",
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz",
+ "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==",
"dev": true,
+ "funding": [
+ "https://github.com/fb55/htmlparser2?sponsor=1",
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fb55"
+ }
+ ],
"dependencies": {
- "domelementtype": "^1.3.1",
- "domhandler": "^2.3.0",
- "domutils": "^1.5.1",
- "entities": "^1.1.1",
- "inherits": "^2.0.1",
- "readable-stream": "^3.1.1"
+ "domelementtype": "^2.0.1",
+ "domhandler": "^4.0.0",
+ "domutils": "^2.5.2",
+ "entities": "^2.0.0"
}
},
- "node_modules/htmlparser2/node_modules/entities": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
- "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
- "dev": true
- },
"node_modules/http-deceiver": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
- "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=",
+ "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==",
"dev": true
},
"node_modules/http-errors": {
- "version": "1.7.2",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
- "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
+ "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
"dev": true,
"dependencies": {
- "depd": "~1.1.2",
- "inherits": "2.0.3",
- "setprototypeof": "1.1.1",
- "statuses": ">= 1.5.0 < 2",
- "toidentifier": "1.0.0"
+ "depd": "2.0.0",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "toidentifier": "1.0.1"
},
"engines": {
- "node": ">= 0.6"
+ "node": ">= 0.8"
}
},
- "node_modules/http-errors/node_modules/inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+ "node_modules/http-parser-js": {
+ "version": "0.5.8",
+ "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz",
+ "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==",
"dev": true
},
"node_modules/http-proxy": {
@@ -5405,25 +4679,37 @@
}
},
"node_modules/http-proxy-middleware": {
- "version": "0.19.1",
- "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz",
- "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==",
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz",
+ "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==",
"dev": true,
"dependencies": {
- "http-proxy": "^1.17.0",
- "is-glob": "^4.0.0",
- "lodash": "^4.17.11",
- "micromatch": "^3.1.10"
+ "@types/http-proxy": "^1.17.8",
+ "http-proxy": "^1.18.1",
+ "is-glob": "^4.0.1",
+ "is-plain-obj": "^3.0.0",
+ "micromatch": "^4.0.2"
},
"engines": {
- "node": ">=4.0.0"
+ "node": ">=12.0.0"
+ },
+ "peerDependencies": {
+ "@types/express": "^4.17.13"
+ },
+ "peerDependenciesMeta": {
+ "@types/express": {
+ "optional": true
+ }
}
},
- "node_modules/https-browserify": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
- "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
- "dev": true
+ "node_modules/human-signals": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
+ "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10.17.0"
+ }
},
"node_modules/iconv-lite": {
"version": "0.4.24",
@@ -5438,29 +4724,17 @@
}
},
"node_modules/icss-utils": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz",
- "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
+ "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
"dev": true,
- "dependencies": {
- "postcss": "^7.0.14"
- },
"engines": {
- "node": ">= 6"
+ "node": "^10 || ^12 || >= 14"
+ },
+ "peerDependencies": {
+ "postcss": "^8.1.0"
}
},
- "node_modules/ieee754": {
- "version": "1.1.13",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
- "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==",
- "dev": true
- },
- "node_modules/iferr": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
- "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
- "dev": true
- },
"node_modules/ignore": {
"version": "5.1.8",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
@@ -5474,33 +4748,23 @@
"resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
"integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps="
},
- "node_modules/import-fresh": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
- "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
- "dev": true,
- "dependencies": {
- "caller-path": "^2.0.0",
- "resolve-from": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/import-local": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz",
- "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==",
+ "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": "^3.0.0",
- "resolve-cwd": "^2.0.0"
+ "pkg-dir": "^4.2.0",
+ "resolve-cwd": "^3.0.0"
},
"bin": {
"import-local-fixture": "fixtures/cli.js"
},
"engines": {
- "node": ">=6"
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/imurmurhash": {
@@ -5519,12 +4783,6 @@
"node": ">=8"
}
},
- "node_modules/indexes-of": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz",
- "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=",
- "dev": true
- },
"node_modules/infer-owner": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
@@ -5544,124 +4802,29 @@
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
- "node_modules/ini": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
- "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
+ "node_modules/interpret": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz",
+ "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==",
"dev": true,
"engines": {
- "node": "*"
- }
- },
- "node_modules/internal-ip": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz",
- "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==",
- "dev": true,
- "dependencies": {
- "default-gateway": "^4.2.0",
- "ipaddr.js": "^1.9.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/interpret": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
- "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==",
- "dev": true,
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/invariant": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
- "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
- "dev": true,
- "dependencies": {
- "loose-envify": "^1.0.0"
- }
- },
- "node_modules/ip": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
- "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
- "dev": true
- },
- "node_modules/ip-regex": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz",
- "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=",
- "dev": true,
- "engines": {
- "node": ">=4"
+ "node": ">= 0.10"
}
},
"node_modules/ipaddr.js": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
- "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
- "dev": true,
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/is-absolute-url": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz",
- "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
- "dev": true,
- "dependencies": {
- "kind-of": "^3.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-accessor-descriptor/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "dependencies": {
- "is-buffer": "^1.1.5"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-arguments": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz",
- "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz",
+ "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==",
"dev": true,
"engines": {
- "node": ">= 0.4"
+ "node": ">= 10"
}
},
- "node_modules/is-arrayish": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
- "dev": true
- },
"node_modules/is-binary-path": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
"dev": true,
- "optional": true,
"dependencies": {
"binary-extensions": "^2.0.0"
},
@@ -5669,107 +4832,31 @@
"node": ">=8"
}
},
- "node_modules/is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
- "dev": true
- },
- "node_modules/is-callable": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz",
- "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/is-color-stop": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz",
- "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=",
- "dev": true,
- "dependencies": {
- "css-color-names": "^0.0.4",
- "hex-color-regex": "^1.1.0",
- "hsl-regex": "^1.0.0",
- "hsla-regex": "^1.0.0",
- "rgb-regex": "^1.0.1",
- "rgba-regex": "^1.0.0"
- }
- },
- "node_modules/is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+ "node_modules/is-core-module": {
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz",
+ "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==",
"dev": true,
"dependencies": {
- "kind-of": "^3.0.2"
+ "has": "^1.0.3"
},
- "engines": {
- "node": ">=0.10.0"
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-data-descriptor/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "node_modules/is-docker": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
+ "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
"dev": true,
- "dependencies": {
- "is-buffer": "^1.1.5"
+ "bin": {
+ "is-docker": "cli.js"
},
"engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-date-object": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
- "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
- "dev": true,
- "dependencies": {
- "is-accessor-descriptor": "^0.1.6",
- "is-data-descriptor": "^0.1.4",
- "kind-of": "^5.0.0"
+ "node": ">=8"
},
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-descriptor/node_modules/kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-directory": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
- "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-extendable": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
- "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/is-extglob": {
@@ -5781,12 +4868,12 @@
}
},
"node_modules/is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true,
"engines": {
- "node": ">=4"
+ "node": ">=8"
}
},
"node_modules/is-glob": {
@@ -5801,36 +4888,11 @@
}
},
"node_modules/is-number": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
- "dev": true,
- "dependencies": {
- "kind-of": "^3.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-number/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "dependencies": {
- "is-buffer": "^1.1.5"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-obj": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
- "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
- "dev": true,
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"engines": {
- "node": ">=8"
+ "node": ">=0.12.0"
}
},
"node_modules/is-path-cwd": {
@@ -5866,6 +4928,18 @@
"node": ">=6"
}
},
+ "node_modules/is-plain-obj": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz",
+ "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/is-plain-object": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
@@ -5878,73 +4952,28 @@
"node": ">=0.10.0"
}
},
- "node_modules/is-regex": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz",
- "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==",
- "dev": true,
- "dependencies": {
- "has-symbols": "^1.0.1"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/is-resolvable": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
- "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==",
- "dev": true
- },
"node_modules/is-stream": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
- "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
"dev": true,
"engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-svg": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz",
- "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==",
- "dev": true,
- "dependencies": {
- "html-comment-regex": "^1.1.0"
+ "node": ">=8"
},
- "engines": {
- "node": ">=4"
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/is-symbol": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
- "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
+ "node_modules/is-wsl": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
"dev": true,
"dependencies": {
- "has-symbols": "^1.0.1"
+ "is-docker": "^2.0.0"
},
"engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/is-windows": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
- "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-wsl": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
- "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
- "dev": true,
- "engines": {
- "node": ">=4"
+ "node": ">=8"
}
},
"node_modules/isarray": {
@@ -5961,12 +4990,26 @@
"node_modules/isobject": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
+ "node_modules/jest-worker": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
+ "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^8.0.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ }
+ },
"node_modules/jquery": {
"version": "3.5.1",
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz",
@@ -5978,19 +5021,6 @@
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
"dev": true
},
- "node_modules/js-yaml": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
- "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
- "dev": true,
- "dependencies": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
"node_modules/jsesc": {
"version": "2.5.2",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
@@ -6003,10 +5033,10 @@
"node": ">=4"
}
},
- "node_modules/json-parse-better-errors": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
- "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
+ "node_modules/json-parse-even-better-errors": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
"dev": true
},
"node_modules/json-schema-traverse": {
@@ -6014,19 +5044,10 @@
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
},
- "node_modules/json3": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz",
- "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==",
- "dev": true
- },
"node_modules/json5": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz",
- "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==",
- "dependencies": {
- "minimist": "^1.2.5"
- },
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
+ "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
"bin": {
"json5": "lib/cli.js"
},
@@ -6034,24 +5055,15 @@
"node": ">=6"
}
},
- "node_modules/jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
"node_modules/jszip": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.5.0.tgz",
- "integrity": "sha512-WRtu7TPCmYePR1nazfrtuF216cIVon/3GWOvHS9QR5bIwSbnxtdpma6un3jyGGNhHsKCSzn5Ypk+EkDRvTGiFA==",
+ "version": "3.10.1",
+ "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz",
+ "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==",
"dependencies": {
"lie": "~3.3.0",
"pako": "~1.0.2",
"readable-stream": "~2.3.6",
- "set-immediate-shim": "~1.0.1"
+ "setimmediate": "^1.0.5"
}
},
"node_modules/jszip/node_modules/readable-stream": {
@@ -6076,12 +5088,6 @@
"safe-buffer": "~5.1.0"
}
},
- "node_modules/killable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz",
- "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==",
- "dev": true
- },
"node_modules/kind-of": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
@@ -6091,37 +5097,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/last-call-webpack-plugin": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz",
- "integrity": "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==",
- "dev": true,
- "dependencies": {
- "lodash": "^4.17.5",
- "webpack-sources": "^1.1.0"
- }
- },
- "node_modules/leven": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
- "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/levenary": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz",
- "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==",
- "dev": true,
- "dependencies": {
- "leven": "^3.1.0"
- },
- "engines": {
- "node": ">= 6"
- }
- },
"node_modules/lie": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz",
@@ -6130,13 +5105,22 @@
"immediate": "~3.0.5"
}
},
+ "node_modules/lilconfig": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz",
+ "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/loader-runner": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
- "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz",
+ "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==",
"dev": true,
"engines": {
- "node": ">=4.3.0 <5.0.0 || >=5.10"
+ "node": ">=6.11.5"
}
},
"node_modules/loader-utils": {
@@ -6166,104 +5150,57 @@
}
},
"node_modules/lodash": {
- "version": "4.17.15",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
- "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+ "dev": true
+ },
+ "node_modules/lodash.debounce": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
+ "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
"dev": true
},
"node_modules/lodash.memoize": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
- "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
+ "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==",
"dev": true
},
"node_modules/lodash.uniq": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
- "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
+ "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==",
"dev": true
},
- "node_modules/loglevel": {
- "version": "1.6.8",
- "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.8.tgz",
- "integrity": "sha512-bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA==",
- "dev": true,
- "engines": {
- "node": ">= 0.6.0"
- }
- },
- "node_modules/loose-envify": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
- "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
- "dev": true,
- "dependencies": {
- "js-tokens": "^3.0.0 || ^4.0.0"
- },
- "bin": {
- "loose-envify": "cli.js"
- }
- },
- "node_modules/lru-cache": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
- "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
- "dependencies": {
- "yallist": "^3.0.2"
+ "node_modules/lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "dependencies": {
+ "yallist": "^3.0.2"
}
},
"node_modules/make-dir": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
- "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
- "dev": true,
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
"dependencies": {
- "pify": "^4.0.1",
- "semver": "^5.6.0"
+ "semver": "^6.0.0"
},
"engines": {
- "node": ">=6"
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/make-dir/node_modules/semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true,
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
"bin": {
- "semver": "bin/semver"
- }
- },
- "node_modules/map-cache": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
- "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/map-visit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
- "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
- "dev": true,
- "dependencies": {
- "object-visit": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/md5.js": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
- "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
- "dev": true,
- "dependencies": {
- "hash-base": "^3.0.0",
- "inherits": "^2.0.1",
- "safe-buffer": "^5.1.2"
+ "semver": "bin/semver.js"
}
},
"node_modules/mdbootstrap": {
@@ -6272,58 +5209,42 @@
"integrity": "sha512-vzYd7UQ0H1tyJfDqCYwsAv+sxol/xRkJP/5FMhcdW3ZbN9xUnmWiSPHx3A6ddGxdOQbfJTWxT3G8M+I++Qdk6w=="
},
"node_modules/mdn-data": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz",
- "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==",
+ "version": "2.0.14",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz",
+ "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==",
"dev": true
},
"node_modules/media-typer": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
- "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
+ "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
"dev": true,
"engines": {
"node": ">= 0.6"
}
},
- "node_modules/memory-fs": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
- "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
- "dev": true,
- "dependencies": {
- "errno": "^0.1.3",
- "readable-stream": "^2.0.1"
- }
- },
- "node_modules/memory-fs/node_modules/readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "node_modules/memory-fs/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "node_modules/memfs": {
+ "version": "3.4.7",
+ "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.7.tgz",
+ "integrity": "sha512-ygaiUSNalBX85388uskeCyhSAoOSgzBbtVCr9jA2RROssFL9Q19/ZXFqS+2Th2sr1ewNIWgFdLzLC3Yl1Zv+lw==",
"dev": true,
"dependencies": {
- "safe-buffer": "~5.1.0"
+ "fs-monkey": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 4.0.0"
}
},
"node_modules/merge-descriptors": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
- "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
+ "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==",
+ "dev": true
+ },
+ "node_modules/merge-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
"dev": true
},
"node_modules/merge2": {
@@ -6337,55 +5258,24 @@
"node_modules/methods": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
- "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
+ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
"dev": true,
"engines": {
"node": ">= 0.6"
}
},
"node_modules/micromatch": {
- "version": "3.1.10",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
- "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
- "dev": true,
- "dependencies": {
- "arr-diff": "^4.0.0",
- "array-unique": "^0.3.2",
- "braces": "^2.3.1",
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "extglob": "^2.0.4",
- "fragment-cache": "^0.2.1",
- "kind-of": "^6.0.2",
- "nanomatch": "^1.2.9",
- "object.pick": "^1.3.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/miller-rabin": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
- "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
- "dev": true,
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
+ "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
"dependencies": {
- "bn.js": "^4.0.0",
- "brorand": "^1.0.1"
+ "braces": "^3.0.2",
+ "picomatch": "^2.3.1"
},
- "bin": {
- "miller-rabin": "bin/miller-rabin"
+ "engines": {
+ "node": ">=8.6"
}
},
- "node_modules/miller-rabin/node_modules/bn.js": {
- "version": "4.11.9",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
- "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
- "dev": true
- },
"node_modules/mime": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
@@ -6399,78 +5289,105 @@
}
},
"node_modules/mime-db": {
- "version": "1.44.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
- "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==",
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
"dev": true,
"engines": {
"node": ">= 0.6"
}
},
"node_modules/mime-types": {
- "version": "2.1.27",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
- "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
"dev": true,
"dependencies": {
- "mime-db": "1.44.0"
+ "mime-db": "1.52.0"
},
"engines": {
"node": ">= 0.6"
}
},
+ "node_modules/mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/mini-css-extract-plugin": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.2.tgz",
- "integrity": "sha512-ots7URQH4wccfJq9Ssrzu2+qupbncAce4TmTzunI9CIwlQMp2XI+WNUw6xWF6MMAGAm1cbUVINrSjATaVMyKXg==",
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.1.tgz",
+ "integrity": "sha512-wd+SD57/K6DiV7jIR34P+s3uckTRuQvx0tKPcvjFlrEylk6P4mQ2KSWk1hblj1Kxaqok7LogKOieygXqBczNlg==",
"dev": true,
"dependencies": {
- "loader-utils": "^1.1.0",
- "schema-utils": "^1.0.0",
- "webpack-sources": "^1.1.0"
+ "schema-utils": "^4.0.0"
},
"engines": {
- "node": ">= 6.9.0 <7.0.0 || >= 8.9.0"
+ "node": ">= 12.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^5.0.0"
}
},
- "node_modules/mini-css-extract-plugin/node_modules/json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+ "node_modules/mini-css-extract-plugin/node_modules/ajv": {
+ "version": "8.11.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
+ "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
"dev": true,
"dependencies": {
- "minimist": "^1.2.0"
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
},
- "bin": {
- "json5": "lib/cli.js"
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
}
},
- "node_modules/mini-css-extract-plugin/node_modules/loader-utils": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
- "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+ "node_modules/mini-css-extract-plugin/node_modules/ajv-keywords": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
+ "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
"dev": true,
"dependencies": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^1.0.1"
+ "fast-deep-equal": "^3.1.3"
},
- "engines": {
- "node": ">=4.0.0"
+ "peerDependencies": {
+ "ajv": "^8.8.2"
}
},
- "node_modules/mini-css-extract-plugin/node_modules/schema-utils": {
+ "node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
- "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ },
+ "node_modules/mini-css-extract-plugin/node_modules/schema-utils": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
+ "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
"dev": true,
"dependencies": {
- "ajv": "^6.1.0",
- "ajv-errors": "^1.0.0",
- "ajv-keywords": "^3.1.0"
+ "@types/json-schema": "^7.0.9",
+ "ajv": "^8.8.0",
+ "ajv-formats": "^2.1.1",
+ "ajv-keywords": "^5.0.0"
},
"engines": {
- "node": ">= 4"
+ "node": ">= 12.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
}
},
"node_modules/minimalistic-assert": {
@@ -6479,12 +5396,6 @@
"integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
"dev": true
},
- "node_modules/minimalistic-crypto-utils": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
- "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
- "dev": true
- },
"node_modules/minimatch": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
@@ -6496,11 +5407,6 @@
"node": "*"
}
},
- "node_modules/minimist": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
- },
"node_modules/minipass": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz",
@@ -6551,9 +5457,9 @@
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
},
"node_modules/minizlib": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.0.tgz",
- "integrity": "sha512-EzTZN/fjSvifSX0SlqUERCN39o6T40AMarPbv0MrarSFtIITCBh7bi+dU8nxGFHuqs9jdIAeoYoKuQAAASsPPA==",
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
+ "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
"dependencies": {
"minipass": "^3.0.0",
"yallist": "^4.0.0"
@@ -6567,86 +5473,14 @@
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
},
- "node_modules/mississippi": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
- "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==",
- "dev": true,
- "dependencies": {
- "concat-stream": "^1.5.0",
- "duplexify": "^3.4.2",
- "end-of-stream": "^1.1.0",
- "flush-write-stream": "^1.0.0",
- "from2": "^2.1.0",
- "parallel-transform": "^1.1.0",
- "pump": "^3.0.0",
- "pumpify": "^1.3.3",
- "stream-each": "^1.1.0",
- "through2": "^2.0.0"
- },
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/mixin-deep": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
- "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
- "dev": true,
- "dependencies": {
- "for-in": "^1.0.2",
- "is-extendable": "^1.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/mixin-deep/node_modules/is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "dev": true,
- "dependencies": {
- "is-plain-object": "^2.0.4"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/mkdirp": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz",
- "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==",
- "dev": true,
- "dependencies": {
- "minimist": "^1.2.5"
- },
- "bin": {
- "mkdirp": "bin/cmd.js"
- }
- },
"node_modules/moment": {
- "version": "2.27.0",
- "resolved": "https://registry.npmjs.org/moment/-/moment-2.27.0.tgz",
- "integrity": "sha512-al0MUK7cpIcglMv3YF13qSgdAIqxHTO7brRtaz3DlSULbqfazqkc5kEjNrLDOM7fsjshoFIihnU8snrP7zUvhQ==",
+ "version": "2.29.4",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
+ "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==",
"engines": {
"node": "*"
}
},
- "node_modules/move-concurrently": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
- "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
- "dev": true,
- "dependencies": {
- "aproba": "^1.1.1",
- "copy-concurrently": "^1.0.0",
- "fs-write-stream-atomic": "^1.0.8",
- "mkdirp": "^0.5.1",
- "rimraf": "^2.5.4",
- "run-queue": "^1.0.3"
- }
- },
"node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -6654,184 +5488,72 @@
"dev": true
},
"node_modules/multicast-dns": {
- "version": "6.2.3",
- "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz",
- "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==",
+ "version": "7.2.5",
+ "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz",
+ "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==",
"dev": true,
"dependencies": {
- "dns-packet": "^1.3.1",
+ "dns-packet": "^5.2.2",
"thunky": "^1.0.2"
},
"bin": {
"multicast-dns": "cli.js"
}
},
- "node_modules/multicast-dns-service-types": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz",
- "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=",
- "dev": true
- },
- "node_modules/nanomatch": {
- "version": "1.2.13",
- "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
- "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
+ "node_modules/nanoid": {
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
+ "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
"dev": true,
- "dependencies": {
- "arr-diff": "^4.0.0",
- "array-unique": "^0.3.2",
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "fragment-cache": "^0.2.1",
- "is-windows": "^1.0.2",
- "kind-of": "^6.0.2",
- "object.pick": "^1.3.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
},
"engines": {
- "node": ">=0.10.0"
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
}
},
"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==",
"dev": true,
"engines": {
"node": ">= 0.6"
}
},
"node_modules/neo-async": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz",
- "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==",
- "dev": true
- },
- "node_modules/next-tick": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
- "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
- "dev": true
- },
- "node_modules/nice-try": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
- "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
+ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
"dev": true
},
"node_modules/node-forge": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz",
- "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
+ "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==",
"dev": true,
"engines": {
- "node": ">= 4.5.0"
- }
- },
- "node_modules/node-libs-browser": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz",
- "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==",
- "dev": true,
- "dependencies": {
- "assert": "^1.1.1",
- "browserify-zlib": "^0.2.0",
- "buffer": "^4.3.0",
- "console-browserify": "^1.1.0",
- "constants-browserify": "^1.0.0",
- "crypto-browserify": "^3.11.0",
- "domain-browser": "^1.1.1",
- "events": "^3.0.0",
- "https-browserify": "^1.0.0",
- "os-browserify": "^0.3.0",
- "path-browserify": "0.0.1",
- "process": "^0.11.10",
- "punycode": "^1.2.4",
- "querystring-es3": "^0.2.0",
- "readable-stream": "^2.3.3",
- "stream-browserify": "^2.0.1",
- "stream-http": "^2.7.2",
- "string_decoder": "^1.0.0",
- "timers-browserify": "^2.0.4",
- "tty-browserify": "0.0.0",
- "url": "^0.11.0",
- "util": "^0.11.0",
- "vm-browserify": "^1.0.1"
- }
- },
- "node_modules/node-libs-browser/node_modules/punycode": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
- "dev": true
- },
- "node_modules/node-libs-browser/node_modules/readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "node_modules/node-libs-browser/node_modules/readable-stream/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "~5.1.0"
- }
- },
- "node_modules/node-libs-browser/node_modules/util": {
- "version": "0.11.1",
- "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
- "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
- "dev": true,
- "dependencies": {
- "inherits": "2.0.3"
+ "node": ">= 6.13.0"
}
},
- "node_modules/node-libs-browser/node_modules/util/node_modules/inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
- "dev": true
- },
"node_modules/node-notifier": {
- "version": "5.4.3",
- "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz",
- "integrity": "sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==",
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-9.0.1.tgz",
+ "integrity": "sha512-fPNFIp2hF/Dq7qLDzSg4vZ0J4e9v60gJR+Qx7RbjbWqzPDdEqeVpEx5CFeDAELIl+A/woaaNn1fQ5nEVerMxJg==",
"dev": true,
"dependencies": {
"growly": "^1.3.0",
- "is-wsl": "^1.1.0",
- "semver": "^5.5.0",
+ "is-wsl": "^2.2.0",
+ "semver": "^7.3.2",
"shellwords": "^0.1.1",
- "which": "^1.3.0"
- }
- },
- "node_modules/node-notifier/node_modules/semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true,
- "bin": {
- "semver": "bin/semver"
+ "uuid": "^8.3.0",
+ "which": "^2.0.2"
}
},
"node_modules/node-releases": {
- "version": "1.1.58",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.58.tgz",
- "integrity": "sha512-NxBudgVKiRh/2aPWMgPR7bPTX0VPmGx5QBwCtdHitnqFE5/O8DeBXuIMH1nwNnw/aMo6AjOrpsHzfY3UbUJ7yg==",
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz",
+ "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==",
"dev": true
},
"node_modules/normalize-path": {
@@ -6843,216 +5565,102 @@
}
},
"node_modules/normalize-url": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz",
- "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==",
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
+ "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==",
"dev": true,
"engines": {
- "node": ">=6"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/npm-run-path": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
- "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+ "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
"dev": true,
"dependencies": {
- "path-key": "^2.0.0"
+ "path-key": "^3.0.0"
},
"engines": {
- "node": ">=4"
+ "node": ">=8"
}
},
"node_modules/nth-check": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz",
- "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
+ "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
"dev": true,
"dependencies": {
- "boolbase": "~1.0.0"
+ "boolbase": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/nth-check?sponsor=1"
}
},
"node_modules/object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/object-copy": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
- "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+ "node_modules/object-inspect": {
+ "version": "1.12.2",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
+ "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==",
"dev": true,
- "dependencies": {
- "copy-descriptor": "^0.1.0",
- "define-property": "^0.2.5",
- "kind-of": "^3.0.3"
- },
- "engines": {
- "node": ">=0.10.0"
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/object-copy/node_modules/define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "node_modules/object-keys": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
"dev": true,
- "dependencies": {
- "is-descriptor": "^0.1.0"
- },
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 0.4"
}
},
- "node_modules/object-copy/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "node_modules/object.assign": {
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz",
+ "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==",
"dev": true,
"dependencies": {
- "is-buffer": "^1.1.5"
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.4",
+ "has-symbols": "^1.0.3",
+ "object-keys": "^1.1.1"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/object-inspect": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz",
- "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==",
+ "node_modules/obuf": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
+ "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==",
"dev": true
},
- "node_modules/object-is": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.2.tgz",
- "integrity": "sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ==",
+ "node_modules/on-finished": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
"dev": true,
"dependencies": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.5"
+ "ee-first": "1.1.1"
},
"engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/object-keys": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
- "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/object-path": {
- "version": "0.11.4",
- "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.4.tgz",
- "integrity": "sha1-NwrnUvvzfePqcKhhwju6iRVpGUk=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/object-visit": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
- "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
- "dev": true,
- "dependencies": {
- "isobject": "^3.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/object.assign": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
- "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
- "dev": true,
- "dependencies": {
- "define-properties": "^1.1.2",
- "function-bind": "^1.1.1",
- "has-symbols": "^1.0.0",
- "object-keys": "^1.0.11"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/object.entries": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.2.tgz",
- "integrity": "sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA==",
- "dev": true,
- "dependencies": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.5",
- "has": "^1.0.3"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/object.getownpropertydescriptors": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz",
- "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==",
- "dev": true,
- "dependencies": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.0-next.1"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/object.pick": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
- "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
- "dev": true,
- "dependencies": {
- "isobject": "^3.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/object.values": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz",
- "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==",
- "dev": true,
- "dependencies": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.0-next.1",
- "function-bind": "^1.1.1",
- "has": "^1.0.3"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/obuf": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
- "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==",
- "dev": true
- },
- "node_modules/on-finished": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
- "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
- "dev": true,
- "dependencies": {
- "ee-first": "1.1.1"
- },
- "engines": {
- "node": ">= 0.8"
+ "node": ">= 0.8"
}
},
"node_modules/on-headers": {
@@ -7072,57 +5680,42 @@
"wrappy": "1"
}
},
- "node_modules/opn": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz",
- "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==",
+ "node_modules/onetime": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+ "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
"dev": true,
"dependencies": {
- "is-wsl": "^1.1.0"
+ "mimic-fn": "^2.1.0"
},
"engines": {
- "node": ">=4"
- }
- },
- "node_modules/optimize-css-assets-webpack-plugin": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.3.tgz",
- "integrity": "sha512-q9fbvCRS6EYtUKKSwI87qm2IxlyJK5b4dygW1rKUBT6mMDhdG5e5bZT63v6tnJR9F9FB/H5a0HTmtw+laUBxKA==",
- "dev": true,
- "dependencies": {
- "cssnano": "^4.1.10",
- "last-call-webpack-plugin": "^3.0.0"
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/original": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz",
- "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==",
+ "node_modules/open": {
+ "version": "8.4.0",
+ "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz",
+ "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==",
"dev": true,
"dependencies": {
- "url-parse": "^1.4.3"
- }
- },
- "node_modules/os-browserify": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
- "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
- "dev": true
- },
- "node_modules/p-finally": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
- "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
- "dev": true,
+ "define-lazy-prop": "^2.0.0",
+ "is-docker": "^2.1.1",
+ "is-wsl": "^2.2.0"
+ },
"engines": {
- "node": ">=4"
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/p-limit": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
"integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
"dependencies": {
"p-try": "^2.0.0"
},
@@ -7152,15 +5745,16 @@
}
},
"node_modules/p-retry": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz",
- "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==",
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz",
+ "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==",
"dev": true,
"dependencies": {
- "retry": "^0.12.0"
+ "@types/retry": "0.12.0",
+ "retry": "^0.13.1"
},
"engines": {
- "node": ">=6"
+ "node": ">=8"
}
},
"node_modules/p-try": {
@@ -7176,77 +5770,6 @@
"resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
"integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
},
- "node_modules/parallel-transform": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz",
- "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==",
- "dev": true,
- "dependencies": {
- "cyclist": "^1.0.1",
- "inherits": "^2.0.3",
- "readable-stream": "^2.1.5"
- }
- },
- "node_modules/parallel-transform/node_modules/readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "node_modules/parallel-transform/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "~5.1.0"
- }
- },
- "node_modules/parse-asn1": {
- "version": "5.1.5",
- "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz",
- "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==",
- "dev": true,
- "dependencies": {
- "asn1.js": "^4.0.0",
- "browserify-aes": "^1.0.0",
- "create-hash": "^1.1.0",
- "evp_bytestokey": "^1.0.0",
- "pbkdf2": "^3.0.3",
- "safe-buffer": "^5.1.1"
- }
- },
- "node_modules/parse-json": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
- "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
- "dev": true,
- "dependencies": {
- "error-ex": "^1.3.1",
- "json-parse-better-errors": "^1.0.1"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/parse-passwd": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
- "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/parseurl": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
@@ -7256,27 +5779,6 @@
"node": ">= 0.8"
}
},
- "node_modules/pascalcase": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
- "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/path-browserify": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
- "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==",
- "dev": true
- },
- "node_modules/path-dirname": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
- "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
- "dev": true
- },
"node_modules/path-exists": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
@@ -7297,28 +5799,28 @@
"node_modules/path-is-inside": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
- "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
+ "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==",
"dev": true
},
"node_modules/path-key": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
- "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
"dev": true,
"engines": {
- "node": ">=4"
+ "node": ">=8"
}
},
"node_modules/path-parse": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
- "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
"dev": true
},
"node_modules/path-to-regexp": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
- "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=",
+ "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==",
"dev": true
},
"node_modules/path-type": {
@@ -7329,28 +5831,21 @@
"node": ">=8"
}
},
- "node_modules/pbkdf2": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz",
- "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==",
- "dev": true,
- "dependencies": {
- "create-hash": "^1.1.2",
- "create-hmac": "^1.1.4",
- "ripemd160": "^2.0.1",
- "safe-buffer": "^5.0.1",
- "sha.js": "^2.4.8"
- },
- "engines": {
- "node": ">=0.12"
- }
+ "node_modules/picocolors": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
+ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
+ "dev": true
},
"node_modules/picomatch": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
- "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"engines": {
"node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
}
},
"node_modules/pify": {
@@ -7365,7 +5860,7 @@
"node_modules/pinkie": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
- "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
+ "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==",
"dev": true,
"engines": {
"node": ">=0.10.0"
@@ -7374,7 +5869,7 @@
"node_modules/pinkie-promise": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
- "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+ "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==",
"dev": true,
"dependencies": {
"pinkie": "^2.0.0"
@@ -7384,718 +5879,585 @@
}
},
"node_modules/pkg-dir": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
- "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
- "dev": true,
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
+ "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
"dependencies": {
- "find-up": "^3.0.0"
+ "find-up": "^4.0.0"
},
"engines": {
- "node": ">=6"
+ "node": ">=8"
}
},
- "node_modules/pkg-up": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz",
- "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==",
- "dev": true,
+ "node_modules/pkg-dir/node_modules/find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
"dependencies": {
- "find-up": "^3.0.0"
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
},
"engines": {
"node": ">=8"
}
},
- "node_modules/portfinder": {
- "version": "1.0.26",
- "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.26.tgz",
- "integrity": "sha512-Xi7mKxJHHMI3rIUrnm/jjUgwhbYMkp/XKEcZX3aG4BrumLpq3nmoQMX+ClYnDZnZ/New7IatC1no5RX0zo1vXQ==",
- "dev": true,
+ "node_modules/pkg-dir/node_modules/locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"dependencies": {
- "async": "^2.6.2",
- "debug": "^3.1.1",
- "mkdirp": "^0.5.1"
+ "p-locate": "^4.1.0"
},
"engines": {
- "node": ">= 0.12.0"
+ "node": ">=8"
}
},
- "node_modules/portfinder/node_modules/debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
- "dev": true,
+ "node_modules/pkg-dir/node_modules/p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"dependencies": {
- "ms": "^2.1.1"
+ "p-limit": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "node_modules/posix-character-classes": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
- "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
+ "node_modules/pkg-dir/node_modules/path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/pkg-up": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz",
+ "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==",
"dev": true,
+ "dependencies": {
+ "find-up": "^3.0.0"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": ">=8"
}
},
"node_modules/postcss": {
- "version": "7.0.32",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz",
- "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==",
+ "version": "8.4.16",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.16.tgz",
+ "integrity": "sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==",
"dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ }
+ ],
"dependencies": {
- "chalk": "^2.4.2",
- "source-map": "^0.6.1",
- "supports-color": "^6.1.0"
+ "nanoid": "^3.3.4",
+ "picocolors": "^1.0.0",
+ "source-map-js": "^1.0.2"
},
"engines": {
- "node": ">=6.0.0"
+ "node": "^10 || ^12 || >=14"
}
},
"node_modules/postcss-calc": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.2.tgz",
- "integrity": "sha512-rofZFHUg6ZIrvRwPeFktv06GdbDYLcGqh9EwiMutZg+a0oePCCw1zHOEiji6LCpyRcjTREtPASuUqeAvYlEVvQ==",
+ "version": "8.2.4",
+ "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz",
+ "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==",
"dev": true,
"dependencies": {
- "postcss": "^7.0.27",
- "postcss-selector-parser": "^6.0.2",
- "postcss-value-parser": "^4.0.2"
+ "postcss-selector-parser": "^6.0.9",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.2"
}
},
"node_modules/postcss-colormin": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz",
- "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==",
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz",
+ "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==",
"dev": true,
"dependencies": {
- "browserslist": "^4.0.0",
- "color": "^3.0.0",
- "has": "^1.0.0",
- "postcss": "^7.0.0",
- "postcss-value-parser": "^3.0.0"
+ "browserslist": "^4.16.6",
+ "caniuse-api": "^3.0.0",
+ "colord": "^2.9.1",
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": ">=6.9.0"
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
}
},
- "node_modules/postcss-colormin/node_modules/postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- },
"node_modules/postcss-convert-values": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz",
- "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==",
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.2.tgz",
+ "integrity": "sha512-c6Hzc4GAv95B7suy4udszX9Zy4ETyMCgFPUDtWjdFTKH1SE9eFY/jEpHSwTH1QPuwxHpWslhckUQWbNRM4ho5g==",
"dev": true,
"dependencies": {
- "postcss": "^7.0.0",
- "postcss-value-parser": "^3.0.0"
+ "browserslist": "^4.20.3",
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": ">=6.9.0"
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
}
},
- "node_modules/postcss-convert-values/node_modules/postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- },
"node_modules/postcss-discard-comments": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz",
- "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==",
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz",
+ "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==",
"dev": true,
- "dependencies": {
- "postcss": "^7.0.0"
- },
"engines": {
- "node": ">=6.9.0"
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
}
},
"node_modules/postcss-discard-duplicates": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz",
- "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz",
+ "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==",
"dev": true,
- "dependencies": {
- "postcss": "^7.0.0"
- },
"engines": {
- "node": ">=6.9.0"
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
}
},
"node_modules/postcss-discard-empty": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz",
- "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==",
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz",
+ "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==",
"dev": true,
- "dependencies": {
- "postcss": "^7.0.0"
- },
"engines": {
- "node": ">=6.9.0"
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
}
},
"node_modules/postcss-discard-overridden": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz",
- "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz",
+ "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==",
"dev": true,
- "dependencies": {
- "postcss": "^7.0.0"
- },
"engines": {
- "node": ">=6.9.0"
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
}
},
"node_modules/postcss-merge-longhand": {
- "version": "4.0.11",
- "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz",
- "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==",
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.6.tgz",
+ "integrity": "sha512-6C/UGF/3T5OE2CEbOuX7iNO63dnvqhGZeUnKkDeifebY0XqkkvrctYSZurpNE902LDf2yKwwPFgotnfSoPhQiw==",
"dev": true,
"dependencies": {
- "css-color-names": "0.0.4",
- "postcss": "^7.0.0",
- "postcss-value-parser": "^3.0.0",
- "stylehacks": "^4.0.0"
+ "postcss-value-parser": "^4.2.0",
+ "stylehacks": "^5.1.0"
},
"engines": {
- "node": ">=6.9.0"
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
}
},
- "node_modules/postcss-merge-longhand/node_modules/postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- },
"node_modules/postcss-merge-rules": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz",
- "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==",
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.2.tgz",
+ "integrity": "sha512-zKMUlnw+zYCWoPN6yhPjtcEdlJaMUZ0WyVcxTAmw3lkkN/NDMRkOkiuctQEoWAOvH7twaxUUdvBWl0d4+hifRQ==",
"dev": true,
"dependencies": {
- "browserslist": "^4.0.0",
+ "browserslist": "^4.16.6",
"caniuse-api": "^3.0.0",
- "cssnano-util-same-parent": "^4.0.0",
- "postcss": "^7.0.0",
- "postcss-selector-parser": "^3.0.0",
- "vendors": "^1.0.0"
+ "cssnano-utils": "^3.1.0",
+ "postcss-selector-parser": "^6.0.5"
},
"engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/postcss-merge-rules/node_modules/postcss-selector-parser": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz",
- "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==",
- "dev": true,
- "dependencies": {
- "dot-prop": "^5.2.0",
- "indexes-of": "^1.0.1",
- "uniq": "^1.0.1"
+ "node": "^10 || ^12 || >=14.0"
},
- "engines": {
- "node": ">=8"
+ "peerDependencies": {
+ "postcss": "^8.2.15"
}
},
"node_modules/postcss-minify-font-values": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz",
- "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz",
+ "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==",
"dev": true,
"dependencies": {
- "postcss": "^7.0.0",
- "postcss-value-parser": "^3.0.0"
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": ">=6.9.0"
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
}
},
- "node_modules/postcss-minify-font-values/node_modules/postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- },
"node_modules/postcss-minify-gradients": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz",
- "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==",
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz",
+ "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==",
"dev": true,
"dependencies": {
- "cssnano-util-get-arguments": "^4.0.0",
- "is-color-stop": "^1.0.0",
- "postcss": "^7.0.0",
- "postcss-value-parser": "^3.0.0"
+ "colord": "^2.9.1",
+ "cssnano-utils": "^3.1.0",
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": ">=6.9.0"
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
}
},
- "node_modules/postcss-minify-gradients/node_modules/postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- },
"node_modules/postcss-minify-params": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz",
- "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==",
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.3.tgz",
+ "integrity": "sha512-bkzpWcjykkqIujNL+EVEPOlLYi/eZ050oImVtHU7b4lFS82jPnsCb44gvC6pxaNt38Els3jWYDHTjHKf0koTgg==",
"dev": true,
"dependencies": {
- "alphanum-sort": "^1.0.0",
- "browserslist": "^4.0.0",
- "cssnano-util-get-arguments": "^4.0.0",
- "postcss": "^7.0.0",
- "postcss-value-parser": "^3.0.0",
- "uniqs": "^2.0.0"
+ "browserslist": "^4.16.6",
+ "cssnano-utils": "^3.1.0",
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": ">=6.9.0"
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
}
},
- "node_modules/postcss-minify-params/node_modules/postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- },
"node_modules/postcss-minify-selectors": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz",
- "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==",
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz",
+ "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==",
"dev": true,
"dependencies": {
- "alphanum-sort": "^1.0.0",
- "has": "^1.0.0",
- "postcss": "^7.0.0",
- "postcss-selector-parser": "^3.0.0"
+ "postcss-selector-parser": "^6.0.5"
},
"engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/postcss-minify-selectors/node_modules/postcss-selector-parser": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz",
- "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==",
- "dev": true,
- "dependencies": {
- "dot-prop": "^5.2.0",
- "indexes-of": "^1.0.1",
- "uniq": "^1.0.1"
+ "node": "^10 || ^12 || >=14.0"
},
- "engines": {
- "node": ">=8"
+ "peerDependencies": {
+ "postcss": "^8.2.15"
}
},
"node_modules/postcss-modules-extract-imports": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz",
- "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz",
+ "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==",
"dev": true,
- "dependencies": {
- "postcss": "^7.0.5"
- },
"engines": {
- "node": ">= 6"
+ "node": "^10 || ^12 || >= 14"
+ },
+ "peerDependencies": {
+ "postcss": "^8.1.0"
}
},
"node_modules/postcss-modules-local-by-default": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz",
- "integrity": "sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz",
+ "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==",
"dev": true,
"dependencies": {
- "icss-utils": "^4.1.1",
- "postcss": "^7.0.16",
+ "icss-utils": "^5.0.0",
"postcss-selector-parser": "^6.0.2",
- "postcss-value-parser": "^4.0.0"
+ "postcss-value-parser": "^4.1.0"
},
"engines": {
- "node": ">= 6"
+ "node": "^10 || ^12 || >= 14"
+ },
+ "peerDependencies": {
+ "postcss": "^8.1.0"
}
},
"node_modules/postcss-modules-scope": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz",
- "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz",
+ "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==",
"dev": true,
"dependencies": {
- "postcss": "^7.0.6",
- "postcss-selector-parser": "^6.0.0"
+ "postcss-selector-parser": "^6.0.4"
},
"engines": {
- "node": ">= 6"
+ "node": "^10 || ^12 || >= 14"
+ },
+ "peerDependencies": {
+ "postcss": "^8.1.0"
}
},
"node_modules/postcss-modules-values": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz",
- "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz",
+ "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==",
"dev": true,
"dependencies": {
- "icss-utils": "^4.0.0",
- "postcss": "^7.0.6"
+ "icss-utils": "^5.0.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >= 14"
+ },
+ "peerDependencies": {
+ "postcss": "^8.1.0"
}
},
"node_modules/postcss-normalize-charset": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz",
- "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz",
+ "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==",
"dev": true,
- "dependencies": {
- "postcss": "^7.0.0"
- },
"engines": {
- "node": ">=6.9.0"
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
}
},
"node_modules/postcss-normalize-display-values": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz",
- "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz",
+ "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==",
"dev": true,
"dependencies": {
- "cssnano-util-get-match": "^4.0.0",
- "postcss": "^7.0.0",
- "postcss-value-parser": "^3.0.0"
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": ">=6.9.0"
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
}
},
- "node_modules/postcss-normalize-display-values/node_modules/postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- },
"node_modules/postcss-normalize-positions": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz",
- "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==",
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz",
+ "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==",
"dev": true,
"dependencies": {
- "cssnano-util-get-arguments": "^4.0.0",
- "has": "^1.0.0",
- "postcss": "^7.0.0",
- "postcss-value-parser": "^3.0.0"
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": ">=6.9.0"
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
}
},
- "node_modules/postcss-normalize-positions/node_modules/postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- },
"node_modules/postcss-normalize-repeat-style": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz",
- "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==",
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz",
+ "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==",
"dev": true,
"dependencies": {
- "cssnano-util-get-arguments": "^4.0.0",
- "cssnano-util-get-match": "^4.0.0",
- "postcss": "^7.0.0",
- "postcss-value-parser": "^3.0.0"
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": ">=6.9.0"
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
}
},
- "node_modules/postcss-normalize-repeat-style/node_modules/postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- },
"node_modules/postcss-normalize-string": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz",
- "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz",
+ "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==",
"dev": true,
"dependencies": {
- "has": "^1.0.0",
- "postcss": "^7.0.0",
- "postcss-value-parser": "^3.0.0"
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": ">=6.9.0"
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
}
},
- "node_modules/postcss-normalize-string/node_modules/postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- },
"node_modules/postcss-normalize-timing-functions": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz",
- "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz",
+ "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==",
"dev": true,
"dependencies": {
- "cssnano-util-get-match": "^4.0.0",
- "postcss": "^7.0.0",
- "postcss-value-parser": "^3.0.0"
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": ">=6.9.0"
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
}
},
- "node_modules/postcss-normalize-timing-functions/node_modules/postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- },
"node_modules/postcss-normalize-unicode": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz",
- "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz",
+ "integrity": "sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ==",
"dev": true,
"dependencies": {
- "browserslist": "^4.0.0",
- "postcss": "^7.0.0",
- "postcss-value-parser": "^3.0.0"
+ "browserslist": "^4.16.6",
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": ">=6.9.0"
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
}
},
- "node_modules/postcss-normalize-unicode/node_modules/postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- },
"node_modules/postcss-normalize-url": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz",
- "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz",
+ "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==",
"dev": true,
"dependencies": {
- "is-absolute-url": "^2.0.0",
- "normalize-url": "^3.0.0",
- "postcss": "^7.0.0",
- "postcss-value-parser": "^3.0.0"
+ "normalize-url": "^6.0.1",
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": ">=6.9.0"
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
}
},
- "node_modules/postcss-normalize-url/node_modules/postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- },
"node_modules/postcss-normalize-whitespace": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz",
- "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==",
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz",
+ "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==",
"dev": true,
"dependencies": {
- "postcss": "^7.0.0",
- "postcss-value-parser": "^3.0.0"
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": ">=6.9.0"
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
}
},
- "node_modules/postcss-normalize-whitespace/node_modules/postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- },
"node_modules/postcss-ordered-values": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz",
- "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==",
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz",
+ "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==",
"dev": true,
"dependencies": {
- "cssnano-util-get-arguments": "^4.0.0",
- "postcss": "^7.0.0",
- "postcss-value-parser": "^3.0.0"
+ "cssnano-utils": "^3.1.0",
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": ">=6.9.0"
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
}
},
- "node_modules/postcss-ordered-values/node_modules/postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- },
"node_modules/postcss-reduce-initial": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz",
- "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz",
+ "integrity": "sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw==",
"dev": true,
"dependencies": {
- "browserslist": "^4.0.0",
- "caniuse-api": "^3.0.0",
- "has": "^1.0.0",
- "postcss": "^7.0.0"
+ "browserslist": "^4.16.6",
+ "caniuse-api": "^3.0.0"
},
"engines": {
- "node": ">=6.9.0"
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
}
},
"node_modules/postcss-reduce-transforms": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz",
- "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz",
+ "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==",
"dev": true,
"dependencies": {
- "cssnano-util-get-match": "^4.0.0",
- "has": "^1.0.0",
- "postcss": "^7.0.0",
- "postcss-value-parser": "^3.0.0"
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": ">=6.9.0"
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
}
},
- "node_modules/postcss-reduce-transforms/node_modules/postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- },
"node_modules/postcss-selector-parser": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz",
- "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==",
+ "version": "6.0.10",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
+ "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==",
"dev": true,
"dependencies": {
"cssesc": "^3.0.0",
- "indexes-of": "^1.0.1",
- "uniq": "^1.0.1"
+ "util-deprecate": "^1.0.2"
},
"engines": {
"node": ">=4"
}
},
"node_modules/postcss-svgo": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz",
- "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz",
+ "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==",
"dev": true,
"dependencies": {
- "is-svg": "^3.0.0",
- "postcss": "^7.0.0",
- "postcss-value-parser": "^3.0.0",
- "svgo": "^1.0.0"
+ "postcss-value-parser": "^4.2.0",
+ "svgo": "^2.7.0"
},
"engines": {
- "node": ">=6.9.0"
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
}
},
- "node_modules/postcss-svgo/node_modules/postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- },
"node_modules/postcss-unique-selectors": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz",
- "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==",
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz",
+ "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==",
"dev": true,
"dependencies": {
- "alphanum-sort": "^1.0.0",
- "postcss": "^7.0.0",
- "uniqs": "^2.0.0"
+ "postcss-selector-parser": "^6.0.5"
},
"engines": {
- "node": ">=6.9.0"
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
}
},
"node_modules/postcss-value-parser": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz",
- "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
"dev": true
},
- "node_modules/postcss/node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/postcss/node_modules/chalk/node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/postcss/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/postcss/node_modules/supports-color": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
- "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
- "dev": true,
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/pretty-error": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz",
- "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz",
+ "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==",
"dev": true,
"dependencies": {
- "renderkid": "^2.0.1",
- "utila": "~0.4"
- }
- },
- "node_modules/process": {
- "version": "0.11.10",
- "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
- "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
- "dev": true,
- "engines": {
- "node": ">= 0.6.0"
+ "lodash": "^4.17.20",
+ "renderkid": "^3.0.0"
}
},
"node_modules/process-nextick-args": {
@@ -8109,73 +6471,25 @@
"integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM="
},
"node_modules/proxy-addr": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
- "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==",
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
+ "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
"dev": true,
"dependencies": {
- "forwarded": "~0.1.2",
+ "forwarded": "0.2.0",
"ipaddr.js": "1.9.1"
},
"engines": {
"node": ">= 0.10"
}
},
- "node_modules/prr": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
- "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
- "dev": true
- },
- "node_modules/public-encrypt": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
- "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
- "dev": true,
- "dependencies": {
- "bn.js": "^4.1.0",
- "browserify-rsa": "^4.0.0",
- "create-hash": "^1.1.0",
- "parse-asn1": "^5.0.0",
- "randombytes": "^2.0.1",
- "safe-buffer": "^5.1.2"
- }
- },
- "node_modules/public-encrypt/node_modules/bn.js": {
- "version": "4.11.9",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
- "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
- "dev": true
- },
- "node_modules/pump": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
- "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
- "dev": true,
- "dependencies": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- },
- "node_modules/pumpify": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
- "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
- "dev": true,
- "dependencies": {
- "duplexify": "^3.6.0",
- "inherits": "^2.0.3",
- "pump": "^2.0.0"
- }
- },
- "node_modules/pumpify/node_modules/pump": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
- "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
+ "node_modules/proxy-addr/node_modules/ipaddr.js": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
+ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
"dev": true,
- "dependencies": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
+ "engines": {
+ "node": ">= 0.10"
}
},
"node_modules/punycode": {
@@ -8186,49 +6500,21 @@
"node": ">=6"
}
},
- "node_modules/q": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
- "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
+ "node_modules/qs": {
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
"dev": true,
+ "dependencies": {
+ "side-channel": "^1.0.4"
+ },
"engines": {
- "node": ">=0.6.0",
- "teleport": ">=0.2.0"
+ "node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/qs": {
- "version": "6.7.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
- "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
- "dev": true,
- "engines": {
- "node": ">=0.6"
- }
- },
- "node_modules/querystring": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
- "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
- "dev": true,
- "engines": {
- "node": ">=0.4.x"
- }
- },
- "node_modules/querystring-es3": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
- "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
- "dev": true,
- "engines": {
- "node": ">=0.4.x"
- }
- },
- "node_modules/querystringify": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz",
- "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==",
- "dev": true
- },
"node_modules/randombytes": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
@@ -8237,16 +6523,6 @@
"safe-buffer": "^5.1.0"
}
},
- "node_modules/randomfill": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
- "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
- "dev": true,
- "dependencies": {
- "randombytes": "^2.0.5",
- "safe-buffer": "^5.1.0"
- }
- },
"node_modules/range-parser": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
@@ -8257,13 +6533,13 @@
}
},
"node_modules/raw-body": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
- "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
+ "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
"dev": true,
"dependencies": {
- "bytes": "3.1.0",
- "http-errors": "1.7.2",
+ "bytes": "3.1.2",
+ "http-errors": "2.0.0",
"iconv-lite": "0.4.24",
"unpipe": "1.0.0"
},
@@ -8272,9 +6548,9 @@
}
},
"node_modules/raw-body/node_modules/bytes": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
- "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
"dev": true,
"engines": {
"node": ">= 0.8"
@@ -8295,11 +6571,10 @@
}
},
"node_modules/readdirp": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz",
- "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==",
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
"dev": true,
- "optional": true,
"dependencies": {
"picomatch": "^2.2.1"
},
@@ -8307,19 +6582,31 @@
"node": ">=8.10.0"
}
},
+ "node_modules/rechoir": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz",
+ "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==",
+ "dev": true,
+ "dependencies": {
+ "resolve": "^1.9.0"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
"node_modules/regenerate": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.1.tgz",
- "integrity": "sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A==",
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
+ "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==",
"dev": true
},
"node_modules/regenerate-unicode-properties": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz",
- "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==",
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz",
+ "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==",
"dev": true,
"dependencies": {
- "regenerate": "^1.4.0"
+ "regenerate": "^1.4.2"
},
"engines": {
"node": ">=4"
@@ -8332,73 +6619,47 @@
"dev": true
},
"node_modules/regenerator-transform": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz",
- "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==",
+ "version": "0.15.0",
+ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz",
+ "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==",
"dev": true,
"dependencies": {
"@babel/runtime": "^7.8.4"
}
},
- "node_modules/regex-not": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
- "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
- "dev": true,
- "dependencies": {
- "extend-shallow": "^3.0.2",
- "safe-regex": "^1.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/regex-parser": {
- "version": "2.2.10",
- "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.10.tgz",
- "integrity": "sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA==",
+ "version": "2.2.11",
+ "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz",
+ "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==",
"dev": true
},
- "node_modules/regexp.prototype.flags": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz",
- "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==",
- "dev": true,
- "dependencies": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.0-next.1"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
"node_modules/regexpu-core": {
- "version": "4.7.0",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz",
- "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz",
+ "integrity": "sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==",
"dev": true,
"dependencies": {
- "regenerate": "^1.4.0",
- "regenerate-unicode-properties": "^8.2.0",
- "regjsgen": "^0.5.1",
- "regjsparser": "^0.6.4",
- "unicode-match-property-ecmascript": "^1.0.4",
- "unicode-match-property-value-ecmascript": "^1.2.0"
+ "regenerate": "^1.4.2",
+ "regenerate-unicode-properties": "^10.0.1",
+ "regjsgen": "^0.6.0",
+ "regjsparser": "^0.8.2",
+ "unicode-match-property-ecmascript": "^2.0.0",
+ "unicode-match-property-value-ecmascript": "^2.0.0"
},
"engines": {
"node": ">=4"
}
},
"node_modules/regjsgen": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz",
- "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==",
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz",
+ "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==",
"dev": true
},
"node_modules/regjsparser": {
- "version": "0.6.4",
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz",
- "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==",
+ "version": "0.8.4",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz",
+ "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==",
"dev": true,
"dependencies": {
"jsesc": "~0.5.0"
@@ -8410,315 +6671,98 @@
"node_modules/regjsparser/node_modules/jsesc": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
- "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
+ "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==",
"dev": true,
"bin": {
"jsesc": "bin/jsesc"
}
},
- "node_modules/remove-trailing-separator": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
- "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
- "dev": true
- },
"node_modules/renderkid": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.3.tgz",
- "integrity": "sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA==",
- "dev": true,
- "dependencies": {
- "css-select": "^1.1.0",
- "dom-converter": "^0.2",
- "htmlparser2": "^3.3.0",
- "strip-ansi": "^3.0.0",
- "utila": "^0.4.0"
- }
- },
- "node_modules/renderkid/node_modules/ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/renderkid/node_modules/css-select": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz",
- "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=",
- "dev": true,
- "dependencies": {
- "boolbase": "~1.0.0",
- "css-what": "2.1",
- "domutils": "1.5.1",
- "nth-check": "~1.0.1"
- }
- },
- "node_modules/renderkid/node_modules/css-what": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz",
- "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/renderkid/node_modules/domutils": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
- "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
- "dev": true,
- "dependencies": {
- "dom-serializer": "0",
- "domelementtype": "1"
- }
- },
- "node_modules/renderkid/node_modules/strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz",
+ "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==",
"dev": true,
"dependencies": {
- "ansi-regex": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/repeat-element": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
- "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
+ "css-select": "^4.1.3",
+ "dom-converter": "^0.2.0",
+ "htmlparser2": "^6.1.0",
+ "lodash": "^4.17.21",
+ "strip-ansi": "^6.0.1"
}
},
- "node_modules/repeat-string": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
- "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
- "dev": true,
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+ "node_modules/require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/require-main-filename": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
- "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
- "dev": true
- },
"node_modules/requires-port": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
- "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
+ "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
"dev": true
},
"node_modules/resolve": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
- "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
- "dev": true,
- "dependencies": {
- "path-parse": "^1.0.6"
- }
- },
- "node_modules/resolve-cwd": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz",
- "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=",
+ "version": "1.22.1",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
+ "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
"dev": true,
"dependencies": {
- "resolve-from": "^3.0.0"
+ "is-core-module": "^2.9.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
},
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/resolve-dir": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
- "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
- "dev": true,
- "dependencies": {
- "expand-tilde": "^2.0.0",
- "global-modules": "^1.0.0"
+ "bin": {
+ "resolve": "bin/resolve"
},
- "engines": {
- "node": ">=0.10.0"
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/resolve-dir/node_modules/global-modules": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
- "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
+ "node_modules/resolve-cwd": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
+ "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
"dev": true,
"dependencies": {
- "global-prefix": "^1.0.1",
- "is-windows": "^1.0.1",
- "resolve-dir": "^1.0.0"
+ "resolve-from": "^5.0.0"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=8"
}
},
"node_modules/resolve-from": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
- "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
"dev": true,
"engines": {
- "node": ">=4"
+ "node": ">=8"
}
},
- "node_modules/resolve-url": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
- "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
- "dev": true
- },
"node_modules/resolve-url-loader": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.1.tgz",
- "integrity": "sha512-K1N5xUjj7v0l2j/3Sgs5b8CjrrgtC70SmdCuZiJ8tSyb5J+uk3FoeZ4b7yTnH6j7ngI+Bc5bldHJIa8hYdu2gQ==",
- "dev": true,
- "dependencies": {
- "adjust-sourcemap-loader": "2.0.0",
- "camelcase": "5.3.1",
- "compose-function": "3.0.3",
- "convert-source-map": "1.7.0",
- "es6-iterator": "2.0.3",
- "loader-utils": "1.2.3",
- "postcss": "7.0.21",
- "rework": "1.0.1",
- "rework-visit": "1.0.0",
- "source-map": "0.6.1"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/resolve-url-loader/node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/resolve-url-loader/node_modules/chalk/node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/resolve-url-loader/node_modules/emojis-list": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
- "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
- "dev": true,
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/resolve-url-loader/node_modules/json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
- "dev": true,
- "dependencies": {
- "minimist": "^1.2.0"
- },
- "bin": {
- "json5": "lib/cli.js"
- }
- },
- "node_modules/resolve-url-loader/node_modules/loader-utils": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz",
- "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==",
- "dev": true,
- "dependencies": {
- "big.js": "^5.2.2",
- "emojis-list": "^2.0.0",
- "json5": "^1.0.1"
- },
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/resolve-url-loader/node_modules/postcss": {
- "version": "7.0.21",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.21.tgz",
- "integrity": "sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ==",
- "dev": true,
- "dependencies": {
- "chalk": "^2.4.2",
- "source-map": "^0.6.1",
- "supports-color": "^6.1.0"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/resolve-url-loader/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/resolve-url-loader/node_modules/supports-color": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
- "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz",
+ "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==",
"dev": true,
"dependencies": {
- "has-flag": "^3.0.0"
+ "adjust-sourcemap-loader": "^4.0.0",
+ "convert-source-map": "^1.7.0",
+ "loader-utils": "^2.0.0",
+ "postcss": "^8.2.14",
+ "source-map": "0.6.1"
},
"engines": {
- "node": ">=6"
- }
- },
- "node_modules/ret": {
- "version": "0.1.15",
- "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
- "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
- "dev": true,
- "engines": {
- "node": ">=0.12"
+ "node": ">=12"
}
},
"node_modules/retry": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
- "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=",
+ "version": "0.13.1",
+ "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
+ "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==",
"dev": true,
"engines": {
"node": ">= 4"
@@ -8733,40 +6777,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/rework": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz",
- "integrity": "sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc=",
- "dev": true,
- "dependencies": {
- "convert-source-map": "^0.3.3",
- "css": "^2.0.0"
- }
- },
- "node_modules/rework-visit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz",
- "integrity": "sha1-mUWygD8hni96ygCtuLyfZA+ELJo=",
- "dev": true
- },
- "node_modules/rework/node_modules/convert-source-map": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz",
- "integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA=",
- "dev": true
- },
- "node_modules/rgb-regex": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz",
- "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=",
- "dev": true
- },
- "node_modules/rgba-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz",
- "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=",
- "dev": true
- },
"node_modules/rimraf": {
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
@@ -8779,56 +6789,22 @@
"rimraf": "bin.js"
}
},
- "node_modules/ripemd160": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
- "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
- "dev": true,
- "dependencies": {
- "hash-base": "^3.0.0",
- "inherits": "^2.0.1"
- }
- },
"node_modules/run-parallel": {
"version": "1.1.9",
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz",
"integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q=="
},
- "node_modules/run-queue": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
- "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
- "dev": true,
- "dependencies": {
- "aproba": "^1.1.1"
- }
- },
"node_modules/safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
},
- "node_modules/safe-regex": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
- "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
- "dev": true,
- "dependencies": {
- "ret": "~0.1.10"
- }
- },
"node_modules/safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
"dev": true
},
- "node_modules/sax": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
- "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
- "dev": true
- },
"node_modules/schema-utils": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz",
@@ -8845,16 +6821,19 @@
"node_modules/select-hose": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
- "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=",
+ "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==",
"dev": true
},
"node_modules/selfsigned": {
- "version": "1.10.7",
- "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz",
- "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.1.tgz",
+ "integrity": "sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ==",
"dev": true,
"dependencies": {
- "node-forge": "0.9.0"
+ "node-forge": "^1"
+ },
+ "engines": {
+ "node": ">=10"
}
},
"node_modules/semver": {
@@ -8870,24 +6849,24 @@
}
},
"node_modules/send": {
- "version": "0.17.1",
- "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
- "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
+ "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
"dev": true,
"dependencies": {
"debug": "2.6.9",
- "depd": "~1.1.2",
- "destroy": "~1.0.4",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"etag": "~1.8.1",
"fresh": "0.5.2",
- "http-errors": "~1.7.2",
+ "http-errors": "2.0.0",
"mime": "1.6.0",
- "ms": "2.1.1",
- "on-finished": "~2.3.0",
+ "ms": "2.1.3",
+ "on-finished": "2.4.1",
"range-parser": "~1.2.1",
- "statuses": "~1.5.0"
+ "statuses": "2.0.1"
},
"engines": {
"node": ">= 0.8.0"
@@ -8905,19 +6884,19 @@
"node_modules/send/node_modules/debug/node_modules/ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"dev": true
},
"node_modules/send/node_modules/ms": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true
},
"node_modules/serialize-javascript": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz",
- "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
+ "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
"dev": true,
"dependencies": {
"randombytes": "^2.1.0"
@@ -8926,7 +6905,7 @@
"node_modules/serve-index": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
- "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=",
+ "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==",
"dev": true,
"dependencies": {
"accepts": "~1.3.4",
@@ -8950,10 +6929,19 @@
"ms": "2.0.0"
}
},
+ "node_modules/serve-index/node_modules/depd": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
"node_modules/serve-index/node_modules/http-errors": {
"version": "1.6.3",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
- "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
+ "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==",
"dev": true,
"dependencies": {
"depd": "~1.1.2",
@@ -8968,13 +6956,13 @@
"node_modules/serve-index/node_modules/inherits": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+ "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==",
"dev": true
},
"node_modules/serve-index/node_modules/ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"dev": true
},
"node_modules/serve-index/node_modules/setprototypeof": {
@@ -8983,106 +6971,72 @@
"integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
"dev": true
},
+ "node_modules/serve-index/node_modules/statuses": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
+ "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
"node_modules/serve-static": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
- "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
+ "version": "1.15.0",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
+ "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
"dev": true,
"dependencies": {
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"parseurl": "~1.3.3",
- "send": "0.17.1"
+ "send": "0.18.0"
},
"engines": {
"node": ">= 0.8.0"
}
},
- "node_modules/set-blocking": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
- "dev": true
- },
- "node_modules/set-immediate-shim": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
- "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/set-value": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
- "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
- "dev": true,
- "dependencies": {
- "extend-shallow": "^2.0.1",
- "is-extendable": "^0.1.1",
- "is-plain-object": "^2.0.3",
- "split-string": "^3.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/set-value/node_modules/extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "dependencies": {
- "is-extendable": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/setimmediate": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
- "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
- "dev": true
+ "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
},
"node_modules/setprototypeof": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
- "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
"dev": true
},
- "node_modules/sha.js": {
- "version": "2.4.11",
- "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
- "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
+ "node_modules/shallow-clone": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
+ "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
"dev": true,
"dependencies": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
+ "kind-of": "^6.0.2"
},
- "bin": {
- "sha.js": "bin.js"
+ "engines": {
+ "node": ">=8"
}
},
"node_modules/shebang-command": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
- "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
"dev": true,
"dependencies": {
- "shebang-regex": "^1.0.0"
+ "shebang-regex": "^3.0.0"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=8"
}
},
"node_modules/shebang-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
- "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
"dev": true,
"engines": {
- "node": ">=0.10.0"
+ "node": ">=8"
}
},
"node_modules/shellwords": {
@@ -9091,25 +7045,24 @@
"integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==",
"dev": true
},
- "node_modules/signal-exit": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
- "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
- "dev": true
- },
- "node_modules/simple-swizzle": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
- "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=",
+ "node_modules/side-channel": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
+ "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
"dev": true,
"dependencies": {
- "is-arrayish": "^0.3.1"
+ "call-bind": "^1.0.0",
+ "get-intrinsic": "^1.0.2",
+ "object-inspect": "^1.9.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/simple-swizzle/node_modules/is-arrayish": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
- "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
+ "node_modules/signal-exit": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
"dev": true
},
"node_modules/slash": {
@@ -9120,818 +7073,895 @@
"node": ">=8"
}
},
- "node_modules/snapdragon": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
- "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+ "node_modules/sockjs": {
+ "version": "0.3.24",
+ "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz",
+ "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==",
"dev": true,
"dependencies": {
- "base": "^0.11.1",
- "debug": "^2.2.0",
- "define-property": "^0.2.5",
- "extend-shallow": "^2.0.1",
- "map-cache": "^0.2.2",
- "source-map": "^0.5.6",
- "source-map-resolve": "^0.5.0",
- "use": "^3.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
+ "faye-websocket": "^0.11.3",
+ "uuid": "^8.3.2",
+ "websocket-driver": "^0.7.4"
}
},
- "node_modules/snapdragon-node": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
- "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
- "dev": true,
- "dependencies": {
- "define-property": "^1.0.0",
- "isobject": "^3.0.0",
- "snapdragon-util": "^3.0.1"
- },
+ "node_modules/source-list-map": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
+ "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw=="
+ },
+ "node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/snapdragon-node/node_modules/define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "node_modules/source-map-js": {
+ "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,
- "dependencies": {
- "is-descriptor": "^1.0.0"
- },
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "node_modules/source-map-support": {
+ "version": "0.5.21",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
+ "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
"dev": true,
"dependencies": {
- "kind-of": "^6.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
}
},
- "node_modules/snapdragon-node/node_modules/is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "node_modules/spdy": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz",
+ "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==",
"dev": true,
"dependencies": {
- "kind-of": "^6.0.0"
+ "debug": "^4.1.0",
+ "handle-thing": "^2.0.0",
+ "http-deceiver": "^1.2.7",
+ "select-hose": "^2.0.0",
+ "spdy-transport": "^3.0.0"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=6.0.0"
}
},
- "node_modules/snapdragon-node/node_modules/is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "node_modules/spdy-transport": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz",
+ "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==",
"dev": true,
"dependencies": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
+ "debug": "^4.1.0",
+ "detect-node": "^2.0.4",
+ "hpack.js": "^2.1.6",
+ "obuf": "^1.1.2",
+ "readable-stream": "^3.0.6",
+ "wbuf": "^1.7.3"
}
},
- "node_modules/snapdragon-util": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
- "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
+ "node_modules/stable": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
+ "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
+ "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility",
+ "dev": true
+ },
+ "node_modules/stackframe": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz",
+ "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==",
+ "dev": true
+ },
+ "node_modules/statuses": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
"dev": true,
- "dependencies": {
- "kind-of": "^3.2.0"
- },
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 0.8"
}
},
- "node_modules/snapdragon-util/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "node_modules/string_decoder": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
"dev": true,
"dependencies": {
- "is-buffer": "^1.1.5"
- },
- "engines": {
- "node": ">=0.10.0"
+ "safe-buffer": "~5.2.0"
}
},
- "node_modules/snapdragon/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "node_modules/string_decoder/node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"dev": true,
- "dependencies": {
- "ms": "2.0.0"
- }
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
},
- "node_modules/snapdragon/node_modules/define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"dev": true,
"dependencies": {
- "is-descriptor": "^0.1.0"
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=8"
}
},
- "node_modules/snapdragon/node_modules/extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true,
"dependencies": {
- "is-extendable": "^0.1.0"
+ "ansi-regex": "^5.0.1"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=8"
}
},
- "node_modules/snapdragon/node_modules/ms": {
+ "node_modules/strip-final-newline": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- },
- "node_modules/sockjs": {
- "version": "0.3.20",
- "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz",
- "integrity": "sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA==",
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+ "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
"dev": true,
- "dependencies": {
- "faye-websocket": "^0.10.0",
- "uuid": "^3.4.0",
- "websocket-driver": "0.6.5"
+ "engines": {
+ "node": ">=6"
}
},
- "node_modules/sockjs-client": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz",
- "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==",
+ "node_modules/style-loader": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.1.tgz",
+ "integrity": "sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ==",
"dev": true,
- "dependencies": {
- "debug": "^3.2.5",
- "eventsource": "^1.0.7",
- "faye-websocket": "~0.11.1",
- "inherits": "^2.0.3",
- "json3": "^3.3.2",
- "url-parse": "^1.4.3"
+ "engines": {
+ "node": ">= 12.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^5.0.0"
}
},
- "node_modules/sockjs-client/node_modules/debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+ "node_modules/stylehacks": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.0.tgz",
+ "integrity": "sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q==",
"dev": true,
"dependencies": {
- "ms": "^2.1.1"
+ "browserslist": "^4.16.6",
+ "postcss-selector-parser": "^6.0.4"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
}
},
- "node_modules/sockjs-client/node_modules/faye-websocket": {
- "version": "0.11.3",
- "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz",
- "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==",
+ "node_modules/summernote": {
+ "version": "0.8.18",
+ "resolved": "https://registry.npmjs.org/summernote/-/summernote-0.8.18.tgz",
+ "integrity": "sha512-VlwBaNm9vSYMYXvO2f3UCUmY0Gm8jxLcBn+D08aX3pKs4x2vAoyQ4DcDQ6D+PchQiLrf86AGQVfVu56F4aP3ug=="
+ },
+ "node_modules/supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
"dev": true,
"dependencies": {
- "websocket-driver": ">=0.5.1"
+ "has-flag": "^4.0.0"
},
"engines": {
- "node": ">=0.8.0"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
}
},
- "node_modules/source-list-map": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
- "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw=="
- },
- "node_modules/source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "node_modules/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.10.0"
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/source-map-resolve": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
- "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
+ "node_modules/svgo": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz",
+ "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==",
"dev": true,
"dependencies": {
- "atob": "^2.1.2",
- "decode-uri-component": "^0.2.0",
- "resolve-url": "^0.2.1",
- "source-map-url": "^0.4.0",
- "urix": "^0.1.0"
+ "@trysound/sax": "0.2.0",
+ "commander": "^7.2.0",
+ "css-select": "^4.1.3",
+ "css-tree": "^1.1.3",
+ "csso": "^4.2.0",
+ "picocolors": "^1.0.0",
+ "stable": "^0.1.8"
+ },
+ "bin": {
+ "svgo": "bin/svgo"
+ },
+ "engines": {
+ "node": ">=10.13.0"
}
},
- "node_modules/source-map-support": {
- "version": "0.5.19",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
- "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
+ "node_modules/sync-rpc": {
+ "version": "1.3.6",
+ "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz",
+ "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==",
"dev": true,
"dependencies": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
+ "get-port": "^3.1.0"
}
},
- "node_modules/source-map-support/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "node_modules/tapable": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+ "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
"dev": true,
"engines": {
- "node": ">=0.10.0"
+ "node": ">=6"
}
},
- "node_modules/source-map-url": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
- "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
- "dev": true
- },
- "node_modules/spdy": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz",
- "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==",
- "dev": true,
+ "node_modules/tar": {
+ "version": "6.1.11",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz",
+ "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==",
"dependencies": {
- "debug": "^4.1.0",
- "handle-thing": "^2.0.0",
- "http-deceiver": "^1.2.7",
- "select-hose": "^2.0.0",
- "spdy-transport": "^3.0.0"
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "minipass": "^3.0.0",
+ "minizlib": "^2.1.1",
+ "mkdirp": "^1.0.3",
+ "yallist": "^4.0.0"
},
"engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/spdy-transport": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz",
- "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==",
- "dev": true,
- "dependencies": {
- "debug": "^4.1.0",
- "detect-node": "^2.0.4",
- "hpack.js": "^2.1.6",
- "obuf": "^1.1.2",
- "readable-stream": "^3.0.6",
- "wbuf": "^1.7.3"
+ "node": ">= 10"
}
},
- "node_modules/split-string": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
- "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
- "dev": true,
- "dependencies": {
- "extend-shallow": "^3.0.0"
- },
+ "node_modules/tar/node_modules/chownr": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
+ "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
"engines": {
- "node": ">=0.10.0"
+ "node": ">=10"
}
},
- "node_modules/sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
- "dev": true
- },
- "node_modules/ssri": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz",
- "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==",
- "dev": true,
- "dependencies": {
- "figgy-pudding": "^3.5.1"
+ "node_modules/tar/node_modules/mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ },
+ "engines": {
+ "node": ">=10"
}
},
- "node_modules/stable": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
- "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
- "dev": true
- },
- "node_modules/stackframe": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz",
- "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==",
- "dev": true
+ "node_modules/tar/node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
},
- "node_modules/static-extend": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
- "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+ "node_modules/terser": {
+ "version": "5.14.2",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz",
+ "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==",
"dev": true,
"dependencies": {
- "define-property": "^0.2.5",
- "object-copy": "^0.1.0"
+ "@jridgewell/source-map": "^0.3.2",
+ "acorn": "^8.5.0",
+ "commander": "^2.20.0",
+ "source-map-support": "~0.5.20"
+ },
+ "bin": {
+ "terser": "bin/terser"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=10"
}
},
- "node_modules/static-extend/node_modules/define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "node_modules/terser-webpack-plugin": {
+ "version": "5.3.5",
+ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.5.tgz",
+ "integrity": "sha512-AOEDLDxD2zylUGf/wxHxklEkOe2/r+seuyOWujejFrIxHf11brA1/dWQNIgXa1c6/Wkxgu7zvv0JhOWfc2ELEA==",
"dev": true,
"dependencies": {
- "is-descriptor": "^0.1.0"
+ "@jridgewell/trace-mapping": "^0.3.14",
+ "jest-worker": "^27.4.5",
+ "schema-utils": "^3.1.1",
+ "serialize-javascript": "^6.0.0",
+ "terser": "^5.14.1"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^5.1.0"
+ },
+ "peerDependenciesMeta": {
+ "@swc/core": {
+ "optional": true
+ },
+ "esbuild": {
+ "optional": true
+ },
+ "uglify-js": {
+ "optional": true
+ }
}
},
- "node_modules/statuses": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
- "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
+ "node_modules/terser-webpack-plugin/node_modules/schema-utils": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
+ "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
"dev": true,
+ "dependencies": {
+ "@types/json-schema": "^7.0.8",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ },
"engines": {
- "node": ">= 0.6"
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
}
},
- "node_modules/stream-browserify": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
- "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
- "dev": true,
- "dependencies": {
- "inherits": "~2.0.1",
- "readable-stream": "^2.0.2"
- }
+ "node_modules/terser/node_modules/commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+ "dev": true
},
- "node_modules/stream-browserify/node_modules/readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
+ "node_modules/thunky": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz",
+ "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==",
+ "dev": true
},
- "node_modules/stream-browserify/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "node_modules/tmp": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
+ "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
"dev": true,
"dependencies": {
- "safe-buffer": "~5.1.0"
+ "rimraf": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8.17.0"
}
},
- "node_modules/stream-each": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
- "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
+ "node_modules/tmp/node_modules/rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
"dev": true,
"dependencies": {
- "end-of-stream": "^1.1.0",
- "stream-shift": "^1.0.0"
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
}
},
- "node_modules/stream-http": {
- "version": "2.8.3",
- "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
- "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
+ "node_modules/to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
"dev": true,
- "dependencies": {
- "builtin-status-codes": "^3.0.0",
- "inherits": "^2.0.1",
- "readable-stream": "^2.3.6",
- "to-arraybuffer": "^1.0.0",
- "xtend": "^4.0.0"
+ "engines": {
+ "node": ">=4"
}
},
- "node_modules/stream-http/node_modules/readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
}
},
- "node_modules/stream-http/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
+ "node_modules/toastr": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/toastr/-/toastr-2.1.4.tgz",
+ "integrity": "sha1-i0O+ZPudDEFIcURvLbjoyk6V8YE=",
"dependencies": {
- "safe-buffer": "~5.1.0"
+ "jquery": ">=1.12.0"
}
},
- "node_modules/stream-shift": {
+ "node_modules/toidentifier": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
- "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==",
- "dev": true
- },
- "node_modules/string_decoder": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
- "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
"dev": true,
- "dependencies": {
- "safe-buffer": "~5.2.0"
+ "engines": {
+ "node": ">=0.6"
}
},
- "node_modules/string_decoder/node_modules/safe-buffer": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "node_modules/tslib": {
+ "version": "1.13.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
+ "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
"dev": true
},
- "node_modules/string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "node_modules/type-is": {
+ "version": "1.6.18",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
"dev": true,
"dependencies": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
+ "media-typer": "0.3.0",
+ "mime-types": "~2.1.24"
},
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/unicode-canonical-property-names-ecmascript": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz",
+ "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==",
+ "dev": true,
"engines": {
"node": ">=4"
}
},
- "node_modules/string-width/node_modules/strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "node_modules/unicode-match-property-ecmascript": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz",
+ "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==",
"dev": true,
"dependencies": {
- "ansi-regex": "^3.0.0"
+ "unicode-canonical-property-names-ecmascript": "^2.0.0",
+ "unicode-property-aliases-ecmascript": "^2.0.0"
},
"engines": {
"node": ">=4"
}
},
- "node_modules/string.prototype.trimend": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz",
- "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==",
+ "node_modules/unicode-match-property-value-ecmascript": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz",
+ "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==",
"dev": true,
- "dependencies": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.5"
+ "engines": {
+ "node": ">=4"
}
},
- "node_modules/string.prototype.trimstart": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz",
- "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==",
+ "node_modules/unicode-property-aliases-ecmascript": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz",
+ "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==",
"dev": true,
- "dependencies": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.5"
+ "engines": {
+ "node": ">=4"
}
},
- "node_modules/strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
+ "node_modules/unique-filename": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
+ "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
"dependencies": {
- "ansi-regex": "^4.1.0"
- },
- "engines": {
- "node": ">=6"
+ "unique-slug": "^2.0.0"
}
},
- "node_modules/strip-ansi/node_modules/ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true,
- "engines": {
- "node": ">=6"
+ "node_modules/unique-slug": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
+ "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
+ "dependencies": {
+ "imurmurhash": "^0.1.4"
}
},
- "node_modules/strip-eof": {
+ "node_modules/unpipe": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
- "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
"dev": true,
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 0.8"
}
},
- "node_modules/style-loader": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.2.1.tgz",
- "integrity": "sha512-ByHSTQvHLkWE9Ir5+lGbVOXhxX10fbprhLvdg96wedFZb4NDekDPxVKv5Fwmio+QcMlkkNfuK+5W1peQ5CUhZg==",
+ "node_modules/update-browserslist-db": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz",
+ "integrity": "sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==",
"dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ }
+ ],
"dependencies": {
- "loader-utils": "^2.0.0",
- "schema-utils": "^2.6.6"
+ "escalade": "^3.1.1",
+ "picocolors": "^1.0.0"
},
- "engines": {
- "node": ">= 8.9.0"
- }
- },
- "node_modules/stylehacks": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz",
- "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==",
- "dev": true,
- "dependencies": {
- "browserslist": "^4.0.0",
- "postcss": "^7.0.0",
- "postcss-selector-parser": "^3.0.0"
+ "bin": {
+ "browserslist-lint": "cli.js"
},
- "engines": {
- "node": ">=6.9.0"
+ "peerDependencies": {
+ "browserslist": ">= 4.21.0"
}
},
- "node_modules/stylehacks/node_modules/postcss-selector-parser": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz",
- "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==",
- "dev": true,
+ "node_modules/uri-js": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
+ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
"dependencies": {
- "dot-prop": "^5.2.0",
- "indexes-of": "^1.0.1",
- "uniq": "^1.0.1"
- },
- "engines": {
- "node": ">=8"
+ "punycode": "^2.1.0"
}
},
- "node_modules/summernote": {
- "version": "0.8.18",
- "resolved": "https://registry.npmjs.org/summernote/-/summernote-0.8.18.tgz",
- "integrity": "sha512-VlwBaNm9vSYMYXvO2f3UCUmY0Gm8jxLcBn+D08aX3pKs4x2vAoyQ4DcDQ6D+PchQiLrf86AGQVfVu56F4aP3ug=="
- },
- "node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "node_modules/util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
+ },
+ "node_modules/utila": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz",
+ "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==",
+ "dev": true
+ },
+ "node_modules/utils-merge": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+ "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
"dev": true,
- "dependencies": {
- "has-flag": "^3.0.0"
- },
"engines": {
- "node": ">=4"
+ "node": ">= 0.4.0"
}
},
- "node_modules/svgo": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz",
- "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==",
- "dev": true,
- "dependencies": {
- "chalk": "^2.4.1",
- "coa": "^2.0.2",
- "css-select": "^2.0.0",
- "css-select-base-adapter": "^0.1.1",
- "css-tree": "1.0.0-alpha.37",
- "csso": "^4.0.2",
- "js-yaml": "^3.13.1",
- "mkdirp": "~0.5.1",
- "object.values": "^1.1.0",
- "sax": "~1.2.4",
- "stable": "^0.1.8",
- "unquote": "~1.1.1",
- "util.promisify": "~1.0.0"
- },
+ "node_modules/uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "dev": true,
"bin": {
- "svgo": "bin/svgo"
- },
- "engines": {
- "node": ">=4.0.0"
+ "uuid": "dist/bin/uuid"
}
},
- "node_modules/svgo/node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "node_modules/vary": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
"dev": true,
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
"engines": {
- "node": ">=4"
+ "node": ">= 0.8"
}
},
- "node_modules/tapable": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
- "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
+ "node_modules/vis-network": {
+ "version": "7.8.0",
+ "resolved": "https://registry.npmjs.org/vis-network/-/vis-network-7.8.0.tgz",
+ "integrity": "sha512-nQLBaMZODkeC2T6DEcczuKVtC2f8IZtOeNlq3U3AOvrh8r8ippS3qn/vUafiEjjsAx1fGCe03icTs0WVL27iKw==",
+ "hasInstallScript": true
},
- "node_modules/tar": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.2.tgz",
- "integrity": "sha512-Glo3jkRtPcvpDlAs/0+hozav78yoXKFr+c4wgw62NNMO3oo4AaJdCo21Uu7lcwr55h39W2XD1LMERc64wtbItg==",
+ "node_modules/watchpack": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz",
+ "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==",
+ "dev": true,
"dependencies": {
- "chownr": "^2.0.0",
- "fs-minipass": "^2.0.0",
- "minipass": "^3.0.0",
- "minizlib": "^2.1.0",
- "mkdirp": "^1.0.3",
- "yallist": "^4.0.0"
+ "glob-to-regexp": "^0.4.1",
+ "graceful-fs": "^4.1.2"
},
"engines": {
- "node": ">= 10"
+ "node": ">=10.13.0"
}
},
- "node_modules/tar/node_modules/chownr": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
- "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
- "engines": {
- "node": ">=10"
+ "node_modules/wbuf": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz",
+ "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==",
+ "dev": true,
+ "dependencies": {
+ "minimalistic-assert": "^1.0.0"
}
},
- "node_modules/tar/node_modules/mkdirp": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "node_modules/webpack": {
+ "version": "5.74.0",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz",
+ "integrity": "sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==",
+ "dev": true,
+ "dependencies": {
+ "@types/eslint-scope": "^3.7.3",
+ "@types/estree": "^0.0.51",
+ "@webassemblyjs/ast": "1.11.1",
+ "@webassemblyjs/wasm-edit": "1.11.1",
+ "@webassemblyjs/wasm-parser": "1.11.1",
+ "acorn": "^8.7.1",
+ "acorn-import-assertions": "^1.7.6",
+ "browserslist": "^4.14.5",
+ "chrome-trace-event": "^1.0.2",
+ "enhanced-resolve": "^5.10.0",
+ "es-module-lexer": "^0.9.0",
+ "eslint-scope": "5.1.1",
+ "events": "^3.2.0",
+ "glob-to-regexp": "^0.4.1",
+ "graceful-fs": "^4.2.9",
+ "json-parse-even-better-errors": "^2.3.1",
+ "loader-runner": "^4.2.0",
+ "mime-types": "^2.1.27",
+ "neo-async": "^2.6.2",
+ "schema-utils": "^3.1.0",
+ "tapable": "^2.1.1",
+ "terser-webpack-plugin": "^5.1.3",
+ "watchpack": "^2.4.0",
+ "webpack-sources": "^3.2.3"
+ },
"bin": {
- "mkdirp": "bin/cmd.js"
+ "webpack": "bin/webpack.js"
},
"engines": {
- "node": ">=10"
+ "node": ">=10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependenciesMeta": {
+ "webpack-cli": {
+ "optional": true
+ }
}
},
- "node_modules/tar/node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
- },
- "node_modules/terser": {
- "version": "4.8.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
- "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==",
- "dev": true,
- "dependencies": {
- "commander": "^2.20.0",
- "source-map": "~0.6.1",
- "source-map-support": "~0.5.12"
+ "node_modules/webpack-cli": {
+ "version": "4.10.0",
+ "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz",
+ "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==",
+ "dev": true,
+ "dependencies": {
+ "@discoveryjs/json-ext": "^0.5.0",
+ "@webpack-cli/configtest": "^1.2.0",
+ "@webpack-cli/info": "^1.5.0",
+ "@webpack-cli/serve": "^1.7.0",
+ "colorette": "^2.0.14",
+ "commander": "^7.0.0",
+ "cross-spawn": "^7.0.3",
+ "fastest-levenshtein": "^1.0.12",
+ "import-local": "^3.0.2",
+ "interpret": "^2.2.0",
+ "rechoir": "^0.7.0",
+ "webpack-merge": "^5.7.3"
},
"bin": {
- "terser": "bin/terser"
+ "webpack-cli": "bin/cli.js"
},
"engines": {
- "node": ">=6.0.0"
+ "node": ">=10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "4.x.x || 5.x.x"
+ },
+ "peerDependenciesMeta": {
+ "@webpack-cli/generators": {
+ "optional": true
+ },
+ "@webpack-cli/migrate": {
+ "optional": true
+ },
+ "webpack-bundle-analyzer": {
+ "optional": true
+ },
+ "webpack-dev-server": {
+ "optional": true
+ }
}
},
- "node_modules/terser-webpack-plugin": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.4.tgz",
- "integrity": "sha512-U4mACBHIegmfoEe5fdongHESNJWqsGU+W0S/9+BmYGVQDw1+c2Ow05TpMhxjPK1sRb7cuYq1BPl1e5YHJMTCqA==",
+ "node_modules/webpack-dev-middleware": {
+ "version": "5.3.3",
+ "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz",
+ "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==",
"dev": true,
"dependencies": {
- "cacache": "^12.0.2",
- "find-cache-dir": "^2.1.0",
- "is-wsl": "^1.1.0",
- "schema-utils": "^1.0.0",
- "serialize-javascript": "^3.1.0",
- "source-map": "^0.6.1",
- "terser": "^4.1.2",
- "webpack-sources": "^1.4.0",
- "worker-farm": "^1.7.0"
+ "colorette": "^2.0.10",
+ "memfs": "^3.4.3",
+ "mime-types": "^2.1.31",
+ "range-parser": "^1.2.1",
+ "schema-utils": "^4.0.0"
},
"engines": {
- "node": ">= 6.9.0"
+ "node": ">= 12.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^4.0.0 || ^5.0.0"
}
},
- "node_modules/terser-webpack-plugin/node_modules/schema-utils": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
- "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
+ "node_modules/webpack-dev-middleware/node_modules/ajv": {
+ "version": "8.11.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
+ "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
"dev": true,
"dependencies": {
- "ajv": "^6.1.0",
- "ajv-errors": "^1.0.0",
- "ajv-keywords": "^3.1.0"
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
},
- "engines": {
- "node": ">= 4"
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
}
},
- "node_modules/terser-webpack-plugin/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "node_modules/webpack-dev-middleware/node_modules/ajv-keywords": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
+ "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
"dev": true,
- "engines": {
- "node": ">=0.10.0"
+ "dependencies": {
+ "fast-deep-equal": "^3.1.3"
+ },
+ "peerDependencies": {
+ "ajv": "^8.8.2"
}
},
- "node_modules/terser/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
+ "node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
},
- "node_modules/through2": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
- "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
+ "node_modules/webpack-dev-middleware/node_modules/schema-utils": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
+ "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
"dev": true,
"dependencies": {
- "readable-stream": "~2.3.6",
- "xtend": "~4.0.1"
+ "@types/json-schema": "^7.0.9",
+ "ajv": "^8.8.0",
+ "ajv-formats": "^2.1.1",
+ "ajv-keywords": "^5.0.0"
+ },
+ "engines": {
+ "node": ">= 12.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
}
},
- "node_modules/through2/node_modules/readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
+ "node_modules/webpack-dev-server": {
+ "version": "4.10.0",
+ "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.10.0.tgz",
+ "integrity": "sha512-7dezwAs+k6yXVFZ+MaL8VnE+APobiO3zvpp3rBHe/HmWQ+avwh0Q3d0xxacOiBybZZ3syTZw9HXzpa3YNbAZDQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/bonjour": "^3.5.9",
+ "@types/connect-history-api-fallback": "^1.3.5",
+ "@types/express": "^4.17.13",
+ "@types/serve-index": "^1.9.1",
+ "@types/serve-static": "^1.13.10",
+ "@types/sockjs": "^0.3.33",
+ "@types/ws": "^8.5.1",
+ "ansi-html-community": "^0.0.8",
+ "bonjour-service": "^1.0.11",
+ "chokidar": "^3.5.3",
+ "colorette": "^2.0.10",
+ "compression": "^1.7.4",
+ "connect-history-api-fallback": "^2.0.0",
+ "default-gateway": "^6.0.3",
+ "express": "^4.17.3",
+ "graceful-fs": "^4.2.6",
+ "html-entities": "^2.3.2",
+ "http-proxy-middleware": "^2.0.3",
+ "ipaddr.js": "^2.0.1",
+ "open": "^8.0.9",
+ "p-retry": "^4.5.0",
+ "rimraf": "^3.0.2",
+ "schema-utils": "^4.0.0",
+ "selfsigned": "^2.0.1",
+ "serve-index": "^1.9.1",
+ "sockjs": "^0.3.24",
+ "spdy": "^4.0.2",
+ "webpack-dev-middleware": "^5.3.1",
+ "ws": "^8.4.2"
+ },
+ "bin": {
+ "webpack-dev-server": "bin/webpack-dev-server.js"
+ },
+ "engines": {
+ "node": ">= 12.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^4.37.0 || ^5.0.0"
+ },
+ "peerDependenciesMeta": {
+ "webpack-cli": {
+ "optional": true
+ }
}
},
- "node_modules/through2/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "node_modules/webpack-dev-server/node_modules/ajv": {
+ "version": "8.11.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
+ "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
"dev": true,
"dependencies": {
- "safe-buffer": "~5.1.0"
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
}
},
- "node_modules/thunky": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz",
- "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==",
- "dev": true
- },
- "node_modules/timers-browserify": {
- "version": "2.0.11",
- "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz",
- "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==",
+ "node_modules/webpack-dev-server/node_modules/ajv-keywords": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
+ "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
"dev": true,
"dependencies": {
- "setimmediate": "^1.0.4"
+ "fast-deep-equal": "^3.1.3"
},
- "engines": {
- "node": ">=0.6.0"
+ "peerDependencies": {
+ "ajv": "^8.8.2"
}
},
- "node_modules/timsort": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz",
- "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=",
+ "node_modules/webpack-dev-server/node_modules/json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
"dev": true
},
- "node_modules/tmp": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
- "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
- "dev": true,
- "dependencies": {
- "rimraf": "^3.0.0"
- },
- "engines": {
- "node": ">=8.17.0"
- }
- },
- "node_modules/tmp/node_modules/rimraf": {
+ "node_modules/webpack-dev-server/node_modules/rimraf": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
@@ -9941,1633 +7971,1489 @@
},
"bin": {
"rimraf": "bin.js"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/to-arraybuffer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
- "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
- "dev": true
- },
- "node_modules/to-fast-properties": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
- "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "node_modules/webpack-dev-server/node_modules/schema-utils": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
+ "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
"dev": true,
+ "dependencies": {
+ "@types/json-schema": "^7.0.9",
+ "ajv": "^8.8.0",
+ "ajv-formats": "^2.1.1",
+ "ajv-keywords": "^5.0.0"
+ },
"engines": {
- "node": ">=4"
+ "node": ">= 12.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
}
},
- "node_modules/to-object-path": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
- "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
+ "node_modules/webpack-merge": {
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz",
+ "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==",
"dev": true,
"dependencies": {
- "kind-of": "^3.0.2"
+ "clone-deep": "^4.0.1",
+ "wildcard": "^2.0.0"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=10.0.0"
}
},
- "node_modules/to-object-path/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "node_modules/webpack-notifier": {
+ "version": "1.15.0",
+ "resolved": "https://registry.npmjs.org/webpack-notifier/-/webpack-notifier-1.15.0.tgz",
+ "integrity": "sha512-N2V8UMgRB5komdXQRavBsRpw0hPhJq2/SWNOGuhrXpIgRhcMexzkGQysUyGStHLV5hkUlgpRiF7IUXoBqyMmzQ==",
"dev": true,
"dependencies": {
- "is-buffer": "^1.1.5"
+ "node-notifier": "^9.0.0",
+ "strip-ansi": "^6.0.0"
},
- "engines": {
- "node": ">=0.10.0"
+ "peerDependencies": {
+ "@types/webpack": ">4.41.31"
+ },
+ "peerDependenciesMeta": {
+ "@types/webpack": {
+ "optional": true
+ }
}
},
- "node_modules/to-regex": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
- "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
- "dev": true,
+ "node_modules/webpack-sources": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
+ "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==",
"dependencies": {
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "regex-not": "^1.0.2",
- "safe-regex": "^1.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
+ "source-list-map": "^2.0.0",
+ "source-map": "~0.6.1"
}
},
- "node_modules/to-regex-range": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
- "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+ "node_modules/webpack/node_modules/schema-utils": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
+ "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
"dev": true,
"dependencies": {
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1"
+ "@types/json-schema": "^7.0.8",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
},
"engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/toastr": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/toastr/-/toastr-2.1.4.tgz",
- "integrity": "sha1-i0O+ZPudDEFIcURvLbjoyk6V8YE=",
- "dependencies": {
- "jquery": ">=1.12.0"
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
}
},
- "node_modules/toidentifier": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
- "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==",
+ "node_modules/webpack/node_modules/webpack-sources": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
+ "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
"dev": true,
"engines": {
- "node": ">=0.6"
+ "node": ">=10.13.0"
}
},
- "node_modules/tslib": {
- "version": "1.13.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
- "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
- "dev": true
- },
- "node_modules/tty-browserify": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
- "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
- "dev": true
- },
- "node_modules/type": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
- "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==",
- "dev": true
- },
- "node_modules/type-is": {
- "version": "1.6.18",
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
- "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
+ "node_modules/websocket-driver": {
+ "version": "0.7.4",
+ "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz",
+ "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==",
"dev": true,
"dependencies": {
- "media-typer": "0.3.0",
- "mime-types": "~2.1.24"
+ "http-parser-js": ">=0.5.1",
+ "safe-buffer": ">=5.1.0",
+ "websocket-extensions": ">=0.1.1"
},
"engines": {
- "node": ">= 0.6"
+ "node": ">=0.8.0"
}
},
- "node_modules/typedarray": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
- "dev": true
- },
- "node_modules/unicode-canonical-property-names-ecmascript": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
- "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==",
+ "node_modules/websocket-extensions": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz",
+ "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==",
"dev": true,
"engines": {
- "node": ">=4"
+ "node": ">=0.8.0"
}
},
- "node_modules/unicode-match-property-ecmascript": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz",
- "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==",
+ "node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"dev": true,
"dependencies": {
- "unicode-canonical-property-names-ecmascript": "^1.0.4",
- "unicode-property-aliases-ecmascript": "^1.0.4"
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
},
"engines": {
- "node": ">=4"
+ "node": ">= 8"
}
},
- "node_modules/unicode-match-property-value-ecmascript": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz",
- "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==",
+ "node_modules/wildcard": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz",
+ "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==",
+ "dev": true
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+ },
+ "node_modules/ws": {
+ "version": "8.8.1",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz",
+ "integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==",
"dev": true,
"engines": {
- "node": ">=4"
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": "^5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
}
},
- "node_modules/unicode-property-aliases-ecmascript": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz",
- "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==",
+ "node_modules/yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
+ },
+ "node_modules/yaml": {
+ "version": "1.10.2",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
+ "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
"dev": true,
"engines": {
- "node": ">=4"
+ "node": ">= 6"
}
},
- "node_modules/union-value": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
- "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
+ "node_modules/yargs-parser": {
+ "version": "21.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+ "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
"dev": true,
- "dependencies": {
- "arr-union": "^3.1.0",
- "get-value": "^2.0.6",
- "is-extendable": "^0.1.1",
- "set-value": "^2.0.1"
- },
"engines": {
- "node": ">=0.10.0"
+ "node": ">=12"
+ }
+ }
+ },
+ "dependencies": {
+ "@ampproject/remapping": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
+ "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
+ "dev": true,
+ "requires": {
+ "@jridgewell/gen-mapping": "^0.1.0",
+ "@jridgewell/trace-mapping": "^0.3.9"
}
},
- "node_modules/uniq": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
- "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=",
- "dev": true
+ "@babel/code-frame": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
+ "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.18.6"
+ }
},
- "node_modules/uniqs": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz",
- "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=",
+ "@babel/compat-data": {
+ "version": "7.18.8",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.8.tgz",
+ "integrity": "sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==",
"dev": true
},
- "node_modules/unique-filename": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
- "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
+ "@babel/core": {
+ "version": "7.18.10",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.10.tgz",
+ "integrity": "sha512-JQM6k6ENcBFKVtWvLavlvi/mPcpYZ3+R+2EySDEMSMbp7Mn4FexlbbJVrx2R7Ijhr01T8gyqrOaABWIOgxeUyw==",
+ "dev": true,
+ "requires": {
+ "@ampproject/remapping": "^2.1.0",
+ "@babel/code-frame": "^7.18.6",
+ "@babel/generator": "^7.18.10",
+ "@babel/helper-compilation-targets": "^7.18.9",
+ "@babel/helper-module-transforms": "^7.18.9",
+ "@babel/helpers": "^7.18.9",
+ "@babel/parser": "^7.18.10",
+ "@babel/template": "^7.18.10",
+ "@babel/traverse": "^7.18.10",
+ "@babel/types": "^7.18.10",
+ "convert-source-map": "^1.7.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.2",
+ "json5": "^2.2.1",
+ "semver": "^6.3.0"
+ },
"dependencies": {
- "unique-slug": "^2.0.0"
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ }
}
},
- "node_modules/unique-slug": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
- "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
+ "@babel/generator": {
+ "version": "7.18.12",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.12.tgz",
+ "integrity": "sha512-dfQ8ebCN98SvyL7IxNMCUtZQSq5R7kxgN+r8qYTGDmmSion1hX2C0zq2yo1bsCDhXixokv1SAWTZUMYbO/V5zg==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.18.10",
+ "@jridgewell/gen-mapping": "^0.3.2",
+ "jsesc": "^2.5.1"
+ },
"dependencies": {
- "imurmurhash": "^0.1.4"
+ "@jridgewell/gen-mapping": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
+ "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
+ "dev": true,
+ "requires": {
+ "@jridgewell/set-array": "^1.0.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ }
+ }
}
},
- "node_modules/universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+ "@babel/helper-annotate-as-pure": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz",
+ "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==",
"dev": true,
- "engines": {
- "node": ">= 4.0.0"
+ "requires": {
+ "@babel/types": "^7.18.6"
}
},
- "node_modules/unpipe": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
- "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
+ "@babel/helper-builder-binary-assignment-operator-visitor": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz",
+ "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==",
"dev": true,
- "engines": {
- "node": ">= 0.8"
+ "requires": {
+ "@babel/helper-explode-assignable-expression": "^7.18.6",
+ "@babel/types": "^7.18.9"
}
},
- "node_modules/unquote": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz",
- "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=",
- "dev": true
- },
- "node_modules/unset-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
- "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
+ "@babel/helper-compilation-targets": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz",
+ "integrity": "sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==",
"dev": true,
- "dependencies": {
- "has-value": "^0.3.1",
- "isobject": "^3.0.0"
+ "requires": {
+ "@babel/compat-data": "^7.18.8",
+ "@babel/helper-validator-option": "^7.18.6",
+ "browserslist": "^4.20.2",
+ "semver": "^6.3.0"
},
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/unset-value/node_modules/has-value": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
- "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
- "dev": true,
"dependencies": {
- "get-value": "^2.0.3",
- "has-values": "^0.1.4",
- "isobject": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ }
}
},
- "node_modules/unset-value/node_modules/has-value/node_modules/isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "@babel/helper-create-class-features-plugin": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.9.tgz",
+ "integrity": "sha512-WvypNAYaVh23QcjpMR24CwZY2Nz6hqdOcFdPbNpV56hL5H6KiFheO7Xm1aPdlLQ7d5emYZX7VZwPp9x3z+2opw==",
"dev": true,
- "dependencies": {
- "isarray": "1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.18.6",
+ "@babel/helper-environment-visitor": "^7.18.9",
+ "@babel/helper-function-name": "^7.18.9",
+ "@babel/helper-member-expression-to-functions": "^7.18.9",
+ "@babel/helper-optimise-call-expression": "^7.18.6",
+ "@babel/helper-replace-supers": "^7.18.9",
+ "@babel/helper-split-export-declaration": "^7.18.6"
}
},
- "node_modules/unset-value/node_modules/has-values": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
- "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
+ "@babel/helper-create-regexp-features-plugin": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz",
+ "integrity": "sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==",
"dev": true,
- "engines": {
- "node": ">=0.10.0"
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.18.6",
+ "regexpu-core": "^5.1.0"
}
},
- "node_modules/upath": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
- "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
+ "@babel/helper-define-polyfill-provider": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz",
+ "integrity": "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==",
"dev": true,
- "engines": {
- "node": ">=4",
- "yarn": "*"
- }
- },
- "node_modules/uri-js": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
- "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
+ "requires": {
+ "@babel/helper-compilation-targets": "^7.17.7",
+ "@babel/helper-plugin-utils": "^7.16.7",
+ "debug": "^4.1.1",
+ "lodash.debounce": "^4.0.8",
+ "resolve": "^1.14.2",
+ "semver": "^6.1.2"
+ },
"dependencies": {
- "punycode": "^2.1.0"
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ }
}
},
- "node_modules/urix": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
- "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
+ "@babel/helper-environment-visitor": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz",
+ "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==",
"dev": true
},
- "node_modules/url": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
- "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
+ "@babel/helper-explode-assignable-expression": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz",
+ "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==",
"dev": true,
- "dependencies": {
- "punycode": "1.3.2",
- "querystring": "0.2.0"
+ "requires": {
+ "@babel/types": "^7.18.6"
}
},
- "node_modules/url-parse": {
- "version": "1.4.7",
- "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz",
- "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==",
+ "@babel/helper-function-name": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz",
+ "integrity": "sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A==",
"dev": true,
- "dependencies": {
- "querystringify": "^2.1.1",
- "requires-port": "^1.0.0"
+ "requires": {
+ "@babel/template": "^7.18.6",
+ "@babel/types": "^7.18.9"
}
},
- "node_modules/url/node_modules/punycode": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
- "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
- "dev": true
+ "@babel/helper-hoist-variables": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz",
+ "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.18.6"
+ }
},
- "node_modules/use": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
- "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
+ "@babel/helper-member-expression-to-functions": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz",
+ "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==",
"dev": true,
- "engines": {
- "node": ">=0.10.0"
+ "requires": {
+ "@babel/types": "^7.18.9"
}
},
- "node_modules/util": {
- "version": "0.10.3",
- "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
- "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
+ "@babel/helper-module-imports": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz",
+ "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
"dev": true,
- "dependencies": {
- "inherits": "2.0.1"
+ "requires": {
+ "@babel/types": "^7.18.6"
}
},
- "node_modules/util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
+ "@babel/helper-module-transforms": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz",
+ "integrity": "sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-environment-visitor": "^7.18.9",
+ "@babel/helper-module-imports": "^7.18.6",
+ "@babel/helper-simple-access": "^7.18.6",
+ "@babel/helper-split-export-declaration": "^7.18.6",
+ "@babel/helper-validator-identifier": "^7.18.6",
+ "@babel/template": "^7.18.6",
+ "@babel/traverse": "^7.18.9",
+ "@babel/types": "^7.18.9"
+ }
},
- "node_modules/util.promisify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz",
- "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==",
+ "@babel/helper-optimise-call-expression": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz",
+ "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==",
"dev": true,
- "dependencies": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.2",
- "has-symbols": "^1.0.1",
- "object.getownpropertydescriptors": "^2.1.0"
+ "requires": {
+ "@babel/types": "^7.18.6"
}
},
- "node_modules/util/node_modules/inherits": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
- "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
+ "@babel/helper-plugin-utils": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz",
+ "integrity": "sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==",
"dev": true
},
- "node_modules/utila": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz",
- "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=",
- "dev": true
+ "@babel/helper-remap-async-to-generator": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz",
+ "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.18.6",
+ "@babel/helper-environment-visitor": "^7.18.9",
+ "@babel/helper-wrap-function": "^7.18.9",
+ "@babel/types": "^7.18.9"
+ }
},
- "node_modules/utils-merge": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
- "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
+ "@babel/helper-replace-supers": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz",
+ "integrity": "sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==",
"dev": true,
- "engines": {
- "node": ">= 0.4.0"
+ "requires": {
+ "@babel/helper-environment-visitor": "^7.18.9",
+ "@babel/helper-member-expression-to-functions": "^7.18.9",
+ "@babel/helper-optimise-call-expression": "^7.18.6",
+ "@babel/traverse": "^7.18.9",
+ "@babel/types": "^7.18.9"
}
},
- "node_modules/uuid": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
- "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
+ "@babel/helper-simple-access": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz",
+ "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==",
"dev": true,
- "bin": {
- "uuid": "bin/uuid"
+ "requires": {
+ "@babel/types": "^7.18.6"
}
},
- "node_modules/v8-compile-cache": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz",
- "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==",
- "dev": true
+ "@babel/helper-skip-transparent-expression-wrappers": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz",
+ "integrity": "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.18.9"
+ }
},
- "node_modules/vary": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
- "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
+ "@babel/helper-split-export-declaration": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz",
+ "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==",
"dev": true,
- "engines": {
- "node": ">= 0.8"
+ "requires": {
+ "@babel/types": "^7.18.6"
}
},
- "node_modules/vendors": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz",
- "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==",
+ "@babel/helper-string-parser": {
+ "version": "7.18.10",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz",
+ "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==",
"dev": true
},
- "node_modules/vis-network": {
- "version": "7.8.0",
- "resolved": "https://registry.npmjs.org/vis-network/-/vis-network-7.8.0.tgz",
- "integrity": "sha512-nQLBaMZODkeC2T6DEcczuKVtC2f8IZtOeNlq3U3AOvrh8r8ippS3qn/vUafiEjjsAx1fGCe03icTs0WVL27iKw==",
- "hasInstallScript": true
+ "@babel/helper-validator-identifier": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz",
+ "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==",
+ "dev": true
},
- "node_modules/vm-browserify": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
- "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==",
+ "@babel/helper-validator-option": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz",
+ "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==",
"dev": true
},
- "node_modules/watchpack": {
- "version": "1.7.2",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.2.tgz",
- "integrity": "sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g==",
+ "@babel/helper-wrap-function": {
+ "version": "7.18.11",
+ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.18.11.tgz",
+ "integrity": "sha512-oBUlbv+rjZLh2Ks9SKi4aL7eKaAXBWleHzU89mP0G6BMUlRxSckk9tSIkgDGydhgFxHuGSlBQZfnaD47oBEB7w==",
"dev": true,
- "dependencies": {
- "chokidar": "^3.4.0",
- "graceful-fs": "^4.1.2",
- "neo-async": "^2.5.0",
- "watchpack-chokidar2": "^2.0.0"
- },
- "optionalDependencies": {
- "chokidar": "^3.4.0",
- "watchpack-chokidar2": "^2.0.0"
+ "requires": {
+ "@babel/helper-function-name": "^7.18.9",
+ "@babel/template": "^7.18.10",
+ "@babel/traverse": "^7.18.11",
+ "@babel/types": "^7.18.10"
}
},
- "node_modules/watchpack-chokidar2": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz",
- "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==",
+ "@babel/helpers": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.9.tgz",
+ "integrity": "sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ==",
"dev": true,
- "optional": true,
- "dependencies": {
- "chokidar": "^2.1.8"
- },
- "engines": {
- "node": "<8.10.0"
+ "requires": {
+ "@babel/template": "^7.18.6",
+ "@babel/traverse": "^7.18.9",
+ "@babel/types": "^7.18.9"
}
},
- "node_modules/watchpack-chokidar2/node_modules/anymatch": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
- "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
+ "@babel/highlight": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
+ "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
"dev": true,
- "optional": true,
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.18.6",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ },
"dependencies": {
- "micromatch": "^3.1.4",
- "normalize-path": "^2.1.1"
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
}
},
- "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
- "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
- "dev": true,
- "optional": true,
- "dependencies": {
- "remove-trailing-separator": "^1.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
+ "@babel/parser": {
+ "version": "7.18.11",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.11.tgz",
+ "integrity": "sha512-9JKn5vN+hDt0Hdqn1PiJ2guflwP+B6Ga8qbDuoF0PzzVhrzsKIJo8yGqVk6CmMHiMei9w1C1Bp9IMJSIK+HPIQ==",
+ "dev": true
},
- "node_modules/watchpack-chokidar2/node_modules/binary-extensions": {
- "version": "1.13.1",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
- "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz",
+ "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==",
"dev": true,
- "optional": true,
- "engines": {
- "node": ">=0.10.0"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.6"
}
},
- "node_modules/watchpack-chokidar2/node_modules/chokidar": {
- "version": "2.1.8",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
- "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz",
+ "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==",
"dev": true,
- "optional": true,
- "dependencies": {
- "anymatch": "^2.0.0",
- "async-each": "^1.0.1",
- "braces": "^2.3.2",
- "fsevents": "^1.2.7",
- "glob-parent": "^3.1.0",
- "inherits": "^2.0.3",
- "is-binary-path": "^1.0.0",
- "is-glob": "^4.0.0",
- "normalize-path": "^3.0.0",
- "path-is-absolute": "^1.0.0",
- "readdirp": "^2.2.1",
- "upath": "^1.1.1"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.9",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9",
+ "@babel/plugin-proposal-optional-chaining": "^7.18.9"
}
},
- "node_modules/watchpack-chokidar2/node_modules/fsevents": {
- "version": "1.2.13",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
- "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
+ "@babel/plugin-proposal-async-generator-functions": {
+ "version": "7.18.10",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.10.tgz",
+ "integrity": "sha512-1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew==",
"dev": true,
- "hasInstallScript": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 4.0"
+ "requires": {
+ "@babel/helper-environment-visitor": "^7.18.9",
+ "@babel/helper-plugin-utils": "^7.18.9",
+ "@babel/helper-remap-async-to-generator": "^7.18.9",
+ "@babel/plugin-syntax-async-generators": "^7.8.4"
}
},
- "node_modules/watchpack-chokidar2/node_modules/glob-parent": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
- "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+ "@babel/plugin-proposal-class-properties": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz",
+ "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==",
"dev": true,
- "optional": true,
- "dependencies": {
- "is-glob": "^3.1.0",
- "path-dirname": "^1.0.0"
+ "requires": {
+ "@babel/helper-create-class-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
}
},
- "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
- "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+ "@babel/plugin-proposal-class-static-block": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz",
+ "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==",
"dev": true,
- "optional": true,
- "dependencies": {
- "is-extglob": "^2.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
+ "requires": {
+ "@babel/helper-create-class-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/plugin-syntax-class-static-block": "^7.14.5"
}
},
- "node_modules/watchpack-chokidar2/node_modules/is-binary-path": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
- "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
+ "@babel/plugin-proposal-dynamic-import": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz",
+ "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==",
"dev": true,
- "optional": true,
- "dependencies": {
- "binary-extensions": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3"
}
},
- "node_modules/watchpack-chokidar2/node_modules/readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "@babel/plugin-proposal-export-namespace-from": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz",
+ "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==",
"dev": true,
- "optional": true,
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.9",
+ "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
}
},
- "node_modules/watchpack-chokidar2/node_modules/readdirp": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
- "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
+ "@babel/plugin-proposal-json-strings": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz",
+ "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==",
"dev": true,
- "optional": true,
- "dependencies": {
- "graceful-fs": "^4.1.11",
- "micromatch": "^3.1.10",
- "readable-stream": "^2.0.2"
- },
- "engines": {
- "node": ">=0.10"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/plugin-syntax-json-strings": "^7.8.3"
}
},
- "node_modules/watchpack-chokidar2/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "@babel/plugin-proposal-logical-assignment-operators": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz",
+ "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==",
"dev": true,
- "optional": true,
- "dependencies": {
- "safe-buffer": "~5.1.0"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.9",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
}
},
- "node_modules/wbuf": {
- "version": "1.7.3",
- "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz",
- "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==",
+ "@babel/plugin-proposal-nullish-coalescing-operator": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz",
+ "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==",
"dev": true,
- "dependencies": {
- "minimalistic-assert": "^1.0.0"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
}
},
- "node_modules/webpack": {
- "version": "4.43.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.43.0.tgz",
- "integrity": "sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==",
- "dev": true,
- "dependencies": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/helper-module-context": "1.9.0",
- "@webassemblyjs/wasm-edit": "1.9.0",
- "@webassemblyjs/wasm-parser": "1.9.0",
- "acorn": "^6.4.1",
- "ajv": "^6.10.2",
- "ajv-keywords": "^3.4.1",
- "chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^4.1.0",
- "eslint-scope": "^4.0.3",
- "json-parse-better-errors": "^1.0.2",
- "loader-runner": "^2.4.0",
- "loader-utils": "^1.2.3",
- "memory-fs": "^0.4.1",
- "micromatch": "^3.1.10",
- "mkdirp": "^0.5.3",
- "neo-async": "^2.6.1",
- "node-libs-browser": "^2.2.1",
- "schema-utils": "^1.0.0",
- "tapable": "^1.1.3",
- "terser-webpack-plugin": "^1.4.3",
- "watchpack": "^1.6.1",
- "webpack-sources": "^1.4.1"
- },
- "bin": {
- "webpack": "bin/webpack.js"
- },
- "engines": {
- "node": ">=6.11.5"
+ "@babel/plugin-proposal-numeric-separator": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz",
+ "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/plugin-syntax-numeric-separator": "^7.10.4"
}
},
- "node_modules/webpack-cli": {
- "version": "3.3.12",
- "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.12.tgz",
- "integrity": "sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag==",
- "dev": true,
- "dependencies": {
- "chalk": "^2.4.2",
- "cross-spawn": "^6.0.5",
- "enhanced-resolve": "^4.1.1",
- "findup-sync": "^3.0.0",
- "global-modules": "^2.0.0",
- "import-local": "^2.0.0",
- "interpret": "^1.4.0",
- "loader-utils": "^1.4.0",
- "supports-color": "^6.1.0",
- "v8-compile-cache": "^2.1.1",
- "yargs": "^13.3.2"
- },
- "bin": {
- "webpack-cli": "bin/cli.js"
- },
- "engines": {
- "node": ">=6.11.5"
+ "@babel/plugin-proposal-object-rest-spread": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz",
+ "integrity": "sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==",
+ "dev": true,
+ "requires": {
+ "@babel/compat-data": "^7.18.8",
+ "@babel/helper-compilation-targets": "^7.18.9",
+ "@babel/helper-plugin-utils": "^7.18.9",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-transform-parameters": "^7.18.8"
}
},
- "node_modules/webpack-cli/node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "@babel/plugin-proposal-optional-catch-binding": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz",
+ "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==",
"dev": true,
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
}
},
- "node_modules/webpack-cli/node_modules/chalk/node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "@babel/plugin-proposal-optional-chaining": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz",
+ "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==",
"dev": true,
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.9",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3"
}
},
- "node_modules/webpack-cli/node_modules/json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+ "@babel/plugin-proposal-private-methods": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz",
+ "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==",
"dev": true,
- "dependencies": {
- "minimist": "^1.2.0"
- },
- "bin": {
- "json5": "lib/cli.js"
+ "requires": {
+ "@babel/helper-create-class-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
}
},
- "node_modules/webpack-cli/node_modules/loader-utils": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
- "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+ "@babel/plugin-proposal-private-property-in-object": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz",
+ "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==",
"dev": true,
- "dependencies": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^1.0.1"
- },
- "engines": {
- "node": ">=4.0.0"
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.18.6",
+ "@babel/helper-create-class-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
}
},
- "node_modules/webpack-cli/node_modules/supports-color": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
- "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "@babel/plugin-proposal-unicode-property-regex": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz",
+ "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==",
"dev": true,
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
+ "requires": {
+ "@babel/helper-create-regexp-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
}
},
- "node_modules/webpack-dev-middleware": {
- "version": "3.7.2",
- "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz",
- "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==",
+ "@babel/plugin-syntax-async-generators": {
+ "version": "7.8.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
+ "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
"dev": true,
- "dependencies": {
- "memory-fs": "^0.4.1",
- "mime": "^2.4.4",
- "mkdirp": "^0.5.1",
- "range-parser": "^1.2.1",
- "webpack-log": "^2.0.0"
- },
- "engines": {
- "node": ">= 6"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
}
},
- "node_modules/webpack-dev-middleware/node_modules/mime": {
- "version": "2.4.6",
- "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz",
- "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==",
+ "@babel/plugin-syntax-class-properties": {
+ "version": "7.12.13",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
+ "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
"dev": true,
- "bin": {
- "mime": "cli.js"
- },
- "engines": {
- "node": ">=4.0.0"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.12.13"
}
},
- "node_modules/webpack-dev-server": {
- "version": "3.11.0",
- "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz",
- "integrity": "sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg==",
+ "@babel/plugin-syntax-class-static-block": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz",
+ "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==",
"dev": true,
- "dependencies": {
- "ansi-html": "0.0.7",
- "bonjour": "^3.5.0",
- "chokidar": "^2.1.8",
- "compression": "^1.7.4",
- "connect-history-api-fallback": "^1.6.0",
- "debug": "^4.1.1",
- "del": "^4.1.1",
- "express": "^4.17.1",
- "html-entities": "^1.3.1",
- "http-proxy-middleware": "0.19.1",
- "import-local": "^2.0.0",
- "internal-ip": "^4.3.0",
- "ip": "^1.1.5",
- "is-absolute-url": "^3.0.3",
- "killable": "^1.0.1",
- "loglevel": "^1.6.8",
- "opn": "^5.5.0",
- "p-retry": "^3.0.1",
- "portfinder": "^1.0.26",
- "schema-utils": "^1.0.0",
- "selfsigned": "^1.10.7",
- "semver": "^6.3.0",
- "serve-index": "^1.9.1",
- "sockjs": "0.3.20",
- "sockjs-client": "1.4.0",
- "spdy": "^4.0.2",
- "strip-ansi": "^3.0.1",
- "supports-color": "^6.1.0",
- "url": "^0.11.0",
- "webpack-dev-middleware": "^3.7.2",
- "webpack-log": "^2.0.0",
- "ws": "^6.2.1",
- "yargs": "^13.3.2"
- },
- "bin": {
- "webpack-dev-server": "bin/webpack-dev-server.js"
- },
- "engines": {
- "node": ">= 6.11.5"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5"
}
},
- "node_modules/webpack-dev-server/node_modules/ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "@babel/plugin-syntax-dynamic-import": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
+ "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
"dev": true,
- "engines": {
- "node": ">=0.10.0"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
}
},
- "node_modules/webpack-dev-server/node_modules/anymatch": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
- "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
+ "@babel/plugin-syntax-export-namespace-from": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz",
+ "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==",
"dev": true,
- "dependencies": {
- "micromatch": "^3.1.4",
- "normalize-path": "^2.1.1"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
- "node_modules/webpack-dev-server/node_modules/anymatch/node_modules/normalize-path": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
- "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+ "@babel/plugin-syntax-import-assertions": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz",
+ "integrity": "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==",
"dev": true,
- "dependencies": {
- "remove-trailing-separator": "^1.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.6"
}
},
- "node_modules/webpack-dev-server/node_modules/binary-extensions": {
- "version": "1.13.1",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
- "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
+ "@babel/plugin-syntax-json-strings": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
+ "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
"dev": true,
- "engines": {
- "node": ">=0.10.0"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
}
},
- "node_modules/webpack-dev-server/node_modules/chokidar": {
- "version": "2.1.8",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
- "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
+ "@babel/plugin-syntax-logical-assignment-operators": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
+ "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
"dev": true,
- "dependencies": {
- "anymatch": "^2.0.0",
- "async-each": "^1.0.1",
- "braces": "^2.3.2",
- "fsevents": "^1.2.7",
- "glob-parent": "^3.1.0",
- "inherits": "^2.0.3",
- "is-binary-path": "^1.0.0",
- "is-glob": "^4.0.0",
- "normalize-path": "^3.0.0",
- "path-is-absolute": "^1.0.0",
- "readdirp": "^2.2.1",
- "upath": "^1.1.1"
- },
- "optionalDependencies": {
- "fsevents": "^1.2.7"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
- "node_modules/webpack-dev-server/node_modules/fsevents": {
- "version": "1.2.13",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
- "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
- "dev": true,
- "hasInstallScript": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 4.0"
+ "@babel/plugin-syntax-nullish-coalescing-operator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
+ "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
}
},
- "node_modules/webpack-dev-server/node_modules/glob-parent": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
- "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+ "@babel/plugin-syntax-numeric-separator": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
+ "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
"dev": true,
- "dependencies": {
- "is-glob": "^3.1.0",
- "path-dirname": "^1.0.0"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
- "node_modules/webpack-dev-server/node_modules/glob-parent/node_modules/is-glob": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
- "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+ "@babel/plugin-syntax-object-rest-spread": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
+ "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
"dev": true,
- "dependencies": {
- "is-extglob": "^2.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
}
},
- "node_modules/webpack-dev-server/node_modules/is-absolute-url": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz",
- "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==",
+ "@babel/plugin-syntax-optional-catch-binding": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
+ "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
"dev": true,
- "engines": {
- "node": ">=8"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
}
},
- "node_modules/webpack-dev-server/node_modules/is-binary-path": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
- "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
+ "@babel/plugin-syntax-optional-chaining": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
+ "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
"dev": true,
- "dependencies": {
- "binary-extensions": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
}
},
- "node_modules/webpack-dev-server/node_modules/readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "@babel/plugin-syntax-private-property-in-object": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz",
+ "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==",
"dev": true,
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5"
}
},
- "node_modules/webpack-dev-server/node_modules/readdirp": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
- "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
+ "@babel/plugin-syntax-top-level-await": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
+ "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
"dev": true,
- "dependencies": {
- "graceful-fs": "^4.1.11",
- "micromatch": "^3.1.10",
- "readable-stream": "^2.0.2"
- },
- "engines": {
- "node": ">=0.10"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5"
}
},
- "node_modules/webpack-dev-server/node_modules/schema-utils": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
- "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
+ "@babel/plugin-transform-arrow-functions": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz",
+ "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==",
"dev": true,
- "dependencies": {
- "ajv": "^6.1.0",
- "ajv-errors": "^1.0.0",
- "ajv-keywords": "^3.1.0"
- },
- "engines": {
- "node": ">= 4"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.6"
}
},
- "node_modules/webpack-dev-server/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "@babel/plugin-transform-async-to-generator": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz",
+ "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==",
"dev": true,
- "bin": {
- "semver": "bin/semver.js"
+ "requires": {
+ "@babel/helper-module-imports": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/helper-remap-async-to-generator": "^7.18.6"
}
},
- "node_modules/webpack-dev-server/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "@babel/plugin-transform-block-scoped-functions": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz",
+ "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==",
"dev": true,
- "dependencies": {
- "safe-buffer": "~5.1.0"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.6"
}
},
- "node_modules/webpack-dev-server/node_modules/strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "@babel/plugin-transform-block-scoping": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz",
+ "integrity": "sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==",
"dev": true,
- "dependencies": {
- "ansi-regex": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.9"
}
},
- "node_modules/webpack-dev-server/node_modules/supports-color": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
- "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
- "dev": true,
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
+ "@babel/plugin-transform-classes": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz",
+ "integrity": "sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.18.6",
+ "@babel/helper-environment-visitor": "^7.18.9",
+ "@babel/helper-function-name": "^7.18.9",
+ "@babel/helper-optimise-call-expression": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.9",
+ "@babel/helper-replace-supers": "^7.18.9",
+ "@babel/helper-split-export-declaration": "^7.18.6",
+ "globals": "^11.1.0"
}
},
- "node_modules/webpack-log": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz",
- "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==",
+ "@babel/plugin-transform-computed-properties": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz",
+ "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==",
"dev": true,
- "dependencies": {
- "ansi-colors": "^3.0.0",
- "uuid": "^3.3.2"
- },
- "engines": {
- "node": ">= 6"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.9"
}
},
- "node_modules/webpack-manifest-plugin": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-2.2.0.tgz",
- "integrity": "sha512-9S6YyKKKh/Oz/eryM1RyLVDVmy3NSPV0JXMRhZ18fJsq+AwGxUY34X54VNwkzYcEmEkDwNxuEOboCZEebJXBAQ==",
+ "@babel/plugin-transform-destructuring": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz",
+ "integrity": "sha512-p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA==",
"dev": true,
- "dependencies": {
- "fs-extra": "^7.0.0",
- "lodash": ">=3.5 <5",
- "object.entries": "^1.1.0",
- "tapable": "^1.0.0"
- },
- "engines": {
- "node": ">=6.11.5"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.9"
}
},
- "node_modules/webpack-notifier": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/webpack-notifier/-/webpack-notifier-1.8.0.tgz",
- "integrity": "sha512-I6t76NoPe5DZCCm5geELmDV2wlJ89LbU425uN6T2FG8Ywrrt1ZcUMz6g8yWGNg4pttqTPFQJYUPjWAlzUEQ+cQ==",
+ "@babel/plugin-transform-dotall-regex": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz",
+ "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==",
"dev": true,
- "dependencies": {
- "node-notifier": "^5.1.2",
- "object-assign": "^4.1.0",
- "strip-ansi": "^3.0.1"
+ "requires": {
+ "@babel/helper-create-regexp-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
}
},
- "node_modules/webpack-notifier/node_modules/ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "@babel/plugin-transform-duplicate-keys": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz",
+ "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==",
"dev": true,
- "engines": {
- "node": ">=0.10.0"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.9"
}
},
- "node_modules/webpack-notifier/node_modules/strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "@babel/plugin-transform-exponentiation-operator": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz",
+ "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==",
"dev": true,
- "dependencies": {
- "ansi-regex": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
+ "requires": {
+ "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
}
},
- "node_modules/webpack-sources": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
- "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==",
- "dependencies": {
- "source-list-map": "^2.0.0",
- "source-map": "~0.6.1"
+ "@babel/plugin-transform-for-of": {
+ "version": "7.18.8",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz",
+ "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.6"
}
},
- "node_modules/webpack-sources/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "engines": {
- "node": ">=0.10.0"
+ "@babel/plugin-transform-function-name": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz",
+ "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-compilation-targets": "^7.18.9",
+ "@babel/helper-function-name": "^7.18.9",
+ "@babel/helper-plugin-utils": "^7.18.9"
}
},
- "node_modules/webpack/node_modules/json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+ "@babel/plugin-transform-literals": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz",
+ "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==",
"dev": true,
- "dependencies": {
- "minimist": "^1.2.0"
- },
- "bin": {
- "json5": "lib/cli.js"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.9"
}
},
- "node_modules/webpack/node_modules/loader-utils": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
- "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+ "@babel/plugin-transform-member-expression-literals": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz",
+ "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==",
"dev": true,
- "dependencies": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^1.0.1"
- },
- "engines": {
- "node": ">=4.0.0"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.6"
}
},
- "node_modules/webpack/node_modules/schema-utils": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
- "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
+ "@babel/plugin-transform-modules-amd": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz",
+ "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==",
"dev": true,
- "dependencies": {
- "ajv": "^6.1.0",
- "ajv-errors": "^1.0.0",
- "ajv-keywords": "^3.1.0"
- },
- "engines": {
- "node": ">= 4"
+ "requires": {
+ "@babel/helper-module-transforms": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "babel-plugin-dynamic-import-node": "^2.3.3"
}
},
- "node_modules/websocket-driver": {
- "version": "0.6.5",
- "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz",
- "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=",
+ "@babel/plugin-transform-modules-commonjs": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz",
+ "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==",
"dev": true,
- "dependencies": {
- "websocket-extensions": ">=0.1.1"
- },
- "engines": {
- "node": ">=0.6.0"
+ "requires": {
+ "@babel/helper-module-transforms": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/helper-simple-access": "^7.18.6",
+ "babel-plugin-dynamic-import-node": "^2.3.3"
}
},
- "node_modules/websocket-extensions": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz",
- "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==",
+ "@babel/plugin-transform-modules-systemjs": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz",
+ "integrity": "sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A==",
"dev": true,
- "engines": {
- "node": ">=0.8.0"
+ "requires": {
+ "@babel/helper-hoist-variables": "^7.18.6",
+ "@babel/helper-module-transforms": "^7.18.9",
+ "@babel/helper-plugin-utils": "^7.18.9",
+ "@babel/helper-validator-identifier": "^7.18.6",
+ "babel-plugin-dynamic-import-node": "^2.3.3"
}
},
- "node_modules/which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "@babel/plugin-transform-modules-umd": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz",
+ "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==",
"dev": true,
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "which": "bin/which"
+ "requires": {
+ "@babel/helper-module-transforms": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
}
},
- "node_modules/which-module": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
- "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
- "dev": true
- },
- "node_modules/worker-farm": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz",
- "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==",
+ "@babel/plugin-transform-named-capturing-groups-regex": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz",
+ "integrity": "sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==",
"dev": true,
- "dependencies": {
- "errno": "~0.1.7"
+ "requires": {
+ "@babel/helper-create-regexp-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
}
},
- "node_modules/wrap-ansi": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
- "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
+ "@babel/plugin-transform-new-target": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz",
+ "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==",
"dev": true,
- "dependencies": {
- "ansi-styles": "^3.2.0",
- "string-width": "^3.0.0",
- "strip-ansi": "^5.0.0"
- },
- "engines": {
- "node": ">=6"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.6"
}
},
- "node_modules/wrap-ansi/node_modules/string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "@babel/plugin-transform-object-super": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz",
+ "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==",
"dev": true,
- "dependencies": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- },
- "engines": {
- "node": ">=6"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/helper-replace-supers": "^7.18.6"
}
},
- "node_modules/wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
- },
- "node_modules/ws": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz",
- "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==",
+ "@babel/plugin-transform-parameters": {
+ "version": "7.18.8",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz",
+ "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==",
"dev": true,
- "dependencies": {
- "async-limiter": "~1.0.0"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.6"
}
},
- "node_modules/xtend": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
- "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
+ "@babel/plugin-transform-property-literals": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz",
+ "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==",
"dev": true,
- "engines": {
- "node": ">=0.4"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.6"
}
},
- "node_modules/y18n": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
- "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
- "dev": true
- },
- "node_modules/yallist": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
- "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
- },
- "node_modules/yargs": {
- "version": "13.3.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
- "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
+ "@babel/plugin-transform-regenerator": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz",
+ "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==",
"dev": true,
- "dependencies": {
- "cliui": "^5.0.0",
- "find-up": "^3.0.0",
- "get-caller-file": "^2.0.1",
- "require-directory": "^2.1.1",
- "require-main-filename": "^2.0.0",
- "set-blocking": "^2.0.0",
- "string-width": "^3.0.0",
- "which-module": "^2.0.0",
- "y18n": "^4.0.0",
- "yargs-parser": "^13.1.2"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "regenerator-transform": "^0.15.0"
}
},
- "node_modules/yargs-parser": {
- "version": "18.1.3",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
- "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
+ "@babel/plugin-transform-reserved-words": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz",
+ "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==",
"dev": true,
- "dependencies": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
- },
- "engines": {
- "node": ">=6"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.6"
}
},
- "node_modules/yargs/node_modules/string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "@babel/plugin-transform-shorthand-properties": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz",
+ "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==",
"dev": true,
- "dependencies": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- },
- "engines": {
- "node": ">=6"
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.6"
}
},
- "node_modules/yargs/node_modules/yargs-parser": {
- "version": "13.1.2",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
- "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
- "dev": true,
- "dependencies": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
- }
- }
- },
- "dependencies": {
- "@babel/code-frame": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "@babel/plugin-transform-spread": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz",
+ "integrity": "sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA==",
"dev": true,
"requires": {
- "@babel/highlight": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.18.9",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9"
}
},
- "@babel/compat-data": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.10.4.tgz",
- "integrity": "sha512-t+rjExOrSVvjQQXNp5zAIYDp00KjdvGl/TpDX5REPr0S9IAIPQMTilcfG6q8c0QFmj9lSTVySV2VTsyggvtNIw==",
+ "@babel/plugin-transform-sticky-regex": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz",
+ "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==",
"dev": true,
"requires": {
- "browserslist": "^4.12.0",
- "invariant": "^2.2.4",
- "semver": "^5.5.0"
- },
- "dependencies": {
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true
- }
- }
- },
- "@babel/core": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.10.4.tgz",
- "integrity": "sha512-3A0tS0HWpy4XujGc7QtOIHTeNwUgWaZc/WuS5YQrfhU67jnVmsD6OGPc1AKHH0LJHQICGncy3+YUjIhVlfDdcA==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.10.4",
- "@babel/generator": "^7.10.4",
- "@babel/helper-module-transforms": "^7.10.4",
- "@babel/helpers": "^7.10.4",
- "@babel/parser": "^7.10.4",
- "@babel/template": "^7.10.4",
- "@babel/traverse": "^7.10.4",
- "@babel/types": "^7.10.4",
- "convert-source-map": "^1.7.0",
- "debug": "^4.1.0",
- "gensync": "^1.0.0-beta.1",
- "json5": "^2.1.2",
- "lodash": "^4.17.13",
- "resolve": "^1.3.2",
- "semver": "^5.4.1",
- "source-map": "^0.5.0"
- },
- "dependencies": {
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true
- }
+ "@babel/helper-plugin-utils": "^7.18.6"
}
},
- "@babel/generator": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.4.tgz",
- "integrity": "sha512-toLIHUIAgcQygFZRAQcsLQV3CBuX6yOIru1kJk/qqqvcRmZrYe6WavZTSG+bB8MxhnL9YPf+pKQfuiP161q7ng==",
+ "@babel/plugin-transform-template-literals": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz",
+ "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==",
"dev": true,
"requires": {
- "@babel/types": "^7.10.4",
- "jsesc": "^2.5.1",
- "lodash": "^4.17.13",
- "source-map": "^0.5.0"
+ "@babel/helper-plugin-utils": "^7.18.9"
}
},
- "@babel/helper-annotate-as-pure": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz",
- "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==",
+ "@babel/plugin-transform-typeof-symbol": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz",
+ "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==",
"dev": true,
"requires": {
- "@babel/types": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.18.9"
}
},
- "@babel/helper-builder-binary-assignment-operator-visitor": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz",
- "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==",
+ "@babel/plugin-transform-unicode-escapes": {
+ "version": "7.18.10",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz",
+ "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==",
"dev": true,
"requires": {
- "@babel/helper-explode-assignable-expression": "^7.10.4",
- "@babel/types": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.18.9"
}
},
- "@babel/helper-compilation-targets": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.4.tgz",
- "integrity": "sha512-a3rYhlsGV0UHNDvrtOXBg8/OpfV0OKTkxKPzIplS1zpx7CygDcWWxckxZeDd3gzPzC4kUT0A4nVFDK0wGMh4MQ==",
+ "@babel/plugin-transform-unicode-regex": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz",
+ "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==",
"dev": true,
"requires": {
- "@babel/compat-data": "^7.10.4",
- "browserslist": "^4.12.0",
- "invariant": "^2.2.4",
- "levenary": "^1.1.1",
- "semver": "^5.5.0"
+ "@babel/helper-create-regexp-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
+ }
+ },
+ "@babel/preset-env": {
+ "version": "7.18.10",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.10.tgz",
+ "integrity": "sha512-wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA==",
+ "dev": true,
+ "requires": {
+ "@babel/compat-data": "^7.18.8",
+ "@babel/helper-compilation-targets": "^7.18.9",
+ "@babel/helper-plugin-utils": "^7.18.9",
+ "@babel/helper-validator-option": "^7.18.6",
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6",
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9",
+ "@babel/plugin-proposal-async-generator-functions": "^7.18.10",
+ "@babel/plugin-proposal-class-properties": "^7.18.6",
+ "@babel/plugin-proposal-class-static-block": "^7.18.6",
+ "@babel/plugin-proposal-dynamic-import": "^7.18.6",
+ "@babel/plugin-proposal-export-namespace-from": "^7.18.9",
+ "@babel/plugin-proposal-json-strings": "^7.18.6",
+ "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9",
+ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6",
+ "@babel/plugin-proposal-numeric-separator": "^7.18.6",
+ "@babel/plugin-proposal-object-rest-spread": "^7.18.9",
+ "@babel/plugin-proposal-optional-catch-binding": "^7.18.6",
+ "@babel/plugin-proposal-optional-chaining": "^7.18.9",
+ "@babel/plugin-proposal-private-methods": "^7.18.6",
+ "@babel/plugin-proposal-private-property-in-object": "^7.18.6",
+ "@babel/plugin-proposal-unicode-property-regex": "^7.18.6",
+ "@babel/plugin-syntax-async-generators": "^7.8.4",
+ "@babel/plugin-syntax-class-properties": "^7.12.13",
+ "@babel/plugin-syntax-class-static-block": "^7.14.5",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3",
+ "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
+ "@babel/plugin-syntax-import-assertions": "^7.18.6",
+ "@babel/plugin-syntax-json-strings": "^7.8.3",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
+ "@babel/plugin-syntax-numeric-separator": "^7.10.4",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3",
+ "@babel/plugin-syntax-private-property-in-object": "^7.14.5",
+ "@babel/plugin-syntax-top-level-await": "^7.14.5",
+ "@babel/plugin-transform-arrow-functions": "^7.18.6",
+ "@babel/plugin-transform-async-to-generator": "^7.18.6",
+ "@babel/plugin-transform-block-scoped-functions": "^7.18.6",
+ "@babel/plugin-transform-block-scoping": "^7.18.9",
+ "@babel/plugin-transform-classes": "^7.18.9",
+ "@babel/plugin-transform-computed-properties": "^7.18.9",
+ "@babel/plugin-transform-destructuring": "^7.18.9",
+ "@babel/plugin-transform-dotall-regex": "^7.18.6",
+ "@babel/plugin-transform-duplicate-keys": "^7.18.9",
+ "@babel/plugin-transform-exponentiation-operator": "^7.18.6",
+ "@babel/plugin-transform-for-of": "^7.18.8",
+ "@babel/plugin-transform-function-name": "^7.18.9",
+ "@babel/plugin-transform-literals": "^7.18.9",
+ "@babel/plugin-transform-member-expression-literals": "^7.18.6",
+ "@babel/plugin-transform-modules-amd": "^7.18.6",
+ "@babel/plugin-transform-modules-commonjs": "^7.18.6",
+ "@babel/plugin-transform-modules-systemjs": "^7.18.9",
+ "@babel/plugin-transform-modules-umd": "^7.18.6",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.18.6",
+ "@babel/plugin-transform-new-target": "^7.18.6",
+ "@babel/plugin-transform-object-super": "^7.18.6",
+ "@babel/plugin-transform-parameters": "^7.18.8",
+ "@babel/plugin-transform-property-literals": "^7.18.6",
+ "@babel/plugin-transform-regenerator": "^7.18.6",
+ "@babel/plugin-transform-reserved-words": "^7.18.6",
+ "@babel/plugin-transform-shorthand-properties": "^7.18.6",
+ "@babel/plugin-transform-spread": "^7.18.9",
+ "@babel/plugin-transform-sticky-regex": "^7.18.6",
+ "@babel/plugin-transform-template-literals": "^7.18.9",
+ "@babel/plugin-transform-typeof-symbol": "^7.18.9",
+ "@babel/plugin-transform-unicode-escapes": "^7.18.10",
+ "@babel/plugin-transform-unicode-regex": "^7.18.6",
+ "@babel/preset-modules": "^0.1.5",
+ "@babel/types": "^7.18.10",
+ "babel-plugin-polyfill-corejs2": "^0.3.2",
+ "babel-plugin-polyfill-corejs3": "^0.5.3",
+ "babel-plugin-polyfill-regenerator": "^0.4.0",
+ "core-js-compat": "^3.22.1",
+ "semver": "^6.3.0"
},
"dependencies": {
"semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
"dev": true
}
}
},
- "@babel/helper-create-class-features-plugin": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.4.tgz",
- "integrity": "sha512-9raUiOsXPxzzLjCXeosApJItoMnX3uyT4QdM2UldffuGApNrF8e938MwNpDCK9CPoyxrEoCgT+hObJc3mZa6lQ==",
- "dev": true,
- "requires": {
- "@babel/helper-function-name": "^7.10.4",
- "@babel/helper-member-expression-to-functions": "^7.10.4",
- "@babel/helper-optimise-call-expression": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/helper-replace-supers": "^7.10.4",
- "@babel/helper-split-export-declaration": "^7.10.4"
- }
- },
- "@babel/helper-create-regexp-features-plugin": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz",
- "integrity": "sha512-2/hu58IEPKeoLF45DBwx3XFqsbCXmkdAay4spVr2x0jYgRxrSNp+ePwvSsy9g6YSaNDcKIQVPXk1Ov8S2edk2g==",
- "dev": true,
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.10.4",
- "@babel/helper-regex": "^7.10.4",
- "regexpu-core": "^4.7.0"
- }
- },
- "@babel/helper-define-map": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.4.tgz",
- "integrity": "sha512-nIij0oKErfCnLUCWaCaHW0Bmtl2RO9cN7+u2QT8yqTywgALKlyUVOvHDElh+b5DwVC6YB1FOYFOTWcN/+41EDA==",
- "dev": true,
- "requires": {
- "@babel/helper-function-name": "^7.10.4",
- "@babel/types": "^7.10.4",
- "lodash": "^4.17.13"
- }
- },
- "@babel/helper-explode-assignable-expression": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.4.tgz",
- "integrity": "sha512-4K71RyRQNPRrR85sr5QY4X3VwG4wtVoXZB9+L3r1Gp38DhELyHCtovqydRi7c1Ovb17eRGiQ/FD5s8JdU0Uy5A==",
+ "@babel/preset-modules": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz",
+ "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==",
"dev": true,
"requires": {
- "@babel/traverse": "^7.10.4",
- "@babel/types": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
+ "@babel/plugin-transform-dotall-regex": "^7.4.4",
+ "@babel/types": "^7.4.4",
+ "esutils": "^2.0.2"
}
},
- "@babel/helper-function-name": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz",
- "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==",
+ "@babel/runtime": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.9.tgz",
+ "integrity": "sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==",
"dev": true,
"requires": {
- "@babel/helper-get-function-arity": "^7.10.4",
- "@babel/template": "^7.10.4",
- "@babel/types": "^7.10.4"
+ "regenerator-runtime": "^0.13.4"
}
},
- "@babel/helper-get-function-arity": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz",
- "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==",
+ "@babel/template": {
+ "version": "7.18.10",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz",
+ "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==",
"dev": true,
"requires": {
- "@babel/types": "^7.10.4"
+ "@babel/code-frame": "^7.18.6",
+ "@babel/parser": "^7.18.10",
+ "@babel/types": "^7.18.10"
}
},
- "@babel/helper-hoist-variables": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz",
- "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.10.4"
+ "@babel/traverse": {
+ "version": "7.18.11",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.11.tgz",
+ "integrity": "sha512-TG9PiM2R/cWCAy6BPJKeHzNbu4lPzOSZpeMfeNErskGpTJx6trEvFaVCbDvpcxwy49BKWmEPwiW8mrysNiDvIQ==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.18.6",
+ "@babel/generator": "^7.18.10",
+ "@babel/helper-environment-visitor": "^7.18.9",
+ "@babel/helper-function-name": "^7.18.9",
+ "@babel/helper-hoist-variables": "^7.18.6",
+ "@babel/helper-split-export-declaration": "^7.18.6",
+ "@babel/parser": "^7.18.11",
+ "@babel/types": "^7.18.10",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0"
}
},
- "@babel/helper-member-expression-to-functions": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.4.tgz",
- "integrity": "sha512-m5j85pK/KZhuSdM/8cHUABQTAslV47OjfIB9Cc7P+PvlAoBzdb79BGNfw8RhT5Mq3p+xGd0ZfAKixbrUZx0C7A==",
+ "@babel/types": {
+ "version": "7.18.10",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.10.tgz",
+ "integrity": "sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ==",
"dev": true,
"requires": {
- "@babel/types": "^7.10.4"
+ "@babel/helper-string-parser": "^7.18.10",
+ "@babel/helper-validator-identifier": "^7.18.6",
+ "to-fast-properties": "^2.0.0"
}
},
- "@babel/helper-module-imports": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz",
- "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.10.4"
- }
+ "@discoveryjs/json-ext": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz",
+ "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==",
+ "dev": true
},
- "@babel/helper-module-transforms": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.4.tgz",
- "integrity": "sha512-Er2FQX0oa3nV7eM1o0tNCTx7izmQtwAQsIiaLRWtavAAEcskb0XJ5OjJbVrYXWOTr8om921Scabn4/tzlx7j1Q==",
+ "@jridgewell/gen-mapping": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
+ "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==",
"dev": true,
"requires": {
- "@babel/helper-module-imports": "^7.10.4",
- "@babel/helper-replace-supers": "^7.10.4",
- "@babel/helper-simple-access": "^7.10.4",
- "@babel/helper-split-export-declaration": "^7.10.4",
- "@babel/template": "^7.10.4",
- "@babel/types": "^7.10.4",
- "lodash": "^4.17.13"
+ "@jridgewell/set-array": "^1.0.0",
+ "@jridgewell/sourcemap-codec": "^1.4.10"
}
},
- "@babel/helper-optimise-call-expression": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz",
- "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.10.4"
- }
+ "@jridgewell/resolve-uri": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
+ "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
+ "dev": true
},
- "@babel/helper-plugin-utils": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
- "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
+ "@jridgewell/set-array": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
+ "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
"dev": true
},
- "@babel/helper-regex": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.4.tgz",
- "integrity": "sha512-inWpnHGgtg5NOF0eyHlC0/74/VkdRITY9dtTpB2PrxKKn+AkVMRiZz/Adrx+Ssg+MLDesi2zohBW6MVq6b4pOQ==",
+ "@jridgewell/source-map": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz",
+ "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==",
"dev": true,
"requires": {
- "lodash": "^4.17.13"
+ "@jridgewell/gen-mapping": "^0.3.0",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ },
+ "dependencies": {
+ "@jridgewell/gen-mapping": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
+ "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
+ "dev": true,
+ "requires": {
+ "@jridgewell/set-array": "^1.0.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ }
+ }
}
},
- "@babel/helper-remap-async-to-generator": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.4.tgz",
- "integrity": "sha512-86Lsr6NNw3qTNl+TBcF1oRZMaVzJtbWTyTko+CQL/tvNvcGYEFKbLXDPxtW0HKk3McNOk4KzY55itGWCAGK5tg==",
- "dev": true,
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.10.4",
- "@babel/helper-wrap-function": "^7.10.4",
- "@babel/template": "^7.10.4",
- "@babel/traverse": "^7.10.4",
- "@babel/types": "^7.10.4"
- }
+ "@jridgewell/sourcemap-codec": {
+ "version": "1.4.14",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
+ "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
+ "dev": true
},
- "@babel/helper-replace-supers": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz",
- "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==",
+ "@jridgewell/trace-mapping": {
+ "version": "0.3.15",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz",
+ "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==",
"dev": true,
"requires": {
- "@babel/helper-member-expression-to-functions": "^7.10.4",
- "@babel/helper-optimise-call-expression": "^7.10.4",
- "@babel/traverse": "^7.10.4",
- "@babel/types": "^7.10.4"
+ "@jridgewell/resolve-uri": "^3.0.3",
+ "@jridgewell/sourcemap-codec": "^1.4.10"
}
},
- "@babel/helper-simple-access": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz",
- "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==",
- "dev": true,
- "requires": {
- "@babel/template": "^7.10.4",
- "@babel/types": "^7.10.4"
- }
+ "@leichtgewicht/ip-codec": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz",
+ "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==",
+ "dev": true
},
- "@babel/helper-split-export-declaration": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz",
- "integrity": "sha512-pySBTeoUff56fL5CBU2hWm9TesA4r/rOkI9DyJLvvgz09MB9YtfIYe3iBriVaYNaPe+Alua0vBIOVOLs2buWhg==",
- "dev": true,
+ "@nodelib/fs.scandir": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz",
+ "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==",
"requires": {
- "@babel/types": "^7.10.4"
+ "@nodelib/fs.stat": "2.0.3",
+ "run-parallel": "^1.1.9"
}
},
- "@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
- "dev": true
+ "@nodelib/fs.stat": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz",
+ "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA=="
},
- "@babel/helper-wrap-function": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz",
- "integrity": "sha512-6py45WvEF0MhiLrdxtRjKjufwLL1/ob2qDJgg5JgNdojBAZSAKnAjkyOCNug6n+OBl4VW76XjvgSFTdaMcW0Ug==",
- "dev": true,
+ "@nodelib/fs.walk": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz",
+ "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==",
"requires": {
- "@babel/helper-function-name": "^7.10.4",
- "@babel/template": "^7.10.4",
- "@babel/traverse": "^7.10.4",
- "@babel/types": "^7.10.4"
+ "@nodelib/fs.scandir": "2.1.3",
+ "fastq": "^1.6.0"
}
},
- "@babel/helpers": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.4.tgz",
- "integrity": "sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA==",
- "dev": true,
+ "@npmcli/move-file": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.0.1.tgz",
+ "integrity": "sha512-Uv6h1sT+0DrblvIrolFtbvM1FgWm+/sy4B3pvLp67Zys+thcukzS5ekn7HsZFGpWP4Q3fYJCljbWQE/XivMRLw==",
"requires": {
- "@babel/template": "^7.10.4",
- "@babel/traverse": "^7.10.4",
- "@babel/types": "^7.10.4"
+ "mkdirp": "^1.0.4"
+ },
+ "dependencies": {
+ "mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
+ }
}
},
- "@babel/highlight": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
- "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
+ "@nuxt/friendly-errors-webpack-plugin": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/@nuxt/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-2.5.2.tgz",
+ "integrity": "sha512-LLc+90lnxVbpKkMqk5z1EWpXoODhc6gRkqqXJCInJwF5xabHAE7biFvbULfvTRmtaTzAaP8IV4HQDLUgeAUTTw==",
"dev": true,
"requires": {
- "@babel/helper-validator-identifier": "^7.10.4",
- "chalk": "^2.0.0",
- "js-tokens": "^4.0.0"
+ "chalk": "^2.3.2",
+ "consola": "^2.6.0",
+ "error-stack-parser": "^2.0.0",
+ "string-width": "^4.2.3"
},
"dependencies": {
"chalk": {
@@ -11580,5941 +9466,2488 @@
"escape-string-regexp": "^1.0.5",
"supports-color": "^5.3.0"
}
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
}
}
},
- "@babel/parser": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.4.tgz",
- "integrity": "sha512-8jHII4hf+YVDsskTF6WuMB3X4Eh+PsUkC2ljq22so5rHvH+T8BzyL94VOdyFLNR8tBSVXOTbNHOKpR4TfRxVtA==",
- "dev": true
- },
- "@babel/plugin-proposal-async-generator-functions": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.4.tgz",
- "integrity": "sha512-MJbxGSmejEFVOANAezdO39SObkURO5o/8b6fSH6D1pi9RZQt+ldppKPXfqgUWpSQ9asM6xaSaSJIaeWMDRP0Zg==",
+ "@symfony/webpack-encore": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@symfony/webpack-encore/-/webpack-encore-3.0.0.tgz",
+ "integrity": "sha512-59BTz9glnvcGSFeTaYWtNzgfA26wLwh0TSbVQk8I9hmCnFYOFp+LgnUN+T4MyXA4WWg6+DAFIf+CuOD3o1XwoA==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/helper-remap-async-to-generator": "^7.10.4",
- "@babel/plugin-syntax-async-generators": "^7.8.0"
+ "@babel/core": "^7.17.0",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.0",
+ "@babel/preset-env": "^7.16.0",
+ "@nuxt/friendly-errors-webpack-plugin": "^2.5.1",
+ "assets-webpack-plugin": "7.0.*",
+ "babel-loader": "^8.2.5",
+ "chalk": "^4.0.0",
+ "clean-webpack-plugin": "^4.0.0",
+ "css-loader": "^6.7.0",
+ "css-minimizer-webpack-plugin": "^4.0.0",
+ "fast-levenshtein": "^3.0.0",
+ "mini-css-extract-plugin": "^2.6.0",
+ "pkg-up": "^3.1.0",
+ "pretty-error": "^4.0.0",
+ "resolve-url-loader": "^5.0.0",
+ "semver": "^7.3.2",
+ "style-loader": "^3.3.0",
+ "sync-rpc": "^1.3.6",
+ "terser-webpack-plugin": "^5.3.0",
+ "tmp": "^0.2.1",
+ "webpack": "^5.72",
+ "webpack-cli": "^4.9.1",
+ "webpack-dev-server": "^4.8.0",
+ "yargs-parser": "^21.0.0"
}
},
- "@babel/plugin-proposal-class-properties": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.4.tgz",
- "integrity": "sha512-vhwkEROxzcHGNu2mzUC0OFFNXdZ4M23ib8aRRcJSsW8BZK9pQMD7QB7csl97NBbgGZO7ZyHUyKDnxzOaP4IrCg==",
+ "@trysound/sax": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz",
+ "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==",
+ "dev": true
+ },
+ "@types/body-parser": {
+ "version": "1.19.2",
+ "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz",
+ "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==",
"dev": true,
"requires": {
- "@babel/helper-create-class-features-plugin": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@types/connect": "*",
+ "@types/node": "*"
}
},
- "@babel/plugin-proposal-dynamic-import": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.4.tgz",
- "integrity": "sha512-up6oID1LeidOOASNXgv/CFbgBqTuKJ0cJjz6An5tWD+NVBNlp3VNSBxv2ZdU7SYl3NxJC7agAQDApZusV6uFwQ==",
+ "@types/bonjour": {
+ "version": "3.5.10",
+ "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz",
+ "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/plugin-syntax-dynamic-import": "^7.8.0"
+ "@types/node": "*"
}
},
- "@babel/plugin-proposal-json-strings": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.4.tgz",
- "integrity": "sha512-fCL7QF0Jo83uy1K0P2YXrfX11tj3lkpN7l4dMv9Y9VkowkhkQDwFHFd8IiwyK5MZjE8UpbgokkgtcReH88Abaw==",
+ "@types/color-name": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
+ "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
+ "dev": true
+ },
+ "@types/connect": {
+ "version": "3.4.35",
+ "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz",
+ "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/plugin-syntax-json-strings": "^7.8.0"
+ "@types/node": "*"
}
},
- "@babel/plugin-proposal-nullish-coalescing-operator": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz",
- "integrity": "sha512-wq5n1M3ZUlHl9sqT2ok1T2/MTt6AXE0e1Lz4WzWBr95LsAZ5qDXe4KnFuauYyEyLiohvXFMdbsOTMyLZs91Zlw==",
+ "@types/connect-history-api-fallback": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz",
+ "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0"
+ "@types/express-serve-static-core": "*",
+ "@types/node": "*"
}
},
- "@babel/plugin-proposal-numeric-separator": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.4.tgz",
- "integrity": "sha512-73/G7QoRoeNkLZFxsoCCvlg4ezE4eM+57PnOqgaPOozd5myfj7p0muD1mRVJvbUWbOzD+q3No2bWbaKy+DJ8DA==",
+ "@types/eslint": {
+ "version": "8.4.5",
+ "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.5.tgz",
+ "integrity": "sha512-dhsC09y1gpJWnK+Ff4SGvCuSnk9DaU0BJZSzOwa6GVSg65XtTugLBITDAAzRU5duGBoXBHpdR/9jHGxJjNflJQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/plugin-syntax-numeric-separator": "^7.10.4"
+ "@types/estree": "*",
+ "@types/json-schema": "*"
}
},
- "@babel/plugin-proposal-object-rest-spread": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.4.tgz",
- "integrity": "sha512-6vh4SqRuLLarjgeOf4EaROJAHjvu9Gl+/346PbDH9yWbJyfnJ/ah3jmYKYtswEyCoWZiidvVHjHshd4WgjB9BA==",
+ "@types/eslint-scope": {
+ "version": "3.7.4",
+ "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz",
+ "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
- "@babel/plugin-transform-parameters": "^7.10.4"
+ "@types/eslint": "*",
+ "@types/estree": "*"
}
},
- "@babel/plugin-proposal-optional-catch-binding": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.4.tgz",
- "integrity": "sha512-LflT6nPh+GK2MnFiKDyLiqSqVHkQnVf7hdoAvyTnnKj9xB3docGRsdPuxp6qqqW19ifK3xgc9U5/FwrSaCNX5g==",
+ "@types/estree": {
+ "version": "0.0.51",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz",
+ "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==",
+ "dev": true
+ },
+ "@types/express": {
+ "version": "4.17.13",
+ "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz",
+ "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.0"
+ "@types/body-parser": "*",
+ "@types/express-serve-static-core": "^4.17.18",
+ "@types/qs": "*",
+ "@types/serve-static": "*"
}
},
- "@babel/plugin-proposal-optional-chaining": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.4.tgz",
- "integrity": "sha512-ZIhQIEeavTgouyMSdZRap4VPPHqJJ3NEs2cuHs5p0erH+iz6khB0qfgU8g7UuJkG88+fBMy23ZiU+nuHvekJeQ==",
+ "@types/express-serve-static-core": {
+ "version": "4.17.30",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.30.tgz",
+ "integrity": "sha512-gstzbTWro2/nFed1WXtf+TtrpwxH7Ggs4RLYTLbeVgIkUQOI3WG/JKjgeOU1zXDvezllupjrf8OPIdvTbIaVOQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/plugin-syntax-optional-chaining": "^7.8.0"
+ "@types/node": "*",
+ "@types/qs": "*",
+ "@types/range-parser": "*"
}
},
- "@babel/plugin-proposal-private-methods": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.4.tgz",
- "integrity": "sha512-wh5GJleuI8k3emgTg5KkJK6kHNsGEr0uBTDBuQUBJwckk9xs1ez79ioheEVVxMLyPscB0LfkbVHslQqIzWV6Bw==",
+ "@types/glob": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz",
+ "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==",
"dev": true,
"requires": {
- "@babel/helper-create-class-features-plugin": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@types/minimatch": "*",
+ "@types/node": "*"
}
},
- "@babel/plugin-proposal-unicode-property-regex": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.4.tgz",
- "integrity": "sha512-H+3fOgPnEXFL9zGYtKQe4IDOPKYlZdF1kqFDQRRb8PK4B8af1vAGK04tF5iQAAsui+mHNBQSAtd2/ndEDe9wuA==",
+ "@types/http-proxy": {
+ "version": "1.17.9",
+ "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz",
+ "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==",
"dev": true,
"requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@types/node": "*"
}
},
- "@babel/plugin-syntax-async-generators": {
- "version": "7.8.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
- "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
+ "@types/json-schema": {
+ "version": "7.0.11",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
+ "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ=="
+ },
+ "@types/mime": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz",
+ "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==",
+ "dev": true
+ },
+ "@types/minimatch": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz",
+ "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==",
+ "dev": true
+ },
+ "@types/node": {
+ "version": "14.0.14",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.14.tgz",
+ "integrity": "sha512-syUgf67ZQpaJj01/tRTknkMNoBBLWJOBODF0Zm4NrXmiSuxjymFrxnTu1QVYRubhVkRcZLYZG8STTwJRdVm/WQ==",
+ "dev": true
+ },
+ "@types/qs": {
+ "version": "6.9.7",
+ "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz",
+ "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==",
+ "dev": true
+ },
+ "@types/range-parser": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz",
+ "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==",
+ "dev": true
+ },
+ "@types/retry": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz",
+ "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==",
+ "dev": true
+ },
+ "@types/serve-index": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz",
+ "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
+ "@types/express": "*"
}
},
- "@babel/plugin-syntax-class-properties": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz",
- "integrity": "sha512-GCSBF7iUle6rNugfURwNmCGG3Z/2+opxAMLs1nND4bhEG5PuxTIggDBoeYYSujAlLtsupzOHYJQgPS3pivwXIA==",
+ "@types/serve-static": {
+ "version": "1.15.0",
+ "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz",
+ "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@types/mime": "*",
+ "@types/node": "*"
}
},
- "@babel/plugin-syntax-dynamic-import": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
- "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
+ "@types/sockjs": {
+ "version": "0.3.33",
+ "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz",
+ "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
+ "@types/node": "*"
}
},
- "@babel/plugin-syntax-json-strings": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
- "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
+ "@types/webpack": {
+ "version": "5.28.0",
+ "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-5.28.0.tgz",
+ "integrity": "sha512-8cP0CzcxUiFuA9xGJkfeVpqmWTk9nx6CWwamRGCj95ph1SmlRRk9KlCZ6avhCbZd4L68LvYT6l1kpdEnQXrF8w==",
"dev": true,
+ "optional": true,
+ "peer": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
+ "@types/node": "*",
+ "tapable": "^2.2.0",
+ "webpack": "^5"
}
},
- "@babel/plugin-syntax-nullish-coalescing-operator": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
- "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
+ "@types/ws": {
+ "version": "8.5.3",
+ "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz",
+ "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
+ "@types/node": "*"
}
},
- "@babel/plugin-syntax-numeric-separator": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
- "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
+ "@webassemblyjs/ast": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
+ "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@webassemblyjs/helper-numbers": "1.11.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.1"
}
},
- "@babel/plugin-syntax-object-rest-spread": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
- "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
+ "@webassemblyjs/floating-point-hex-parser": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz",
+ "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==",
+ "dev": true
+ },
+ "@webassemblyjs/helper-api-error": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz",
+ "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==",
+ "dev": true
+ },
+ "@webassemblyjs/helper-buffer": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz",
+ "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==",
+ "dev": true
+ },
+ "@webassemblyjs/helper-numbers": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz",
+ "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
+ "@webassemblyjs/floating-point-hex-parser": "1.11.1",
+ "@webassemblyjs/helper-api-error": "1.11.1",
+ "@xtuc/long": "4.2.2"
}
},
- "@babel/plugin-syntax-optional-catch-binding": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
- "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
+ "@webassemblyjs/helper-wasm-bytecode": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz",
+ "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==",
+ "dev": true
+ },
+ "@webassemblyjs/helper-wasm-section": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz",
+ "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
+ "@webassemblyjs/ast": "1.11.1",
+ "@webassemblyjs/helper-buffer": "1.11.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
+ "@webassemblyjs/wasm-gen": "1.11.1"
}
},
- "@babel/plugin-syntax-optional-chaining": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
- "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
+ "@webassemblyjs/ieee754": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz",
+ "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
+ "@xtuc/ieee754": "^1.2.0"
}
},
- "@babel/plugin-syntax-top-level-await": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.4.tgz",
- "integrity": "sha512-ni1brg4lXEmWyafKr0ccFWkJG0CeMt4WV1oyeBW6EFObF4oOHclbkj5cARxAPQyAQ2UTuplJyK4nfkXIMMFvsQ==",
+ "@webassemblyjs/leb128": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz",
+ "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@xtuc/long": "4.2.2"
}
},
- "@babel/plugin-transform-arrow-functions": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.4.tgz",
- "integrity": "sha512-9J/oD1jV0ZCBcgnoFWFq1vJd4msoKb/TCpGNFyyLt0zABdcvgK3aYikZ8HjzB14c26bc7E3Q1yugpwGy2aTPNA==",
+ "@webassemblyjs/utf8": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz",
+ "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==",
+ "dev": true
+ },
+ "@webassemblyjs/wasm-edit": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz",
+ "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@webassemblyjs/ast": "1.11.1",
+ "@webassemblyjs/helper-buffer": "1.11.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
+ "@webassemblyjs/helper-wasm-section": "1.11.1",
+ "@webassemblyjs/wasm-gen": "1.11.1",
+ "@webassemblyjs/wasm-opt": "1.11.1",
+ "@webassemblyjs/wasm-parser": "1.11.1",
+ "@webassemblyjs/wast-printer": "1.11.1"
}
},
- "@babel/plugin-transform-async-to-generator": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.4.tgz",
- "integrity": "sha512-F6nREOan7J5UXTLsDsZG3DXmZSVofr2tGNwfdrVwkDWHfQckbQXnXSPfD7iO+c/2HGqycwyLST3DnZ16n+cBJQ==",
+ "@webassemblyjs/wasm-gen": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz",
+ "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==",
"dev": true,
"requires": {
- "@babel/helper-module-imports": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/helper-remap-async-to-generator": "^7.10.4"
+ "@webassemblyjs/ast": "1.11.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
+ "@webassemblyjs/ieee754": "1.11.1",
+ "@webassemblyjs/leb128": "1.11.1",
+ "@webassemblyjs/utf8": "1.11.1"
}
},
- "@babel/plugin-transform-block-scoped-functions": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.4.tgz",
- "integrity": "sha512-WzXDarQXYYfjaV1szJvN3AD7rZgZzC1JtjJZ8dMHUyiK8mxPRahynp14zzNjU3VkPqPsO38CzxiWO1c9ARZ8JA==",
+ "@webassemblyjs/wasm-opt": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz",
+ "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@webassemblyjs/ast": "1.11.1",
+ "@webassemblyjs/helper-buffer": "1.11.1",
+ "@webassemblyjs/wasm-gen": "1.11.1",
+ "@webassemblyjs/wasm-parser": "1.11.1"
}
},
- "@babel/plugin-transform-block-scoping": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.4.tgz",
- "integrity": "sha512-J3b5CluMg3hPUii2onJDRiaVbPtKFPLEaV5dOPY5OeAbDi1iU/UbbFFTgwb7WnanaDy7bjU35kc26W3eM5Qa0A==",
+ "@webassemblyjs/wasm-parser": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz",
+ "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.10.4",
- "lodash": "^4.17.13"
+ "@webassemblyjs/ast": "1.11.1",
+ "@webassemblyjs/helper-api-error": "1.11.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
+ "@webassemblyjs/ieee754": "1.11.1",
+ "@webassemblyjs/leb128": "1.11.1",
+ "@webassemblyjs/utf8": "1.11.1"
}
},
- "@babel/plugin-transform-classes": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.4.tgz",
- "integrity": "sha512-2oZ9qLjt161dn1ZE0Ms66xBncQH4In8Sqw1YWgBUZuGVJJS5c0OFZXL6dP2MRHrkU/eKhWg8CzFJhRQl50rQxA==",
+ "@webassemblyjs/wast-printer": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz",
+ "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==",
"dev": true,
"requires": {
- "@babel/helper-annotate-as-pure": "^7.10.4",
- "@babel/helper-define-map": "^7.10.4",
- "@babel/helper-function-name": "^7.10.4",
- "@babel/helper-optimise-call-expression": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/helper-replace-supers": "^7.10.4",
- "@babel/helper-split-export-declaration": "^7.10.4",
- "globals": "^11.1.0"
+ "@webassemblyjs/ast": "1.11.1",
+ "@xtuc/long": "4.2.2"
}
},
- "@babel/plugin-transform-computed-properties": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.4.tgz",
- "integrity": "sha512-JFwVDXcP/hM/TbyzGq3l/XWGut7p46Z3QvqFMXTfk6/09m7xZHJUN9xHfsv7vqqD4YnfI5ueYdSJtXqqBLyjBw==",
+ "@webpack-cli/configtest": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz",
+ "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==",
"dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
- }
+ "requires": {}
},
- "@babel/plugin-transform-destructuring": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.4.tgz",
- "integrity": "sha512-+WmfvyfsyF603iPa6825mq6Qrb7uLjTOsa3XOFzlYcYDHSS4QmpOWOL0NNBY5qMbvrcf3tq0Cw+v4lxswOBpgA==",
+ "@webpack-cli/info": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz",
+ "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "envinfo": "^7.7.3"
}
},
- "@babel/plugin-transform-dotall-regex": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.4.tgz",
- "integrity": "sha512-ZEAVvUTCMlMFAbASYSVQoxIbHm2OkG2MseW6bV2JjIygOjdVv8tuxrCTzj1+Rynh7ODb8GivUy7dzEXzEhuPaA==",
+ "@webpack-cli/serve": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz",
+ "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==",
"dev": true,
- "requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4"
- }
+ "requires": {}
},
- "@babel/plugin-transform-duplicate-keys": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.4.tgz",
- "integrity": "sha512-GL0/fJnmgMclHiBTTWXNlYjYsA7rDrtsazHG6mglaGSTh0KsrW04qml+Bbz9FL0LcJIRwBWL5ZqlNHKTkU3xAA==",
+ "@xtuc/ieee754": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
+ "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
+ "dev": true
+ },
+ "@xtuc/long": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
+ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
+ "dev": true
+ },
+ "accepts": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
+ "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "mime-types": "~2.1.34",
+ "negotiator": "0.6.3"
}
},
- "@babel/plugin-transform-exponentiation-operator": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.4.tgz",
- "integrity": "sha512-S5HgLVgkBcRdyQAHbKj+7KyuWx8C6t5oETmUuwz1pt3WTWJhsUV0WIIXuVvfXMxl/QQyHKlSCNNtaIamG8fysw==",
+ "acorn": {
+ "version": "8.8.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz",
+ "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==",
+ "dev": true
+ },
+ "acorn-import-assertions": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz",
+ "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==",
"dev": true,
- "requires": {
- "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4"
- }
+ "requires": {}
},
- "@babel/plugin-transform-for-of": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.4.tgz",
- "integrity": "sha512-ItdQfAzu9AlEqmusA/65TqJ79eRcgGmpPPFvBnGILXZH975G0LNjP1yjHvGgfuCxqrPPueXOPe+FsvxmxKiHHQ==",
+ "adjust-sourcemap-loader": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz",
+ "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "loader-utils": "^2.0.0",
+ "regex-parser": "^2.2.11"
}
},
- "@babel/plugin-transform-function-name": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.4.tgz",
- "integrity": "sha512-OcDCq2y5+E0dVD5MagT5X+yTRbcvFjDI2ZVAottGH6tzqjx/LKpgkUepu3hp/u4tZBzxxpNGwLsAvGBvQ2mJzg==",
- "dev": true,
+ "aggregate-error": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz",
+ "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==",
"requires": {
- "@babel/helper-function-name": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4"
+ "clean-stack": "^2.0.0",
+ "indent-string": "^4.0.0"
}
},
- "@babel/plugin-transform-literals": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.4.tgz",
- "integrity": "sha512-Xd/dFSTEVuUWnyZiMu76/InZxLTYilOSr1UlHV+p115Z/Le2Fi1KXkJUYz0b42DfndostYlPub3m8ZTQlMaiqQ==",
- "dev": true,
+ "ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
"requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
}
},
- "@babel/plugin-transform-member-expression-literals": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.4.tgz",
- "integrity": "sha512-0bFOvPyAoTBhtcJLr9VcwZqKmSjFml1iVxvPL0ReomGU53CX53HsM4h2SzckNdkQcHox1bpAqzxBI1Y09LlBSw==",
+ "ajv-formats": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
+ "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "ajv": "^8.0.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "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",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ }
}
},
- "@babel/plugin-transform-modules-amd": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.4.tgz",
- "integrity": "sha512-3Fw+H3WLUrTlzi3zMiZWp3AR4xadAEMv6XRCYnd5jAlLM61Rn+CRJaZMaNvIpcJpQ3vs1kyifYvEVPFfoSkKOA==",
+ "ajv-keywords": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
+ "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
+ "requires": {}
+ },
+ "ansi-html-community": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz",
+ "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==",
+ "dev": true
+ },
+ "ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dev": true,
"requires": {
- "@babel/helper-module-transforms": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4",
- "babel-plugin-dynamic-import-node": "^2.3.3"
+ "color-convert": "^1.9.0"
}
},
- "@babel/plugin-transform-modules-commonjs": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.4.tgz",
- "integrity": "sha512-Xj7Uq5o80HDLlW64rVfDBhao6OX89HKUmb+9vWYaLXBZOma4gA6tw4Ni1O5qVDoZWUV0fxMYA0aYzOawz0l+1w==",
+ "anymatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
+ "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
"dev": true,
"requires": {
- "@babel/helper-module-transforms": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/helper-simple-access": "^7.10.4",
- "babel-plugin-dynamic-import-node": "^2.3.3"
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
}
},
- "@babel/plugin-transform-modules-systemjs": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.4.tgz",
- "integrity": "sha512-Tb28LlfxrTiOTGtZFsvkjpyjCl9IoaRI52AEU/VIwOwvDQWtbNJsAqTXzh+5R7i74e/OZHH2c2w2fsOqAfnQYQ==",
+ "array-flatten": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
+ "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==",
+ "dev": true
+ },
+ "array-union": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
+ "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==",
"dev": true,
"requires": {
- "@babel/helper-hoist-variables": "^7.10.4",
- "@babel/helper-module-transforms": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4",
- "babel-plugin-dynamic-import-node": "^2.3.3"
+ "array-uniq": "^1.0.1"
}
},
- "@babel/plugin-transform-modules-umd": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.4.tgz",
- "integrity": "sha512-mohW5q3uAEt8T45YT7Qc5ws6mWgJAaL/8BfWD9Dodo1A3RKWli8wTS+WiQ/knF+tXlPirW/1/MqzzGfCExKECA==",
+ "array-uniq": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
+ "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==",
+ "dev": true
+ },
+ "assets-webpack-plugin": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/assets-webpack-plugin/-/assets-webpack-plugin-7.0.0.tgz",
+ "integrity": "sha512-DMZ9r6HFxynWeONRMhSOFTvTrmit5dovdoUKdJgCG03M6CC7XiwNImPH+Ad1jaVrQ2n59e05lBhte52xPt4MSA==",
"dev": true,
"requires": {
- "@babel/helper-module-transforms": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4"
+ "camelcase": "^6.0.0",
+ "escape-string-regexp": "^4.0.0",
+ "lodash": "^4.17.20"
}
},
- "@babel/plugin-transform-named-capturing-groups-regex": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.4.tgz",
- "integrity": "sha512-V6LuOnD31kTkxQPhKiVYzYC/Jgdq53irJC/xBSmqcNcqFGV+PER4l6rU5SH2Vl7bH9mLDHcc0+l9HUOe4RNGKA==",
+ "babel-loader": {
+ "version": "8.2.5",
+ "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz",
+ "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==",
"dev": true,
"requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.10.4"
+ "find-cache-dir": "^3.3.1",
+ "loader-utils": "^2.0.0",
+ "make-dir": "^3.1.0",
+ "schema-utils": "^2.6.5"
}
},
- "@babel/plugin-transform-new-target": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.4.tgz",
- "integrity": "sha512-YXwWUDAH/J6dlfwqlWsztI2Puz1NtUAubXhOPLQ5gjR/qmQ5U96DY4FQO8At33JN4XPBhrjB8I4eMmLROjjLjw==",
+ "babel-plugin-dynamic-import-node": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
+ "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "object.assign": "^4.1.0"
}
},
- "@babel/plugin-transform-object-super": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.4.tgz",
- "integrity": "sha512-5iTw0JkdRdJvr7sY0vHqTpnruUpTea32JHmq/atIWqsnNussbRzjEDyWep8UNztt1B5IusBYg8Irb0bLbiEBCQ==",
+ "babel-plugin-polyfill-corejs2": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz",
+ "integrity": "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/helper-replace-supers": "^7.10.4"
+ "@babel/compat-data": "^7.17.7",
+ "@babel/helper-define-polyfill-provider": "^0.3.2",
+ "semver": "^6.1.1"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ }
}
},
- "@babel/plugin-transform-parameters": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.4.tgz",
- "integrity": "sha512-RurVtZ/D5nYfEg0iVERXYKEgDFeesHrHfx8RT05Sq57ucj2eOYAP6eu5fynL4Adju4I/mP/I6SO0DqNWAXjfLQ==",
+ "babel-plugin-polyfill-corejs3": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz",
+ "integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==",
"dev": true,
"requires": {
- "@babel/helper-get-function-arity": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@babel/helper-define-polyfill-provider": "^0.3.2",
+ "core-js-compat": "^3.21.0"
}
},
- "@babel/plugin-transform-property-literals": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.4.tgz",
- "integrity": "sha512-ofsAcKiUxQ8TY4sScgsGeR2vJIsfrzqvFb9GvJ5UdXDzl+MyYCaBj/FGzXuv7qE0aJcjWMILny1epqelnFlz8g==",
+ "babel-plugin-polyfill-regenerator": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz",
+ "integrity": "sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@babel/helper-define-polyfill-provider": "^0.3.2"
}
},
- "@babel/plugin-transform-regenerator": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.4.tgz",
- "integrity": "sha512-3thAHwtor39A7C04XucbMg17RcZ3Qppfxr22wYzZNcVIkPHfpM9J0SO8zuCV6SZa265kxBJSrfKTvDCYqBFXGw==",
- "dev": true,
- "requires": {
- "regenerator-transform": "^0.14.2"
- }
+ "balanced-match": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
},
- "@babel/plugin-transform-reserved-words": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.4.tgz",
- "integrity": "sha512-hGsw1O6Rew1fkFbDImZIEqA8GoidwTAilwCyWqLBM9f+e/u/sQMQu7uX6dyokfOayRuuVfKOW4O7HvaBWM+JlQ==",
+ "batch": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
+ "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==",
+ "dev": true
+ },
+ "big.js": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
+ "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ=="
+ },
+ "binary-extensions": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
+ "dev": true
+ },
+ "body-parser": {
+ "version": "1.20.0",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz",
+ "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "bytes": "3.1.2",
+ "content-type": "~1.0.4",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "on-finished": "2.4.1",
+ "qs": "6.10.3",
+ "raw-body": "2.5.1",
+ "type-is": "~1.6.18",
+ "unpipe": "1.0.0"
+ },
+ "dependencies": {
+ "bytes": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
+ "dev": true
+ },
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": true
+ }
}
},
- "@babel/plugin-transform-shorthand-properties": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz",
- "integrity": "sha512-AC2K/t7o07KeTIxMoHneyX90v3zkm5cjHJEokrPEAGEy3UCp8sLKfnfOIGdZ194fyN4wfX/zZUWT9trJZ0qc+Q==",
+ "bonjour-service": {
+ "version": "1.0.13",
+ "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.13.tgz",
+ "integrity": "sha512-LWKRU/7EqDUC9CTAQtuZl5HzBALoCYwtLhffW3et7vZMwv3bWLpJf8bRYlMD5OCcDpTfnPgNCV4yo9ZIaJGMiA==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "array-flatten": "^2.1.2",
+ "dns-equal": "^1.0.0",
+ "fast-deep-equal": "^3.1.3",
+ "multicast-dns": "^7.2.5"
}
},
- "@babel/plugin-transform-spread": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.4.tgz",
- "integrity": "sha512-1e/51G/Ni+7uH5gktbWv+eCED9pP8ZpRhZB3jOaI3mmzfvJTWHkuyYTv0Z5PYtyM+Tr2Ccr9kUdQxn60fI5WuQ==",
- "dev": true,
+ "boolbase": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+ "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
+ "dev": true
+ },
+ "bootstrap": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.5.0.tgz",
+ "integrity": "sha512-Z93QoXvodoVslA+PWNdk23Hze4RBYIkpb5h8I2HY2Tu2h7A0LpAgLcyrhrSUyo2/Oxm2l1fRZPs1e5hnxnliXA=="
+ },
+ "bootstrap-select": {
+ "version": "1.13.18",
+ "resolved": "https://registry.npmjs.org/bootstrap-select/-/bootstrap-select-1.13.18.tgz",
+ "integrity": "sha512-V1IzK4rxBq5FrJtkzSH6RmFLFBsjx50byFbfAf8jYyXROWs7ZpprGjdHeoyq2HSsHyjJhMMwjsQhRoYAfxCGow=="
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
}
},
- "@babel/plugin-transform-sticky-regex": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.4.tgz",
- "integrity": "sha512-Ddy3QZfIbEV0VYcVtFDCjeE4xwVTJWTmUtorAJkn6u/92Z/nWJNV+mILyqHKrUxXYKA2EoCilgoPePymKL4DvQ==",
- "dev": true,
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
"requires": {
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/helper-regex": "^7.10.4"
+ "fill-range": "^7.0.1"
}
},
- "@babel/plugin-transform-template-literals": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.4.tgz",
- "integrity": "sha512-4NErciJkAYe+xI5cqfS8pV/0ntlY5N5Ske/4ImxAVX7mk9Rxt2bwDTGv1Msc2BRJvWQcmYEC+yoMLdX22aE4VQ==",
+ "browserslist": {
+ "version": "4.21.3",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz",
+ "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==",
"dev": true,
"requires": {
- "@babel/helper-annotate-as-pure": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4"
+ "caniuse-lite": "^1.0.30001370",
+ "electron-to-chromium": "^1.4.202",
+ "node-releases": "^2.0.6",
+ "update-browserslist-db": "^1.0.5"
}
},
- "@babel/plugin-transform-typeof-symbol": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.4.tgz",
- "integrity": "sha512-QqNgYwuuW0y0H+kUE/GWSR45t/ccRhe14Fs/4ZRouNNQsyd4o3PG4OtHiIrepbM2WKUBDAXKCAK/Lk4VhzTaGA==",
+ "buffer-from": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
+ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
+ "dev": true
+ },
+ "bytes": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
+ "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==",
+ "dev": true
+ },
+ "call-bind": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+ "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.0.2"
}
},
- "@babel/plugin-transform-unicode-escapes": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.4.tgz",
- "integrity": "sha512-y5XJ9waMti2J+e7ij20e+aH+fho7Wb7W8rNuu72aKRwCHFqQdhkdU2lo3uZ9tQuboEJcUFayXdARhcxLQ3+6Fg==",
+ "camelcase": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+ "dev": true
+ },
+ "caniuse-api": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz",
+ "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "browserslist": "^4.0.0",
+ "caniuse-lite": "^1.0.0",
+ "lodash.memoize": "^4.1.2",
+ "lodash.uniq": "^4.5.0"
}
},
- "@babel/plugin-transform-unicode-regex": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.4.tgz",
- "integrity": "sha512-wNfsc4s8N2qnIwpO/WP2ZiSyjfpTamT2C9V9FDH/Ljub9zw6P3SjkXcFmc0RQUt96k2fmIvtla2MMjgTwIAC+A==",
+ "caniuse-lite": {
+ "version": "1.0.30001378",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001378.tgz",
+ "integrity": "sha512-JVQnfoO7FK7WvU4ZkBRbPjaot4+YqxogSDosHv0Hv5mWpUESmN+UubMU6L/hGz8QlQ2aY5U0vR6MOs6j/CXpNA==",
+ "dev": true
+ },
+ "chalk": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+ "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
"dev": true,
"requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4"
- }
- },
- "@babel/preset-env": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.10.4.tgz",
- "integrity": "sha512-tcmuQ6vupfMZPrLrc38d0sF2OjLT3/bZ0dry5HchNCQbrokoQi4reXqclvkkAT5b+gWc23meVWpve5P/7+w/zw==",
- "dev": true,
- "requires": {
- "@babel/compat-data": "^7.10.4",
- "@babel/helper-compilation-targets": "^7.10.4",
- "@babel/helper-module-imports": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/plugin-proposal-async-generator-functions": "^7.10.4",
- "@babel/plugin-proposal-class-properties": "^7.10.4",
- "@babel/plugin-proposal-dynamic-import": "^7.10.4",
- "@babel/plugin-proposal-json-strings": "^7.10.4",
- "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.4",
- "@babel/plugin-proposal-numeric-separator": "^7.10.4",
- "@babel/plugin-proposal-object-rest-spread": "^7.10.4",
- "@babel/plugin-proposal-optional-catch-binding": "^7.10.4",
- "@babel/plugin-proposal-optional-chaining": "^7.10.4",
- "@babel/plugin-proposal-private-methods": "^7.10.4",
- "@babel/plugin-proposal-unicode-property-regex": "^7.10.4",
- "@babel/plugin-syntax-async-generators": "^7.8.0",
- "@babel/plugin-syntax-class-properties": "^7.10.4",
- "@babel/plugin-syntax-dynamic-import": "^7.8.0",
- "@babel/plugin-syntax-json-strings": "^7.8.0",
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0",
- "@babel/plugin-syntax-numeric-separator": "^7.10.4",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.0",
- "@babel/plugin-syntax-optional-chaining": "^7.8.0",
- "@babel/plugin-syntax-top-level-await": "^7.10.4",
- "@babel/plugin-transform-arrow-functions": "^7.10.4",
- "@babel/plugin-transform-async-to-generator": "^7.10.4",
- "@babel/plugin-transform-block-scoped-functions": "^7.10.4",
- "@babel/plugin-transform-block-scoping": "^7.10.4",
- "@babel/plugin-transform-classes": "^7.10.4",
- "@babel/plugin-transform-computed-properties": "^7.10.4",
- "@babel/plugin-transform-destructuring": "^7.10.4",
- "@babel/plugin-transform-dotall-regex": "^7.10.4",
- "@babel/plugin-transform-duplicate-keys": "^7.10.4",
- "@babel/plugin-transform-exponentiation-operator": "^7.10.4",
- "@babel/plugin-transform-for-of": "^7.10.4",
- "@babel/plugin-transform-function-name": "^7.10.4",
- "@babel/plugin-transform-literals": "^7.10.4",
- "@babel/plugin-transform-member-expression-literals": "^7.10.4",
- "@babel/plugin-transform-modules-amd": "^7.10.4",
- "@babel/plugin-transform-modules-commonjs": "^7.10.4",
- "@babel/plugin-transform-modules-systemjs": "^7.10.4",
- "@babel/plugin-transform-modules-umd": "^7.10.4",
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.10.4",
- "@babel/plugin-transform-new-target": "^7.10.4",
- "@babel/plugin-transform-object-super": "^7.10.4",
- "@babel/plugin-transform-parameters": "^7.10.4",
- "@babel/plugin-transform-property-literals": "^7.10.4",
- "@babel/plugin-transform-regenerator": "^7.10.4",
- "@babel/plugin-transform-reserved-words": "^7.10.4",
- "@babel/plugin-transform-shorthand-properties": "^7.10.4",
- "@babel/plugin-transform-spread": "^7.10.4",
- "@babel/plugin-transform-sticky-regex": "^7.10.4",
- "@babel/plugin-transform-template-literals": "^7.10.4",
- "@babel/plugin-transform-typeof-symbol": "^7.10.4",
- "@babel/plugin-transform-unicode-escapes": "^7.10.4",
- "@babel/plugin-transform-unicode-regex": "^7.10.4",
- "@babel/preset-modules": "^0.1.3",
- "@babel/types": "^7.10.4",
- "browserslist": "^4.12.0",
- "core-js-compat": "^3.6.2",
- "invariant": "^2.2.2",
- "levenary": "^1.1.1",
- "semver": "^5.5.0"
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
},
"dependencies": {
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
}
}
},
- "@babel/preset-modules": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.3.tgz",
- "integrity": "sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==",
+ "chokidar": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+ "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
- "@babel/plugin-transform-dotall-regex": "^7.4.4",
- "@babel/types": "^7.4.4",
- "esutils": "^2.0.2"
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "fsevents": "~2.3.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
}
},
- "@babel/runtime": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.4.tgz",
- "integrity": "sha512-UpTN5yUJr9b4EX2CnGNWIvER7Ab83ibv0pcvvHc4UOdrBI5jb8bj+32cCwPX6xu0mt2daFNjYhoi+X7beH0RSw==",
+ "chrome-trace-event": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz",
+ "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==",
"dev": true,
"requires": {
- "regenerator-runtime": "^0.13.4"
+ "tslib": "^1.9.0"
}
},
- "@babel/template": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz",
- "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==",
+ "clean-stack": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
+ "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A=="
+ },
+ "clean-webpack-plugin": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-4.0.0.tgz",
+ "integrity": "sha512-WuWE1nyTNAyW5T7oNyys2EN0cfP2fdRxhxnIQWiAp0bMabPdHhoGxM8A6YL2GhqwgrPnnaemVE7nv5XJ2Fhh2w==",
"dev": true,
"requires": {
- "@babel/code-frame": "^7.10.4",
- "@babel/parser": "^7.10.4",
- "@babel/types": "^7.10.4"
+ "del": "^4.1.1"
}
},
- "@babel/traverse": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.4.tgz",
- "integrity": "sha512-aSy7p5THgSYm4YyxNGz6jZpXf+Ok40QF3aA2LyIONkDHpAcJzDUqlCKXv6peqYUs2gmic849C/t2HKw2a2K20Q==",
+ "clone-deep": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
+ "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
"dev": true,
"requires": {
- "@babel/code-frame": "^7.10.4",
- "@babel/generator": "^7.10.4",
- "@babel/helper-function-name": "^7.10.4",
- "@babel/helper-split-export-declaration": "^7.10.4",
- "@babel/parser": "^7.10.4",
- "@babel/types": "^7.10.4",
- "debug": "^4.1.0",
- "globals": "^11.1.0",
- "lodash": "^4.17.13"
+ "is-plain-object": "^2.0.4",
+ "kind-of": "^6.0.2",
+ "shallow-clone": "^3.0.0"
}
},
- "@babel/types": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.4.tgz",
- "integrity": "sha512-UTCFOxC3FsFHb7lkRMVvgLzaRVamXuAs2Tz4wajva4WxtVY82eZeaUBtC2Zt95FU9TiznuC0Zk35tsim8jeVpg==",
+ "color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
"dev": true,
"requires": {
- "@babel/helper-validator-identifier": "^7.10.4",
- "lodash": "^4.17.13",
- "to-fast-properties": "^2.0.0"
+ "color-name": "1.1.3"
}
},
- "@nodelib/fs.scandir": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz",
- "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==",
- "requires": {
- "@nodelib/fs.stat": "2.0.3",
- "run-parallel": "^1.1.9"
- }
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
+ "dev": true
},
- "@nodelib/fs.stat": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz",
- "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA=="
+ "colord": {
+ "version": "2.9.3",
+ "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz",
+ "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==",
+ "dev": true
},
- "@nodelib/fs.walk": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz",
- "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==",
- "requires": {
- "@nodelib/fs.scandir": "2.1.3",
- "fastq": "^1.6.0"
- }
- },
- "@npmcli/move-file": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.0.1.tgz",
- "integrity": "sha512-Uv6h1sT+0DrblvIrolFtbvM1FgWm+/sy4B3pvLp67Zys+thcukzS5ekn7HsZFGpWP4Q3fYJCljbWQE/XivMRLw==",
- "requires": {
- "mkdirp": "^1.0.4"
- },
- "dependencies": {
- "mkdirp": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
- }
- }
- },
- "@symfony/webpack-encore": {
- "version": "0.30.2",
- "resolved": "https://registry.npmjs.org/@symfony/webpack-encore/-/webpack-encore-0.30.2.tgz",
- "integrity": "sha512-fJGPnNJ69/FrRcIRluqk5grO4R0ZmXU1n3TyplOjjXv9nuLTA8ljvhk/sMAs/WMri4vb1ZdWwcT5sPw1pmYZdA==",
- "dev": true,
- "requires": {
- "@babel/core": "^7.7.0",
- "@babel/plugin-syntax-dynamic-import": "^7.0.0",
- "@babel/preset-env": "^7.4.0",
- "assets-webpack-plugin": "^3.9.7",
- "babel-loader": "^8.0.0",
- "chalk": "^4.0.0",
- "clean-webpack-plugin": "^3.0.0",
- "css-loader": "^3.5.2",
- "fast-levenshtein": "^2.0.6",
- "file-loader": "^6.0.0",
- "friendly-errors-webpack-plugin": "^2.0.0-beta.1",
- "loader-utils": "^2.0.0",
- "mini-css-extract-plugin": ">=0.4.0 <0.4.3",
- "optimize-css-assets-webpack-plugin": "^5.0.1",
- "pkg-up": "^3.1.0",
- "pretty-error": "^2.1.1",
- "resolve-url-loader": "^3.0.1",
- "semver": "^7.3.2",
- "style-loader": "^1.1.3",
- "terser-webpack-plugin": "^1.1.0",
- "tmp": "^0.2.1",
- "webpack": "^4.36.0",
- "webpack-cli": "^3.0.0",
- "webpack-dev-server": "^3.1.14",
- "webpack-manifest-plugin": "^2.0.2",
- "webpack-sources": "^1.3.0",
- "yargs-parser": "^18.1.3"
- }
- },
- "@types/anymatch": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz",
- "integrity": "sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==",
- "dev": true
- },
- "@types/color-name": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
- "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
- "dev": true
- },
- "@types/glob": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.2.tgz",
- "integrity": "sha512-VgNIkxK+j7Nz5P7jvUZlRvhuPSmsEfS03b0alKcq5V/STUKAa3Plemsn5mrQUO7am6OErJ4rhGEGJbACclrtRA==",
- "dev": true,
- "requires": {
- "@types/minimatch": "*",
- "@types/node": "*"
- }
- },
- "@types/json-schema": {
- "version": "7.0.5",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.5.tgz",
- "integrity": "sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ=="
- },
- "@types/minimatch": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
- "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
- "dev": true
- },
- "@types/node": {
- "version": "14.0.14",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.14.tgz",
- "integrity": "sha512-syUgf67ZQpaJj01/tRTknkMNoBBLWJOBODF0Zm4NrXmiSuxjymFrxnTu1QVYRubhVkRcZLYZG8STTwJRdVm/WQ==",
- "dev": true
- },
- "@types/q": {
- "version": "1.5.4",
- "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz",
- "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==",
- "dev": true
- },
- "@types/source-list-map": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz",
- "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==",
- "dev": true
- },
- "@types/tapable": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.6.tgz",
- "integrity": "sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA==",
- "dev": true
- },
- "@types/uglify-js": {
- "version": "3.9.3",
- "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.9.3.tgz",
- "integrity": "sha512-KswB5C7Kwduwjj04Ykz+AjvPcfgv/37Za24O2EDzYNbwyzOo8+ydtvzUfZ5UMguiVu29Gx44l1A6VsPPcmYu9w==",
- "dev": true,
- "requires": {
- "source-map": "^0.6.1"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
- }
- },
- "@types/webpack": {
- "version": "4.41.19",
- "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.19.tgz",
- "integrity": "sha512-hBryCwAJhqf7MiYNnsr6UsPVQHF4+sUnXVG9MTVAJFtX8vJoxc2rPFcWEAUVuBOCxfTkEY5TPc7RYUer7EXTEQ==",
- "dev": true,
- "requires": {
- "@types/anymatch": "*",
- "@types/node": "*",
- "@types/tapable": "*",
- "@types/uglify-js": "*",
- "@types/webpack-sources": "*",
- "source-map": "^0.6.0"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
- }
- },
- "@types/webpack-sources": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-1.4.0.tgz",
- "integrity": "sha512-c88dKrpSle9BtTqR6ifdaxu1Lvjsl3C5OsfvuUbUwdXymshv1TkufUAXBajCCUM/f/TmnkZC/Esb03MinzSiXQ==",
- "dev": true,
- "requires": {
- "@types/node": "*",
- "@types/source-list-map": "*",
- "source-map": "^0.7.3"
- },
- "dependencies": {
- "source-map": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
- "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
- "dev": true
- }
- }
- },
- "@webassemblyjs/ast": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz",
- "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==",
- "dev": true,
- "requires": {
- "@webassemblyjs/helper-module-context": "1.9.0",
- "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
- "@webassemblyjs/wast-parser": "1.9.0"
- }
- },
- "@webassemblyjs/floating-point-hex-parser": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz",
- "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==",
- "dev": true
- },
- "@webassemblyjs/helper-api-error": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz",
- "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==",
- "dev": true
- },
- "@webassemblyjs/helper-buffer": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz",
- "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==",
- "dev": true
- },
- "@webassemblyjs/helper-code-frame": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz",
- "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==",
- "dev": true,
- "requires": {
- "@webassemblyjs/wast-printer": "1.9.0"
- }
- },
- "@webassemblyjs/helper-fsm": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz",
- "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==",
- "dev": true
- },
- "@webassemblyjs/helper-module-context": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz",
- "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==",
- "dev": true,
- "requires": {
- "@webassemblyjs/ast": "1.9.0"
- }
- },
- "@webassemblyjs/helper-wasm-bytecode": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz",
- "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==",
- "dev": true
- },
- "@webassemblyjs/helper-wasm-section": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz",
- "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==",
- "dev": true,
- "requires": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/helper-buffer": "1.9.0",
- "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
- "@webassemblyjs/wasm-gen": "1.9.0"
- }
- },
- "@webassemblyjs/ieee754": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz",
- "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==",
- "dev": true,
- "requires": {
- "@xtuc/ieee754": "^1.2.0"
- }
- },
- "@webassemblyjs/leb128": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz",
- "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==",
- "dev": true,
- "requires": {
- "@xtuc/long": "4.2.2"
- }
- },
- "@webassemblyjs/utf8": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz",
- "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==",
- "dev": true
- },
- "@webassemblyjs/wasm-edit": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz",
- "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==",
- "dev": true,
- "requires": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/helper-buffer": "1.9.0",
- "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
- "@webassemblyjs/helper-wasm-section": "1.9.0",
- "@webassemblyjs/wasm-gen": "1.9.0",
- "@webassemblyjs/wasm-opt": "1.9.0",
- "@webassemblyjs/wasm-parser": "1.9.0",
- "@webassemblyjs/wast-printer": "1.9.0"
- }
- },
- "@webassemblyjs/wasm-gen": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz",
- "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==",
- "dev": true,
- "requires": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
- "@webassemblyjs/ieee754": "1.9.0",
- "@webassemblyjs/leb128": "1.9.0",
- "@webassemblyjs/utf8": "1.9.0"
- }
- },
- "@webassemblyjs/wasm-opt": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz",
- "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==",
- "dev": true,
- "requires": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/helper-buffer": "1.9.0",
- "@webassemblyjs/wasm-gen": "1.9.0",
- "@webassemblyjs/wasm-parser": "1.9.0"
- }
- },
- "@webassemblyjs/wasm-parser": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz",
- "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==",
- "dev": true,
- "requires": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/helper-api-error": "1.9.0",
- "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
- "@webassemblyjs/ieee754": "1.9.0",
- "@webassemblyjs/leb128": "1.9.0",
- "@webassemblyjs/utf8": "1.9.0"
- }
- },
- "@webassemblyjs/wast-parser": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz",
- "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==",
- "dev": true,
- "requires": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/floating-point-hex-parser": "1.9.0",
- "@webassemblyjs/helper-api-error": "1.9.0",
- "@webassemblyjs/helper-code-frame": "1.9.0",
- "@webassemblyjs/helper-fsm": "1.9.0",
- "@xtuc/long": "4.2.2"
- }
- },
- "@webassemblyjs/wast-printer": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz",
- "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==",
- "dev": true,
- "requires": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/wast-parser": "1.9.0",
- "@xtuc/long": "4.2.2"
- }
- },
- "@xtuc/ieee754": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
- "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
- "dev": true
- },
- "@xtuc/long": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
- "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
- "dev": true
- },
- "accepts": {
- "version": "1.3.7",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
- "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
- "dev": true,
- "requires": {
- "mime-types": "~2.1.24",
- "negotiator": "0.6.2"
- }
- },
- "acorn": {
- "version": "6.4.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz",
- "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==",
- "dev": true
- },
- "adjust-sourcemap-loader": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-2.0.0.tgz",
- "integrity": "sha512-4hFsTsn58+YjrU9qKzML2JSSDqKvN8mUGQ0nNIrfPi8hmIONT4L3uUaT6MKdMsZ9AjsU6D2xDkZxCkbQPxChrA==",
- "dev": true,
- "requires": {
- "assert": "1.4.1",
- "camelcase": "5.0.0",
- "loader-utils": "1.2.3",
- "object-path": "0.11.4",
- "regex-parser": "2.2.10"
- },
- "dependencies": {
- "camelcase": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz",
- "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==",
- "dev": true
- },
- "emojis-list": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
- "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
- "dev": true
- },
- "json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.0"
- }
- },
- "loader-utils": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz",
- "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==",
- "dev": true,
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^2.0.0",
- "json5": "^1.0.1"
- }
- }
- }
- },
- "aggregate-error": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz",
- "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==",
- "requires": {
- "clean-stack": "^2.0.0",
- "indent-string": "^4.0.0"
- }
- },
- "ajv": {
- "version": "6.12.3",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz",
- "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==",
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- }
- },
- "ajv-errors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
- "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
- "dev": true
- },
- "ajv-keywords": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.0.tgz",
- "integrity": "sha512-eyoaac3btgU8eJlvh01En8OCKzRqlLe2G5jDsCr3RiE2uLGMEEB1aaGwVVpwR8M95956tGH6R+9edC++OvzaVw=="
- },
- "alphanum-sort": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz",
- "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=",
- "dev": true
- },
- "ansi-colors": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz",
- "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==",
- "dev": true
- },
- "ansi-html": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
- "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=",
- "dev": true
- },
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true
- },
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "anymatch": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
- "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
- "dev": true,
- "optional": true,
- "requires": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- }
- },
- "aproba": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
- "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
- "dev": true
- },
- "argparse": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
- "dev": true,
- "requires": {
- "sprintf-js": "~1.0.2"
- }
- },
- "arity-n": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/arity-n/-/arity-n-1.0.4.tgz",
- "integrity": "sha1-2edrEXM+CFacCEeuezmyhgswt0U=",
- "dev": true
- },
- "arr-diff": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
- "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
- "dev": true
- },
- "arr-flatten": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
- "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
- "dev": true
- },
- "arr-union": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
- "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
- "dev": true
- },
- "array-flatten": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
- "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==",
- "dev": true
- },
- "array-union": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
- "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
- "dev": true,
- "requires": {
- "array-uniq": "^1.0.1"
- }
- },
- "array-uniq": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
- "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
- "dev": true
- },
- "array-unique": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
- "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
- "dev": true
- },
- "asn1.js": {
- "version": "4.10.1",
- "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
- "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
- "dev": true,
- "requires": {
- "bn.js": "^4.0.0",
- "inherits": "^2.0.1",
- "minimalistic-assert": "^1.0.0"
- },
- "dependencies": {
- "bn.js": {
- "version": "4.11.9",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
- "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
- "dev": true
- }
- }
- },
- "assert": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz",
- "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=",
- "dev": true,
- "requires": {
- "util": "0.10.3"
- }
- },
- "assets-webpack-plugin": {
- "version": "3.9.12",
- "resolved": "https://registry.npmjs.org/assets-webpack-plugin/-/assets-webpack-plugin-3.9.12.tgz",
- "integrity": "sha512-iqXT/CtP013CO+IZJG7f4/KmUnde+nn6FSksAhrGRbT1GODsFU3xocP6A5NkTFoey3XOI9n1ZY0QmX/mY74gNA==",
- "dev": true,
- "requires": {
- "camelcase": "5.3.1",
- "escape-string-regexp": "2.0.0",
- "lodash": "4.17.15",
- "mkdirp": "0.5.3"
- },
- "dependencies": {
- "escape-string-regexp": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
- "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
- "dev": true
- }
- }
- },
- "assign-symbols": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
- "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
- "dev": true
- },
- "async": {
- "version": "2.6.3",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
- "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
- "dev": true,
- "requires": {
- "lodash": "^4.17.14"
- }
- },
- "async-each": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
- "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
- "dev": true
- },
- "async-limiter": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
- "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==",
- "dev": true
- },
- "atob": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
- "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
- "dev": true
- },
- "babel-loader": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz",
- "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==",
- "dev": true,
- "requires": {
- "find-cache-dir": "^2.1.0",
- "loader-utils": "^1.4.0",
- "mkdirp": "^0.5.3",
- "pify": "^4.0.1",
- "schema-utils": "^2.6.5"
- },
- "dependencies": {
- "json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.0"
- }
- },
- "loader-utils": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
- "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
- "dev": true,
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^1.0.1"
- }
- }
- }
- },
- "babel-plugin-dynamic-import-node": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
- "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==",
- "dev": true,
- "requires": {
- "object.assign": "^4.1.0"
- }
- },
- "balanced-match": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
- "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
- },
- "base": {
- "version": "0.11.2",
- "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
- "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
- "dev": true,
- "requires": {
- "cache-base": "^1.0.1",
- "class-utils": "^0.3.5",
- "component-emitter": "^1.2.1",
- "define-property": "^1.0.0",
- "isobject": "^3.0.1",
- "mixin-deep": "^1.2.0",
- "pascalcase": "^0.1.1"
- },
- "dependencies": {
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^1.0.0"
- }
- },
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
- }
- }
- },
- "base64-js": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz",
- "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==",
- "dev": true
- },
- "batch": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
- "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=",
- "dev": true
- },
- "big.js": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
- "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ=="
- },
- "binary-extensions": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz",
- "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==",
- "dev": true,
- "optional": true
- },
- "bluebird": {
- "version": "3.7.2",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
- "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
- "dev": true
- },
- "bn.js": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.2.tgz",
- "integrity": "sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA==",
- "dev": true
- },
- "body-parser": {
- "version": "1.19.0",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
- "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
- "dev": true,
- "requires": {
- "bytes": "3.1.0",
- "content-type": "~1.0.4",
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "http-errors": "1.7.2",
- "iconv-lite": "0.4.24",
- "on-finished": "~2.3.0",
- "qs": "6.7.0",
- "raw-body": "2.4.0",
- "type-is": "~1.6.17"
- },
- "dependencies": {
- "bytes": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
- "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
- "dev": true
- },
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- }
- }
- },
- "bonjour": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz",
- "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=",
- "dev": true,
- "requires": {
- "array-flatten": "^2.1.0",
- "deep-equal": "^1.0.1",
- "dns-equal": "^1.0.0",
- "dns-txt": "^2.0.2",
- "multicast-dns": "^6.0.1",
- "multicast-dns-service-types": "^1.1.0"
- }
- },
- "boolbase": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
- "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
- "dev": true
- },
- "bootstrap": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.5.0.tgz",
- "integrity": "sha512-Z93QoXvodoVslA+PWNdk23Hze4RBYIkpb5h8I2HY2Tu2h7A0LpAgLcyrhrSUyo2/Oxm2l1fRZPs1e5hnxnliXA=="
- },
- "bootstrap-select": {
- "version": "1.13.18",
- "resolved": "https://registry.npmjs.org/bootstrap-select/-/bootstrap-select-1.13.18.tgz",
- "integrity": "sha512-V1IzK4rxBq5FrJtkzSH6RmFLFBsjx50byFbfAf8jYyXROWs7ZpprGjdHeoyq2HSsHyjJhMMwjsQhRoYAfxCGow=="
- },
- "brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "braces": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
- "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
- "dev": true,
- "requires": {
- "arr-flatten": "^1.1.0",
- "array-unique": "^0.3.2",
- "extend-shallow": "^2.0.1",
- "fill-range": "^4.0.0",
- "isobject": "^3.0.1",
- "repeat-element": "^1.1.2",
- "snapdragon": "^0.8.1",
- "snapdragon-node": "^2.0.1",
- "split-string": "^3.0.2",
- "to-regex": "^3.0.1"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- }
- }
- },
- "brorand": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
- "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
- "dev": true
- },
- "browserify-aes": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
- "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
- "dev": true,
- "requires": {
- "buffer-xor": "^1.0.3",
- "cipher-base": "^1.0.0",
- "create-hash": "^1.1.0",
- "evp_bytestokey": "^1.0.3",
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- }
- },
- "browserify-cipher": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
- "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
- "dev": true,
- "requires": {
- "browserify-aes": "^1.0.4",
- "browserify-des": "^1.0.0",
- "evp_bytestokey": "^1.0.0"
- }
- },
- "browserify-des": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
- "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
- "dev": true,
- "requires": {
- "cipher-base": "^1.0.1",
- "des.js": "^1.0.0",
- "inherits": "^2.0.1",
- "safe-buffer": "^5.1.2"
- }
- },
- "browserify-rsa": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
- "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
- "dev": true,
- "requires": {
- "bn.js": "^4.1.0",
- "randombytes": "^2.0.1"
- },
- "dependencies": {
- "bn.js": {
- "version": "4.11.9",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
- "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
- "dev": true
- }
- }
- },
- "browserify-sign": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.0.tgz",
- "integrity": "sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA==",
- "dev": true,
- "requires": {
- "bn.js": "^5.1.1",
- "browserify-rsa": "^4.0.1",
- "create-hash": "^1.2.0",
- "create-hmac": "^1.1.7",
- "elliptic": "^6.5.2",
- "inherits": "^2.0.4",
- "parse-asn1": "^5.1.5",
- "readable-stream": "^3.6.0",
- "safe-buffer": "^5.2.0"
- },
- "dependencies": {
- "safe-buffer": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
- "dev": true
- }
- }
- },
- "browserify-zlib": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
- "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
- "dev": true,
- "requires": {
- "pako": "~1.0.5"
- }
- },
- "browserslist": {
- "version": "4.13.0",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.13.0.tgz",
- "integrity": "sha512-MINatJ5ZNrLnQ6blGvePd/QOz9Xtu+Ne+x29iQSCHfkU5BugKVJwZKn/iiL8UbpIpa3JhviKjz+XxMo0m2caFQ==",
- "dev": true,
- "requires": {
- "caniuse-lite": "^1.0.30001093",
- "electron-to-chromium": "^1.3.488",
- "escalade": "^3.0.1",
- "node-releases": "^1.1.58"
- }
- },
- "buffer": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
- "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==",
- "dev": true,
- "requires": {
- "base64-js": "^1.0.2",
- "ieee754": "^1.1.4",
- "isarray": "^1.0.0"
- }
- },
- "buffer-from": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
- "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
- "dev": true
- },
- "buffer-indexof": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz",
- "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==",
- "dev": true
- },
- "buffer-xor": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
- "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
- "dev": true
- },
- "builtin-status-codes": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
- "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
- "dev": true
- },
- "bytes": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
- "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
- "dev": true
- },
- "cacache": {
- "version": "12.0.4",
- "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz",
- "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==",
- "dev": true,
- "requires": {
- "bluebird": "^3.5.5",
- "chownr": "^1.1.1",
- "figgy-pudding": "^3.5.1",
- "glob": "^7.1.4",
- "graceful-fs": "^4.1.15",
- "infer-owner": "^1.0.3",
- "lru-cache": "^5.1.1",
- "mississippi": "^3.0.0",
- "mkdirp": "^0.5.1",
- "move-concurrently": "^1.0.1",
- "promise-inflight": "^1.0.1",
- "rimraf": "^2.6.3",
- "ssri": "^6.0.1",
- "unique-filename": "^1.1.1",
- "y18n": "^4.0.0"
- }
- },
- "cache-base": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
- "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
- "dev": true,
- "requires": {
- "collection-visit": "^1.0.0",
- "component-emitter": "^1.2.1",
- "get-value": "^2.0.6",
- "has-value": "^1.0.0",
- "isobject": "^3.0.1",
- "set-value": "^2.0.0",
- "to-object-path": "^0.3.0",
- "union-value": "^1.0.0",
- "unset-value": "^1.0.0"
- }
- },
- "caller-callsite": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz",
- "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=",
- "dev": true,
- "requires": {
- "callsites": "^2.0.0"
- }
- },
- "caller-path": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz",
- "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=",
- "dev": true,
- "requires": {
- "caller-callsite": "^2.0.0"
- }
- },
- "callsites": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
- "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=",
- "dev": true
- },
- "camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
- "dev": true
- },
- "caniuse-api": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz",
- "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==",
- "dev": true,
- "requires": {
- "browserslist": "^4.0.0",
- "caniuse-lite": "^1.0.0",
- "lodash.memoize": "^4.1.2",
- "lodash.uniq": "^4.5.0"
- }
- },
- "caniuse-lite": {
- "version": "1.0.30001094",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001094.tgz",
- "integrity": "sha512-ufHZNtMaDEuRBpTbqD93tIQnngmJ+oBknjvr0IbFympSdtFpAUFmNv4mVKbb53qltxFx0nK3iy32S9AqkLzUNA==",
- "dev": true
- },
- "chalk": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
- "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
- "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
- "dev": true,
- "requires": {
- "@types/color-name": "^1.1.1",
- "color-convert": "^2.0.1"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "supports-color": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
- "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "chokidar": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz",
- "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "anymatch": "~3.1.1",
- "braces": "~3.0.2",
- "fsevents": "~2.1.2",
- "glob-parent": "~5.1.0",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.4.0"
- },
- "dependencies": {
- "braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "optional": true,
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
- "fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true,
- "optional": true
- },
- "to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "is-number": "^7.0.0"
- }
- }
- }
- },
- "chownr": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
- "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
- "dev": true
- },
- "chrome-trace-event": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz",
- "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==",
- "dev": true,
- "requires": {
- "tslib": "^1.9.0"
- }
- },
- "cipher-base": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
- "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- }
- },
- "class-utils": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
- "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
- "dev": true,
- "requires": {
- "arr-union": "^3.1.0",
- "define-property": "^0.2.5",
- "isobject": "^3.0.0",
- "static-extend": "^0.1.1"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- }
- }
- },
- "clean-stack": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
- "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A=="
- },
- "clean-webpack-plugin": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-3.0.0.tgz",
- "integrity": "sha512-MciirUH5r+cYLGCOL5JX/ZLzOZbVr1ot3Fw+KcvbhUb6PM+yycqd9ZhIlcigQ5gl+XhppNmw3bEFuaaMNyLj3A==",
- "dev": true,
- "requires": {
- "@types/webpack": "^4.4.31",
- "del": "^4.1.1"
- }
- },
- "cliui": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
- "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
- "dev": true,
- "requires": {
- "string-width": "^3.1.0",
- "strip-ansi": "^5.2.0",
- "wrap-ansi": "^5.1.0"
- },
- "dependencies": {
- "string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
- "dev": true,
- "requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- }
- }
- }
- },
- "coa": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz",
- "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==",
- "dev": true,
- "requires": {
- "@types/q": "^1.5.1",
- "chalk": "^2.4.1",
- "q": "^1.1.2"
- },
- "dependencies": {
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- }
- }
- },
- "collection-visit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
- "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
- "dev": true,
- "requires": {
- "map-visit": "^1.0.0",
- "object-visit": "^1.0.0"
- }
- },
- "color": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz",
- "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.1",
- "color-string": "^1.5.2"
- }
- },
- "color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
- "dev": true
- },
- "color-string": {
- "version": "1.5.3",
- "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz",
- "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==",
- "dev": true,
- "requires": {
- "color-name": "^1.0.0",
- "simple-swizzle": "^0.2.2"
- }
- },
- "commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
- "dev": true
- },
- "commondir": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
- "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs="
- },
- "component-emitter": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
- "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
- "dev": true
- },
- "compose-function": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/compose-function/-/compose-function-3.0.3.tgz",
- "integrity": "sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8=",
- "dev": true,
- "requires": {
- "arity-n": "^1.0.4"
- }
- },
- "compressible": {
- "version": "2.0.18",
- "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
- "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
- "dev": true,
- "requires": {
- "mime-db": ">= 1.43.0 < 2"
- }
- },
- "compression": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz",
- "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
- "dev": true,
- "requires": {
- "accepts": "~1.3.5",
- "bytes": "3.0.0",
- "compressible": "~2.0.16",
- "debug": "2.6.9",
- "on-headers": "~1.0.2",
- "safe-buffer": "5.1.2",
- "vary": "~1.1.2"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- }
- }
- },
- "concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
- },
- "concat-stream": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
- "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
- "dev": true,
- "requires": {
- "buffer-from": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^2.2.2",
- "typedarray": "^0.0.6"
- },
- "dependencies": {
- "readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
- }
- },
- "connect-history-api-fallback": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz",
- "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==",
- "dev": true
- },
- "console-browserify": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz",
- "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==",
- "dev": true
- },
- "constants-browserify": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
- "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
- "dev": true
- },
- "content-disposition": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
- "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
- "dev": true,
- "requires": {
- "safe-buffer": "5.1.2"
- }
- },
- "content-type": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
- "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
- "dev": true
- },
- "convert-source-map": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
- "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.1"
- }
- },
- "cookie": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
- "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==",
- "dev": true
- },
- "cookie-signature": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
- "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
- "dev": true
- },
- "copy-concurrently": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
- "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
- "dev": true,
- "requires": {
- "aproba": "^1.1.1",
- "fs-write-stream-atomic": "^1.0.8",
- "iferr": "^0.1.5",
- "mkdirp": "^0.5.1",
- "rimraf": "^2.5.4",
- "run-queue": "^1.0.0"
- }
- },
- "copy-descriptor": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
- "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
- "dev": true
- },
- "copy-webpack-plugin": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-6.0.3.tgz",
- "integrity": "sha512-q5m6Vz4elsuyVEIUXr7wJdIdePWTubsqVbEMvf1WQnHGv0Q+9yPRu7MtYFPt+GBOXRav9lvIINifTQ1vSCs+eA==",
- "requires": {
- "cacache": "^15.0.4",
- "fast-glob": "^3.2.4",
- "find-cache-dir": "^3.3.1",
- "glob-parent": "^5.1.1",
- "globby": "^11.0.1",
- "loader-utils": "^2.0.0",
- "normalize-path": "^3.0.0",
- "p-limit": "^3.0.1",
- "schema-utils": "^2.7.0",
- "serialize-javascript": "^4.0.0",
- "webpack-sources": "^1.4.3"
- },
- "dependencies": {
- "array-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw=="
- },
- "cacache": {
- "version": "15.0.4",
- "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.4.tgz",
- "integrity": "sha512-YlnKQqTbD/6iyoJvEY3KJftjrdBYroCbxxYXzhOzsFLWlp6KX4BOlEf4mTx0cMUfVaTS3ENL2QtDWeRYoGLkkw==",
- "requires": {
- "@npmcli/move-file": "^1.0.1",
- "chownr": "^2.0.0",
- "fs-minipass": "^2.0.0",
- "glob": "^7.1.4",
- "infer-owner": "^1.0.4",
- "lru-cache": "^5.1.1",
- "minipass": "^3.1.1",
- "minipass-collect": "^1.0.2",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.2",
- "mkdirp": "^1.0.3",
- "p-map": "^4.0.0",
- "promise-inflight": "^1.0.1",
- "rimraf": "^3.0.2",
- "ssri": "^8.0.0",
- "tar": "^6.0.2",
- "unique-filename": "^1.1.1"
- }
- },
- "chownr": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
- "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ=="
- },
- "find-cache-dir": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz",
- "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==",
- "requires": {
- "commondir": "^1.0.1",
- "make-dir": "^3.0.2",
- "pkg-dir": "^4.1.0"
- }
- },
- "find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "requires": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "globby": {
- "version": "11.0.1",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz",
- "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==",
- "requires": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.1.1",
- "ignore": "^5.1.4",
- "merge2": "^1.3.0",
- "slash": "^3.0.0"
- }
- },
- "locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "requires": {
- "p-locate": "^4.1.0"
- }
- },
- "make-dir": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
- "requires": {
- "semver": "^6.0.0"
- }
- },
- "mkdirp": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
- },
- "p-limit": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.0.1.tgz",
- "integrity": "sha512-mw/p92EyOzl2MhauKodw54Rx5ZK4624rNfgNaBguFZkHzyUG9WsDzFF5/yQVEJinbJDdP4jEfMN+uBquiGnaLg==",
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "requires": {
- "p-limit": "^2.2.0"
- },
- "dependencies": {
- "p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "requires": {
- "p-try": "^2.0.0"
- }
- }
- }
- },
- "p-map": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
- "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
- "requires": {
- "aggregate-error": "^3.0.0"
- }
- },
- "path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="
- },
- "pkg-dir": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
- "requires": {
- "find-up": "^4.0.0"
- }
- },
- "rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
- },
- "serialize-javascript": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
- "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
- "requires": {
- "randombytes": "^2.1.0"
- }
- },
- "ssri": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.0.tgz",
- "integrity": "sha512-aq/pz989nxVYwn16Tsbj1TqFpD5LLrQxHf5zaHuieFV+R0Bbr4y8qUsOA45hXT/N4/9UNXTarBjnjVmjSOVaAA==",
- "requires": {
- "minipass": "^3.1.1"
- }
- }
- }
- },
- "core-js": {
- "version": "3.6.5",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz",
- "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==",
- "dev": true
- },
- "core-js-compat": {
- "version": "3.6.5",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz",
- "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==",
- "dev": true,
- "requires": {
- "browserslist": "^4.8.5",
- "semver": "7.0.0"
- },
- "dependencies": {
- "semver": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
- "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
- "dev": true
- }
- }
- },
- "core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
- },
- "cosmiconfig": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
- "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==",
- "dev": true,
- "requires": {
- "import-fresh": "^2.0.0",
- "is-directory": "^0.3.1",
- "js-yaml": "^3.13.1",
- "parse-json": "^4.0.0"
- }
- },
- "create-ecdh": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz",
- "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==",
- "dev": true,
- "requires": {
- "bn.js": "^4.1.0",
- "elliptic": "^6.0.0"
- },
- "dependencies": {
- "bn.js": {
- "version": "4.11.9",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
- "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
- "dev": true
- }
- }
- },
- "create-hash": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
- "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
- "dev": true,
- "requires": {
- "cipher-base": "^1.0.1",
- "inherits": "^2.0.1",
- "md5.js": "^1.3.4",
- "ripemd160": "^2.0.1",
- "sha.js": "^2.4.0"
- }
- },
- "create-hmac": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
- "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
- "dev": true,
- "requires": {
- "cipher-base": "^1.0.3",
- "create-hash": "^1.1.0",
- "inherits": "^2.0.1",
- "ripemd160": "^2.0.0",
- "safe-buffer": "^5.0.1",
- "sha.js": "^2.4.8"
- }
- },
- "cross-spawn": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
- "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
- "dev": true,
- "requires": {
- "nice-try": "^1.0.4",
- "path-key": "^2.0.1",
- "semver": "^5.5.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- },
- "dependencies": {
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true
- }
- }
- },
- "crypto-browserify": {
- "version": "3.12.0",
- "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
- "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
- "dev": true,
- "requires": {
- "browserify-cipher": "^1.0.0",
- "browserify-sign": "^4.0.0",
- "create-ecdh": "^4.0.0",
- "create-hash": "^1.1.0",
- "create-hmac": "^1.1.0",
- "diffie-hellman": "^5.0.0",
- "inherits": "^2.0.1",
- "pbkdf2": "^3.0.3",
- "public-encrypt": "^4.0.0",
- "randombytes": "^2.0.0",
- "randomfill": "^1.0.3"
- }
- },
- "css": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz",
- "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.3",
- "source-map": "^0.6.1",
- "source-map-resolve": "^0.5.2",
- "urix": "^0.1.0"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
- }
- },
- "css-color-names": {
- "version": "0.0.4",
- "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz",
- "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=",
- "dev": true
- },
- "css-declaration-sorter": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz",
- "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==",
- "dev": true,
- "requires": {
- "postcss": "^7.0.1",
- "timsort": "^0.3.0"
- }
- },
- "css-loader": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz",
- "integrity": "sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==",
- "dev": true,
- "requires": {
- "camelcase": "^5.3.1",
- "cssesc": "^3.0.0",
- "icss-utils": "^4.1.1",
- "loader-utils": "^1.2.3",
- "normalize-path": "^3.0.0",
- "postcss": "^7.0.32",
- "postcss-modules-extract-imports": "^2.0.0",
- "postcss-modules-local-by-default": "^3.0.2",
- "postcss-modules-scope": "^2.2.0",
- "postcss-modules-values": "^3.0.0",
- "postcss-value-parser": "^4.1.0",
- "schema-utils": "^2.7.0",
- "semver": "^6.3.0"
- },
- "dependencies": {
- "json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.0"
- }
- },
- "loader-utils": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
- "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
- "dev": true,
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^1.0.1"
- }
- },
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- }
- }
- },
- "css-select": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz",
- "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==",
- "dev": true,
- "requires": {
- "boolbase": "^1.0.0",
- "css-what": "^3.2.1",
- "domutils": "^1.7.0",
- "nth-check": "^1.0.2"
- }
- },
- "css-select-base-adapter": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz",
- "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==",
- "dev": true
- },
- "css-tree": {
- "version": "1.0.0-alpha.37",
- "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz",
- "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==",
- "dev": true,
- "requires": {
- "mdn-data": "2.0.4",
- "source-map": "^0.6.1"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
- }
- },
- "css-what": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.3.0.tgz",
- "integrity": "sha512-pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg==",
- "dev": true
- },
- "cssesc": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
- "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
- "dev": true
- },
- "cssnano": {
- "version": "4.1.10",
- "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz",
- "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==",
- "dev": true,
- "requires": {
- "cosmiconfig": "^5.0.0",
- "cssnano-preset-default": "^4.0.7",
- "is-resolvable": "^1.0.0",
- "postcss": "^7.0.0"
- }
- },
- "cssnano-preset-default": {
- "version": "4.0.7",
- "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz",
- "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==",
- "dev": true,
- "requires": {
- "css-declaration-sorter": "^4.0.1",
- "cssnano-util-raw-cache": "^4.0.1",
- "postcss": "^7.0.0",
- "postcss-calc": "^7.0.1",
- "postcss-colormin": "^4.0.3",
- "postcss-convert-values": "^4.0.1",
- "postcss-discard-comments": "^4.0.2",
- "postcss-discard-duplicates": "^4.0.2",
- "postcss-discard-empty": "^4.0.1",
- "postcss-discard-overridden": "^4.0.1",
- "postcss-merge-longhand": "^4.0.11",
- "postcss-merge-rules": "^4.0.3",
- "postcss-minify-font-values": "^4.0.2",
- "postcss-minify-gradients": "^4.0.2",
- "postcss-minify-params": "^4.0.2",
- "postcss-minify-selectors": "^4.0.2",
- "postcss-normalize-charset": "^4.0.1",
- "postcss-normalize-display-values": "^4.0.2",
- "postcss-normalize-positions": "^4.0.2",
- "postcss-normalize-repeat-style": "^4.0.2",
- "postcss-normalize-string": "^4.0.2",
- "postcss-normalize-timing-functions": "^4.0.2",
- "postcss-normalize-unicode": "^4.0.1",
- "postcss-normalize-url": "^4.0.1",
- "postcss-normalize-whitespace": "^4.0.2",
- "postcss-ordered-values": "^4.1.2",
- "postcss-reduce-initial": "^4.0.3",
- "postcss-reduce-transforms": "^4.0.2",
- "postcss-svgo": "^4.0.2",
- "postcss-unique-selectors": "^4.0.1"
- }
- },
- "cssnano-util-get-arguments": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz",
- "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=",
- "dev": true
- },
- "cssnano-util-get-match": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz",
- "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=",
- "dev": true
- },
- "cssnano-util-raw-cache": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz",
- "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==",
- "dev": true,
- "requires": {
- "postcss": "^7.0.0"
- }
- },
- "cssnano-util-same-parent": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz",
- "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==",
- "dev": true
- },
- "csso": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz",
- "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==",
- "dev": true,
- "requires": {
- "css-tree": "1.0.0-alpha.39"
- },
- "dependencies": {
- "css-tree": {
- "version": "1.0.0-alpha.39",
- "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz",
- "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==",
- "dev": true,
- "requires": {
- "mdn-data": "2.0.6",
- "source-map": "^0.6.1"
- }
- },
- "mdn-data": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz",
- "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==",
- "dev": true
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
- }
- },
- "cyclist": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
- "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=",
- "dev": true
- },
- "d": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
- "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
- "dev": true,
- "requires": {
- "es5-ext": "^0.10.50",
- "type": "^1.0.1"
- }
- },
- "datatables.net": {
- "version": "1.10.21",
- "resolved": "https://registry.npmjs.org/datatables.net/-/datatables.net-1.10.21.tgz",
- "integrity": "sha512-/bSZtxmf3GTpYcvEmwZ8q26I1yhSx8qklR2B+s1K8+/51UW/zc2zTYwJMqr/Z+iCYixAc00ildj4g2x0Qamolw==",
- "requires": {
- "jquery": ">=1.7"
- }
- },
- "datatables.net-buttons": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/datatables.net-buttons/-/datatables.net-buttons-1.6.2.tgz",
- "integrity": "sha512-0sKWBBwtCCECRc4T+fUDhFCJv9miLPrB90QsVYq4ep0hIMuWiW76+eCdykZq5yd/3m7K1O+ryt9c7PahBDf91g==",
- "requires": {
- "datatables.net": "^1.10.15",
- "jquery": ">=1.7"
- }
- },
- "datatables.net-buttons-dt": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/datatables.net-buttons-dt/-/datatables.net-buttons-dt-1.6.2.tgz",
- "integrity": "sha512-CEEhXLqLwJP17RktzdZBN142dvILUj0OnlFtCO1hl4YjFz8ttYGc6Qfi/OhU2GcH0z9sW2bcYKbvAZe2/Uiazg==",
- "requires": {
- "datatables.net-buttons": "1.6.2",
- "datatables.net-dt": "^1.10.15",
- "jquery": ">=1.7"
- }
- },
- "datatables.net-dt": {
- "version": "1.10.21",
- "resolved": "https://registry.npmjs.org/datatables.net-dt/-/datatables.net-dt-1.10.21.tgz",
- "integrity": "sha512-P89PgkhVCB6shP0CbigmB1Z812yfdfhvAbUdg08mLuF7tuvLFPQC9F+WIV30Hj9mgMsPALWAEJEYAA3aJjuqIA==",
- "requires": {
- "datatables.net": "1.10.21",
- "jquery": ">=1.7"
- }
- },
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "decamelize": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
- "dev": true
- },
- "decode-uri-component": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
- "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
- "dev": true
- },
- "deep-equal": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz",
- "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==",
- "dev": true,
- "requires": {
- "is-arguments": "^1.0.4",
- "is-date-object": "^1.0.1",
- "is-regex": "^1.0.4",
- "object-is": "^1.0.1",
- "object-keys": "^1.1.1",
- "regexp.prototype.flags": "^1.2.0"
- }
- },
- "default-gateway": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz",
- "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==",
- "dev": true,
- "requires": {
- "execa": "^1.0.0",
- "ip-regex": "^2.1.0"
- }
- },
- "define-properties": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
- "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
- "dev": true,
- "requires": {
- "object-keys": "^1.0.12"
- }
- },
- "define-property": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
- "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
- "dev": true,
- "requires": {
- "is-descriptor": "^1.0.2",
- "isobject": "^3.0.1"
- },
- "dependencies": {
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
- }
- }
- },
- "del": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz",
- "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==",
- "dev": true,
- "requires": {
- "@types/glob": "^7.1.1",
- "globby": "^6.1.0",
- "is-path-cwd": "^2.0.0",
- "is-path-in-cwd": "^2.0.0",
- "p-map": "^2.0.0",
- "pify": "^4.0.1",
- "rimraf": "^2.6.3"
- }
- },
- "depd": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
- "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
- "dev": true
- },
- "des.js": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz",
- "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.1",
- "minimalistic-assert": "^1.0.0"
- }
- },
- "destroy": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
- "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
- "dev": true
- },
- "detect-file": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
- "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=",
- "dev": true
- },
- "detect-node": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz",
- "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==",
- "dev": true
- },
- "diffie-hellman": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
- "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
- "dev": true,
- "requires": {
- "bn.js": "^4.1.0",
- "miller-rabin": "^4.0.0",
- "randombytes": "^2.0.0"
- },
- "dependencies": {
- "bn.js": {
- "version": "4.11.9",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
- "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
- "dev": true
- }
- }
- },
- "dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "requires": {
- "path-type": "^4.0.0"
- }
- },
- "dns-equal": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
- "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=",
- "dev": true
- },
- "dns-packet": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz",
- "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==",
- "dev": true,
- "requires": {
- "ip": "^1.1.0",
- "safe-buffer": "^5.0.1"
- }
- },
- "dns-txt": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz",
- "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=",
- "dev": true,
- "requires": {
- "buffer-indexof": "^1.0.0"
- }
- },
- "dom-converter": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz",
- "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==",
- "dev": true,
- "requires": {
- "utila": "~0.4"
- }
- },
- "dom-serializer": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz",
- "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==",
- "dev": true,
- "requires": {
- "domelementtype": "^2.0.1",
- "entities": "^2.0.0"
- },
- "dependencies": {
- "domelementtype": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz",
- "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==",
- "dev": true
- }
- }
- },
- "domain-browser": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
- "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
- "dev": true
- },
- "domelementtype": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
- "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==",
- "dev": true
- },
- "domhandler": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
- "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
- "dev": true,
- "requires": {
- "domelementtype": "1"
- }
- },
- "domutils": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
- "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
- "dev": true,
- "requires": {
- "dom-serializer": "0",
- "domelementtype": "1"
- }
- },
- "dot-prop": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz",
- "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==",
- "dev": true,
- "requires": {
- "is-obj": "^2.0.0"
- }
- },
- "duplexify": {
- "version": "3.7.1",
- "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
- "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
- "dev": true,
- "requires": {
- "end-of-stream": "^1.0.0",
- "inherits": "^2.0.1",
- "readable-stream": "^2.0.0",
- "stream-shift": "^1.0.0"
- },
- "dependencies": {
- "readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
- }
- },
- "ee-first": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
- "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
- "dev": true
- },
- "electron-to-chromium": {
- "version": "1.3.488",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.488.tgz",
- "integrity": "sha512-NReBdOugu1yl8ly+0VDtiQ6Yw/1sLjnvflWq0gvY1nfUXU2PbA+1XAVuEb7ModnwL/MfUPjby7e4pAFnSHiy6Q==",
- "dev": true
- },
- "elliptic": {
- "version": "6.5.3",
- "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz",
- "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==",
- "dev": true,
- "requires": {
- "bn.js": "^4.4.0",
- "brorand": "^1.0.1",
- "hash.js": "^1.0.0",
- "hmac-drbg": "^1.0.0",
- "inherits": "^2.0.1",
- "minimalistic-assert": "^1.0.0",
- "minimalistic-crypto-utils": "^1.0.0"
- },
- "dependencies": {
- "bn.js": {
- "version": "4.11.9",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
- "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
- "dev": true
- }
- }
- },
- "emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
- "dev": true
- },
- "emojis-list": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
- "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q=="
- },
- "encodeurl": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
- "dev": true
- },
- "end-of-stream": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
- "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
- "dev": true,
- "requires": {
- "once": "^1.4.0"
- }
- },
- "enhanced-resolve": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.2.0.tgz",
- "integrity": "sha512-S7eiFb/erugyd1rLb6mQ3Vuq+EXHv5cpCkNqqIkYkBgN2QdFnyCZzFBleqwGEx4lgNGYij81BWnCrFNK7vxvjQ==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "memory-fs": "^0.5.0",
- "tapable": "^1.0.0"
- },
- "dependencies": {
- "memory-fs": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
- "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
- "dev": true,
- "requires": {
- "errno": "^0.1.3",
- "readable-stream": "^2.0.1"
- }
- },
- "readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
- }
- },
- "entities": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz",
- "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==",
- "dev": true
- },
- "errno": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
- "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
- "dev": true,
- "requires": {
- "prr": "~1.0.1"
- }
- },
- "error-ex": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
- "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
- "dev": true,
- "requires": {
- "is-arrayish": "^0.2.1"
- }
- },
- "error-stack-parser": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz",
- "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==",
- "dev": true,
- "requires": {
- "stackframe": "^1.1.1"
- }
- },
- "es-abstract": {
- "version": "1.17.6",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz",
- "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==",
- "dev": true,
- "requires": {
- "es-to-primitive": "^1.2.1",
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.1",
- "is-callable": "^1.2.0",
- "is-regex": "^1.1.0",
- "object-inspect": "^1.7.0",
- "object-keys": "^1.1.1",
- "object.assign": "^4.1.0",
- "string.prototype.trimend": "^1.0.1",
- "string.prototype.trimstart": "^1.0.1"
- }
- },
- "es-to-primitive": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
- "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
- "dev": true,
- "requires": {
- "is-callable": "^1.1.4",
- "is-date-object": "^1.0.1",
- "is-symbol": "^1.0.2"
- }
- },
- "es5-ext": {
- "version": "0.10.53",
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz",
- "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==",
- "dev": true,
- "requires": {
- "es6-iterator": "~2.0.3",
- "es6-symbol": "~3.1.3",
- "next-tick": "~1.0.0"
- }
- },
- "es6-iterator": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
- "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
- "dev": true,
- "requires": {
- "d": "1",
- "es5-ext": "^0.10.35",
- "es6-symbol": "^3.1.1"
- }
- },
- "es6-symbol": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz",
- "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
- "dev": true,
- "requires": {
- "d": "^1.0.1",
- "ext": "^1.1.2"
- }
- },
- "escalade": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.0.1.tgz",
- "integrity": "sha512-DR6NO3h9niOT+MZs7bjxlj2a1k+POu5RN8CLTPX2+i78bRi9eLe7+0zXgUHMnGXWybYcL61E9hGhPKqedy8tQA==",
- "dev": true
- },
- "escape-html": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
- "dev": true
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
- "dev": true
- },
- "eslint-scope": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
- "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
- "dev": true,
- "requires": {
- "esrecurse": "^4.1.0",
- "estraverse": "^4.1.1"
- }
- },
- "esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
- "dev": true
- },
- "esrecurse": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
- "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
- "dev": true,
- "requires": {
- "estraverse": "^4.1.0"
- }
- },
- "estraverse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
- "dev": true
- },
- "esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true
- },
- "etag": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
- "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
- "dev": true
- },
- "eventemitter3": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz",
- "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==",
- "dev": true
- },
- "events": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz",
- "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==",
- "dev": true
- },
- "eventsource": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz",
- "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==",
- "dev": true,
- "requires": {
- "original": "^1.0.0"
- }
- },
- "evp_bytestokey": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
- "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
- "dev": true,
- "requires": {
- "md5.js": "^1.3.4",
- "safe-buffer": "^5.1.1"
- }
- },
- "execa": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
- "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
- "dev": true,
- "requires": {
- "cross-spawn": "^6.0.0",
- "get-stream": "^4.0.0",
- "is-stream": "^1.1.0",
- "npm-run-path": "^2.0.0",
- "p-finally": "^1.0.0",
- "signal-exit": "^3.0.0",
- "strip-eof": "^1.0.0"
- }
- },
- "expand-brackets": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
- "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
- "dev": true,
- "requires": {
- "debug": "^2.3.3",
- "define-property": "^0.2.5",
- "extend-shallow": "^2.0.1",
- "posix-character-classes": "^0.1.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- }
- }
- },
- "expand-tilde": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
- "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
- "dev": true,
- "requires": {
- "homedir-polyfill": "^1.0.1"
- }
- },
- "express": {
- "version": "4.17.1",
- "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
- "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
- "dev": true,
- "requires": {
- "accepts": "~1.3.7",
- "array-flatten": "1.1.1",
- "body-parser": "1.19.0",
- "content-disposition": "0.5.3",
- "content-type": "~1.0.4",
- "cookie": "0.4.0",
- "cookie-signature": "1.0.6",
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "finalhandler": "~1.1.2",
- "fresh": "0.5.2",
- "merge-descriptors": "1.0.1",
- "methods": "~1.1.2",
- "on-finished": "~2.3.0",
- "parseurl": "~1.3.3",
- "path-to-regexp": "0.1.7",
- "proxy-addr": "~2.0.5",
- "qs": "6.7.0",
- "range-parser": "~1.2.1",
- "safe-buffer": "5.1.2",
- "send": "0.17.1",
- "serve-static": "1.14.1",
- "setprototypeof": "1.1.1",
- "statuses": "~1.5.0",
- "type-is": "~1.6.18",
- "utils-merge": "1.0.1",
- "vary": "~1.1.2"
- },
- "dependencies": {
- "array-flatten": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
- "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
- "dev": true
- },
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- }
- }
- },
- "ext": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz",
- "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==",
- "dev": true,
- "requires": {
- "type": "^2.0.0"
- },
- "dependencies": {
- "type": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/type/-/type-2.0.0.tgz",
- "integrity": "sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow==",
- "dev": true
- }
- }
- },
- "extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "dev": true,
- "requires": {
- "assign-symbols": "^1.0.0",
- "is-extendable": "^1.0.1"
- },
- "dependencies": {
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "dev": true,
- "requires": {
- "is-plain-object": "^2.0.4"
- }
- }
- }
- },
- "extglob": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
- "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
- "dev": true,
- "requires": {
- "array-unique": "^0.3.2",
- "define-property": "^1.0.0",
- "expand-brackets": "^2.1.4",
- "extend-shallow": "^2.0.1",
- "fragment-cache": "^0.2.1",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
- },
- "dependencies": {
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^1.0.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
- }
- }
- },
- "fast-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
- },
- "fast-glob": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz",
- "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==",
- "requires": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.0",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.2",
- "picomatch": "^2.2.1"
- },
- "dependencies": {
- "braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
- "fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
- },
- "micromatch": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
- "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
- "requires": {
- "braces": "^3.0.1",
- "picomatch": "^2.0.5"
- }
- },
- "to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "requires": {
- "is-number": "^7.0.0"
- }
- }
- }
- },
- "fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
- },
- "fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
- "dev": true
- },
- "fastq": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.8.0.tgz",
- "integrity": "sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q==",
- "requires": {
- "reusify": "^1.0.4"
- }
- },
- "faye-websocket": {
- "version": "0.10.0",
- "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
- "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
- "dev": true,
- "requires": {
- "websocket-driver": ">=0.5.1"
- }
- },
- "figgy-pudding": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz",
- "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==",
- "dev": true
- },
- "file-loader": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.0.0.tgz",
- "integrity": "sha512-/aMOAYEFXDdjG0wytpTL5YQLfZnnTmLNjn+AIrJ/6HVnTfDqLsVKUUwkDf4I4kgex36BvjuXEn/TX9B/1ESyqQ==",
- "dev": true,
- "requires": {
- "loader-utils": "^2.0.0",
- "schema-utils": "^2.6.5"
- }
- },
- "fill-range": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
- "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
- "dev": true,
- "requires": {
- "extend-shallow": "^2.0.1",
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1",
- "to-regex-range": "^2.1.0"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- }
- }
- },
- "finalhandler": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
- "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
- "dev": true,
- "requires": {
- "debug": "2.6.9",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "on-finished": "~2.3.0",
- "parseurl": "~1.3.3",
- "statuses": "~1.5.0",
- "unpipe": "~1.0.0"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- }
- }
- },
- "find-cache-dir": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
- "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
- "dev": true,
- "requires": {
- "commondir": "^1.0.1",
- "make-dir": "^2.0.0",
- "pkg-dir": "^3.0.0"
- }
- },
- "find-up": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
- "dev": true,
- "requires": {
- "locate-path": "^3.0.0"
- }
- },
- "findup-sync": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz",
- "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==",
- "dev": true,
- "requires": {
- "detect-file": "^1.0.0",
- "is-glob": "^4.0.0",
- "micromatch": "^3.0.4",
- "resolve-dir": "^1.0.1"
- }
- },
- "flush-write-stream": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
- "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.3",
- "readable-stream": "^2.3.6"
- },
- "dependencies": {
- "readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
- }
- },
- "follow-redirects": {
- "version": "1.12.1",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.12.1.tgz",
- "integrity": "sha512-tmRv0AVuR7ZyouUHLeNSiO6pqulF7dYa3s19c6t+wz9LD69/uSzdMxJ2S91nTI9U3rt/IldxpzMOFejp6f0hjg==",
- "dev": true
- },
- "for-in": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
- "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
- "dev": true
- },
- "forwarded": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
- "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=",
- "dev": true
- },
- "fragment-cache": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
- "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
- "dev": true,
- "requires": {
- "map-cache": "^0.2.2"
- }
- },
- "fresh": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
- "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
- "dev": true
- },
- "friendly-errors-webpack-plugin": {
- "version": "2.0.0-beta.2",
- "resolved": "https://registry.npmjs.org/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-2.0.0-beta.2.tgz",
- "integrity": "sha512-0x14cdjGx5q0yZc3Cy9sgAF/szWUFx1WxH/IX88UuKbM5Z+7FCk/Z/6hFbXMcz3qqK0mp7WrHKX3cxhUAL2aqQ==",
- "dev": true,
- "requires": {
- "chalk": "^2.4.2",
- "error-stack-parser": "^2.0.2",
- "string-width": "^2.0.0",
- "strip-ansi": "^5"
- },
- "dependencies": {
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- }
- }
- },
- "from2": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
- "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
- "dev": true,
- "requires": {
- "inherits": "^2.0.1",
- "readable-stream": "^2.0.0"
- },
- "dependencies": {
- "readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
- }
- },
- "fs-extra": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
- "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- }
- },
- "fs-minipass": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
- "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
- "requires": {
- "minipass": "^3.0.0"
- }
- },
- "fs-write-stream-atomic": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
- "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "iferr": "^0.1.5",
- "imurmurhash": "^0.1.4",
- "readable-stream": "1 || 2"
- },
- "dependencies": {
- "readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
- },
- "fsevents": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
- "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
- "dev": true,
- "optional": true
- },
- "function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
- "dev": true
- },
- "gensync": {
- "version": "1.0.0-beta.1",
- "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz",
- "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==",
- "dev": true
- },
- "get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
- "dev": true
- },
- "get-stream": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
- "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
- "dev": true,
- "requires": {
- "pump": "^3.0.0"
- }
- },
- "get-value": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
- "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
- "dev": true
- },
- "glob": {
- "version": "7.1.6",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
- "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "glob-parent": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
- "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
- "requires": {
- "is-glob": "^4.0.1"
- }
- },
- "global-modules": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
- "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
- "dev": true,
- "requires": {
- "global-prefix": "^3.0.0"
- },
- "dependencies": {
- "global-prefix": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
- "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
- "dev": true,
- "requires": {
- "ini": "^1.3.5",
- "kind-of": "^6.0.2",
- "which": "^1.3.1"
- }
- }
- }
- },
- "global-prefix": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
- "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
- "dev": true,
- "requires": {
- "expand-tilde": "^2.0.2",
- "homedir-polyfill": "^1.0.1",
- "ini": "^1.3.4",
- "is-windows": "^1.0.1",
- "which": "^1.2.14"
- }
- },
- "globals": {
- "version": "11.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
- "dev": true
- },
- "globby": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
- "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
- "dev": true,
- "requires": {
- "array-union": "^1.0.1",
- "glob": "^7.0.3",
- "object-assign": "^4.0.1",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- },
- "dependencies": {
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
- "dev": true
- }
- }
- },
- "graceful-fs": {
- "version": "4.2.4",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
- "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
- "dev": true
- },
- "growly": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
- "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=",
- "dev": true
- },
- "h2-invent-apps": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/h2-invent-apps/-/h2-invent-apps-2.4.0.tgz",
- "integrity": "sha512-oa3e4nQnCpRdQQwtxsi0CukUCnlxYZ/lm6kpIChf7jmAEjxLVILx69yLavR0v08h1GhOYL5GFQAciiuZHxdSlg==",
- "requires": {
- "toastr": "^2.1.4"
- }
- },
- "handle-thing": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz",
- "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==",
- "dev": true
- },
- "has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dev": true,
- "requires": {
- "function-bind": "^1.1.1"
- }
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
- },
- "has-symbols": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
- "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
- "dev": true
- },
- "has-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
- "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
- "dev": true,
- "requires": {
- "get-value": "^2.0.6",
- "has-values": "^1.0.0",
- "isobject": "^3.0.0"
- }
- },
- "has-values": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
- "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
- "dev": true,
- "requires": {
- "is-number": "^3.0.0",
- "kind-of": "^4.0.0"
- },
- "dependencies": {
- "kind-of": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
- "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
- "hash-base": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz",
- "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.4",
- "readable-stream": "^3.6.0",
- "safe-buffer": "^5.2.0"
- },
- "dependencies": {
- "safe-buffer": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
- "dev": true
- }
- }
- },
- "hash.js": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
- "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.3",
- "minimalistic-assert": "^1.0.1"
- }
- },
- "hex-color-regex": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz",
- "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==",
- "dev": true
- },
- "hmac-drbg": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
- "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
- "dev": true,
- "requires": {
- "hash.js": "^1.0.3",
- "minimalistic-assert": "^1.0.0",
- "minimalistic-crypto-utils": "^1.0.1"
- }
- },
- "homedir-polyfill": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
- "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
- "dev": true,
- "requires": {
- "parse-passwd": "^1.0.0"
- }
- },
- "hpack.js": {
- "version": "2.1.6",
- "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz",
- "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=",
- "dev": true,
- "requires": {
- "inherits": "^2.0.1",
- "obuf": "^1.0.0",
- "readable-stream": "^2.0.1",
- "wbuf": "^1.1.0"
- },
- "dependencies": {
- "readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
- }
- },
- "hsl-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz",
- "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=",
- "dev": true
- },
- "hsla-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz",
- "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=",
- "dev": true
- },
- "html-comment-regex": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz",
- "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==",
- "dev": true
- },
- "html-entities": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.1.tgz",
- "integrity": "sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA==",
- "dev": true
- },
- "htmlparser2": {
- "version": "3.10.1",
- "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
- "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==",
- "dev": true,
- "requires": {
- "domelementtype": "^1.3.1",
- "domhandler": "^2.3.0",
- "domutils": "^1.5.1",
- "entities": "^1.1.1",
- "inherits": "^2.0.1",
- "readable-stream": "^3.1.1"
- },
- "dependencies": {
- "entities": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
- "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
- "dev": true
- }
- }
- },
- "http-deceiver": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
- "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=",
- "dev": true
- },
- "http-errors": {
- "version": "1.7.2",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
- "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
- "dev": true,
- "requires": {
- "depd": "~1.1.2",
- "inherits": "2.0.3",
- "setprototypeof": "1.1.1",
- "statuses": ">= 1.5.0 < 2",
- "toidentifier": "1.0.0"
- },
- "dependencies": {
- "inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
- "dev": true
- }
- }
- },
- "http-proxy": {
- "version": "1.18.1",
- "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
- "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
- "dev": true,
- "requires": {
- "eventemitter3": "^4.0.0",
- "follow-redirects": "^1.0.0",
- "requires-port": "^1.0.0"
- }
- },
- "http-proxy-middleware": {
- "version": "0.19.1",
- "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz",
- "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==",
- "dev": true,
- "requires": {
- "http-proxy": "^1.17.0",
- "is-glob": "^4.0.0",
- "lodash": "^4.17.11",
- "micromatch": "^3.1.10"
- }
- },
- "https-browserify": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
- "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
- "dev": true
- },
- "iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "dev": true,
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3"
- }
- },
- "icss-utils": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz",
- "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==",
- "dev": true,
- "requires": {
- "postcss": "^7.0.14"
- }
- },
- "ieee754": {
- "version": "1.1.13",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
- "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==",
- "dev": true
- },
- "iferr": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
- "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
- "dev": true
- },
- "ignore": {
- "version": "5.1.8",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
- "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw=="
- },
- "immediate": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
- "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps="
- },
- "import-fresh": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
- "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
- "dev": true,
- "requires": {
- "caller-path": "^2.0.0",
- "resolve-from": "^3.0.0"
- }
- },
- "import-local": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz",
- "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==",
- "dev": true,
- "requires": {
- "pkg-dir": "^3.0.0",
- "resolve-cwd": "^2.0.0"
- }
- },
- "imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o="
- },
- "indent-string": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
- "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg=="
- },
- "indexes-of": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz",
- "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=",
+ "colorette": {
+ "version": "2.0.19",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz",
+ "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==",
"dev": true
},
- "infer-owner": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
- "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A=="
- },
- "inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
- },
- "ini": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
- "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
+ "commander": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
+ "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
"dev": true
},
- "internal-ip": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz",
- "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==",
+ "commondir": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
+ "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs="
+ },
+ "compressible": {
+ "version": "2.0.18",
+ "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
+ "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
"dev": true,
"requires": {
- "default-gateway": "^4.2.0",
- "ipaddr.js": "^1.9.0"
+ "mime-db": ">= 1.43.0 < 2"
}
},
- "interpret": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
- "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==",
- "dev": true
- },
- "invariant": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
- "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+ "compression": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz",
+ "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
"dev": true,
"requires": {
- "loose-envify": "^1.0.0"
+ "accepts": "~1.3.5",
+ "bytes": "3.0.0",
+ "compressible": "~2.0.16",
+ "debug": "2.6.9",
+ "on-headers": "~1.0.2",
+ "safe-buffer": "5.1.2",
+ "vary": "~1.1.2"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": true
+ }
}
},
- "ip": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
- "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
- "dev": true
- },
- "ip-regex": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz",
- "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=",
- "dev": true
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
},
- "ipaddr.js": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
- "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
+ "connect-history-api-fallback": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz",
+ "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==",
"dev": true
},
- "is-absolute-url": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz",
- "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=",
+ "consola": {
+ "version": "2.15.3",
+ "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz",
+ "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==",
"dev": true
},
- "is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+ "content-disposition": {
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
+ "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
"dev": true,
"requires": {
- "kind-of": "^3.0.2"
+ "safe-buffer": "5.2.1"
},
"dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
+ "safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "dev": true
}
}
},
- "is-arguments": {
+ "content-type": {
"version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz",
- "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==",
- "dev": true
- },
- "is-arrayish": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
"dev": true
},
- "is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "convert-source-map": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
+ "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==",
"dev": true,
- "optional": true,
"requires": {
- "binary-extensions": "^2.0.0"
+ "safe-buffer": "~5.1.1"
}
},
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+ "cookie": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
+ "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
"dev": true
},
- "is-callable": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz",
- "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==",
+ "cookie-signature": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+ "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==",
"dev": true
},
- "is-color-stop": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz",
- "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=",
- "dev": true,
- "requires": {
- "css-color-names": "^0.0.4",
- "hex-color-regex": "^1.1.0",
- "hsl-regex": "^1.0.0",
- "hsla-regex": "^1.0.0",
- "rgb-regex": "^1.0.1",
- "rgba-regex": "^1.0.0"
- }
- },
- "is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
- "dev": true,
+ "copy-webpack-plugin": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-6.0.3.tgz",
+ "integrity": "sha512-q5m6Vz4elsuyVEIUXr7wJdIdePWTubsqVbEMvf1WQnHGv0Q+9yPRu7MtYFPt+GBOXRav9lvIINifTQ1vSCs+eA==",
"requires": {
- "kind-of": "^3.0.2"
+ "cacache": "^15.0.4",
+ "fast-glob": "^3.2.4",
+ "find-cache-dir": "^3.3.1",
+ "glob-parent": "^5.1.1",
+ "globby": "^11.0.1",
+ "loader-utils": "^2.0.0",
+ "normalize-path": "^3.0.0",
+ "p-limit": "^3.0.1",
+ "schema-utils": "^2.7.0",
+ "serialize-javascript": "^4.0.0",
+ "webpack-sources": "^1.4.3"
},
"dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
+ "array-union": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw=="
+ },
+ "cacache": {
+ "version": "15.0.4",
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.4.tgz",
+ "integrity": "sha512-YlnKQqTbD/6iyoJvEY3KJftjrdBYroCbxxYXzhOzsFLWlp6KX4BOlEf4mTx0cMUfVaTS3ENL2QtDWeRYoGLkkw==",
+ "requires": {
+ "@npmcli/move-file": "^1.0.1",
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "glob": "^7.1.4",
+ "infer-owner": "^1.0.4",
+ "lru-cache": "^5.1.1",
+ "minipass": "^3.1.1",
+ "minipass-collect": "^1.0.2",
+ "minipass-flush": "^1.0.5",
+ "minipass-pipeline": "^1.2.2",
+ "mkdirp": "^1.0.3",
+ "p-map": "^4.0.0",
+ "promise-inflight": "^1.0.1",
+ "rimraf": "^3.0.2",
+ "ssri": "^8.0.0",
+ "tar": "^6.0.2",
+ "unique-filename": "^1.1.1"
+ }
+ },
+ "chownr": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
+ "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ=="
+ },
+ "globby": {
+ "version": "11.0.1",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz",
+ "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==",
+ "requires": {
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.1.1",
+ "ignore": "^5.1.4",
+ "merge2": "^1.3.0",
+ "slash": "^3.0.0"
+ }
+ },
+ "mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
+ },
+ "p-limit": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.0.1.tgz",
+ "integrity": "sha512-mw/p92EyOzl2MhauKodw54Rx5ZK4624rNfgNaBguFZkHzyUG9WsDzFF5/yQVEJinbJDdP4jEfMN+uBquiGnaLg==",
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "p-map": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
+ "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
+ "requires": {
+ "aggregate-error": "^3.0.0"
+ }
+ },
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "serialize-javascript": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
+ "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
+ "requires": {
+ "randombytes": "^2.1.0"
+ }
+ },
+ "ssri": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz",
+ "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==",
"requires": {
- "is-buffer": "^1.1.5"
+ "minipass": "^3.1.1"
}
}
}
},
- "is-date-object": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
- "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==",
+ "core-js": {
+ "version": "3.6.5",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz",
+ "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==",
"dev": true
},
- "is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "core-js-compat": {
+ "version": "3.24.1",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.24.1.tgz",
+ "integrity": "sha512-XhdNAGeRnTpp8xbD+sR/HFDK9CbeeeqXT6TuofXh3urqEevzkWmLRgrVoykodsw8okqo2pu1BOmuCKrHx63zdw==",
"dev": true,
"requires": {
- "is-accessor-descriptor": "^0.1.6",
- "is-data-descriptor": "^0.1.4",
- "kind-of": "^5.0.0"
+ "browserslist": "^4.21.3",
+ "semver": "7.0.0"
},
"dependencies": {
- "kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "semver": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
+ "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
"dev": true
}
}
},
- "is-directory": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
- "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=",
- "dev": true
- },
- "is-extendable": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
- "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
- "dev": true
- },
- "is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
- },
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "dev": true
+ "core-util-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
},
- "is-glob": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
- "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
+ "cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "dev": true,
"requires": {
- "is-extglob": "^2.1.1"
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
}
},
- "is-number": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "css-declaration-sorter": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.0.tgz",
+ "integrity": "sha512-OGT677UGHJTAVMRhPO+HJ4oKln3wkBTwtDFH0ojbqm+MJm6xuDMHp2nkhh/ThaBqq20IbraBQSWKfSLNHQO9Og==",
+ "dev": true,
+ "requires": {}
+ },
+ "css-loader": {
+ "version": "6.7.1",
+ "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz",
+ "integrity": "sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==",
"dev": true,
"requires": {
- "kind-of": "^3.0.2"
+ "icss-utils": "^5.1.0",
+ "postcss": "^8.4.7",
+ "postcss-modules-extract-imports": "^3.0.0",
+ "postcss-modules-local-by-default": "^4.0.0",
+ "postcss-modules-scope": "^3.0.0",
+ "postcss-modules-values": "^4.0.0",
+ "postcss-value-parser": "^4.2.0",
+ "semver": "^7.3.5"
},
"dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "requires": {
+ "yallist": "^4.0.0"
+ }
+ },
+ "semver": {
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
"dev": true,
"requires": {
- "is-buffer": "^1.1.5"
+ "lru-cache": "^6.0.0"
}
+ },
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
}
}
},
- "is-obj": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
- "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
- "dev": true
- },
- "is-path-cwd": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz",
- "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==",
- "dev": true
- },
- "is-path-in-cwd": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz",
- "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==",
- "dev": true,
- "requires": {
- "is-path-inside": "^2.1.0"
- }
- },
- "is-path-inside": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz",
- "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==",
+ "css-minimizer-webpack-plugin": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-4.0.0.tgz",
+ "integrity": "sha512-7ZXXRzRHvofv3Uac5Y+RkWRNo0ZMlcg8e9/OtrqUYmwDWJo+qs67GvdeFrXLsFb7czKNwjQhPkM0avlIYl+1nA==",
"dev": true,
"requires": {
- "path-is-inside": "^1.0.2"
+ "cssnano": "^5.1.8",
+ "jest-worker": "^27.5.1",
+ "postcss": "^8.4.13",
+ "schema-utils": "^4.0.0",
+ "serialize-javascript": "^6.0.0",
+ "source-map": "^0.6.1"
+ },
+ "dependencies": {
+ "ajv": {
+ "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",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "ajv-keywords": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
+ "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.3"
+ }
+ },
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ },
+ "schema-utils": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
+ "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
+ "dev": true,
+ "requires": {
+ "@types/json-schema": "^7.0.9",
+ "ajv": "^8.8.0",
+ "ajv-formats": "^2.1.1",
+ "ajv-keywords": "^5.0.0"
+ }
+ }
}
},
- "is-plain-object": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+ "css-select": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz",
+ "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==",
"dev": true,
"requires": {
- "isobject": "^3.0.1"
+ "boolbase": "^1.0.0",
+ "css-what": "^6.0.1",
+ "domhandler": "^4.3.1",
+ "domutils": "^2.8.0",
+ "nth-check": "^2.0.1"
}
},
- "is-regex": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz",
- "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==",
+ "css-tree": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz",
+ "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==",
"dev": true,
"requires": {
- "has-symbols": "^1.0.1"
+ "mdn-data": "2.0.14",
+ "source-map": "^0.6.1"
}
},
- "is-resolvable": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
- "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==",
+ "css-what": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
+ "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==",
"dev": true
},
- "is-stream": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
- "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+ "cssesc": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
"dev": true
},
- "is-svg": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz",
- "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==",
+ "cssnano": {
+ "version": "5.1.13",
+ "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.13.tgz",
+ "integrity": "sha512-S2SL2ekdEz6w6a2epXn4CmMKU4K3KpcyXLKfAYc9UQQqJRkD/2eLUG0vJ3Db/9OvO5GuAdgXw3pFbR6abqghDQ==",
"dev": true,
"requires": {
- "html-comment-regex": "^1.1.0"
+ "cssnano-preset-default": "^5.2.12",
+ "lilconfig": "^2.0.3",
+ "yaml": "^1.10.2"
}
},
- "is-symbol": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
- "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
+ "cssnano-preset-default": {
+ "version": "5.2.12",
+ "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.12.tgz",
+ "integrity": "sha512-OyCBTZi+PXgylz9HAA5kHyoYhfGcYdwFmyaJzWnzxuGRtnMw/kR6ilW9XzlzlRAtB6PLT/r+prYgkef7hngFew==",
+ "dev": true,
+ "requires": {
+ "css-declaration-sorter": "^6.3.0",
+ "cssnano-utils": "^3.1.0",
+ "postcss-calc": "^8.2.3",
+ "postcss-colormin": "^5.3.0",
+ "postcss-convert-values": "^5.1.2",
+ "postcss-discard-comments": "^5.1.2",
+ "postcss-discard-duplicates": "^5.1.0",
+ "postcss-discard-empty": "^5.1.1",
+ "postcss-discard-overridden": "^5.1.0",
+ "postcss-merge-longhand": "^5.1.6",
+ "postcss-merge-rules": "^5.1.2",
+ "postcss-minify-font-values": "^5.1.0",
+ "postcss-minify-gradients": "^5.1.1",
+ "postcss-minify-params": "^5.1.3",
+ "postcss-minify-selectors": "^5.2.1",
+ "postcss-normalize-charset": "^5.1.0",
+ "postcss-normalize-display-values": "^5.1.0",
+ "postcss-normalize-positions": "^5.1.1",
+ "postcss-normalize-repeat-style": "^5.1.1",
+ "postcss-normalize-string": "^5.1.0",
+ "postcss-normalize-timing-functions": "^5.1.0",
+ "postcss-normalize-unicode": "^5.1.0",
+ "postcss-normalize-url": "^5.1.0",
+ "postcss-normalize-whitespace": "^5.1.1",
+ "postcss-ordered-values": "^5.1.3",
+ "postcss-reduce-initial": "^5.1.0",
+ "postcss-reduce-transforms": "^5.1.0",
+ "postcss-svgo": "^5.1.0",
+ "postcss-unique-selectors": "^5.1.1"
+ }
+ },
+ "cssnano-utils": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz",
+ "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==",
"dev": true,
- "requires": {
- "has-symbols": "^1.0.1"
- }
- },
- "is-windows": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
- "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
- "dev": true
- },
- "is-wsl": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
- "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
- "dev": true
- },
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
- },
- "isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
- "dev": true
- },
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
- "dev": true
- },
- "jquery": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz",
- "integrity": "sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg=="
- },
- "js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true
+ "requires": {}
},
- "js-yaml": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
- "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
+ "csso": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz",
+ "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==",
"dev": true,
"requires": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
+ "css-tree": "^1.1.2"
}
},
- "jsesc": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
- "dev": true
- },
- "json-parse-better-errors": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
- "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
- "dev": true
- },
- "json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
- },
- "json3": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz",
- "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==",
- "dev": true
- },
- "json5": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz",
- "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==",
+ "datatables.net": {
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/datatables.net/-/datatables.net-1.12.1.tgz",
+ "integrity": "sha512-e6XAMUoV41JdQPS/r9YRfRcmTPcCVvyZbWI+xog1Zg+kjVliMQbEkvWK5XFItmi64Cvwg+IqsZbTUJ1KSY3umA==",
"requires": {
- "minimist": "^1.2.5"
+ "jquery": ">=1.7"
}
},
- "jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
- "dev": true,
+ "datatables.net-buttons": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/datatables.net-buttons/-/datatables.net-buttons-1.6.2.tgz",
+ "integrity": "sha512-0sKWBBwtCCECRc4T+fUDhFCJv9miLPrB90QsVYq4ep0hIMuWiW76+eCdykZq5yd/3m7K1O+ryt9c7PahBDf91g==",
"requires": {
- "graceful-fs": "^4.1.6"
+ "datatables.net": "^1.10.15",
+ "jquery": ">=1.7"
}
},
- "jszip": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.5.0.tgz",
- "integrity": "sha512-WRtu7TPCmYePR1nazfrtuF216cIVon/3GWOvHS9QR5bIwSbnxtdpma6un3jyGGNhHsKCSzn5Ypk+EkDRvTGiFA==",
+ "datatables.net-buttons-dt": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/datatables.net-buttons-dt/-/datatables.net-buttons-dt-1.6.2.tgz",
+ "integrity": "sha512-CEEhXLqLwJP17RktzdZBN142dvILUj0OnlFtCO1hl4YjFz8ttYGc6Qfi/OhU2GcH0z9sW2bcYKbvAZe2/Uiazg==",
"requires": {
- "lie": "~3.3.0",
- "pako": "~1.0.2",
- "readable-stream": "~2.3.6",
- "set-immediate-shim": "~1.0.1"
- },
- "dependencies": {
- "readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
+ "datatables.net-buttons": "1.6.2",
+ "datatables.net-dt": "^1.10.15",
+ "jquery": ">=1.7"
}
},
- "killable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz",
- "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==",
- "dev": true
- },
- "kind-of": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
- "dev": true
- },
- "last-call-webpack-plugin": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz",
- "integrity": "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==",
- "dev": true,
+ "datatables.net-dt": {
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/datatables.net-dt/-/datatables.net-dt-1.12.1.tgz",
+ "integrity": "sha512-HYsHbSYqOqlgsgjKMH/kkCB5455t51GmmtXRxgnDMRbjPLEIKo5CZmAlUe5mdD/RVPRtAUaj5K3SDlkEZ1bUmw==",
"requires": {
- "lodash": "^4.17.5",
- "webpack-sources": "^1.1.0"
+ "datatables.net": ">=1.11.3",
+ "jquery": ">=1.7"
}
},
- "leven": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
- "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
- "dev": true
- },
- "levenary": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz",
- "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==",
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dev": true,
"requires": {
- "leven": "^3.1.0"
+ "ms": "2.1.2"
}
},
- "lie": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz",
- "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==",
+ "default-gateway": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz",
+ "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==",
+ "dev": true,
"requires": {
- "immediate": "~3.0.5"
+ "execa": "^5.0.0"
}
},
- "loader-runner": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
- "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==",
+ "define-lazy-prop": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
+ "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
"dev": true
},
- "loader-utils": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
- "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
+ "define-properties": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz",
+ "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==",
+ "dev": true,
"requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^2.1.2"
+ "has-property-descriptors": "^1.0.0",
+ "object-keys": "^1.1.1"
}
},
- "locate-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "del": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz",
+ "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==",
"dev": true,
"requires": {
- "p-locate": "^3.0.0",
- "path-exists": "^3.0.0"
+ "@types/glob": "^7.1.1",
+ "globby": "^6.1.0",
+ "is-path-cwd": "^2.0.0",
+ "is-path-in-cwd": "^2.0.0",
+ "p-map": "^2.0.0",
+ "pify": "^4.0.1",
+ "rimraf": "^2.6.3"
}
},
- "lodash": {
- "version": "4.17.15",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
- "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
+ "depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
"dev": true
},
- "lodash.memoize": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
- "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
+ "destroy": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
"dev": true
},
- "lodash.uniq": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
- "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
+ "detect-node": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz",
+ "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==",
"dev": true
},
- "loglevel": {
- "version": "1.6.8",
- "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.8.tgz",
- "integrity": "sha512-bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA==",
+ "dir-glob": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+ "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+ "requires": {
+ "path-type": "^4.0.0"
+ }
+ },
+ "dns-equal": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
+ "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==",
"dev": true
},
- "loose-envify": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
- "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "dns-packet": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz",
+ "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==",
"dev": true,
"requires": {
- "js-tokens": "^3.0.0 || ^4.0.0"
+ "@leichtgewicht/ip-codec": "^2.0.1"
}
},
- "lru-cache": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
- "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "dom-converter": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz",
+ "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==",
+ "dev": true,
"requires": {
- "yallist": "^3.0.2"
+ "utila": "~0.4"
}
},
- "make-dir": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
- "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+ "dom-serializer": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz",
+ "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==",
"dev": true,
"requires": {
- "pify": "^4.0.1",
- "semver": "^5.6.0"
- },
- "dependencies": {
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true
- }
+ "domelementtype": "^2.0.1",
+ "domhandler": "^4.2.0",
+ "entities": "^2.0.0"
}
},
- "map-cache": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
- "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
+ "domelementtype": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
+ "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
"dev": true
},
- "map-visit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
- "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
+ "domhandler": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
+ "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
"dev": true,
"requires": {
- "object-visit": "^1.0.0"
+ "domelementtype": "^2.2.0"
}
},
- "md5.js": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
- "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
+ "domutils": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
+ "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
"dev": true,
"requires": {
- "hash-base": "^3.0.0",
- "inherits": "^2.0.1",
- "safe-buffer": "^5.1.2"
+ "dom-serializer": "^1.0.1",
+ "domelementtype": "^2.2.0",
+ "domhandler": "^4.2.0"
}
},
- "mdbootstrap": {
- "version": "4.19.1",
- "resolved": "https://registry.npmjs.org/mdbootstrap/-/mdbootstrap-4.19.1.tgz",
- "integrity": "sha512-vzYd7UQ0H1tyJfDqCYwsAv+sxol/xRkJP/5FMhcdW3ZbN9xUnmWiSPHx3A6ddGxdOQbfJTWxT3G8M+I++Qdk6w=="
+ "ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
+ "dev": true
},
- "mdn-data": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz",
- "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==",
+ "electron-to-chromium": {
+ "version": "1.4.222",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.222.tgz",
+ "integrity": "sha512-gEM2awN5HZknWdLbngk4uQCVfhucFAfFzuchP3wM3NN6eow1eDU0dFy2kts43FB20ZfhVFF0jmFSTb1h5OhyIg==",
"dev": true
},
- "media-typer": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
- "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
+ "emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
- "memory-fs": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
- "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
+ "emojis-list": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
+ "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q=="
+ },
+ "encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
+ "dev": true
+ },
+ "enhanced-resolve": {
+ "version": "5.10.0",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz",
+ "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==",
"dev": true,
"requires": {
- "errno": "^0.1.3",
- "readable-stream": "^2.0.1"
- },
- "dependencies": {
- "readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
+ "graceful-fs": "^4.2.4",
+ "tapable": "^2.2.0"
}
},
- "merge-descriptors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
- "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
+ "entities": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
+ "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
"dev": true
},
- "merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="
- },
- "methods": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
- "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
+ "envinfo": {
+ "version": "7.8.1",
+ "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz",
+ "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==",
"dev": true
},
- "micromatch": {
- "version": "3.1.10",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
- "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
- "dev": true,
- "requires": {
- "arr-diff": "^4.0.0",
- "array-unique": "^0.3.2",
- "braces": "^2.3.1",
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "extglob": "^2.0.4",
- "fragment-cache": "^0.2.1",
- "kind-of": "^6.0.2",
- "nanomatch": "^1.2.9",
- "object.pick": "^1.3.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.2"
- }
- },
- "miller-rabin": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
- "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
+ "error-stack-parser": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz",
+ "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==",
"dev": true,
"requires": {
- "bn.js": "^4.0.0",
- "brorand": "^1.0.1"
- },
- "dependencies": {
- "bn.js": {
- "version": "4.11.9",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
- "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
- "dev": true
- }
+ "stackframe": "^1.3.4"
}
},
- "mime": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+ "es-module-lexer": {
+ "version": "0.9.3",
+ "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz",
+ "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==",
"dev": true
},
- "mime-db": {
- "version": "1.44.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
- "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==",
+ "escalade": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
"dev": true
},
- "mime-types": {
- "version": "2.1.27",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
- "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
+ "escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
+ "dev": true
+ },
+ "escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "dev": true
+ },
+ "eslint-scope": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
+ "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
"dev": true,
"requires": {
- "mime-db": "1.44.0"
+ "esrecurse": "^4.3.0",
+ "estraverse": "^4.1.1"
}
},
- "mini-css-extract-plugin": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.2.tgz",
- "integrity": "sha512-ots7URQH4wccfJq9Ssrzu2+qupbncAce4TmTzunI9CIwlQMp2XI+WNUw6xWF6MMAGAm1cbUVINrSjATaVMyKXg==",
+ "esrecurse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
"dev": true,
"requires": {
- "loader-utils": "^1.1.0",
- "schema-utils": "^1.0.0",
- "webpack-sources": "^1.1.0"
+ "estraverse": "^5.2.0"
},
"dependencies": {
- "json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.0"
- }
- },
- "loader-utils": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
- "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
- "dev": true,
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^1.0.1"
- }
- },
- "schema-utils": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
- "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
- "dev": true,
- "requires": {
- "ajv": "^6.1.0",
- "ajv-errors": "^1.0.0",
- "ajv-keywords": "^3.1.0"
- }
+ "estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true
}
}
},
- "minimalistic-assert": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
- "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
+ "estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
"dev": true
},
- "minimalistic-crypto-utils": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
- "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
+ "esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
"dev": true
},
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
+ "dev": true
+ },
+ "eventemitter3": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
+ "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
+ "dev": true
+ },
+ "events": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+ "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
+ "dev": true
+ },
+ "execa": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
+ "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
+ "dev": true,
"requires": {
- "brace-expansion": "^1.1.7"
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.0",
+ "human-signals": "^2.1.0",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.1",
+ "onetime": "^5.1.2",
+ "signal-exit": "^3.0.3",
+ "strip-final-newline": "^2.0.0"
}
},
- "minimist": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
- },
- "minipass": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz",
- "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==",
+ "express": {
+ "version": "4.18.1",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz",
+ "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==",
+ "dev": true,
"requires": {
- "yallist": "^4.0.0"
+ "accepts": "~1.3.8",
+ "array-flatten": "1.1.1",
+ "body-parser": "1.20.0",
+ "content-disposition": "0.5.4",
+ "content-type": "~1.0.4",
+ "cookie": "0.5.0",
+ "cookie-signature": "1.0.6",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "finalhandler": "1.2.0",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "merge-descriptors": "1.0.1",
+ "methods": "~1.1.2",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "path-to-regexp": "0.1.7",
+ "proxy-addr": "~2.0.7",
+ "qs": "6.10.3",
+ "range-parser": "~1.2.1",
+ "safe-buffer": "5.2.1",
+ "send": "0.18.0",
+ "serve-static": "1.15.0",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "type-is": "~1.6.18",
+ "utils-merge": "1.0.1",
+ "vary": "~1.1.2"
},
"dependencies": {
- "yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ "array-flatten": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==",
+ "dev": true
+ },
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": true
+ },
+ "safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "dev": true
}
}
},
- "minipass-collect": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz",
- "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
+ "fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
+ },
+ "fast-glob": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz",
+ "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==",
"requires": {
- "minipass": "^3.0.0"
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.0",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.2",
+ "picomatch": "^2.2.1"
}
},
- "minipass-flush": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
- "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
+ "fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
+ },
+ "fast-levenshtein": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-3.0.0.tgz",
+ "integrity": "sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ==",
+ "dev": true,
"requires": {
- "minipass": "^3.0.0"
+ "fastest-levenshtein": "^1.0.7"
}
},
- "minipass-pipeline": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.3.tgz",
- "integrity": "sha512-cFOknTvng5vqnwOpDsZTWhNll6Jf8o2x+/diplafmxpuIymAjzoOolZG0VvQf3V2HgqzJNhnuKHYp2BqDgz8IQ==",
+ "fastest-levenshtein": {
+ "version": "1.0.16",
+ "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
+ "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
+ "dev": true
+ },
+ "fastq": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.8.0.tgz",
+ "integrity": "sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q==",
"requires": {
- "minipass": "^3.0.0"
+ "reusify": "^1.0.4"
}
},
- "minizlib": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.0.tgz",
- "integrity": "sha512-EzTZN/fjSvifSX0SlqUERCN39o6T40AMarPbv0MrarSFtIITCBh7bi+dU8nxGFHuqs9jdIAeoYoKuQAAASsPPA==",
+ "faye-websocket": {
+ "version": "0.11.4",
+ "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz",
+ "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==",
+ "dev": true,
"requires": {
- "minipass": "^3.0.0",
- "yallist": "^4.0.0"
- },
- "dependencies": {
- "yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
- }
+ "websocket-driver": ">=0.5.1"
}
},
- "mississippi": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
- "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==",
- "dev": true,
+ "fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
"requires": {
- "concat-stream": "^1.5.0",
- "duplexify": "^3.4.2",
- "end-of-stream": "^1.1.0",
- "flush-write-stream": "^1.0.0",
- "from2": "^2.1.0",
- "parallel-transform": "^1.1.0",
- "pump": "^3.0.0",
- "pumpify": "^1.3.3",
- "stream-each": "^1.1.0",
- "through2": "^2.0.0"
+ "to-regex-range": "^5.0.1"
}
},
- "mixin-deep": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
- "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
+ "finalhandler": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
+ "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
"dev": true,
"requires": {
- "for-in": "^1.0.2",
- "is-extendable": "^1.0.1"
+ "debug": "2.6.9",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "statuses": "2.0.1",
+ "unpipe": "~1.0.0"
},
"dependencies": {
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
"requires": {
- "is-plain-object": "^2.0.4"
+ "ms": "2.0.0"
}
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": true
}
}
},
- "mkdirp": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz",
- "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==",
- "dev": true,
+ "find-cache-dir": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
+ "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
"requires": {
- "minimist": "^1.2.5"
+ "commondir": "^1.0.1",
+ "make-dir": "^3.0.2",
+ "pkg-dir": "^4.1.0"
}
},
- "moment": {
- "version": "2.27.0",
- "resolved": "https://registry.npmjs.org/moment/-/moment-2.27.0.tgz",
- "integrity": "sha512-al0MUK7cpIcglMv3YF13qSgdAIqxHTO7brRtaz3DlSULbqfazqkc5kEjNrLDOM7fsjshoFIihnU8snrP7zUvhQ=="
- },
- "move-concurrently": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
- "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
+ "find-up": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
"dev": true,
"requires": {
- "aproba": "^1.1.1",
- "copy-concurrently": "^1.0.0",
- "fs-write-stream-atomic": "^1.0.8",
- "mkdirp": "^0.5.1",
- "rimraf": "^2.5.4",
- "run-queue": "^1.0.3"
+ "locate-path": "^3.0.0"
}
},
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "follow-redirects": {
+ "version": "1.15.1",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz",
+ "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==",
"dev": true
},
- "multicast-dns": {
- "version": "6.2.3",
- "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz",
- "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==",
- "dev": true,
- "requires": {
- "dns-packet": "^1.3.1",
- "thunky": "^1.0.2"
- }
+ "forwarded": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
+ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
+ "dev": true
},
- "multicast-dns-service-types": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz",
- "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=",
+ "fresh": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
"dev": true
},
- "nanomatch": {
- "version": "1.2.13",
- "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
- "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
- "dev": true,
+ "fs-minipass": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
+ "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
"requires": {
- "arr-diff": "^4.0.0",
- "array-unique": "^0.3.2",
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "fragment-cache": "^0.2.1",
- "is-windows": "^1.0.2",
- "kind-of": "^6.0.2",
- "object.pick": "^1.3.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
+ "minipass": "^3.0.0"
}
},
- "negotiator": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
- "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==",
+ "fs-monkey": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz",
+ "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==",
"dev": true
},
- "neo-async": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz",
- "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==",
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
+ },
+ "fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "dev": true,
+ "optional": true
+ },
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
"dev": true
},
- "next-tick": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
- "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
+ "gensync": {
+ "version": "1.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
"dev": true
},
- "nice-try": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
- "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
+ "get-intrinsic": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz",
+ "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==",
+ "dev": true,
+ "requires": {
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.3"
+ }
+ },
+ "get-port": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz",
+ "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==",
"dev": true
},
- "node-forge": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz",
- "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==",
+ "get-stream": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
+ "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
"dev": true
},
- "node-libs-browser": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz",
- "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==",
- "dev": true,
- "requires": {
- "assert": "^1.1.1",
- "browserify-zlib": "^0.2.0",
- "buffer": "^4.3.0",
- "console-browserify": "^1.1.0",
- "constants-browserify": "^1.0.0",
- "crypto-browserify": "^3.11.0",
- "domain-browser": "^1.1.1",
- "events": "^3.0.0",
- "https-browserify": "^1.0.0",
- "os-browserify": "^0.3.0",
- "path-browserify": "0.0.1",
- "process": "^0.11.10",
- "punycode": "^1.2.4",
- "querystring-es3": "^0.2.0",
- "readable-stream": "^2.3.3",
- "stream-browserify": "^2.0.1",
- "stream-http": "^2.7.2",
- "string_decoder": "^1.0.0",
- "timers-browserify": "^2.0.4",
- "tty-browserify": "0.0.0",
- "url": "^0.11.0",
- "util": "^0.11.0",
- "vm-browserify": "^1.0.1"
- },
- "dependencies": {
- "punycode": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
- "dev": true
- },
- "readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- },
- "dependencies": {
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
- }
- },
- "util": {
- "version": "0.11.1",
- "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
- "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
- "dev": true,
- "requires": {
- "inherits": "2.0.3"
- },
- "dependencies": {
- "inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
- "dev": true
- }
- }
- }
+ "glob": {
+ "version": "7.1.6",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
+ "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
}
},
- "node-notifier": {
- "version": "5.4.3",
- "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz",
- "integrity": "sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==",
+ "glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
+ "glob-to-regexp": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
+ "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
+ "dev": true
+ },
+ "globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+ "dev": true
+ },
+ "globby": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
+ "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==",
"dev": true,
"requires": {
- "growly": "^1.3.0",
- "is-wsl": "^1.1.0",
- "semver": "^5.5.0",
- "shellwords": "^0.1.1",
- "which": "^1.3.0"
+ "array-union": "^1.0.1",
+ "glob": "^7.0.3",
+ "object-assign": "^4.0.1",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
},
"dependencies": {
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
"dev": true
}
}
},
- "node-releases": {
- "version": "1.1.58",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.58.tgz",
- "integrity": "sha512-NxBudgVKiRh/2aPWMgPR7bPTX0VPmGx5QBwCtdHitnqFE5/O8DeBXuIMH1nwNnw/aMo6AjOrpsHzfY3UbUJ7yg==",
+ "graceful-fs": {
+ "version": "4.2.10",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
+ "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
"dev": true
},
- "normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
+ "growly": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
+ "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==",
+ "dev": true
},
- "normalize-url": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz",
- "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==",
+ "h2-invent-apps": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/h2-invent-apps/-/h2-invent-apps-2.4.0.tgz",
+ "integrity": "sha512-oa3e4nQnCpRdQQwtxsi0CukUCnlxYZ/lm6kpIChf7jmAEjxLVILx69yLavR0v08h1GhOYL5GFQAciiuZHxdSlg==",
+ "requires": {
+ "toastr": "^2.1.4"
+ }
+ },
+ "handle-thing": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz",
+ "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==",
"dev": true
},
- "npm-run-path": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
- "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+ "has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
"dev": true,
"requires": {
- "path-key": "^2.0.0"
+ "function-bind": "^1.1.1"
}
},
- "nth-check": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz",
- "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==",
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "has-property-descriptors": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz",
+ "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==",
"dev": true,
"requires": {
- "boolbase": "~1.0.0"
+ "get-intrinsic": "^1.1.1"
}
},
- "object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "has-symbols": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
"dev": true
},
- "object-copy": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
- "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+ "hpack.js": {
+ "version": "2.1.6",
+ "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz",
+ "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==",
"dev": true,
"requires": {
- "copy-descriptor": "^0.1.0",
- "define-property": "^0.2.5",
- "kind-of": "^3.0.3"
+ "inherits": "^2.0.1",
+ "obuf": "^1.0.0",
+ "readable-stream": "^2.0.1",
+ "wbuf": "^1.1.0"
},
"dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "readable-stream": {
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
"dev": true,
"requires": {
- "is-descriptor": "^0.1.0"
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
}
},
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"dev": true,
"requires": {
- "is-buffer": "^1.1.5"
+ "safe-buffer": "~5.1.0"
}
}
}
},
- "object-inspect": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz",
- "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==",
+ "html-entities": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz",
+ "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==",
"dev": true
},
- "object-is": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.2.tgz",
- "integrity": "sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ==",
+ "htmlparser2": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz",
+ "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==",
"dev": true,
"requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.5"
+ "domelementtype": "^2.0.1",
+ "domhandler": "^4.0.0",
+ "domutils": "^2.5.2",
+ "entities": "^2.0.0"
}
},
- "object-keys": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
- "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+ "http-deceiver": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
+ "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==",
"dev": true
},
- "object-path": {
- "version": "0.11.4",
- "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.4.tgz",
- "integrity": "sha1-NwrnUvvzfePqcKhhwju6iRVpGUk=",
+ "http-errors": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
+ "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
+ "dev": true,
+ "requires": {
+ "depd": "2.0.0",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "toidentifier": "1.0.1"
+ }
+ },
+ "http-parser-js": {
+ "version": "0.5.8",
+ "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz",
+ "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==",
"dev": true
},
- "object-visit": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
- "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
+ "http-proxy": {
+ "version": "1.18.1",
+ "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
+ "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
"dev": true,
"requires": {
- "isobject": "^3.0.0"
+ "eventemitter3": "^4.0.0",
+ "follow-redirects": "^1.0.0",
+ "requires-port": "^1.0.0"
}
},
- "object.assign": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
- "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
+ "http-proxy-middleware": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz",
+ "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==",
"dev": true,
"requires": {
- "define-properties": "^1.1.2",
- "function-bind": "^1.1.1",
- "has-symbols": "^1.0.0",
- "object-keys": "^1.0.11"
+ "@types/http-proxy": "^1.17.8",
+ "http-proxy": "^1.18.1",
+ "is-glob": "^4.0.1",
+ "is-plain-obj": "^3.0.0",
+ "micromatch": "^4.0.2"
}
},
- "object.entries": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.2.tgz",
- "integrity": "sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA==",
+ "human-signals": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
+ "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
+ "dev": true
+ },
+ "iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
"dev": true,
"requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.5",
- "has": "^1.0.3"
+ "safer-buffer": ">= 2.1.2 < 3"
}
},
- "object.getownpropertydescriptors": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz",
- "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==",
+ "icss-utils": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
+ "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
+ "dev": true,
+ "requires": {}
+ },
+ "ignore": {
+ "version": "5.1.8",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
+ "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw=="
+ },
+ "immediate": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
+ "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps="
+ },
+ "import-local": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz",
+ "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==",
"dev": true,
"requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.0-next.1"
+ "pkg-dir": "^4.2.0",
+ "resolve-cwd": "^3.0.0"
}
},
- "object.pick": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
- "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
+ "imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o="
+ },
+ "indent-string": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
+ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg=="
+ },
+ "infer-owner": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
+ "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A=="
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ },
+ "interpret": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz",
+ "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==",
+ "dev": true
+ },
+ "ipaddr.js": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz",
+ "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==",
+ "dev": true
+ },
+ "is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
"dev": true,
"requires": {
- "isobject": "^3.0.1"
+ "binary-extensions": "^2.0.0"
}
},
- "object.values": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz",
- "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==",
+ "is-core-module": {
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz",
+ "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==",
"dev": true,
"requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.0-next.1",
- "function-bind": "^1.1.1",
"has": "^1.0.3"
}
},
- "obuf": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
- "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==",
+ "is-docker": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
+ "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
"dev": true
},
- "on-finished": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
- "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
- "dev": true,
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
+ },
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
+ "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
"requires": {
- "ee-first": "1.1.1"
+ "is-extglob": "^2.1.1"
}
},
- "on-headers": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
- "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==",
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
+ },
+ "is-path-cwd": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz",
+ "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==",
"dev": true
},
- "once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "is-path-in-cwd": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz",
+ "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==",
+ "dev": true,
"requires": {
- "wrappy": "1"
+ "is-path-inside": "^2.1.0"
}
},
- "opn": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz",
- "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==",
+ "is-path-inside": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz",
+ "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==",
"dev": true,
"requires": {
- "is-wsl": "^1.1.0"
+ "path-is-inside": "^1.0.2"
}
},
- "optimize-css-assets-webpack-plugin": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.3.tgz",
- "integrity": "sha512-q9fbvCRS6EYtUKKSwI87qm2IxlyJK5b4dygW1rKUBT6mMDhdG5e5bZT63v6tnJR9F9FB/H5a0HTmtw+laUBxKA==",
+ "is-plain-obj": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz",
+ "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==",
+ "dev": true
+ },
+ "is-plain-object": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
"dev": true,
"requires": {
- "cssnano": "^4.1.10",
- "last-call-webpack-plugin": "^3.0.0"
+ "isobject": "^3.0.1"
}
},
- "original": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz",
- "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==",
+ "is-stream": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+ "dev": true
+ },
+ "is-wsl": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
"dev": true,
"requires": {
- "url-parse": "^1.4.3"
+ "is-docker": "^2.0.0"
}
},
- "os-browserify": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
- "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
"dev": true
},
- "p-finally": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
- "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==",
"dev": true
},
- "p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "jest-worker": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
+ "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
"dev": true,
"requires": {
- "p-try": "^2.0.0"
+ "@types/node": "*",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^8.0.0"
}
},
- "p-locate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
- "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
- "dev": true,
- "requires": {
- "p-limit": "^2.0.0"
- }
+ "jquery": {
+ "version": "3.5.1",
+ "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz",
+ "integrity": "sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg=="
},
- "p-map": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz",
- "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==",
+ "js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+ "dev": true
+ },
+ "jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
"dev": true
},
- "p-retry": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz",
- "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==",
- "dev": true,
- "requires": {
- "retry": "^0.12.0"
- }
+ "json-parse-even-better-errors": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+ "dev": true
},
- "p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
+ "json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
},
- "pako": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
- "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
+ "json5": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
+ "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA=="
},
- "parallel-transform": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz",
- "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==",
- "dev": true,
+ "jszip": {
+ "version": "3.10.1",
+ "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz",
+ "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==",
"requires": {
- "cyclist": "^1.0.1",
- "inherits": "^2.0.3",
- "readable-stream": "^2.1.5"
+ "lie": "~3.3.0",
+ "pako": "~1.0.2",
+ "readable-stream": "~2.3.6",
+ "setimmediate": "^1.0.5"
},
"dependencies": {
"readable-stream": {
"version": "2.3.7",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
"integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
@@ -17529,2059 +11962,1563 @@
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
"requires": {
"safe-buffer": "~5.1.0"
}
}
}
},
- "parse-asn1": {
- "version": "5.1.5",
- "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz",
- "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==",
- "dev": true,
- "requires": {
- "asn1.js": "^4.0.0",
- "browserify-aes": "^1.0.0",
- "create-hash": "^1.1.0",
- "evp_bytestokey": "^1.0.0",
- "pbkdf2": "^3.0.3",
- "safe-buffer": "^5.1.1"
- }
+ "kind-of": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
+ "dev": true
},
- "parse-json": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
- "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
- "dev": true,
+ "lie": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz",
+ "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==",
"requires": {
- "error-ex": "^1.3.1",
- "json-parse-better-errors": "^1.0.1"
+ "immediate": "~3.0.5"
}
},
- "parse-passwd": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
- "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
+ "lilconfig": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz",
+ "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==",
"dev": true
},
- "parseurl": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
- "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
+ "loader-runner": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz",
+ "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==",
"dev": true
},
- "pascalcase": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
- "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
+ "loader-utils": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
+ "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^2.1.2"
+ }
+ },
+ "locate-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "dev": true,
+ "requires": {
+ "p-locate": "^3.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true
},
- "path-browserify": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
- "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==",
+ "lodash.debounce": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
+ "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
"dev": true
},
- "path-dirname": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
- "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
+ "lodash.memoize": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
+ "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==",
"dev": true
},
- "path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+ "lodash.uniq": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
+ "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==",
"dev": true
},
- "path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
+ "lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "requires": {
+ "yallist": "^3.0.2"
+ }
},
- "path-is-inside": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
- "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
- "dev": true
+ "make-dir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "requires": {
+ "semver": "^6.0.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+ }
+ }
},
- "path-key": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
- "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
- "dev": true
+ "mdbootstrap": {
+ "version": "4.19.1",
+ "resolved": "https://registry.npmjs.org/mdbootstrap/-/mdbootstrap-4.19.1.tgz",
+ "integrity": "sha512-vzYd7UQ0H1tyJfDqCYwsAv+sxol/xRkJP/5FMhcdW3ZbN9xUnmWiSPHx3A6ddGxdOQbfJTWxT3G8M+I++Qdk6w=="
},
- "path-parse": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
- "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
+ "mdn-data": {
+ "version": "2.0.14",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz",
+ "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==",
"dev": true
},
- "path-to-regexp": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
- "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=",
+ "media-typer": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
"dev": true
},
- "path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw=="
- },
- "pbkdf2": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz",
- "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==",
+ "memfs": {
+ "version": "3.4.7",
+ "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.7.tgz",
+ "integrity": "sha512-ygaiUSNalBX85388uskeCyhSAoOSgzBbtVCr9jA2RROssFL9Q19/ZXFqS+2Th2sr1ewNIWgFdLzLC3Yl1Zv+lw==",
"dev": true,
"requires": {
- "create-hash": "^1.1.2",
- "create-hmac": "^1.1.4",
- "ripemd160": "^2.0.1",
- "safe-buffer": "^5.0.1",
- "sha.js": "^2.4.8"
+ "fs-monkey": "^1.0.3"
}
},
- "picomatch": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
- "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg=="
+ "merge-descriptors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
+ "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==",
+ "dev": true
},
- "pify": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+ "merge-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
"dev": true
},
- "pinkie": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
- "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
+ "merge2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="
+ },
+ "methods": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
"dev": true
},
- "pinkie-promise": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
- "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
- "dev": true,
+ "micromatch": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
+ "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
"requires": {
- "pinkie": "^2.0.0"
+ "braces": "^3.0.2",
+ "picomatch": "^2.3.1"
}
},
- "pkg-dir": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
- "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
- "dev": true,
- "requires": {
- "find-up": "^3.0.0"
- }
+ "mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+ "dev": true
},
- "pkg-up": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz",
- "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==",
- "dev": true,
- "requires": {
- "find-up": "^3.0.0"
- }
+ "mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+ "dev": true
},
- "portfinder": {
- "version": "1.0.26",
- "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.26.tgz",
- "integrity": "sha512-Xi7mKxJHHMI3rIUrnm/jjUgwhbYMkp/XKEcZX3aG4BrumLpq3nmoQMX+ClYnDZnZ/New7IatC1no5RX0zo1vXQ==",
+ "mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
"dev": true,
"requires": {
- "async": "^2.6.2",
- "debug": "^3.1.1",
- "mkdirp": "^0.5.1"
- },
- "dependencies": {
- "debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- }
+ "mime-db": "1.52.0"
}
},
- "posix-character-classes": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
- "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
+ "mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
"dev": true
},
- "postcss": {
- "version": "7.0.32",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz",
- "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==",
+ "mini-css-extract-plugin": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.1.tgz",
+ "integrity": "sha512-wd+SD57/K6DiV7jIR34P+s3uckTRuQvx0tKPcvjFlrEylk6P4mQ2KSWk1hblj1Kxaqok7LogKOieygXqBczNlg==",
"dev": true,
"requires": {
- "chalk": "^2.4.2",
- "source-map": "^0.6.1",
- "supports-color": "^6.1.0"
+ "schema-utils": "^4.0.0"
},
"dependencies": {
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "ajv": {
+ "version": "8.11.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
+ "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
"dev": true,
"requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "ajv-keywords": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
+ "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.3"
}
},
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
"dev": true
},
- "supports-color": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
- "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "schema-utils": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
+ "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
"dev": true,
"requires": {
- "has-flag": "^3.0.0"
+ "@types/json-schema": "^7.0.9",
+ "ajv": "^8.8.0",
+ "ajv-formats": "^2.1.1",
+ "ajv-keywords": "^5.0.0"
}
}
}
},
- "postcss-calc": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.2.tgz",
- "integrity": "sha512-rofZFHUg6ZIrvRwPeFktv06GdbDYLcGqh9EwiMutZg+a0oePCCw1zHOEiji6LCpyRcjTREtPASuUqeAvYlEVvQ==",
- "dev": true,
+ "minimalistic-assert": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
+ "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
+ "dev": true
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minipass": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz",
+ "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==",
+ "requires": {
+ "yallist": "^4.0.0"
+ },
+ "dependencies": {
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ }
+ }
+ },
+ "minipass-collect": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz",
+ "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
+ "requires": {
+ "minipass": "^3.0.0"
+ }
+ },
+ "minipass-flush": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
+ "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
"requires": {
- "postcss": "^7.0.27",
- "postcss-selector-parser": "^6.0.2",
- "postcss-value-parser": "^4.0.2"
+ "minipass": "^3.0.0"
}
},
- "postcss-colormin": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz",
- "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==",
- "dev": true,
+ "minipass-pipeline": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.3.tgz",
+ "integrity": "sha512-cFOknTvng5vqnwOpDsZTWhNll6Jf8o2x+/diplafmxpuIymAjzoOolZG0VvQf3V2HgqzJNhnuKHYp2BqDgz8IQ==",
"requires": {
- "browserslist": "^4.0.0",
- "color": "^3.0.0",
- "has": "^1.0.0",
- "postcss": "^7.0.0",
- "postcss-value-parser": "^3.0.0"
- },
- "dependencies": {
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- }
+ "minipass": "^3.0.0"
}
},
- "postcss-convert-values": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz",
- "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==",
- "dev": true,
+ "minizlib": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
+ "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
"requires": {
- "postcss": "^7.0.0",
- "postcss-value-parser": "^3.0.0"
+ "minipass": "^3.0.0",
+ "yallist": "^4.0.0"
},
"dependencies": {
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
}
}
},
- "postcss-discard-comments": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz",
- "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==",
+ "moment": {
+ "version": "2.29.4",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
+ "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w=="
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ },
+ "multicast-dns": {
+ "version": "7.2.5",
+ "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz",
+ "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==",
"dev": true,
"requires": {
- "postcss": "^7.0.0"
+ "dns-packet": "^5.2.2",
+ "thunky": "^1.0.2"
}
},
- "postcss-discard-duplicates": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz",
- "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==",
+ "nanoid": {
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
+ "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
+ "dev": true
+ },
+ "negotiator": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
+ "dev": true
+ },
+ "neo-async": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
+ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
+ "dev": true
+ },
+ "node-forge": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
+ "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==",
+ "dev": true
+ },
+ "node-notifier": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-9.0.1.tgz",
+ "integrity": "sha512-fPNFIp2hF/Dq7qLDzSg4vZ0J4e9v60gJR+Qx7RbjbWqzPDdEqeVpEx5CFeDAELIl+A/woaaNn1fQ5nEVerMxJg==",
"dev": true,
"requires": {
- "postcss": "^7.0.0"
+ "growly": "^1.3.0",
+ "is-wsl": "^2.2.0",
+ "semver": "^7.3.2",
+ "shellwords": "^0.1.1",
+ "uuid": "^8.3.0",
+ "which": "^2.0.2"
}
},
- "postcss-discard-empty": {
+ "node-releases": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz",
+ "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==",
+ "dev": true
+ },
+ "normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
+ },
+ "normalize-url": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
+ "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==",
+ "dev": true
+ },
+ "npm-run-path": {
"version": "4.0.1",
- "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz",
- "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+ "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
"dev": true,
"requires": {
- "postcss": "^7.0.0"
+ "path-key": "^3.0.0"
}
},
- "postcss-discard-overridden": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz",
- "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==",
+ "nth-check": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
+ "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
"dev": true,
"requires": {
- "postcss": "^7.0.0"
+ "boolbase": "^1.0.0"
}
},
- "postcss-merge-longhand": {
- "version": "4.0.11",
- "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz",
- "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==",
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
+ "dev": true
+ },
+ "object-inspect": {
+ "version": "1.12.2",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
+ "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==",
+ "dev": true
+ },
+ "object-keys": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+ "dev": true
+ },
+ "object.assign": {
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz",
+ "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==",
"dev": true,
"requires": {
- "css-color-names": "0.0.4",
- "postcss": "^7.0.0",
- "postcss-value-parser": "^3.0.0",
- "stylehacks": "^4.0.0"
- },
- "dependencies": {
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- }
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.4",
+ "has-symbols": "^1.0.3",
+ "object-keys": "^1.1.1"
}
},
- "postcss-merge-rules": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz",
- "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==",
+ "obuf": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
+ "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==",
+ "dev": true
+ },
+ "on-finished": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
"dev": true,
"requires": {
- "browserslist": "^4.0.0",
- "caniuse-api": "^3.0.0",
- "cssnano-util-same-parent": "^4.0.0",
- "postcss": "^7.0.0",
- "postcss-selector-parser": "^3.0.0",
- "vendors": "^1.0.0"
- },
- "dependencies": {
- "postcss-selector-parser": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz",
- "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==",
- "dev": true,
- "requires": {
- "dot-prop": "^5.2.0",
- "indexes-of": "^1.0.1",
- "uniq": "^1.0.1"
- }
- }
+ "ee-first": "1.1.1"
}
},
- "postcss-minify-font-values": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz",
- "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==",
- "dev": true,
+ "on-headers": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
+ "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==",
+ "dev": true
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"requires": {
- "postcss": "^7.0.0",
- "postcss-value-parser": "^3.0.0"
- },
- "dependencies": {
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- }
+ "wrappy": "1"
}
},
- "postcss-minify-gradients": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz",
- "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==",
+ "onetime": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+ "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
"dev": true,
"requires": {
- "cssnano-util-get-arguments": "^4.0.0",
- "is-color-stop": "^1.0.0",
- "postcss": "^7.0.0",
- "postcss-value-parser": "^3.0.0"
- },
- "dependencies": {
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- }
+ "mimic-fn": "^2.1.0"
}
},
- "postcss-minify-params": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz",
- "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==",
+ "open": {
+ "version": "8.4.0",
+ "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz",
+ "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==",
"dev": true,
"requires": {
- "alphanum-sort": "^1.0.0",
- "browserslist": "^4.0.0",
- "cssnano-util-get-arguments": "^4.0.0",
- "postcss": "^7.0.0",
- "postcss-value-parser": "^3.0.0",
- "uniqs": "^2.0.0"
- },
- "dependencies": {
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- }
+ "define-lazy-prop": "^2.0.0",
+ "is-docker": "^2.1.1",
+ "is-wsl": "^2.2.0"
}
},
- "postcss-minify-selectors": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz",
- "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==",
- "dev": true,
+ "p-limit": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"requires": {
- "alphanum-sort": "^1.0.0",
- "has": "^1.0.0",
- "postcss": "^7.0.0",
- "postcss-selector-parser": "^3.0.0"
- },
- "dependencies": {
- "postcss-selector-parser": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz",
- "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==",
- "dev": true,
- "requires": {
- "dot-prop": "^5.2.0",
- "indexes-of": "^1.0.1",
- "uniq": "^1.0.1"
- }
- }
+ "p-try": "^2.0.0"
}
},
- "postcss-modules-extract-imports": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz",
- "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==",
+ "p-locate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
"dev": true,
"requires": {
- "postcss": "^7.0.5"
+ "p-limit": "^2.0.0"
}
},
- "postcss-modules-local-by-default": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz",
- "integrity": "sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ==",
+ "p-map": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz",
+ "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==",
+ "dev": true
+ },
+ "p-retry": {
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz",
+ "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==",
"dev": true,
"requires": {
- "icss-utils": "^4.1.1",
- "postcss": "^7.0.16",
- "postcss-selector-parser": "^6.0.2",
- "postcss-value-parser": "^4.0.0"
+ "@types/retry": "0.12.0",
+ "retry": "^0.13.1"
}
},
- "postcss-modules-scope": {
+ "p-try": {
"version": "2.2.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz",
- "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==",
- "dev": true,
- "requires": {
- "postcss": "^7.0.6",
- "postcss-selector-parser": "^6.0.0"
- }
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
},
- "postcss-modules-values": {
+ "pako": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
+ "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
+ },
+ "parseurl": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
+ "dev": true
+ },
+ "path-exists": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz",
- "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==",
- "dev": true,
- "requires": {
- "icss-utils": "^4.0.0",
- "postcss": "^7.0.6"
- }
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+ "dev": true
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
+ },
+ "path-is-inside": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
+ "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==",
+ "dev": true
+ },
+ "path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true
+ },
+ "path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+ "dev": true
+ },
+ "path-to-regexp": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
+ "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==",
+ "dev": true
+ },
+ "path-type": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw=="
+ },
+ "picocolors": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
+ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
+ "dev": true
+ },
+ "picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
+ },
+ "pify": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+ "dev": true
+ },
+ "pinkie": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
+ "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==",
+ "dev": true
},
- "postcss-normalize-charset": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz",
- "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==",
+ "pinkie-promise": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==",
"dev": true,
"requires": {
- "postcss": "^7.0.0"
+ "pinkie": "^2.0.0"
}
},
- "postcss-normalize-display-values": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz",
- "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==",
- "dev": true,
+ "pkg-dir": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
+ "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
"requires": {
- "cssnano-util-get-match": "^4.0.0",
- "postcss": "^7.0.0",
- "postcss-value-parser": "^3.0.0"
+ "find-up": "^4.0.0"
},
"dependencies": {
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
+ "find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "requires": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "requires": {
+ "p-locate": "^4.1.0"
+ }
+ },
+ "p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "requires": {
+ "p-limit": "^2.2.0"
+ }
+ },
+ "path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="
}
}
},
- "postcss-normalize-positions": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz",
- "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==",
+ "pkg-up": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz",
+ "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==",
"dev": true,
"requires": {
- "cssnano-util-get-arguments": "^4.0.0",
- "has": "^1.0.0",
- "postcss": "^7.0.0",
- "postcss-value-parser": "^3.0.0"
- },
- "dependencies": {
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- }
+ "find-up": "^3.0.0"
}
},
- "postcss-normalize-repeat-style": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz",
- "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==",
+ "postcss": {
+ "version": "8.4.16",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.16.tgz",
+ "integrity": "sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==",
"dev": true,
"requires": {
- "cssnano-util-get-arguments": "^4.0.0",
- "cssnano-util-get-match": "^4.0.0",
- "postcss": "^7.0.0",
- "postcss-value-parser": "^3.0.0"
- },
- "dependencies": {
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- }
+ "nanoid": "^3.3.4",
+ "picocolors": "^1.0.0",
+ "source-map-js": "^1.0.2"
}
},
- "postcss-normalize-string": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz",
- "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==",
+ "postcss-calc": {
+ "version": "8.2.4",
+ "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz",
+ "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==",
"dev": true,
"requires": {
- "has": "^1.0.0",
- "postcss": "^7.0.0",
- "postcss-value-parser": "^3.0.0"
- },
- "dependencies": {
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- }
+ "postcss-selector-parser": "^6.0.9",
+ "postcss-value-parser": "^4.2.0"
}
},
- "postcss-normalize-timing-functions": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz",
- "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==",
+ "postcss-colormin": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz",
+ "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==",
"dev": true,
"requires": {
- "cssnano-util-get-match": "^4.0.0",
- "postcss": "^7.0.0",
- "postcss-value-parser": "^3.0.0"
- },
- "dependencies": {
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- }
+ "browserslist": "^4.16.6",
+ "caniuse-api": "^3.0.0",
+ "colord": "^2.9.1",
+ "postcss-value-parser": "^4.2.0"
}
},
- "postcss-normalize-unicode": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz",
- "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==",
+ "postcss-convert-values": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.2.tgz",
+ "integrity": "sha512-c6Hzc4GAv95B7suy4udszX9Zy4ETyMCgFPUDtWjdFTKH1SE9eFY/jEpHSwTH1QPuwxHpWslhckUQWbNRM4ho5g==",
"dev": true,
"requires": {
- "browserslist": "^4.0.0",
- "postcss": "^7.0.0",
- "postcss-value-parser": "^3.0.0"
- },
- "dependencies": {
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- }
+ "browserslist": "^4.20.3",
+ "postcss-value-parser": "^4.2.0"
}
},
- "postcss-normalize-url": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz",
- "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==",
+ "postcss-discard-comments": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz",
+ "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==",
"dev": true,
- "requires": {
- "is-absolute-url": "^2.0.0",
- "normalize-url": "^3.0.0",
- "postcss": "^7.0.0",
- "postcss-value-parser": "^3.0.0"
- },
- "dependencies": {
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- }
- }
+ "requires": {}
},
- "postcss-normalize-whitespace": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz",
- "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==",
+ "postcss-discard-duplicates": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz",
+ "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==",
"dev": true,
- "requires": {
- "postcss": "^7.0.0",
- "postcss-value-parser": "^3.0.0"
- },
- "dependencies": {
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- }
- }
+ "requires": {}
},
- "postcss-ordered-values": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz",
- "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==",
+ "postcss-discard-empty": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz",
+ "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==",
"dev": true,
- "requires": {
- "cssnano-util-get-arguments": "^4.0.0",
- "postcss": "^7.0.0",
- "postcss-value-parser": "^3.0.0"
- },
- "dependencies": {
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- }
- }
+ "requires": {}
},
- "postcss-reduce-initial": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz",
- "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==",
+ "postcss-discard-overridden": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz",
+ "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==",
"dev": true,
- "requires": {
- "browserslist": "^4.0.0",
- "caniuse-api": "^3.0.0",
- "has": "^1.0.0",
- "postcss": "^7.0.0"
- }
+ "requires": {}
},
- "postcss-reduce-transforms": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz",
- "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==",
+ "postcss-merge-longhand": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.6.tgz",
+ "integrity": "sha512-6C/UGF/3T5OE2CEbOuX7iNO63dnvqhGZeUnKkDeifebY0XqkkvrctYSZurpNE902LDf2yKwwPFgotnfSoPhQiw==",
"dev": true,
"requires": {
- "cssnano-util-get-match": "^4.0.0",
- "has": "^1.0.0",
- "postcss": "^7.0.0",
- "postcss-value-parser": "^3.0.0"
- },
- "dependencies": {
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- }
+ "postcss-value-parser": "^4.2.0",
+ "stylehacks": "^5.1.0"
}
},
- "postcss-selector-parser": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz",
- "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==",
+ "postcss-merge-rules": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.2.tgz",
+ "integrity": "sha512-zKMUlnw+zYCWoPN6yhPjtcEdlJaMUZ0WyVcxTAmw3lkkN/NDMRkOkiuctQEoWAOvH7twaxUUdvBWl0d4+hifRQ==",
"dev": true,
"requires": {
- "cssesc": "^3.0.0",
- "indexes-of": "^1.0.1",
- "uniq": "^1.0.1"
+ "browserslist": "^4.16.6",
+ "caniuse-api": "^3.0.0",
+ "cssnano-utils": "^3.1.0",
+ "postcss-selector-parser": "^6.0.5"
}
},
- "postcss-svgo": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz",
- "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==",
+ "postcss-minify-font-values": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz",
+ "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==",
"dev": true,
"requires": {
- "is-svg": "^3.0.0",
- "postcss": "^7.0.0",
- "postcss-value-parser": "^3.0.0",
- "svgo": "^1.0.0"
- },
- "dependencies": {
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- }
+ "postcss-value-parser": "^4.2.0"
}
},
- "postcss-unique-selectors": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz",
- "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==",
+ "postcss-minify-gradients": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz",
+ "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==",
"dev": true,
"requires": {
- "alphanum-sort": "^1.0.0",
- "postcss": "^7.0.0",
- "uniqs": "^2.0.0"
+ "colord": "^2.9.1",
+ "cssnano-utils": "^3.1.0",
+ "postcss-value-parser": "^4.2.0"
}
},
- "postcss-value-parser": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz",
- "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==",
- "dev": true
- },
- "pretty-error": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz",
- "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=",
+ "postcss-minify-params": {
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.3.tgz",
+ "integrity": "sha512-bkzpWcjykkqIujNL+EVEPOlLYi/eZ050oImVtHU7b4lFS82jPnsCb44gvC6pxaNt38Els3jWYDHTjHKf0koTgg==",
"dev": true,
"requires": {
- "renderkid": "^2.0.1",
- "utila": "~0.4"
+ "browserslist": "^4.16.6",
+ "cssnano-utils": "^3.1.0",
+ "postcss-value-parser": "^4.2.0"
}
},
- "process": {
- "version": "0.11.10",
- "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
- "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
- "dev": true
- },
- "process-nextick-args": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
- },
- "promise-inflight": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
- "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM="
- },
- "proxy-addr": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
- "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==",
+ "postcss-minify-selectors": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz",
+ "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==",
"dev": true,
"requires": {
- "forwarded": "~0.1.2",
- "ipaddr.js": "1.9.1"
+ "postcss-selector-parser": "^6.0.5"
}
},
- "prr": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
- "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
- "dev": true
+ "postcss-modules-extract-imports": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz",
+ "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==",
+ "dev": true,
+ "requires": {}
},
- "public-encrypt": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
- "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
+ "postcss-modules-local-by-default": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz",
+ "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==",
"dev": true,
"requires": {
- "bn.js": "^4.1.0",
- "browserify-rsa": "^4.0.0",
- "create-hash": "^1.1.0",
- "parse-asn1": "^5.0.0",
- "randombytes": "^2.0.1",
- "safe-buffer": "^5.1.2"
- },
- "dependencies": {
- "bn.js": {
- "version": "4.11.9",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
- "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
- "dev": true
- }
+ "icss-utils": "^5.0.0",
+ "postcss-selector-parser": "^6.0.2",
+ "postcss-value-parser": "^4.1.0"
}
},
- "pump": {
+ "postcss-modules-scope": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
- "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+ "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz",
+ "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==",
"dev": true,
"requires": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
+ "postcss-selector-parser": "^6.0.4"
}
},
- "pumpify": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
- "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
+ "postcss-modules-values": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz",
+ "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==",
"dev": true,
"requires": {
- "duplexify": "^3.6.0",
- "inherits": "^2.0.3",
- "pump": "^2.0.0"
- },
- "dependencies": {
- "pump": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
- "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
- "dev": true,
- "requires": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- }
+ "icss-utils": "^5.0.0"
}
},
- "punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
- },
- "q": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
- "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
- "dev": true
- },
- "qs": {
- "version": "6.7.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
- "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
- "dev": true
- },
- "querystring": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
- "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
- "dev": true
- },
- "querystring-es3": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
- "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
- "dev": true
- },
- "querystringify": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz",
- "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==",
- "dev": true
- },
- "randombytes": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
- "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
- "requires": {
- "safe-buffer": "^5.1.0"
- }
+ "postcss-normalize-charset": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz",
+ "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==",
+ "dev": true,
+ "requires": {}
},
- "randomfill": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
- "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
+ "postcss-normalize-display-values": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz",
+ "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==",
"dev": true,
"requires": {
- "randombytes": "^2.0.5",
- "safe-buffer": "^5.1.0"
+ "postcss-value-parser": "^4.2.0"
}
},
- "range-parser": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
- "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
- "dev": true
- },
- "raw-body": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
- "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
+ "postcss-normalize-positions": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz",
+ "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==",
"dev": true,
"requires": {
- "bytes": "3.1.0",
- "http-errors": "1.7.2",
- "iconv-lite": "0.4.24",
- "unpipe": "1.0.0"
- },
- "dependencies": {
- "bytes": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
- "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
- "dev": true
- }
+ "postcss-value-parser": "^4.2.0"
}
},
- "readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "postcss-normalize-repeat-style": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz",
+ "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==",
"dev": true,
"requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
+ "postcss-value-parser": "^4.2.0"
}
},
- "readdirp": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz",
- "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==",
+ "postcss-normalize-string": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz",
+ "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==",
"dev": true,
- "optional": true,
"requires": {
- "picomatch": "^2.2.1"
+ "postcss-value-parser": "^4.2.0"
}
},
- "regenerate": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.1.tgz",
- "integrity": "sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A==",
- "dev": true
- },
- "regenerate-unicode-properties": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz",
- "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==",
+ "postcss-normalize-timing-functions": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz",
+ "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==",
"dev": true,
"requires": {
- "regenerate": "^1.4.0"
+ "postcss-value-parser": "^4.2.0"
}
},
- "regenerator-runtime": {
- "version": "0.13.5",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz",
- "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==",
- "dev": true
- },
- "regenerator-transform": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz",
- "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==",
+ "postcss-normalize-unicode": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz",
+ "integrity": "sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ==",
"dev": true,
"requires": {
- "@babel/runtime": "^7.8.4"
+ "browserslist": "^4.16.6",
+ "postcss-value-parser": "^4.2.0"
}
},
- "regex-not": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
- "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+ "postcss-normalize-url": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz",
+ "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==",
"dev": true,
"requires": {
- "extend-shallow": "^3.0.2",
- "safe-regex": "^1.1.0"
+ "normalize-url": "^6.0.1",
+ "postcss-value-parser": "^4.2.0"
}
},
- "regex-parser": {
- "version": "2.2.10",
- "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.10.tgz",
- "integrity": "sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA==",
- "dev": true
- },
- "regexp.prototype.flags": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz",
- "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==",
+ "postcss-normalize-whitespace": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz",
+ "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==",
"dev": true,
"requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.0-next.1"
+ "postcss-value-parser": "^4.2.0"
}
},
- "regexpu-core": {
- "version": "4.7.0",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz",
- "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==",
+ "postcss-ordered-values": {
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz",
+ "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==",
"dev": true,
"requires": {
- "regenerate": "^1.4.0",
- "regenerate-unicode-properties": "^8.2.0",
- "regjsgen": "^0.5.1",
- "regjsparser": "^0.6.4",
- "unicode-match-property-ecmascript": "^1.0.4",
- "unicode-match-property-value-ecmascript": "^1.2.0"
+ "cssnano-utils": "^3.1.0",
+ "postcss-value-parser": "^4.2.0"
}
},
- "regjsgen": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz",
- "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==",
- "dev": true
- },
- "regjsparser": {
- "version": "0.6.4",
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz",
- "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==",
+ "postcss-reduce-initial": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz",
+ "integrity": "sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw==",
"dev": true,
"requires": {
- "jsesc": "~0.5.0"
- },
- "dependencies": {
- "jsesc": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
- "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
- "dev": true
- }
+ "browserslist": "^4.16.6",
+ "caniuse-api": "^3.0.0"
}
},
- "remove-trailing-separator": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
- "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
- "dev": true
- },
- "renderkid": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.3.tgz",
- "integrity": "sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA==",
+ "postcss-reduce-transforms": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz",
+ "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==",
"dev": true,
"requires": {
- "css-select": "^1.1.0",
- "dom-converter": "^0.2",
- "htmlparser2": "^3.3.0",
- "strip-ansi": "^3.0.0",
- "utila": "^0.4.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
- "dev": true
- },
- "css-select": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz",
- "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=",
- "dev": true,
- "requires": {
- "boolbase": "~1.0.0",
- "css-what": "2.1",
- "domutils": "1.5.1",
- "nth-check": "~1.0.1"
- }
- },
- "css-what": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz",
- "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==",
- "dev": true
- },
- "domutils": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
- "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
- "dev": true,
- "requires": {
- "dom-serializer": "0",
- "domelementtype": "1"
- }
- },
- "strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- }
+ "postcss-value-parser": "^4.2.0"
}
},
- "repeat-element": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
- "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
- "dev": true
- },
- "repeat-string": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
- "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
- "dev": true
- },
- "require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
- "dev": true
- },
- "require-main-filename": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
- "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
- "dev": true
- },
- "requires-port": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
- "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
- "dev": true
- },
- "resolve": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
- "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
+ "postcss-selector-parser": {
+ "version": "6.0.10",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
+ "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==",
"dev": true,
"requires": {
- "path-parse": "^1.0.6"
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
}
},
- "resolve-cwd": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz",
- "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=",
+ "postcss-svgo": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz",
+ "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==",
"dev": true,
"requires": {
- "resolve-from": "^3.0.0"
+ "postcss-value-parser": "^4.2.0",
+ "svgo": "^2.7.0"
}
},
- "resolve-dir": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
- "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
+ "postcss-unique-selectors": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz",
+ "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==",
"dev": true,
"requires": {
- "expand-tilde": "^2.0.0",
- "global-modules": "^1.0.0"
- },
- "dependencies": {
- "global-modules": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
- "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
- "dev": true,
- "requires": {
- "global-prefix": "^1.0.1",
- "is-windows": "^1.0.1",
- "resolve-dir": "^1.0.0"
- }
- }
+ "postcss-selector-parser": "^6.0.5"
}
},
- "resolve-from": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
- "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
- "dev": true
- },
- "resolve-url": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
- "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
+ "postcss-value-parser": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
"dev": true
},
- "resolve-url-loader": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.1.tgz",
- "integrity": "sha512-K1N5xUjj7v0l2j/3Sgs5b8CjrrgtC70SmdCuZiJ8tSyb5J+uk3FoeZ4b7yTnH6j7ngI+Bc5bldHJIa8hYdu2gQ==",
- "dev": true,
- "requires": {
- "adjust-sourcemap-loader": "2.0.0",
- "camelcase": "5.3.1",
- "compose-function": "3.0.3",
- "convert-source-map": "1.7.0",
- "es6-iterator": "2.0.3",
- "loader-utils": "1.2.3",
- "postcss": "7.0.21",
- "rework": "1.0.1",
- "rework-visit": "1.0.0",
- "source-map": "0.6.1"
- },
- "dependencies": {
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "emojis-list": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
- "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
- "dev": true
- },
- "json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.0"
- }
- },
- "loader-utils": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz",
- "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==",
- "dev": true,
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^2.0.0",
- "json5": "^1.0.1"
- }
- },
- "postcss": {
- "version": "7.0.21",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.21.tgz",
- "integrity": "sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ==",
- "dev": true,
- "requires": {
- "chalk": "^2.4.2",
- "source-map": "^0.6.1",
- "supports-color": "^6.1.0"
- }
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- },
- "supports-color": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
- "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
+ "pretty-error": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz",
+ "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.17.20",
+ "renderkid": "^3.0.0"
}
},
- "ret": {
- "version": "0.1.15",
- "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
- "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
- "dev": true
- },
- "retry": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
- "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=",
- "dev": true
- },
- "reusify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw=="
+ "process-nextick-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
},
- "rework": {
+ "promise-inflight": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz",
- "integrity": "sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc=",
+ "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
+ "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM="
+ },
+ "proxy-addr": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
+ "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
"dev": true,
"requires": {
- "convert-source-map": "^0.3.3",
- "css": "^2.0.0"
+ "forwarded": "0.2.0",
+ "ipaddr.js": "1.9.1"
},
"dependencies": {
- "convert-source-map": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz",
- "integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA=",
+ "ipaddr.js": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
+ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
"dev": true
}
}
},
- "rework-visit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz",
- "integrity": "sha1-mUWygD8hni96ygCtuLyfZA+ELJo=",
- "dev": true
- },
- "rgb-regex": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz",
- "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=",
- "dev": true
- },
- "rgba-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz",
- "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=",
- "dev": true
+ "punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
},
- "rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "qs": {
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
"dev": true,
"requires": {
- "glob": "^7.1.3"
+ "side-channel": "^1.0.4"
}
},
- "ripemd160": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
- "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
- "dev": true,
+ "randombytes": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
+ "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
"requires": {
- "hash-base": "^3.0.0",
- "inherits": "^2.0.1"
+ "safe-buffer": "^5.1.0"
}
},
- "run-parallel": {
- "version": "1.1.9",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz",
- "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q=="
+ "range-parser": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
+ "dev": true
},
- "run-queue": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
- "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
+ "raw-body": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
+ "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
"dev": true,
"requires": {
- "aproba": "^1.1.1"
+ "bytes": "3.1.2",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "unpipe": "1.0.0"
+ },
+ "dependencies": {
+ "bytes": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
+ "dev": true
+ }
}
},
- "safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
- },
- "safe-regex": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
- "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+ "readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
"dev": true,
"requires": {
- "ret": "~0.1.10"
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
}
},
- "safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true
- },
- "sax": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
- "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
- "dev": true
+ "readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "dev": true,
+ "requires": {
+ "picomatch": "^2.2.1"
+ }
},
- "schema-utils": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz",
- "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==",
+ "rechoir": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz",
+ "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==",
+ "dev": true,
"requires": {
- "@types/json-schema": "^7.0.4",
- "ajv": "^6.12.2",
- "ajv-keywords": "^3.4.1"
+ "resolve": "^1.9.0"
}
},
- "select-hose": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
- "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=",
+ "regenerate": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
+ "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==",
"dev": true
},
- "selfsigned": {
- "version": "1.10.7",
- "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz",
- "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==",
+ "regenerate-unicode-properties": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz",
+ "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==",
"dev": true,
"requires": {
- "node-forge": "0.9.0"
+ "regenerate": "^1.4.2"
}
},
- "semver": {
- "version": "7.3.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
- "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
+ "regenerator-runtime": {
+ "version": "0.13.5",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz",
+ "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==",
"dev": true
},
- "send": {
- "version": "0.17.1",
- "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
- "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
+ "regenerator-transform": {
+ "version": "0.15.0",
+ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz",
+ "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==",
"dev": true,
"requires": {
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "destroy": "~1.0.4",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "fresh": "0.5.2",
- "http-errors": "~1.7.2",
- "mime": "1.6.0",
- "ms": "2.1.1",
- "on-finished": "~2.3.0",
- "range-parser": "~1.2.1",
- "statuses": "~1.5.0"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- },
- "dependencies": {
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- }
- }
- },
- "ms": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
- "dev": true
- }
+ "@babel/runtime": "^7.8.4"
}
},
- "serialize-javascript": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz",
- "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==",
+ "regex-parser": {
+ "version": "2.2.11",
+ "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz",
+ "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==",
+ "dev": true
+ },
+ "regexpu-core": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz",
+ "integrity": "sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==",
"dev": true,
"requires": {
- "randombytes": "^2.1.0"
+ "regenerate": "^1.4.2",
+ "regenerate-unicode-properties": "^10.0.1",
+ "regjsgen": "^0.6.0",
+ "regjsparser": "^0.8.2",
+ "unicode-match-property-ecmascript": "^2.0.0",
+ "unicode-match-property-value-ecmascript": "^2.0.0"
}
},
- "serve-index": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
- "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=",
+ "regjsgen": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz",
+ "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==",
+ "dev": true
+ },
+ "regjsparser": {
+ "version": "0.8.4",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz",
+ "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==",
"dev": true,
"requires": {
- "accepts": "~1.3.4",
- "batch": "0.6.1",
- "debug": "2.6.9",
- "escape-html": "~1.0.3",
- "http-errors": "~1.6.2",
- "mime-types": "~2.1.17",
- "parseurl": "~1.3.2"
+ "jsesc": "~0.5.0"
},
"dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "http-errors": {
- "version": "1.6.3",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
- "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
- "dev": true,
- "requires": {
- "depd": "~1.1.2",
- "inherits": "2.0.3",
- "setprototypeof": "1.1.0",
- "statuses": ">= 1.4.0 < 2"
- }
- },
- "inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
- "dev": true
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- },
- "setprototypeof": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
- "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
+ "jsesc": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+ "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==",
"dev": true
}
}
},
- "serve-static": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
- "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
+ "renderkid": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz",
+ "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==",
"dev": true,
"requires": {
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "parseurl": "~1.3.3",
- "send": "0.17.1"
+ "css-select": "^4.1.3",
+ "dom-converter": "^0.2.0",
+ "htmlparser2": "^6.1.0",
+ "lodash": "^4.17.21",
+ "strip-ansi": "^6.0.1"
}
},
- "set-blocking": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
"dev": true
},
- "set-immediate-shim": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
- "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E="
+ "requires-port": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+ "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
+ "dev": true
},
- "set-value": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
- "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
+ "resolve": {
+ "version": "1.22.1",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
+ "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
"dev": true,
"requires": {
- "extend-shallow": "^2.0.1",
- "is-extendable": "^0.1.1",
- "is-plain-object": "^2.0.3",
- "split-string": "^3.0.1"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- }
+ "is-core-module": "^2.9.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
}
},
- "setimmediate": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
- "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
- "dev": true
- },
- "setprototypeof": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
- "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==",
- "dev": true
- },
- "sha.js": {
- "version": "2.4.11",
- "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
- "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
+ "resolve-cwd": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
+ "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
"dev": true,
"requires": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
+ "resolve-from": "^5.0.0"
}
},
- "shebang-command": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
- "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "dev": true
+ },
+ "resolve-url-loader": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz",
+ "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==",
"dev": true,
"requires": {
- "shebang-regex": "^1.0.0"
+ "adjust-sourcemap-loader": "^4.0.0",
+ "convert-source-map": "^1.7.0",
+ "loader-utils": "^2.0.0",
+ "postcss": "^8.2.14",
+ "source-map": "0.6.1"
}
},
- "shebang-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
- "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
- "dev": true
- },
- "shellwords": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz",
- "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==",
+ "retry": {
+ "version": "0.13.1",
+ "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
+ "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==",
"dev": true
},
- "signal-exit": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
- "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
- "dev": true
+ "reusify": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw=="
},
- "simple-swizzle": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
- "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=",
+ "rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
"dev": true,
"requires": {
- "is-arrayish": "^0.3.1"
- },
- "dependencies": {
- "is-arrayish": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
- "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
- "dev": true
- }
+ "glob": "^7.1.3"
}
},
- "slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="
+ "run-parallel": {
+ "version": "1.1.9",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz",
+ "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q=="
},
- "snapdragon": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
- "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
- "dev": true,
- "requires": {
- "base": "^0.11.1",
- "debug": "^2.2.0",
- "define-property": "^0.2.5",
- "extend-shallow": "^2.0.1",
- "map-cache": "^0.2.2",
- "source-map": "^0.5.6",
- "source-map-resolve": "^0.5.0",
- "use": "^3.1.0"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- }
- }
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
},
- "snapdragon-node": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
- "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
- "dev": true,
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "dev": true
+ },
+ "schema-utils": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz",
+ "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==",
"requires": {
- "define-property": "^1.0.0",
- "isobject": "^3.0.0",
- "snapdragon-util": "^3.0.1"
- },
- "dependencies": {
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^1.0.0"
- }
- },
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
- }
+ "@types/json-schema": "^7.0.4",
+ "ajv": "^6.12.2",
+ "ajv-keywords": "^3.4.1"
}
},
- "snapdragon-util": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
- "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
+ "select-hose": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
+ "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==",
+ "dev": true
+ },
+ "selfsigned": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.1.tgz",
+ "integrity": "sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ==",
+ "dev": true,
+ "requires": {
+ "node-forge": "^1"
+ }
+ },
+ "semver": {
+ "version": "7.3.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
+ "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
+ "dev": true
+ },
+ "send": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
+ "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
"dev": true,
"requires": {
- "kind-of": "^3.2.0"
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "mime": "1.6.0",
+ "ms": "2.1.3",
+ "on-finished": "2.4.1",
+ "range-parser": "~1.2.1",
+ "statuses": "2.0.1"
},
"dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
"requires": {
- "is-buffer": "^1.1.5"
+ "ms": "2.0.0"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": true
+ }
}
+ },
+ "ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
}
}
},
- "sockjs": {
- "version": "0.3.20",
- "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz",
- "integrity": "sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA==",
+ "serialize-javascript": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
+ "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
"dev": true,
"requires": {
- "faye-websocket": "^0.10.0",
- "uuid": "^3.4.0",
- "websocket-driver": "0.6.5"
+ "randombytes": "^2.1.0"
}
},
- "sockjs-client": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz",
- "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==",
+ "serve-index": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
+ "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==",
"dev": true,
"requires": {
- "debug": "^3.2.5",
- "eventsource": "^1.0.7",
- "faye-websocket": "~0.11.1",
- "inherits": "^2.0.3",
- "json3": "^3.3.2",
- "url-parse": "^1.4.3"
+ "accepts": "~1.3.4",
+ "batch": "0.6.1",
+ "debug": "2.6.9",
+ "escape-html": "~1.0.3",
+ "http-errors": "~1.6.2",
+ "mime-types": "~2.1.17",
+ "parseurl": "~1.3.2"
},
"dependencies": {
"debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
"requires": {
- "ms": "^2.1.1"
+ "ms": "2.0.0"
}
},
- "faye-websocket": {
- "version": "0.11.3",
- "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz",
- "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==",
+ "depd": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==",
+ "dev": true
+ },
+ "http-errors": {
+ "version": "1.6.3",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
+ "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==",
"dev": true,
"requires": {
- "websocket-driver": ">=0.5.1"
+ "depd": "~1.1.2",
+ "inherits": "2.0.3",
+ "setprototypeof": "1.1.0",
+ "statuses": ">= 1.4.0 < 2"
}
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==",
+ "dev": true
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": true
+ },
+ "setprototypeof": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
+ "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
+ "dev": true
+ },
+ "statuses": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
+ "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==",
+ "dev": true
}
}
},
- "source-list-map": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
- "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw=="
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true
- },
- "source-map-resolve": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
- "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
+ "serve-static": {
+ "version": "1.15.0",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
+ "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
"dev": true,
"requires": {
- "atob": "^2.1.2",
- "decode-uri-component": "^0.2.0",
- "resolve-url": "^0.2.1",
- "source-map-url": "^0.4.0",
- "urix": "^0.1.0"
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.3",
+ "send": "0.18.0"
}
},
- "source-map-support": {
- "version": "0.5.19",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
- "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
- "dev": true,
- "requires": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
- }
+ "setimmediate": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
+ "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
},
- "source-map-url": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
- "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
+ "setprototypeof": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
"dev": true
},
- "spdy": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz",
- "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==",
+ "shallow-clone": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
+ "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
"dev": true,
"requires": {
- "debug": "^4.1.0",
- "handle-thing": "^2.0.0",
- "http-deceiver": "^1.2.7",
- "select-hose": "^2.0.0",
- "spdy-transport": "^3.0.0"
+ "kind-of": "^6.0.2"
}
},
- "spdy-transport": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz",
- "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==",
+ "shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
"dev": true,
"requires": {
- "debug": "^4.1.0",
- "detect-node": "^2.0.4",
- "hpack.js": "^2.1.6",
- "obuf": "^1.1.2",
- "readable-stream": "^3.0.6",
- "wbuf": "^1.7.3"
+ "shebang-regex": "^3.0.0"
}
},
- "split-string": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
- "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
- "dev": true,
- "requires": {
- "extend-shallow": "^3.0.0"
- }
+ "shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true
},
- "sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+ "shellwords": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz",
+ "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==",
"dev": true
},
- "ssri": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz",
- "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==",
+ "side-channel": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
+ "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
"dev": true,
"requires": {
- "figgy-pudding": "^3.5.1"
+ "call-bind": "^1.0.0",
+ "get-intrinsic": "^1.0.2",
+ "object-inspect": "^1.9.0"
}
},
- "stable": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
- "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
+ "signal-exit": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
"dev": true
},
- "stackframe": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz",
- "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==",
- "dev": true
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="
},
- "static-extend": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
- "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+ "sockjs": {
+ "version": "0.3.24",
+ "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz",
+ "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==",
"dev": true,
"requires": {
- "define-property": "^0.2.5",
- "object-copy": "^0.1.0"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- }
+ "faye-websocket": "^0.11.3",
+ "uuid": "^8.3.2",
+ "websocket-driver": "^0.7.4"
}
},
- "statuses": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
- "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
- "dev": true
+ "source-list-map": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
+ "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw=="
},
- "stream-browserify": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
- "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
- "dev": true,
- "requires": {
- "inherits": "~2.0.1",
- "readable-stream": "^2.0.2"
- },
- "dependencies": {
- "readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
- }
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
},
- "stream-each": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
- "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
+ "source-map-js": {
+ "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": {
+ "version": "0.5.21",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
+ "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
"dev": true,
"requires": {
- "end-of-stream": "^1.1.0",
- "stream-shift": "^1.0.0"
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
}
},
- "stream-http": {
- "version": "2.8.3",
- "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
- "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
+ "spdy": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz",
+ "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==",
"dev": true,
- "requires": {
- "builtin-status-codes": "^3.0.0",
- "inherits": "^2.0.1",
- "readable-stream": "^2.3.6",
- "to-arraybuffer": "^1.0.0",
- "xtend": "^4.0.0"
- },
- "dependencies": {
- "readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
+ "requires": {
+ "debug": "^4.1.0",
+ "handle-thing": "^2.0.0",
+ "http-deceiver": "^1.2.7",
+ "select-hose": "^2.0.0",
+ "spdy-transport": "^3.0.0"
}
},
- "stream-shift": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
- "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==",
+ "spdy-transport": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz",
+ "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==",
+ "dev": true,
+ "requires": {
+ "debug": "^4.1.0",
+ "detect-node": "^2.0.4",
+ "hpack.js": "^2.1.6",
+ "obuf": "^1.1.2",
+ "readable-stream": "^3.0.6",
+ "wbuf": "^1.7.3"
+ }
+ },
+ "stable": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
+ "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
+ "dev": true
+ },
+ "stackframe": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz",
+ "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==",
+ "dev": true
+ },
+ "statuses": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
"dev": true
},
"string_decoder": {
@@ -19602,101 +13539,46 @@
}
},
"string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "dev": true,
- "requires": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
- },
- "dependencies": {
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^3.0.0"
- }
- }
- }
- },
- "string.prototype.trimend": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz",
- "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.5"
- }
- },
- "string.prototype.trimstart": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz",
- "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==",
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"dev": true,
"requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.5"
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
}
},
"strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true,
"requires": {
- "ansi-regex": "^4.1.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true
- }
+ "ansi-regex": "^5.0.1"
}
},
- "strip-eof": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
- "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+ "strip-final-newline": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+ "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
"dev": true
},
"style-loader": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.2.1.tgz",
- "integrity": "sha512-ByHSTQvHLkWE9Ir5+lGbVOXhxX10fbprhLvdg96wedFZb4NDekDPxVKv5Fwmio+QcMlkkNfuK+5W1peQ5CUhZg==",
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.1.tgz",
+ "integrity": "sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ==",
"dev": true,
- "requires": {
- "loader-utils": "^2.0.0",
- "schema-utils": "^2.6.6"
- }
+ "requires": {}
},
"stylehacks": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz",
- "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.0.tgz",
+ "integrity": "sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q==",
"dev": true,
"requires": {
- "browserslist": "^4.0.0",
- "postcss": "^7.0.0",
- "postcss-selector-parser": "^3.0.0"
- },
- "dependencies": {
- "postcss-selector-parser": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz",
- "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==",
- "dev": true,
- "requires": {
- "dot-prop": "^5.2.0",
- "indexes-of": "^1.0.1",
- "uniq": "^1.0.1"
- }
- }
+ "browserslist": "^4.16.6",
+ "postcss-selector-parser": "^6.0.4"
}
},
"summernote": {
@@ -19705,63 +13587,59 @@
"integrity": "sha512-VlwBaNm9vSYMYXvO2f3UCUmY0Gm8jxLcBn+D08aX3pKs4x2vAoyQ4DcDQ6D+PchQiLrf86AGQVfVu56F4aP3ug=="
},
"supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
"dev": true,
"requires": {
- "has-flag": "^3.0.0"
+ "has-flag": "^4.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
+ },
"svgo": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz",
- "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==",
- "dev": true,
- "requires": {
- "chalk": "^2.4.1",
- "coa": "^2.0.2",
- "css-select": "^2.0.0",
- "css-select-base-adapter": "^0.1.1",
- "css-tree": "1.0.0-alpha.37",
- "csso": "^4.0.2",
- "js-yaml": "^3.13.1",
- "mkdirp": "~0.5.1",
- "object.values": "^1.1.0",
- "sax": "~1.2.4",
- "stable": "^0.1.8",
- "unquote": "~1.1.1",
- "util.promisify": "~1.0.0"
- },
- "dependencies": {
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- }
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz",
+ "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==",
+ "dev": true,
+ "requires": {
+ "@trysound/sax": "0.2.0",
+ "commander": "^7.2.0",
+ "css-select": "^4.1.3",
+ "css-tree": "^1.1.3",
+ "csso": "^4.2.0",
+ "picocolors": "^1.0.0",
+ "stable": "^0.1.8"
+ }
+ },
+ "sync-rpc": {
+ "version": "1.3.6",
+ "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz",
+ "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==",
+ "dev": true,
+ "requires": {
+ "get-port": "^3.1.0"
}
},
"tapable": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
- "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+ "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
"dev": true
},
"tar": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.2.tgz",
- "integrity": "sha512-Glo3jkRtPcvpDlAs/0+hozav78yoXKFr+c4wgw62NNMO3oo4AaJdCo21Uu7lcwr55h39W2XD1LMERc64wtbItg==",
+ "version": "6.1.11",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz",
+ "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==",
"requires": {
"chownr": "^2.0.0",
"fs-minipass": "^2.0.0",
"minipass": "^3.0.0",
- "minizlib": "^2.1.0",
+ "minizlib": "^2.1.1",
"mkdirp": "^1.0.3",
"yallist": "^4.0.0"
},
@@ -19784,92 +13662,47 @@
}
},
"terser": {
- "version": "4.8.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
- "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==",
+ "version": "5.14.2",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz",
+ "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==",
"dev": true,
"requires": {
+ "@jridgewell/source-map": "^0.3.2",
+ "acorn": "^8.5.0",
"commander": "^2.20.0",
- "source-map": "~0.6.1",
- "source-map-support": "~0.5.12"
+ "source-map-support": "~0.5.20"
},
"dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"dev": true
}
}
},
"terser-webpack-plugin": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.4.tgz",
- "integrity": "sha512-U4mACBHIegmfoEe5fdongHESNJWqsGU+W0S/9+BmYGVQDw1+c2Ow05TpMhxjPK1sRb7cuYq1BPl1e5YHJMTCqA==",
+ "version": "5.3.5",
+ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.5.tgz",
+ "integrity": "sha512-AOEDLDxD2zylUGf/wxHxklEkOe2/r+seuyOWujejFrIxHf11brA1/dWQNIgXa1c6/Wkxgu7zvv0JhOWfc2ELEA==",
"dev": true,
"requires": {
- "cacache": "^12.0.2",
- "find-cache-dir": "^2.1.0",
- "is-wsl": "^1.1.0",
- "schema-utils": "^1.0.0",
- "serialize-javascript": "^3.1.0",
- "source-map": "^0.6.1",
- "terser": "^4.1.2",
- "webpack-sources": "^1.4.0",
- "worker-farm": "^1.7.0"
+ "@jridgewell/trace-mapping": "^0.3.14",
+ "jest-worker": "^27.4.5",
+ "schema-utils": "^3.1.1",
+ "serialize-javascript": "^6.0.0",
+ "terser": "^5.14.1"
},
"dependencies": {
"schema-utils": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
- "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
- "dev": true,
- "requires": {
- "ajv": "^6.1.0",
- "ajv-errors": "^1.0.0",
- "ajv-keywords": "^3.1.0"
- }
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
- }
- },
- "through2": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
- "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
- "dev": true,
- "requires": {
- "readable-stream": "~2.3.6",
- "xtend": "~4.0.1"
- },
- "dependencies": {
- "readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
+ "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
"dev": true,
"requires": {
- "safe-buffer": "~5.1.0"
+ "@types/json-schema": "^7.0.8",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
}
}
}
@@ -19880,21 +13713,6 @@
"integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==",
"dev": true
},
- "timers-browserify": {
- "version": "2.0.11",
- "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz",
- "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==",
- "dev": true,
- "requires": {
- "setimmediate": "^1.0.4"
- }
- },
- "timsort": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz",
- "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=",
- "dev": true
- },
"tmp": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
@@ -19915,58 +13733,18 @@
}
}
},
- "to-arraybuffer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
- "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
- "dev": true
- },
"to-fast-properties": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
- "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
"dev": true
},
- "to-object-path": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
- "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
- "dev": true,
- "requires": {
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
- "to-regex": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
- "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
- "dev": true,
- "requires": {
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "regex-not": "^1.0.2",
- "safe-regex": "^1.1.0"
- }
- },
"to-regex-range": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
- "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
- "dev": true,
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"requires": {
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1"
+ "is-number": "^7.0.0"
}
},
"toastr": {
@@ -19978,9 +13756,9 @@
}
},
"toidentifier": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
- "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
"dev": true
},
"tslib": {
@@ -19989,18 +13767,6 @@
"integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
"dev": true
},
- "tty-browserify": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
- "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
- "dev": true
- },
- "type": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
- "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==",
- "dev": true
- },
"type-is": {
"version": "1.6.18",
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
@@ -20011,62 +13777,32 @@
"mime-types": "~2.1.24"
}
},
- "typedarray": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
- "dev": true
- },
"unicode-canonical-property-names-ecmascript": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
- "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz",
+ "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==",
"dev": true
},
"unicode-match-property-ecmascript": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz",
- "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz",
+ "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==",
"dev": true,
"requires": {
- "unicode-canonical-property-names-ecmascript": "^1.0.4",
- "unicode-property-aliases-ecmascript": "^1.0.4"
+ "unicode-canonical-property-names-ecmascript": "^2.0.0",
+ "unicode-property-aliases-ecmascript": "^2.0.0"
}
},
"unicode-match-property-value-ecmascript": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz",
- "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz",
+ "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==",
"dev": true
},
"unicode-property-aliases-ecmascript": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz",
- "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==",
- "dev": true
- },
- "union-value": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
- "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
- "dev": true,
- "requires": {
- "arr-union": "^3.1.0",
- "get-value": "^2.0.6",
- "is-extendable": "^0.1.1",
- "set-value": "^2.0.1"
- }
- },
- "uniq": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
- "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=",
- "dev": true
- },
- "uniqs": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz",
- "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=",
+ "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz",
+ "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==",
"dev": true
},
"unique-filename": {
@@ -20085,70 +13821,22 @@
"imurmurhash": "^0.1.4"
}
},
- "universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true
- },
"unpipe": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
- "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
- "dev": true
- },
- "unquote": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz",
- "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=",
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
"dev": true
},
- "unset-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
- "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
+ "update-browserslist-db": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz",
+ "integrity": "sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==",
"dev": true,
"requires": {
- "has-value": "^0.3.1",
- "isobject": "^3.0.0"
- },
- "dependencies": {
- "has-value": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
- "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
- "dev": true,
- "requires": {
- "get-value": "^2.0.3",
- "has-values": "^0.1.4",
- "isobject": "^2.0.0"
- },
- "dependencies": {
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "dev": true,
- "requires": {
- "isarray": "1.0.0"
- }
- }
- }
- },
- "has-values": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
- "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
- "dev": true
- }
+ "escalade": "^3.1.1",
+ "picocolors": "^1.0.0"
}
},
- "upath": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
- "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
- "dev": true
- },
"uri-js": {
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
@@ -20157,114 +13845,33 @@
"punycode": "^2.1.0"
}
},
- "urix": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
- "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
- "dev": true
- },
- "url": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
- "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
- "dev": true,
- "requires": {
- "punycode": "1.3.2",
- "querystring": "0.2.0"
- },
- "dependencies": {
- "punycode": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
- "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
- "dev": true
- }
- }
- },
- "url-parse": {
- "version": "1.4.7",
- "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz",
- "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==",
- "dev": true,
- "requires": {
- "querystringify": "^2.1.1",
- "requires-port": "^1.0.0"
- }
- },
- "use": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
- "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
- "dev": true
- },
- "util": {
- "version": "0.10.3",
- "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
- "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
- "dev": true,
- "requires": {
- "inherits": "2.0.1"
- },
- "dependencies": {
- "inherits": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
- "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
- "dev": true
- }
- }
- },
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
},
- "util.promisify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz",
- "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.2",
- "has-symbols": "^1.0.1",
- "object.getownpropertydescriptors": "^2.1.0"
- }
- },
"utila": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz",
- "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=",
+ "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==",
"dev": true
},
"utils-merge": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
- "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
+ "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
"dev": true
},
"uuid": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
- "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
- "dev": true
- },
- "v8-compile-cache": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz",
- "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==",
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
"dev": true
},
"vary": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
- "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
- "dev": true
- },
- "vendors": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz",
- "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==",
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
"dev": true
},
"vis-network": {
@@ -20272,163 +13879,14 @@
"resolved": "https://registry.npmjs.org/vis-network/-/vis-network-7.8.0.tgz",
"integrity": "sha512-nQLBaMZODkeC2T6DEcczuKVtC2f8IZtOeNlq3U3AOvrh8r8ippS3qn/vUafiEjjsAx1fGCe03icTs0WVL27iKw=="
},
- "vm-browserify": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
- "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==",
- "dev": true
- },
"watchpack": {
- "version": "1.7.2",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.2.tgz",
- "integrity": "sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g==",
- "dev": true,
- "requires": {
- "chokidar": "^3.4.0",
- "graceful-fs": "^4.1.2",
- "neo-async": "^2.5.0",
- "watchpack-chokidar2": "^2.0.0"
- }
- },
- "watchpack-chokidar2": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz",
- "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz",
+ "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==",
"dev": true,
- "optional": true,
"requires": {
- "chokidar": "^2.1.8"
- },
- "dependencies": {
- "anymatch": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
- "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
- "dev": true,
- "optional": true,
- "requires": {
- "micromatch": "^3.1.4",
- "normalize-path": "^2.1.1"
- },
- "dependencies": {
- "normalize-path": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
- "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
- "dev": true,
- "optional": true,
- "requires": {
- "remove-trailing-separator": "^1.0.1"
- }
- }
- }
- },
- "binary-extensions": {
- "version": "1.13.1",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
- "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
- "dev": true,
- "optional": true
- },
- "chokidar": {
- "version": "2.1.8",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
- "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
- "dev": true,
- "optional": true,
- "requires": {
- "anymatch": "^2.0.0",
- "async-each": "^1.0.1",
- "braces": "^2.3.2",
- "fsevents": "^1.2.7",
- "glob-parent": "^3.1.0",
- "inherits": "^2.0.3",
- "is-binary-path": "^1.0.0",
- "is-glob": "^4.0.0",
- "normalize-path": "^3.0.0",
- "path-is-absolute": "^1.0.0",
- "readdirp": "^2.2.1",
- "upath": "^1.1.1"
- }
- },
- "fsevents": {
- "version": "1.2.13",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
- "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
- "dev": true,
- "optional": true
- },
- "glob-parent": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
- "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
- "dev": true,
- "optional": true,
- "requires": {
- "is-glob": "^3.1.0",
- "path-dirname": "^1.0.0"
- },
- "dependencies": {
- "is-glob": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
- "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
- "dev": true,
- "optional": true,
- "requires": {
- "is-extglob": "^2.1.0"
- }
- }
- }
- },
- "is-binary-path": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
- "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
- "dev": true,
- "optional": true,
- "requires": {
- "binary-extensions": "^1.0.0"
- }
- },
- "readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "optional": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "readdirp": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
- "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "graceful-fs": "^4.1.11",
- "micromatch": "^3.1.10",
- "readable-stream": "^2.0.2"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "optional": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
+ "glob-to-regexp": "^0.4.1",
+ "graceful-fs": "^4.1.2"
}
},
"wbuf": {
@@ -20441,419 +13899,235 @@
}
},
"webpack": {
- "version": "4.43.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.43.0.tgz",
- "integrity": "sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==",
- "dev": true,
- "requires": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/helper-module-context": "1.9.0",
- "@webassemblyjs/wasm-edit": "1.9.0",
- "@webassemblyjs/wasm-parser": "1.9.0",
- "acorn": "^6.4.1",
- "ajv": "^6.10.2",
- "ajv-keywords": "^3.4.1",
+ "version": "5.74.0",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz",
+ "integrity": "sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==",
+ "dev": true,
+ "requires": {
+ "@types/eslint-scope": "^3.7.3",
+ "@types/estree": "^0.0.51",
+ "@webassemblyjs/ast": "1.11.1",
+ "@webassemblyjs/wasm-edit": "1.11.1",
+ "@webassemblyjs/wasm-parser": "1.11.1",
+ "acorn": "^8.7.1",
+ "acorn-import-assertions": "^1.7.6",
+ "browserslist": "^4.14.5",
"chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^4.1.0",
- "eslint-scope": "^4.0.3",
- "json-parse-better-errors": "^1.0.2",
- "loader-runner": "^2.4.0",
- "loader-utils": "^1.2.3",
- "memory-fs": "^0.4.1",
- "micromatch": "^3.1.10",
- "mkdirp": "^0.5.3",
- "neo-async": "^2.6.1",
- "node-libs-browser": "^2.2.1",
- "schema-utils": "^1.0.0",
- "tapable": "^1.1.3",
- "terser-webpack-plugin": "^1.4.3",
- "watchpack": "^1.6.1",
- "webpack-sources": "^1.4.1"
- },
- "dependencies": {
- "json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.0"
- }
- },
- "loader-utils": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
- "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
- "dev": true,
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^1.0.1"
- }
- },
+ "enhanced-resolve": "^5.10.0",
+ "es-module-lexer": "^0.9.0",
+ "eslint-scope": "5.1.1",
+ "events": "^3.2.0",
+ "glob-to-regexp": "^0.4.1",
+ "graceful-fs": "^4.2.9",
+ "json-parse-even-better-errors": "^2.3.1",
+ "loader-runner": "^4.2.0",
+ "mime-types": "^2.1.27",
+ "neo-async": "^2.6.2",
+ "schema-utils": "^3.1.0",
+ "tapable": "^2.1.1",
+ "terser-webpack-plugin": "^5.1.3",
+ "watchpack": "^2.4.0",
+ "webpack-sources": "^3.2.3"
+ },
+ "dependencies": {
"schema-utils": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
- "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
+ "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
"dev": true,
"requires": {
- "ajv": "^6.1.0",
- "ajv-errors": "^1.0.0",
- "ajv-keywords": "^3.1.0"
+ "@types/json-schema": "^7.0.8",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
}
+ },
+ "webpack-sources": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
+ "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
+ "dev": true
}
}
},
"webpack-cli": {
- "version": "3.3.12",
- "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.12.tgz",
- "integrity": "sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag==",
+ "version": "4.10.0",
+ "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz",
+ "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==",
"dev": true,
"requires": {
- "chalk": "^2.4.2",
- "cross-spawn": "^6.0.5",
- "enhanced-resolve": "^4.1.1",
- "findup-sync": "^3.0.0",
- "global-modules": "^2.0.0",
- "import-local": "^2.0.0",
- "interpret": "^1.4.0",
- "loader-utils": "^1.4.0",
- "supports-color": "^6.1.0",
- "v8-compile-cache": "^2.1.1",
- "yargs": "^13.3.2"
- },
- "dependencies": {
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.0"
- }
- },
- "loader-utils": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
- "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
- "dev": true,
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^1.0.1"
- }
- },
- "supports-color": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
- "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
+ "@discoveryjs/json-ext": "^0.5.0",
+ "@webpack-cli/configtest": "^1.2.0",
+ "@webpack-cli/info": "^1.5.0",
+ "@webpack-cli/serve": "^1.7.0",
+ "colorette": "^2.0.14",
+ "commander": "^7.0.0",
+ "cross-spawn": "^7.0.3",
+ "fastest-levenshtein": "^1.0.12",
+ "import-local": "^3.0.2",
+ "interpret": "^2.2.0",
+ "rechoir": "^0.7.0",
+ "webpack-merge": "^5.7.3"
}
},
"webpack-dev-middleware": {
- "version": "3.7.2",
- "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz",
- "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==",
+ "version": "5.3.3",
+ "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz",
+ "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==",
"dev": true,
"requires": {
- "memory-fs": "^0.4.1",
- "mime": "^2.4.4",
- "mkdirp": "^0.5.1",
+ "colorette": "^2.0.10",
+ "memfs": "^3.4.3",
+ "mime-types": "^2.1.31",
"range-parser": "^1.2.1",
- "webpack-log": "^2.0.0"
+ "schema-utils": "^4.0.0"
},
"dependencies": {
- "mime": {
- "version": "2.4.6",
- "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz",
- "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==",
- "dev": true
- }
- }
- },
- "webpack-dev-server": {
- "version": "3.11.0",
- "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz",
- "integrity": "sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg==",
- "dev": true,
- "requires": {
- "ansi-html": "0.0.7",
- "bonjour": "^3.5.0",
- "chokidar": "^2.1.8",
- "compression": "^1.7.4",
- "connect-history-api-fallback": "^1.6.0",
- "debug": "^4.1.1",
- "del": "^4.1.1",
- "express": "^4.17.1",
- "html-entities": "^1.3.1",
- "http-proxy-middleware": "0.19.1",
- "import-local": "^2.0.0",
- "internal-ip": "^4.3.0",
- "ip": "^1.1.5",
- "is-absolute-url": "^3.0.3",
- "killable": "^1.0.1",
- "loglevel": "^1.6.8",
- "opn": "^5.5.0",
- "p-retry": "^3.0.1",
- "portfinder": "^1.0.26",
- "schema-utils": "^1.0.0",
- "selfsigned": "^1.10.7",
- "semver": "^6.3.0",
- "serve-index": "^1.9.1",
- "sockjs": "0.3.20",
- "sockjs-client": "1.4.0",
- "spdy": "^4.0.2",
- "strip-ansi": "^3.0.1",
- "supports-color": "^6.1.0",
- "url": "^0.11.0",
- "webpack-dev-middleware": "^3.7.2",
- "webpack-log": "^2.0.0",
- "ws": "^6.2.1",
- "yargs": "^13.3.2"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
- "dev": true
- },
- "anymatch": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
- "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
- "dev": true,
- "requires": {
- "micromatch": "^3.1.4",
- "normalize-path": "^2.1.1"
- },
- "dependencies": {
- "normalize-path": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
- "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
- "dev": true,
- "requires": {
- "remove-trailing-separator": "^1.0.1"
- }
- }
- }
- },
- "binary-extensions": {
- "version": "1.13.1",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
- "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
- "dev": true
- },
- "chokidar": {
- "version": "2.1.8",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
- "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
+ "ajv": {
+ "version": "8.11.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
+ "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
"dev": true,
"requires": {
- "anymatch": "^2.0.0",
- "async-each": "^1.0.1",
- "braces": "^2.3.2",
- "fsevents": "^1.2.7",
- "glob-parent": "^3.1.0",
- "inherits": "^2.0.3",
- "is-binary-path": "^1.0.0",
- "is-glob": "^4.0.0",
- "normalize-path": "^3.0.0",
- "path-is-absolute": "^1.0.0",
- "readdirp": "^2.2.1",
- "upath": "^1.1.1"
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
}
},
- "fsevents": {
- "version": "1.2.13",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
- "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
- "dev": true,
- "optional": true
- },
- "glob-parent": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
- "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+ "ajv-keywords": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
+ "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
"dev": true,
"requires": {
- "is-glob": "^3.1.0",
- "path-dirname": "^1.0.0"
- },
- "dependencies": {
- "is-glob": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
- "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
- "dev": true,
- "requires": {
- "is-extglob": "^2.1.0"
- }
- }
+ "fast-deep-equal": "^3.1.3"
}
},
- "is-absolute-url": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz",
- "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==",
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
"dev": true
},
- "is-binary-path": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
- "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
+ "schema-utils": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
+ "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
"dev": true,
"requires": {
- "binary-extensions": "^1.0.0"
+ "@types/json-schema": "^7.0.9",
+ "ajv": "^8.8.0",
+ "ajv-formats": "^2.1.1",
+ "ajv-keywords": "^5.0.0"
}
- },
- "readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ }
+ }
+ },
+ "webpack-dev-server": {
+ "version": "4.10.0",
+ "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.10.0.tgz",
+ "integrity": "sha512-7dezwAs+k6yXVFZ+MaL8VnE+APobiO3zvpp3rBHe/HmWQ+avwh0Q3d0xxacOiBybZZ3syTZw9HXzpa3YNbAZDQ==",
+ "dev": true,
+ "requires": {
+ "@types/bonjour": "^3.5.9",
+ "@types/connect-history-api-fallback": "^1.3.5",
+ "@types/express": "^4.17.13",
+ "@types/serve-index": "^1.9.1",
+ "@types/serve-static": "^1.13.10",
+ "@types/sockjs": "^0.3.33",
+ "@types/ws": "^8.5.1",
+ "ansi-html-community": "^0.0.8",
+ "bonjour-service": "^1.0.11",
+ "chokidar": "^3.5.3",
+ "colorette": "^2.0.10",
+ "compression": "^1.7.4",
+ "connect-history-api-fallback": "^2.0.0",
+ "default-gateway": "^6.0.3",
+ "express": "^4.17.3",
+ "graceful-fs": "^4.2.6",
+ "html-entities": "^2.3.2",
+ "http-proxy-middleware": "^2.0.3",
+ "ipaddr.js": "^2.0.1",
+ "open": "^8.0.9",
+ "p-retry": "^4.5.0",
+ "rimraf": "^3.0.2",
+ "schema-utils": "^4.0.0",
+ "selfsigned": "^2.0.1",
+ "serve-index": "^1.9.1",
+ "sockjs": "^0.3.24",
+ "spdy": "^4.0.2",
+ "webpack-dev-middleware": "^5.3.1",
+ "ws": "^8.4.2"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "8.11.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
+ "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
"dev": true,
"requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
}
},
- "readdirp": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
- "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
+ "ajv-keywords": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
+ "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
"dev": true,
"requires": {
- "graceful-fs": "^4.1.11",
- "micromatch": "^3.1.10",
- "readable-stream": "^2.0.2"
+ "fast-deep-equal": "^3.1.3"
}
},
- "schema-utils": {
+ "json-schema-traverse": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
- "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
- "dev": true,
- "requires": {
- "ajv": "^6.1.0",
- "ajv-errors": "^1.0.0",
- "ajv-keywords": "^3.1.0"
- }
- },
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
"dev": true
},
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- },
- "strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
"dev": true,
"requires": {
- "ansi-regex": "^2.0.0"
+ "glob": "^7.1.3"
}
},
- "supports-color": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
- "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "schema-utils": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
+ "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
"dev": true,
"requires": {
- "has-flag": "^3.0.0"
+ "@types/json-schema": "^7.0.9",
+ "ajv": "^8.8.0",
+ "ajv-formats": "^2.1.1",
+ "ajv-keywords": "^5.0.0"
}
}
}
},
- "webpack-log": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz",
- "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==",
- "dev": true,
- "requires": {
- "ansi-colors": "^3.0.0",
- "uuid": "^3.3.2"
- }
- },
- "webpack-manifest-plugin": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-2.2.0.tgz",
- "integrity": "sha512-9S6YyKKKh/Oz/eryM1RyLVDVmy3NSPV0JXMRhZ18fJsq+AwGxUY34X54VNwkzYcEmEkDwNxuEOboCZEebJXBAQ==",
+ "webpack-merge": {
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz",
+ "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==",
"dev": true,
"requires": {
- "fs-extra": "^7.0.0",
- "lodash": ">=3.5 <5",
- "object.entries": "^1.1.0",
- "tapable": "^1.0.0"
+ "clone-deep": "^4.0.1",
+ "wildcard": "^2.0.0"
}
},
"webpack-notifier": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/webpack-notifier/-/webpack-notifier-1.8.0.tgz",
- "integrity": "sha512-I6t76NoPe5DZCCm5geELmDV2wlJ89LbU425uN6T2FG8Ywrrt1ZcUMz6g8yWGNg4pttqTPFQJYUPjWAlzUEQ+cQ==",
+ "version": "1.15.0",
+ "resolved": "https://registry.npmjs.org/webpack-notifier/-/webpack-notifier-1.15.0.tgz",
+ "integrity": "sha512-N2V8UMgRB5komdXQRavBsRpw0hPhJq2/SWNOGuhrXpIgRhcMexzkGQysUyGStHLV5hkUlgpRiF7IUXoBqyMmzQ==",
"dev": true,
"requires": {
- "node-notifier": "^5.1.2",
- "object-assign": "^4.1.0",
- "strip-ansi": "^3.0.1"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
- "dev": true
- },
- "strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- }
+ "node-notifier": "^9.0.0",
+ "strip-ansi": "^6.0.0"
}
},
"webpack-sources": {
@@ -20863,21 +14137,16 @@
"requires": {
"source-list-map": "^2.0.0",
"source-map": "~0.6.1"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
- }
}
},
"websocket-driver": {
- "version": "0.6.5",
- "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz",
- "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=",
+ "version": "0.7.4",
+ "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz",
+ "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==",
"dev": true,
"requires": {
+ "http-parser-js": ">=0.5.1",
+ "safe-buffer": ">=5.1.0",
"websocket-extensions": ">=0.1.1"
}
},
@@ -20888,134 +14157,48 @@
"dev": true
},
"which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"dev": true,
"requires": {
"isexe": "^2.0.0"
}
},
- "which-module": {
+ "wildcard": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
- "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
+ "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz",
+ "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==",
"dev": true
},
- "worker-farm": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz",
- "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==",
- "dev": true,
- "requires": {
- "errno": "~0.1.7"
- }
- },
- "wrap-ansi": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
- "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.0",
- "string-width": "^3.0.0",
- "strip-ansi": "^5.0.0"
- },
- "dependencies": {
- "string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
- "dev": true,
- "requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- }
- }
- }
- },
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
},
"ws": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz",
- "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==",
+ "version": "8.8.1",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz",
+ "integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==",
"dev": true,
- "requires": {
- "async-limiter": "~1.0.0"
- }
- },
- "xtend": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
- "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
- "dev": true
- },
- "y18n": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
- "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
- "dev": true
+ "requires": {}
},
"yallist": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
"integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
},
- "yargs": {
- "version": "13.3.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
- "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
- "dev": true,
- "requires": {
- "cliui": "^5.0.0",
- "find-up": "^3.0.0",
- "get-caller-file": "^2.0.1",
- "require-directory": "^2.1.1",
- "require-main-filename": "^2.0.0",
- "set-blocking": "^2.0.0",
- "string-width": "^3.0.0",
- "which-module": "^2.0.0",
- "y18n": "^4.0.0",
- "yargs-parser": "^13.1.2"
- },
- "dependencies": {
- "string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
- "dev": true,
- "requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- }
- },
- "yargs-parser": {
- "version": "13.1.2",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
- "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
- "dev": true,
- "requires": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
- }
- }
- }
+ "yaml": {
+ "version": "1.10.2",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
+ "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
+ "dev": true
},
"yargs-parser": {
- "version": "18.1.3",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
- "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
- "dev": true,
- "requires": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
- }
+ "version": "21.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+ "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+ "dev": true
}
}
}
diff --git a/package.json b/package.json
index 793dcdaf..7b64a1e3 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"devDependencies": {
- "@symfony/webpack-encore": "^0.30.0",
+ "@symfony/webpack-encore": "^3.0.0",
"core-js": "^3.0.0",
"regenerator-runtime": "^0.13.2",
"webpack-notifier": "^1.6.0"
diff --git a/public/index.php b/public/index.php
index 0e303701..f85d7748 100644
--- a/public/index.php
+++ b/public/index.php
@@ -1,27 +1,10 @@
handle($request);
-$response->send();
-$kernel->terminate($request, $response);
+return function (array $context) {
+ return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
+};
diff --git a/src/Command/ConnectDefaultToTeamsCommand.php b/src/Command/ConnectDefaultToTeamsCommand.php
index d006d897..84ef8f6d 100644
--- a/src/Command/ConnectDefaultToTeamsCommand.php
+++ b/src/Command/ConnectDefaultToTeamsCommand.php
@@ -16,11 +16,11 @@
class ConnectDefaultToTeamsCommand extends Command
{
protected static $defaultName = 'app:connect:defaultToTeams';
- protected static $defaultDescription = 'This Command converts default attributes which can be selected in the dropdown field. ONLY USE ONCE. MAKE A BACKUP OF THE DATABASE BEFOE';
+ protected static $defaultDescription = 'This Command converts default attributes which can be selected in the dropdown field. ONLY USE ONCE. MAKE A BACKUP OF THE DATABASE BEFORE EXECUTING.';
private $connectDefaultService;
private $em;
- public function __construct($name = null, ConnectDefaultToTeamsService $connectDefaultToTeamsService, EntityManagerInterface $entityManager)
+ public function __construct(ConnectDefaultToTeamsService $connectDefaultToTeamsService, EntityManagerInterface $entityManager, $name = null)
{
parent::__construct($name);
$this->connectDefaultService = $connectDefaultToTeamsService;
@@ -38,19 +38,19 @@ protected function execute(InputInterface $input, OutputInterface $output): int
{
$io = new SymfonyStyle($input, $output);
$teams = $this->em->getRepository(Team::class)->findAll();
- $io->success(sprintf('We connect %d Teams',sizeof($teams)));
+ $io->success(sprintf('We will connect %d Teams', sizeof($teams)));
$section1 = $output->section();
$section2 = $output->section();
$progressBar = new ProgressBar($section1, sizeof($teams));
$progressBar->start();
foreach ($teams as $data) {
- $this->connectDefaultService->connectDefault($data,$section2);
+ $this->connectDefaultService->connectDefault($data, $section2);
$progressBar->advance();
}
$progressBar->finish();
- $io->success('We ');
+ $io->success('Success');
return Command::SUCCESS;
}
diff --git a/src/Command/MigrateDefaultTeamCommand.php b/src/Command/MigrateDefaultTeamCommand.php
index eca2024a..9243b128 100644
--- a/src/Command/MigrateDefaultTeamCommand.php
+++ b/src/Command/MigrateDefaultTeamCommand.php
@@ -15,7 +15,7 @@ class MigrateDefaultTeamCommand extends Command
protected static $defaultName = 'app:migrate:defaultTeam';
private $em;
- public function __construct(string $name = null, EntityManagerInterface $entityManager)
+ public function __construct( EntityManagerInterface $entityManager,string $name = null)
{
parent::__construct($name);
$this->em = $entityManager;
diff --git a/src/Command/TeamListCommand.php b/src/Command/TeamListCommand.php
new file mode 100644
index 00000000..b36af715
--- /dev/null
+++ b/src/Command/TeamListCommand.php
@@ -0,0 +1,46 @@
+setDescription(self::$defaultDescription);
+ }
+
+ public function __construct(EntityManagerInterface $entityManager,string $name = null)
+ {
+ parent::__construct($name);
+ $this->em = $entityManager;
+ }
+
+ protected function execute(InputInterface $input, OutputInterface $output): int
+ {
+ $teams = $this->em->getRepository(Team::class)->findAll();
+ foreach ($teams as $team) {
+ $teamInfo = $team->getName();
+ if ($team->getKeycloakGroup()) {
+ $teamInfo .= ' (' . $team->getKeycloakGroup() . ')';
+ }
+ $output->writeln($teamInfo);
+ }
+
+ return Command::SUCCESS;
+ }
+}
diff --git a/src/Command/TeamNewCommand.php b/src/Command/TeamNewCommand.php
index 2aae95e8..60b1c4e1 100644
--- a/src/Command/TeamNewCommand.php
+++ b/src/Command/TeamNewCommand.php
@@ -26,7 +26,7 @@ protected function configure()
->setDescription(self::$defaultDescription);
}
- public function __construct(string $name = null, EntityManagerInterface $entityManager, ConnectDefaultToTeamsService $connectDefaultToTeamsService)
+ public function __construct(EntityManagerInterface $entityManager, ConnectDefaultToTeamsService $connectDefaultToTeamsService, string $name = null)
{
parent::__construct($name);
$this->em = $entityManager;
@@ -38,10 +38,13 @@ protected function execute(InputInterface $input, OutputInterface $output): int
$io = new SymfonyStyle($input, $output);
$helper = $this->getHelper('question');
$team = new Team();
- $question = new Question('Please enter the name of Team: ', 'TestCompany');
+ $question = new Question('Team name (identical to keycloak group name if keycloak groups are used): ', 'TestCompany');
$name = $helper->ask($input, $output, $question);
$team->setName($name);
- $question = new Question('Street: ', 'default');
+ $question = new Question('Display name (if different from team name): ', '');
+ $keycloakGroup = $helper->ask($input, $output, $question);
+ $team->setKeycloakGroup($keycloakGroup);
+ $question = new Question('Street: ', '');
$street = $helper->ask($input, $output, $question);
$team->setStrasse($street);
$question = new Question('PLZ: ', 'default');
@@ -50,7 +53,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int
$question = new Question('City: ', 'default');
$city = $helper->ask($input, $output, $question);
$team->setStadt($city);
- $question = new Question('email: ', 'default');
+ $question = new Question('Email: ', 'default');
$email = $helper->ask($input, $output, $question);
$team->setEmail($email);
$question = new Question('DSB : ', 'default');
@@ -59,24 +62,24 @@ protected function execute(InputInterface $input, OutputInterface $output): int
$question = new Question('Phone: ', 'default');
$phone = $helper->ask($input, $output, $question);
$team->setTelefon($phone);
- $question = new Question('ceo: ', 'default');
+ $question = new Question('CEO: ', 'default');
$ceo = $helper->ask($input, $output, $question);
$team->setCeo($ceo);
- $question = new Question('Signatur which is schown on all emails: ', 'default');
+ $question = new Question('Email signature: ', 'default');
$signature = $helper->ask($input, $output, $question);
$team->setSignature($signature);
- $question = new Question('industry: ', 'default');
+ $question = new Question('Industry: ', 'default');
$industry = $helper->ask($input, $output, $question);
$team->setIndustry($industry);
- $question = new Question('speciality: ', 'default');
- $scpeciality = $helper->ask($input, $output, $question);
- $team->setSpecialty($scpeciality);
+ $question = new Question('Specialty: ', 'default');
+ $specialty = $helper->ask($input, $output, $question);
+ $team->setSpecialty($specialty);
$team->setActiv(true);
$this->em->persist($team);
$this->em->flush();
- $this->connectService->connectDefault($team,$output);
+ $this->connectService->connectDefault($team, $output);
- $io->success(sprintf('We create a new Team with the name %s', $team->getName()));
+ $io->success(sprintf('We created a new Team with the name %s', $team->getName()));
return Command::SUCCESS;
}
diff --git a/src/Controller/AkademieController.php b/src/Controller/AkademieController.php
index dcc98de2..1ce01779 100644
--- a/src/Controller/AkademieController.php
+++ b/src/Controller/AkademieController.php
@@ -2,43 +2,43 @@
namespace App\Controller;
+use App\DataTypes\ParticipationStateTypes;
use App\Entity\AkademieBuchungen;
+use App\Entity\Participation;
+use App\Repository\AkademieBuchungenRepository;
use App\Service\SecurityService;
+use DateTime;
+use Doctrine\ORM\EntityManagerInterface;
use Nucleos\DompdfBundle\Wrapper\DompdfWrapper;
+use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
+use Symfony\Contracts\Translation\TranslatorInterface;
+#[Route(path: '/akademie', name: 'akademie')]
class AkademieController extends AbstractController
{
- /**
- * @Route("/akademie", name="akademie")
- */
- public function index(SecurityService $securityService)
- {
- $team = $this->getUser()->getAkademieUser();
- if (!$securityService->teamCheck($team)) {
- return $this->redirectToRoute('dashboard');
- }
- $buchungen = $this->getDoctrine()->getRepository(AkademieBuchungen::class)->findMyBuchungenByUser($this->getUser());
- return $this->render('akademie/index.html.twig', [
- 'buchungen' => $buchungen,
-
- 'today' => $today = new \DateTime(),
- ]);
+ public function __construct(
+ private readonly TranslatorInterface $translator,
+ private EntityManagerInterface $em,
+ )
+ {
}
- /**
- * @Route("/akademie/kurs", name="akademie_kurs")
- */
- public function akademieKurs(Request $request, SecurityService $securityService)
+ #[Route(path: '/kurs', name: '_kurs')]
+ public function academyLesson(
+ Request $request,
+ SecurityService $securityService,
+ AkademieBuchungenRepository $academyBillingRepository,
+ ): Response
{
$team = $this->getUser()->getAkademieUser();
-
- $today = new \DateTime();
- $buchung = $this->getDoctrine()->getRepository(AkademieBuchungen::class)->findOneBy(array('id' => $request->get('kurs')));
+ $today = new DateTime();
+ $buchung = $academyBillingRepository->find($request->get('kurs'));
if (!$securityService->teamCheck($team) || $buchung->getUser() !== $this->getUser()) {
return $this->redirectToRoute('akademie');
@@ -50,29 +50,59 @@ public function akademieKurs(Request $request, SecurityService $securityService)
}
$buchung->setFinishedID(md5(uniqid()));
- $em = $this->getDoctrine()->getManager();
- $em->persist($buchung);
- $em->flush();
+ $this->em->persist($buchung);
+ $this->em->flush();
return $this->render('akademie/kurs.html.twig', [
'kurs' => $buchung->getKurs(),
'buchung' => $buchung,
]);
}
+
return $this->redirectToRoute('akademie');
+ }
+
+ #[Route(path: '/kurs/zertifikat/{id}', name: '_kurs_zertifikat')]
+ #[ParamConverter(data: 'billing', class: AkademieBuchungen::class, options: ['mapping' => ['id' => 'id']])]
+ public function academyLessonCertificate(
+ AkademieBuchungen $billing,
+ DompdfWrapper $wrapper,
+ ): Response
+ {
+ if ($billing->getUser() !== $this->getUser()) {
+ return $this->redirectToRoute('akademie');
+ }
+
+ //Abfrage, ob der Kurs abgeschlossen ist
+ if ($billing->getParticipations()[0]->isPassed()) {
+ // Retrieve the HTML generated in our twig file
+ $html = $this->renderView('bericht/zertifikatAkademie.html.twig', [
+ 'daten' => $billing,
+ 'team' => $this->getUser()->getAkademieUser(),
+ 'user' => $this->getUser(),
+ ]);
+ //Generate PDF File for Download
+ $response = $wrapper->getStreamResponse($html, $this->translator->trans(id: 'certificate', domain: 'academy'));
+ $response->send();
+
+ return new Response($this->translator->trans(id: 'pdf.generateSuccessful', domain: 'general'));
+ }
+ return $this->redirectToRoute('akademie');
}
- /**
- * @Route("/akademie/kurs/finish", name="akademie_kurs_finish")
- */
- public function akademieKursFinish(Request $request, SecurityService $securityService)
+ #[Route(path: '/kurs/finish', name: '_kurs_finish')]
+ public function academyLessonFinish(
+ Request $request,
+ SecurityService $securityService,
+ AkademieBuchungenRepository $academyBillingRepository,
+ ): Response
{
$team = $this->getUser()->getAkademieUser();
- $today = new \DateTime();
- $buchung = $this->getDoctrine()->getRepository(AkademieBuchungen::class)->findOneBy(array('finishedID' => $request->get('id')));
+ $today = new DateTime();
+ $buchung = $academyBillingRepository->findOneBy(['finishedID' => $request->get('id')]);
if (!$securityService->teamCheck($team) || $buchung->getUser() !== $this->getUser()) {
return $this->redirectToRoute('akademie');
@@ -84,8 +114,7 @@ public function akademieKursFinish(Request $request, SecurityService $securitySe
$buchung->setFinishedID(null);
$buchung->setBuchungsID(uniqid());
- $em = $this->getDoctrine()->getManager();
- $em->persist($buchung);
+ $this->em->persist($buchung);
if ($buchung->getVorlage()) {
$vorlage = $today->modify($buchung->getVorlage());
$newBuchung->setZugewiesen($vorlage);
@@ -93,39 +122,30 @@ public function akademieKursFinish(Request $request, SecurityService $securitySe
$newBuchung->setFinishedID(null);
$newBuchung->setInvitation(false);
$newBuchung->setStart(null);
- $em->persist($newBuchung);
+ $this->em->persist($newBuchung);
}
- $em->flush();
+ $this->em->flush();
return $this->redirectToRoute('akademie');
}
- /**
- * @Route("/akademie/kurs/zertifikat", name="akademie_kurs_zertifikat")
- */
- public function akademieKursZertifikat(DompdfWrapper $wrapper, Request $request)
+ #[Route(path: '', name: '')]
+ public function index(
+ SecurityService $securityService,
+ AkademieBuchungenRepository $bookingRepository
+ ): Response
{
- $buchung = $this->getDoctrine()->getRepository(AkademieBuchungen::class)->find($request->get('buchung'));
-
- if ($buchung->getUser() !== $this->getUser()) {
- return $this->redirectToRoute('akademie');
- }
-
- //Abfrage ob der Kurs abgeschlossen ist
- if ($buchung->getAbgeschlossen() === true) {
- // Retrieve the HTML generated in our twig file
- $html = $this->renderView('bericht/zertifikatAkademie.html.twig', [
- 'daten' => $buchung,
- 'team' => $this->getUser()->getAkademieUser(),
- 'user' => $this->getUser(),
- ]);
+ $team = $this->getUser()->getAkademieUser();
- //Generate PDF File for Download
- $response = $wrapper->getStreamResponse($html, "Zertifikat.pdf");
- $response->send();
- return new Response("The PDF file has been succesfully generated !");
+ if (!$securityService->teamCheck($team)) {
+ return $this->redirectToRoute('dashboard');
}
- return $this->redirectToRoute('akademie');
+ $bookings = $bookingRepository->findMyBuchungenByUser($this->getUser());
+ return $this->render('akademie/index.html.twig', [
+ 'buchungen' => $bookings,
+ 'currentTeam' => $team,
+ 'today' => new DateTime(),
+ ]);
}
}
diff --git a/src/Controller/AssignController.php b/src/Controller/AssignController.php
index 67cd6b7f..36635b43 100644
--- a/src/Controller/AssignController.php
+++ b/src/Controller/AssignController.php
@@ -2,117 +2,94 @@
namespace App\Controller;
-use App\Entity\AuditTom;
-use App\Entity\Datenweitergabe;
-use App\Entity\Forms;
-use App\Entity\Policies;
-use App\Entity\Software;
-use App\Entity\Task;
-use App\Entity\Vorfall;
-use App\Entity\VVT;
-use App\Entity\VVTDsfa;
+use App\Repository\AuditTomRepository;
+use App\Repository\DatenweitergabeRepository;
+use App\Repository\FormsRepository;
+use App\Repository\PoliciesRepository;
+use App\Repository\SoftwareRepository;
+use App\Repository\TaskRepository;
+use App\Repository\VorfallRepository;
+use App\Repository\VVTDsfaRepository;
+use App\Repository\VVTRepository;
use App\Service\AssignService;
+use App\Service\CurrentTeamService;
use App\Service\SecurityService;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
+#[Route(path: '/assign', name: 'assign')]
class AssignController extends AbstractController
{
- /**
- * @Route("/assign", name="assign")
- */
- public function index(Request $request, AssignService $assignService)
+ #[Route(path: '/audit', name: '_audit')]
+ public function assignAudit(
+ Request $request,
+ AssignService $assignService,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ AuditTomRepository $auditTomRepository,
+ ): Response
{
-
- $assignDatenweitergabe = $this->getUser()->getAssignedDatenweitergaben()->toarray();
- $assignVvt = $this->getUser()->getAssignedVvts()->toarray();
- $assignAudit = $this->getUser()->getAssignedAudits()->toarray();
- $assignDsfa = $this->getUser()->getAssignedDsfa()->toarray();
- $assignForms = $this->getUser()->getAssignedForms()->toarray();
- $assignPolicies = $this->getUser()->getAssignedPolicies()->toarray();
- $assignSoftware = $this->getUser()->getAssignedSoftware()->toarray();
- $assignTasks = $this->getDoctrine()->getRepository(Task::class)->findActivByUser($this->getUser());
-
- return $this->render('assign/index.html.twig', [
- 'assignDaten' => $assignDatenweitergabe,
- 'assignVvt' => $assignVvt,
- 'assignAudit' => $assignAudit,
- 'assignDsfa' => $assignDsfa,
- 'assignForms' => $assignForms,
- 'assignPolicies' => $assignPolicies,
- 'assignSoftware' => $assignSoftware,
- 'assignTasks' => $assignTasks
- ]);
- }
-
- /**
- * @Route("/assign/vvt", name="assign_vvt")
- */
- public function assignVvt(Request $request, AssignService $assignService, SecurityService $securityService)
- {
- $team = $this->getUser()->getTeam();
- $vvt = $this->getDoctrine()->getRepository(VVT::class)->find($request->get('id'));
- if ($securityService->teamDataCheck($vvt, $team) === false) {
- return $this->redirectToRoute('vvt');
- }
-
- $res = $assignService->assignVvt($request, $vvt);
- return $this->redirect($request->headers->get('referer'));
- }
-
- /**
- * @Route("/assign/audit", name="assign_audit")
- */
- public function assignAudit(Request $request, AssignService $assignService, SecurityService $securityService)
- {
- $team = $this->getUser()->getTeam();
- $audit = $this->getDoctrine()->getRepository(AuditTom::class)->find($request->get('id'));
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ $audit = $auditTomRepository->find($request->get('id'));
if ($securityService->teamDataCheck($audit, $team) === false) {
return $this->redirectToRoute('audit_tom');
}
- $res = $assignService->assignAudit($request, $audit);
+ $assignService->assignAudit($request, $audit);
return $this->redirect($request->headers->get('referer'));
}
- /**
- * @Route("/assign/daten", name="assign_datenweitergabe")
- */
- public function assignDatenweitergabe(Request $request, AssignService $assignService, SecurityService $securityService)
+ #[Route(path: '/daten', name: '_datenweitergabe')]
+ public function assignDataTransfer(
+ Request $request,
+ AssignService $assignService,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ DatenweitergabeRepository $dataTransferRepository,
+ ): Response
{
- $team = $this->getUser()->getTeam();
- $daten = $this->getDoctrine()->getRepository(Datenweitergabe::class)->find($request->get('id'));
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ $daten = $dataTransferRepository->find($request->get('id'));
if ($securityService->teamDataCheck($daten, $team) === false) {
return $this->redirectToRoute('datenweitergabe');
}
- $res = $assignService->assignDatenweitergabe($request, $daten);
+ $assignService->assignDatenweitergabe($request, $daten);
return $this->redirect($request->headers->get('referer'));
}
- /**
- * @Route("/assign/dsfa", name="assign_dsfa")
- */
- public function assignDsfa(Request $request, AssignService $assignService, SecurityService $securityService)
+ #[Route(path: '/dsfa', name: '_dsfa')]
+ public function assignDsfa(
+ Request $request,
+ AssignService $assignService,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ VVTDsfaRepository $impactAssessmentRepository
+ ): Response
{
- $team = $this->getUser()->getTeam();
- $dsfa = $this->getDoctrine()->getRepository(VVTDsfa::class)->find($request->get('id'));
- if ($securityService->teamDataCheck($dsfa->getVvt(), $team) === false) {
- return $this->redirectToRoute('vvt');
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ $impactAssessment = $impactAssessmentRepository->find($request->get('id'));
+ if ($securityService->teamDataCheck($impactAssessment->getVvt(), $team)) {
+ $assignService->assignDsfa($request, $impactAssessment);
+ return $this->redirect($request->headers->get('referer'));
}
- $res = $assignService->assignDsfa($request, $dsfa);
- return $this->redirect($request->headers->get('referer'));
+ return $this->redirectToRoute('vvt');
}
- /**
- * @Route("/assign/form", name="assign_form")
- */
- public function assignForm(Request $request, AssignService $assignService, SecurityService $securityService)
+ #[Route(path: '/form', name: '_form')]
+ public function assignForm(
+ Request $request,
+ AssignService $assignService,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ FormsRepository $formsRepository,
+ ): Response
{
- $team = $this->getUser()->getTeam();
- $form = $this->getDoctrine()->getRepository(Forms::class)->find($request->get('id'));
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ $form = $formsRepository->find($request->get('id'));
if ($securityService->teamDataCheck($form, $team) === false) {
return $this->redirectToRoute('forms');
}
@@ -121,63 +98,134 @@ public function assignForm(Request $request, AssignService $assignService, Secur
return $this->redirect($request->headers->get('referer'));
}
- /**
- * @Route("/assign/policy", name="assign_policy")
- */
- public function assignPolicy(Request $request, AssignService $assignService, SecurityService $securityService)
+ #[Route(path: '/policy', name: '_policy')]
+ public function assignPolicy(
+ Request $request,
+ AssignService $assignService,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ PoliciesRepository $policiesRepository,
+ ): Response
{
- $team = $this->getUser()->getTeam();
- $policy = $this->getDoctrine()->getRepository(Policies::class)->find($request->get('id'));
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ $policy = $policiesRepository->find($request->get('id'));
if ($securityService->teamDataCheck($policy, $team) === false) {
return $this->redirectToRoute('policies');
}
- $res = $assignService->assignPolicy($request, $policy);
+ $assignService->assignPolicy($request, $policy);
return $this->redirect($request->headers->get('referer'));
}
- /**
- * @Route("/assign/software", name="assign_software")
- */
- public function assignSoftware(Request $request, AssignService $assignService, SecurityService $securityService)
+ #[Route(path: '/software', name: '_software')]
+ public function assignSoftware(
+ Request $request,
+ AssignService $assignService,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ SoftwareRepository $softwareRepository,
+ ): Response
{
- $team = $this->getUser()->getTeam();
- $software = $this->getDoctrine()->getRepository(Software::class)->find($request->get('id'));
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ $software = $softwareRepository->find($request->get('id'));
if ($securityService->teamDataCheck($software, $team) === false) {
return $this->redirectToRoute('software');
}
- $res = $assignService->assignSoftware($request, $software);
+ $assignService->assignSoftware($request, $software);
return $this->redirect($request->headers->get('referer'));
}
- /**
- * @Route("/assign/vorfall", name="assign_vorfall")
- */
- public function assignVorfall(Request $request, AssignService $assignService, SecurityService $securityService)
+ #[Route(path: '/task', name: '_task')]
+ public function assignTask(
+ Request $request,
+ AssignService $assignService,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ TaskRepository $taskRepository,
+ ): Response
{
- $team = $this->getUser()->getTeam();
- $vorfall = $this->getDoctrine()->getRepository(Vorfall::class)->find($request->get('id'));
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ $task = $taskRepository->find($request->get('id'));
+ if ($securityService->teamDataCheck($task, $team) === false) {
+ return $this->redirectToRoute('tasks');
+ }
+
+ $assignService->assignTask($request, $task);
+ return $this->redirect($request->headers->get('referer'));
+ }
+
+ #[Route(path: '/vorfall', name: '_vorfall')]
+ public function assignVorfall(
+ Request $request,
+ AssignService $assignService,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ VorfallRepository $vorfallRepository,
+ ): Response
+ {
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ $vorfall = $vorfallRepository->find($request->get('id'));
if ($securityService->teamDataCheck($vorfall, $team) === false) {
return $this->redirectToRoute('vorfall');
}
- $res = $assignService->assignVorfall($request, $vorfall);
+ $assignService->assignVorfall($request, $vorfall);
return $this->redirect($request->headers->get('referer'));
}
- /**
- * @Route("/assign/task", name="assign_task")
- */
- public function assignTask(Request $request, AssignService $assignService, SecurityService $securityService)
+ #[Route(path: '/vvt', name: '_vvt')]
+ public function assignVvt(
+ Request $request,
+ AssignService $assignService,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ VVTRepository $vvtRepository,
+ ): Response
{
- $team = $this->getUser()->getTeam();
- $task = $this->getDoctrine()->getRepository(Task::class)->find($request->get('id'));
- if ($securityService->teamDataCheck($task, $team) === false) {
- return $this->redirectToRoute('tasks');
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ $vvt = $vvtRepository->find($request->get('id'));
+ if ($securityService->teamDataCheck($vvt, $team) === false) {
+ return $this->redirectToRoute('vvt');
}
- $res = $assignService->assignTask($request, $task);
+ $assignService->assignVvt($request, $vvt);
return $this->redirect($request->headers->get('referer'));
}
+
+ #[Route(path: '', name: '')]
+ public function index(CurrentTeamService $currentTeamService,
+ DatenweitergabeRepository $transferRepository,
+ VVTRepository $processingRepository,
+ AuditTomRepository $auditRepository,
+ VVTDsfaRepository $impactAssessmentRepository,
+ FormsRepository $formRepository,
+ PoliciesRepository $policyRepository,
+ SoftwareRepository $softwareRepository,
+ TaskRepository $taskRepository
+ ): Response
+ {
+ $user = $this->getUser();
+ $currentTeam = $currentTeamService->getTeamFromSession($user);
+ $assignedDataTransfers = $transferRepository->findActiveByTeamAndUser($currentTeam, $user);
+ $assignedProcessings = $processingRepository->findActiveByTeamAndUser($currentTeam, $user);
+ $assignedAudits = $auditRepository->findActiveByTeamAndUser($currentTeam, $user);
+ $assignImpactAssessments = $impactAssessmentRepository->findActiveByTeamAndUser($currentTeam, $user);
+ $assignedForms = $formRepository->findActiveByTeamAndUser($currentTeam, $user);
+ $assignedPolicies = $policyRepository->findActiveByTeamAndUser($currentTeam, $user);
+ $assignedSoftware = $softwareRepository->findActiveByTeamAndUser($currentTeam, $user);
+ $assignedTasks = $taskRepository->findActiveByTeamAndUser($currentTeam, $user);
+
+ return $this->render('assign/index.html.twig', [
+ 'currentTeam' => $currentTeam,
+ 'dataTransfers' => $assignedDataTransfers,
+ 'processings' => $assignedProcessings,
+ 'audits' => $assignedAudits,
+ 'impactAssessments' => $assignImpactAssessments,
+ 'forms' => $assignedForms,
+ 'policies' => $assignedPolicies,
+ 'software' => $assignedSoftware,
+ 'tasks' => $assignedTasks
+ ]);
+ }
}
diff --git a/src/Controller/AssistantController.php b/src/Controller/AssistantController.php
new file mode 100644
index 00000000..c7ee0c30
--- /dev/null
+++ b/src/Controller/AssistantController.php
@@ -0,0 +1,161 @@
+getTeamFromSession($this->getUser());
+
+ if (!$securityService->teamCheck($team)) {
+ return $this->redirectToRoute('dashboard');
+ }
+
+ return $this->render('assistant/index.html.twig', [
+ 'currentTeam' => $team,
+ ]);
+ }
+
+ #[Route('/step/{step}', name: '_step')]
+ public function step(int $step,
+ Request $request,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ AssistantService $assistantService,
+ ValidatorInterface $validator,
+ EntityManagerInterface $entityManager,
+ ): RedirectResponse|Response
+ {
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+
+ if (!$securityService->teamCheck($team)) {
+ return $this->redirectToRoute('dashboard');
+ }
+
+ if ($step < $assistantService->getStepCount()) {
+ $assistantService->setStep($step);
+ return $this->renderStep(
+ $step,
+ $team,
+ $request,
+ $assistantService,
+ $validator,
+ $entityManager
+ );
+ }
+
+ if ($step == $assistantService->getStepCount()) {
+ $assistantService->clear();
+ $this->addFlash(
+ 'success',
+ 'assistant.finished'
+ );
+ } else {
+ $this->addFlash(
+ 'danger',
+ 'step.error'
+ );
+ }
+
+ return $this->redirectToRoute('assistant');
+ }
+
+ #[Route('/cancel', name: '_cancel')]
+ public function cancel(AssistantService $assistantService) : Response
+ {
+ $assistantService->clear();
+ $this->addFlash(
+ 'info',
+ 'assistant.aborted'
+ );
+ return $this->redirectToRoute('assistant');
+ }
+
+ private function renderStep(int $step,
+ Team $team,
+ Request $request,
+ AssistantService $assistantService,
+ ValidatorInterface $validator,
+ EntityManagerInterface $entityManager,
+ ): RedirectResponse|Response
+ {
+ $title = $assistantService->getPropertyForStep($step, AssistantService::PROPERTY_TITLE);
+ $info = $assistantService->getPropertyForStep($step, AssistantService::PROPERTY_INFO);
+ $newTitle = $assistantService->getPropertyForStep($step, AssistantService::PROPERTY_NEW);
+ $type = $assistantService->getPropertyForStep($step, AssistantService::PROPERTY_TYPE);
+ $skip = $assistantService->getPropertyForStep($step, AssistantService::PROPERTY_SKIP);
+ $select = $assistantService->getSelectDataForStep($step, $team);
+ $newItem = $assistantService->createElementForStep($step, $this->getUser(), $team);
+ $form = $assistantService->createForm($type, $newItem, $team);
+ $form->handleRequest($request);
+
+ $errors = array();
+ if ($form->isSubmitted() && $form->isValid()) {
+ $data = $form->getData();
+ $errors = $validator->validate($data);
+ if (count($errors) == 0) {
+ if ($type == DatenweitergabeType::class) {
+ foreach ($data->getVerfahren() as $item) {
+ $item->addDatenweitergaben($data);
+ $entityManager->persist($item);
+ }
+ }
+ $entityManager->persist($data);
+ $entityManager->flush();
+ $assistantService->saveToSession(step: $step, id: $data->getId());
+ return $this->redirectToRoute('assistant_step', ['step' => $step + 1]);
+ }
+ }
+ return $this->render('assistant/step.html.twig', [
+ 'currentTeam' => $team,
+ 'title' => $title,
+ 'info' => $info,
+ 'newTitle' => $newTitle,
+ 'form' => $form->createView(),
+ 'errors' => $errors,
+ 'newItem' => $newItem,
+ 'select' => $select,
+ 'step' => $step,
+ 'skip' => $skip,
+ ]);
+ }
+
+ #[Route('/contact/select', name: '_select')]
+ public function selectContact(Request $request,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ AssistantService $assistantService,
+ ) : Response
+ {
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ if ($securityService->teamCheck($team) === false) {
+ return $this->redirectToRoute('dashboard');
+ }
+
+ $step = $assistantService->getStep();
+ $selected = $request->get('assistant_select');
+ $assistantService->saveToSession(step: $step, id: $selected);
+ return $this->redirectToRoute('assistant_step', ['step' => $step + 1]);
+ }
+}
diff --git a/src/Controller/AuditTomController.php b/src/Controller/AuditTomController.php
index 3fd18fc4..dc5e5a64 100644
--- a/src/Controller/AuditTomController.php
+++ b/src/Controller/AuditTomController.php
@@ -9,59 +9,73 @@
namespace App\Controller;
use App\Entity\AuditTom;
-use App\Entity\AuditTomAbteilung;
-use App\Entity\AuditTomStatus;
-use App\Entity\AuditTomZiele;
use App\Form\Type\AuditTomType;
+use App\Repository\AuditTomAbteilungRepository;
+use App\Repository\AuditTomRepository;
+use App\Repository\AuditTomStatusRepository;
+use App\Repository\AuditTomZieleRepository;
use App\Service\AssignService;
+use App\Service\CurrentTeamService;
use App\Service\SecurityService;
+use DateTime;
+use Doctrine\ORM\EntityManagerInterface;
+use Exception;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Validator\Validator\ValidatorInterface;
+use Symfony\Contracts\Translation\TranslatorInterface;
+#[Route(path: '/audit-tom', name: 'audit_tom')]
class AuditTomController extends AbstractController
{
- /**
- * @Route("/audit-tom", name="audit_tom")
- */
- public function index(SecurityService $securityService)
- {
- $team = $this->getUser()->getTeam();
- $audit = $this->getDoctrine()->getRepository(AuditTom::class)->findAllByTeam($team);
- if ($securityService->teamCheck($team) === false) {
- return $this->redirectToRoute('dashboard');
- }
- return $this->render('audit_tom/index.html.twig', [
- 'audit' => $audit,
- ]);
+ public function __construct(
+ private readonly TranslatorInterface $translator,
+ private EntityManagerInterface $em,
+ )
+ {
}
- /**
- * @Route("/audit-tom/new", name="audit_tom_new")
- */
- public function addAuditTom(ValidatorInterface $validator, Request $request, SecurityService $securityService)
+ #[Route(path: '/new', name: '_new')]
+ public function addAuditTom(
+ ValidatorInterface $validator,
+ Request $request,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ AuditTomStatusRepository $auditTomStatusRepository,
+ AuditTomZieleRepository $auditTomZieleRepository,
+ AuditTomAbteilungRepository $auditTomAbteilungRepository,
+ ): Response
{
- $team = $this->getUser()->getTeam();
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
if ($securityService->teamCheck($team) === false) {
return $this->redirectToRoute('audit_tom');
}
- $today = new \DateTime();
+ $today = new DateTime();
$audit = new AuditTom();
$audit->setTeam($team);
$audit->setNummer('AUDIT-' . hexdec(uniqid()));
$audit->setActiv(true);
$audit->setCreatedAt($today);
$audit->setUser($this->getUser());
- $status = $this->getDoctrine()->getRepository(AuditTomStatus::class)->findAll();
- $ziele = $this->getDoctrine()->getRepository(AuditTomZiele::class)->findByTeam($team);
- $abteilungen = $this->getDoctrine()->getRepository(AuditTomAbteilung::class)->findAllByTeam($team);
-
- $form = $this->createForm(AuditTomType::class, $audit, ['abteilungen' => $abteilungen, 'ziele' => $ziele, 'status' => $status]);
+ $status = $auditTomStatusRepository->findAll();
+ $ziele = $auditTomZieleRepository->findByTeam($team);
+ $abteilungen = $auditTomAbteilungRepository->findAllByTeam($team);
+
+ $form = $this->createForm(
+ AuditTomType::class,
+ $audit,
+ [
+ 'abteilungen' => $abteilungen,
+ 'ziele' => $ziele,
+ 'status' => $status
+ ]
+ );
$form->handleRequest($request);
$errors = array();
@@ -85,36 +99,78 @@ public function addAuditTom(ValidatorInterface $validator, Request $request, Sec
]);
}
- /**
- * @Route("/audit-tom/edit", name="audit_tom_edit")
- */
- public function EditAuditTom(ValidatorInterface $validator, Request $request, SecurityService $securityService, AssignService $assignService)
+ #[Route(path: '/clone', name: '_clone')]
+ public function cloneAuditTom(
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ AuditTomRepository $auditTomRepository,
+ ): Response
+ {
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ if ($securityService->teamCheck($team) === false) {
+ return $this->redirectToRoute('audit_tom');
+ }
+
+ $today = new DateTime();
+ $audit = $auditTomRepository->findAllByTeam(1);
+
+ foreach ($audit as $data) {
+ if ($data->getCreatedAt() > $team->getClonedAt()) {
+ $newAudit = clone $data;
+ $newAudit->setTeam($team);
+ $newAudit->setCreatedAt($today);
+ $this->em->persist($newAudit);
+ }
+
+ }
+
+ //set ClonedAt Date to be able to update later newer versions
+ $team->setclonedAt($today);
+
+ $this->em->persist($team);
+ $this->em->flush();
+
+ return $this->redirectToRoute('audit_tom');
+
+ }
+
+ #[Route(path: '/edit', name: '_edit')]
+ public function editAuditTom(
+ ValidatorInterface $validator,
+ Request $request,
+ SecurityService $securityService,
+ AssignService $assignService,
+ CurrentTeamService $currentTeamService,
+ AuditTomRepository $auditTomRepository,
+ AuditTomStatusRepository $auditTomStatusRepository,
+ AuditTomAbteilungRepository $auditTomAbteilungRepository,
+ AuditTomZieleRepository $auditTomZieleRepository,
+ )
{
- $team = $this->getUser()->getTeam();
- $audit = $this->getDoctrine()->getRepository(AuditTom::class)->find($request->get('tom'));
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ $audit = $auditTomRepository->find($request->get('tom'));
if ($securityService->teamDataCheck($audit, $team) === false) {
return $this->redirectToRoute('audit_tom');
}
- $today = new \DateTime();
- $status = $this->getDoctrine()->getRepository(AuditTomStatus::class)->findAll();
- $abteilungen = $this->getDoctrine()->getRepository(AuditTomAbteilung::class)->findAllByTeam($team);
- $ziele = $this->getDoctrine()->getRepository(AuditTomZiele::class)->findByTeam($team);
+ $today = new DateTime();
+ $status = $auditTomStatusRepository->findAll();
+ $abteilungen = $auditTomAbteilungRepository->findAllByTeam($team);
+ $ziele = $auditTomZieleRepository->findByTeam($team);
- $allAudits = array_reverse($this->getDoctrine()->getRepository(AuditTom::class)->findAllByTeam($this->getUser()->getTeam()));
+ $allAudits = array_reverse($auditTomRepository->findAllByTeam($team));
$mykey = 0;
- foreach ($allAudits as $key=>$item) {
+ foreach ($allAudits as $key => $item) {
if ($item === $audit) {
$mykey = $key;
}
}
try {
$nextAudit = $allAudits[++$mykey];
- }
- catch (\Exception $e) {
+ } catch (Exception $e) {
$nextAudit = $allAudits[0];
}
@@ -124,7 +180,15 @@ public function EditAuditTom(ValidatorInterface $validator, Request $request, Se
$newAudit->setCreatedAt($today);
$newAudit->setUser($this->getUser());
$newAudit->setTeam($team);
- $form = $this->createForm(AuditTomType::class, $newAudit, ['abteilungen' => $abteilungen, 'ziele' => $ziele, 'status' => $status]);
+ $form = $this->createForm(
+ AuditTomType::class,
+ $newAudit,
+ [
+ 'abteilungen' => $abteilungen,
+ 'ziele' => $ziele,
+ 'status' => $status
+ ]
+ );
$form->remove('nummer');
$form->handleRequest($request);
$assign = $assignService->createForm($audit, $team);
@@ -136,59 +200,51 @@ public function EditAuditTom(ValidatorInterface $validator, Request $request, Se
$newAudit = $form->getData();
$errors = $validator->validate($newAudit);
if (count($errors) == 0) {
-
- $em = $this->getDoctrine()->getManager();
- $em->persist($newAudit);
- $em->persist($audit);
- $em->flush();
- return $this->redirectToRoute('audit_tom_edit', array('tom' => $newAudit->getId(), 'snack' => 'Erfolgreich gepeichert'));
+ $this->em->persist($newAudit);
+ $this->em->persist($audit);
+ $this->em->flush();
+ return $this->redirectToRoute(
+ 'audit_tom_edit',
+ [
+ 'tom' => $newAudit->getId(),
+ 'snack' => $this->translator->trans(id: 'save.successful', domain: 'general'),
+ ]
+ );
}
}
- return $this->render('audit_tom/edit.html.twig', [
- 'form' => $form->createView(),
- 'assignForm' => $assign->createView(),
- 'errors' => $errors,
- 'title' => 'A-Frage bearbeiten',
- 'audit' => $audit,
- 'activ' => $audit->getActiv(),
- 'activNummer' => false,
- 'nextAudit' => $nextAudit,
- 'snack' => $request->get('snack')
- ]);
+ return $this->render(
+ 'audit_tom/edit.html.twig',
+ [
+ 'form' => $form->createView(),
+ 'assignForm' => $assign->createView(),
+ 'errors' => $errors,
+ 'title' => $this->translator->trans(id: 'auditQuestion.edit', domain: 'audit_tom'),
+ 'audit' => $audit,
+ 'activ' => $audit->getActiv(),
+ 'activNummer' => false,
+ 'nextAudit' => $nextAudit,
+ 'snack' => $request->get('snack')
+ ]
+ );
}
- /**
- * @Route("/audit-tom/clone", name="audit_tom_clone")
- */
- public function CloneAuditTom(Request $request, SecurityService $securityService)
+ #[Route(path: '', name: '')]
+ public function index(
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ AuditTomRepository $auditTomRepository,
+ ): Response
{
- $team = $this->getUser()->getTeam();
- if ($securityService->teamCheck($team) === false) {
- return $this->redirectToRoute('audit_tom');
- }
-
- $today = new \DateTime();
- $audit = $this->getDoctrine()->getRepository(AuditTom::class)->findAllByTeam(1);
-
- $em = $this->getDoctrine()->getManager();
-
- foreach ($audit as $data) {
- if ($data->getCreatedAt() > $team->getClonedAt()) {
- $newAudit = clone $data;
- $newAudit->setTeam($team);
- $newAudit->setCreatedAt($today);
- $em->persist($newAudit);
- }
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ $audit = $auditTomRepository->findAllByTeam($team);
+ if ($securityService->teamCheck($team) === false) {
+ return $this->redirectToRoute('dashboard');
}
- //set ClonedAt Date to be able to update later newer versions
- $team->setclonedAt($today);
-
- $em->persist($team);
- $em->flush();
-
- return $this->redirectToRoute('audit_tom');
-
+ return $this->render('audit_tom/index.html.twig', [
+ 'audit' => $audit,
+ 'currentTeam' => $team,
+ ]);
}
}
diff --git a/src/Controller/BerichtController.php b/src/Controller/BerichtController.php
index 407f4a38..dedb1d47 100644
--- a/src/Controller/BerichtController.php
+++ b/src/Controller/BerichtController.php
@@ -6,7 +6,7 @@
* Time: 09:15
*/
- /**
+/**
* Modified by
* User: Jan Juister
* Date: 13.05.2022
@@ -14,109 +14,180 @@
namespace App\Controller;
-use App\Entity\AkademieBuchungen;
-use App\Entity\AuditTom;
-use App\Entity\ClientRequest;
-use App\Entity\Datenweitergabe;
-use App\Entity\Policies;
-use App\Entity\Report;
-use App\Entity\Software;
-use App\Entity\Tom;
-use App\Entity\Vorfall;
-use App\Entity\VVT;
-use App\Entity\Loeschkonzept;
-use App\Entity\VVTDatenkategorie;
use App\Form\Type\ReportExportType;
+use App\Repository\AkademieBuchungenRepository;
+use App\Repository\AuditTomRepository;
+use App\Repository\ClientRequestRepository;
+use App\Repository\DatenweitergabeRepository;
+use App\Repository\LoeschkonzeptRepository;
+use App\Repository\PoliciesRepository;
+use App\Repository\ReportRepository;
+use App\Repository\SoftwareRepository;
+use App\Repository\TomRepository;
+use App\Repository\VorfallRepository;
+use App\Repository\VVTRepository;
+use App\Service\CurrentTeamService;
use Nucleos\DompdfBundle\Wrapper\DompdfWrapper;
use PhpOffice\PhpWord\IOFactory;
use PhpOffice\PhpWord\PhpWord;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\BinaryFileResponse;
+use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\ResponseHeaderBag;
use Symfony\Component\Routing\Annotation\Route;
+use Symfony\Contracts\Translation\TranslatorInterface;
+#[Route(path: '/bericht', name: 'bericht')]
class BerichtController extends AbstractController
{
- /**
- * @Route("/bericht", name="bericht")
- */
- public function bericht(Request $request)
+ public function __construct(
+ private readonly TranslatorInterface $translator,
+ )
+ {
+ }
+
+ #[Route(path: '/backupconcept', name: '_backupconcept')]
+ public function backupSoftware(
+ DompdfWrapper $wrapper,
+ Request $request,
+ CurrentTeamService $currentTeamService,
+ SoftwareRepository $softwareRepository,
+ VVTRepository $vvtRepository,
+ )
{
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+
+ $software = $softwareRepository->findBy(['team' => $team, 'activ' => true], ['createdAt' => 'DESC']);
+ $vvt = $vvtRepository->findActiveByTeam($team);
+
+ if (count($software) < 1) {
+ return $this->redirectNoReport();
+ }
+
// Center Team authentication
- if ($this->getUser()->getTeam() === null) {
+ if ($team === null || $software[0]->getTeam() !== $team) {
return $this->redirectToRoute('dashboard');
}
- return $this->render('bericht/index.html.twig', ['snack' => $request->get('snack')]);
+ // Retrieve the HTML generated in our twig file
+ $html = $this->renderView('bericht/backup.html.twig', [
+ 'daten' => $software,
+ 'vvt' => $vvt,
+ 'titel' => $this->translator->trans(id: 'archiveConcept.word', domain: 'bericht'),
+ 'team' => $team,
+ 'all' => $request->get('all'),
+ ]);
+
+ //Generate PDF File for Download
+ $response = $wrapper->getStreamResponse(
+ $html,
+ $this->translator->trans(id: 'archiveConcept.word', domain: 'bericht') . '.pdf'
+ );
+ $response->send();
}
- /**
- * @Route("/bericht/vvt", name="bericht_vvt")
- */
- public function berichtVvt(DompdfWrapper $wrapper, Request $request)
+ #[Route(path: '/revoceryconcept', name: '_recoveryconcept')]
+ public function recoverySoftware(
+ DompdfWrapper $wrapper,
+ Request $request,
+ CurrentTeamService $currentTeamService,
+ SoftwareRepository $softwareRepository,
+ )
{
- ini_set('max_execution_time', '900');
- ini_set('memory_limit', '512M');
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ $software = $softwareRepository->findBy(['team' => $team, 'activ' => true], ['createdAt' => 'DESC']);
- $req = $request->get('id');
- $team = $this->getUser()->getTeam();
- $doc = 'Verzeichnis der Verarbeitungstätigkeiten';
-
- if ($req) {
- $vvt = $this->getDoctrine()->getRepository(VVT::class)->findBy(array('id' => $req));
- $title = 'Export der Verarbeitungstätigkeit ' . $vvt[0]->getName();
- $doc = $vvt[0]->getName();
- } else {
- $vvt = $this->getDoctrine()->getRepository(VVT::class)->findBy(array('team' => $team, 'activ' => true));
- $title = 'Verzeichnis der Verarbeitungstätigkeiten von ' . $team->getName();
- }
-
- if (count($vvt) < 1) {
- return $this->redirectToRoute('bericht', ['snack' => 'Keine Berichte vorhanden']);
+ if (count($software) < 1) {
+ return $this->redirectNoReport();
}
// Center Team authentication
- if ($team === null || $vvt[0]->getTeam() !== $team) {
+ if ($team === null || $software[0]->getTeam() !== $team) {
return $this->redirectToRoute('dashboard');
}
// Retrieve the HTML generated in our twig file
- $html = $this->renderView('bericht/vvt.html.twig', [
- 'daten' => $vvt,
- 'titel' => $title,
+ $html = $this->renderView('bericht/recovery.html.twig', [
+ 'daten' => $software,
+ 'titel' => $this->translator->trans(id: 'report.about.recoveryConcept', domain: 'bericht'),
'team' => $team,
'all' => $request->get('all'),
- 'min' => $request->get('min'),
]);
//Generate PDF File for Download
- $response = $wrapper->getStreamResponse($html, $doc . ".pdf");
+ $response = $wrapper->getStreamResponse(
+ $html,
+ $this->translator->trans(id: 'recoveryConcept', domain: 'bericht')
+ );
$response->send();
}
- /**
- * @Route("/bericht/audit", name="bericht_audit")
- */
- public function berichtAudit(DompdfWrapper $wrapper, Request $request)
+ #[Route(path: '', name: '')]
+ public function report(
+ Request $request,
+ CurrentTeamService $currentTeamService,
+ ): Response
+ {
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+
+ // Center Team authentication
+ if (!$team) {
+ return $this->redirectToRoute('dashboard');
+ }
+
+ return $this->render('bericht/index.html.twig', [
+ 'snack' => $request->get('snack'),
+ 'currentTeam' => $team,
+ ]);
+ }
+
+ #[Route(path: '/akademie', name: '_akademie')]
+ public function reportAcademy(
+ AkademieBuchungenRepository $academyBillingRepository,
+ ): Response
+ {
+ $user = $this->getUser();
+ $team = $user->getAkademieUser();
+ // Admin Team authentication
+ if (!$user->hasAdminRole($team)) {
+ return $this->redirectToRoute('dashboard');
+ }
+
+ $daten = $academyBillingRepository->findBerichtByTeam($team);
+
+ return $this->render('bericht/akademie.html.twig', [
+ 'daten' => $daten,
+ 'team' => $this->getUser()->getAkademieUser()
+ ]);
+ }
+
+ #[Route(path: '/audit', name: '_audit')]
+ public function reportAudit(
+ DompdfWrapper $wrapper,
+ Request $request,
+ CurrentTeamService $currentTeamService,
+ AuditTomRepository $auditTomRepository,
+ )
{
$req = $request->get('id');
- $team = $this->getUser()->getTeam();
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
if ($req) {
- $audit = $this->getDoctrine()->getRepository(AuditTom::class)->findBy(array('id' => $req));
+ $audit = $auditTomRepository->findBy(array('id' => $req));
} elseif ($request->get('activ')) {
- $audit = $this->getDoctrine()->getRepository(AuditTom::class)->findAuditByTeam($team);
+ $audit = $auditTomRepository->findAuditByTeam($team);
} elseif ($request->get('open')) {
- $audit = $this->getDoctrine()->getRepository(AuditTom::class)->findOpenByTeam($team);
+ $audit = $auditTomRepository->findActiveAndOpenByTeam($team);
} else {
- $audit = $this->getDoctrine()->getRepository(AuditTom::class)->findBy(array('team' => $team, 'activ' => true));
+ $audit = $auditTomRepository->findBy(array('team' => $team, 'activ' => true));
}
if (count($audit) < 1) {
- return $this->redirectToRoute('bericht', ['snack' => 'Keine Berichte vorhanden']);
+ return $this->redirectNoReport();
}
// Center Team authentication
@@ -127,159 +198,262 @@ public function berichtAudit(DompdfWrapper $wrapper, Request $request)
// Retrieve the HTML generated in our twig file
$html = $this->renderView('bericht/audit.html.twig', [
'daten' => $audit,
- 'titel' => 'Bericht zu Auditfragen',
- 'team' => $this->getUser()->getTeam(),
+ 'titel' => $this->translator->trans(id: 'report.about.auditQuestion', domain: 'bericht'),
+ 'team' => $team,
'all' => $request->get('all'),
]);
//Generate PDF File for Download
- $response = $wrapper->getStreamResponse($html, "Auditfragen.pdf");
+ $response = $wrapper->getStreamResponse($html, $this->translator->trans(id: 'auditQuestion.word', domain: 'audit_tom') . '.pdf');
$response->send();
}
- /**
- * @Route("/bericht/tom", name="bericht_tom")
- */
- public function berichtTom(DompdfWrapper $wrapper, Request $request)
+ #[Route(path: '/weitergabe', name: '_weitergabe')]
+ public function reportDataTransfer(
+ DompdfWrapper $wrapper,
+ Request $request,
+ CurrentTeamService $currentTeamService,
+ DatenweitergabeRepository $dataTransferRepository,
+ )
{
+ $id = $request->get('id');
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
- $req = $request->get('id');
- $team = $this->getUser()->getTeam();
-
- if ($req) {
- $tom = $this->getDoctrine()->getRepository(Tom::class)->findBy(array('id' => $req));
+ if ($id) {
+ $daten = $dataTransferRepository->find($id);
} else {
- $tom = $this->getDoctrine()->getRepository(Tom::class)->findBy(array('team' => $team, 'activ' => true));
+ $daten = $dataTransferRepository->findBy([
+ 'team' => $team,
+ 'activ' => true,
+ 'art' => $request->get('art')
+ ]);
}
- if (count($tom) < 1) {
- return $this->redirectToRoute('bericht', ['snack' => 'Keine Berichte vorhanden']);
+ if (count($daten) < 1) {
+ return $this->redirectNoReport();
}
// Center Team authentication
- if ($team === null || $tom[0]->getTeam() !== $team) {
+ if ($team === null || $daten[0]->getTeam() !== $team) {
return $this->redirectToRoute('dashboard');
}
// Retrieve the HTML generated in our twig file
- $html = $this->renderView('bericht/berichtTom.html.twig', [
- 'datenAll' => $tom,
- 'titel' => 'TOM',
+ $html = $this->renderView('bericht/daten.html.twig', [
+ 'daten' => $daten,
+ 'titel' => $this->translator->trans(id: 'report.about.dataTransfer', domain: 'bericht'),
'team' => $team,
+ 'all' => $request->get('all'),
]);
//Generate PDF File for Download
- $response = $wrapper->getStreamResponse($html, "Technische-und-organisatorische-Massnahmen.pdf");
+ $response = $wrapper->getStreamResponse(
+ $html,
+ $this->translator->trans(id: 'dataTransfer.word', domain: 'datenweitergabe') . '.pdf',
+ );
$response->send();
}
- /**
- * @Route("/bericht/global_tom", name="bericht_global_tom")
- */
- public function berichtGlobalTom(DompdfWrapper $wrapper)
+ #[Route(path: '/loeschkonzept', name: '_loeschkonzept')]
+ public function reportDeletionConcept(
+ DompdfWrapper $wrapper,
+ Request $request,
+ CurrentTeamService $currentTeamService,
+ LoeschkonzeptRepository $deletionConceptRepository,
+ )
{
+ ini_set('max_execution_time', '900');
+ ini_set('memory_limit', '512M');
- $team = $this->getUser()->getTeam();
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ $doc = $this->translator->trans(id: 'deletionConcept.plural', domain: 'loeschkonzept');
- $audit = $this->getDoctrine()->getRepository(AuditTom::class)->findAllByTeam($team);
- if (count($audit) < 1) {
- return $this->redirectToRoute('bericht', ['snack' => 'Keine Berichte vorhanden']);
+ $loeschkonzept = $deletionConceptRepository->findByTeam($team);
+ $title = $this->translator->trans(id: 'deletionConcept.directoryOf') . ' ' . $team->getName();
+
+ if (count($loeschkonzept) < 1) {
+ return $this->redirectNoReport();
}
// Center Team authentication
- if ($team === null || $audit[0]->getTeam() !== $team) {
+ if ($team === null || $loeschkonzept[0]->getTeam() !== $team) {
return $this->redirectToRoute('dashboard');
}
// Retrieve the HTML generated in our twig file
- $html = $this->renderView('bericht/berichtGlobalTom.html.twig', [
- 'daten' => $audit,
- 'titel' => 'Allgemeine TOM',
+ $html = $this->renderView('bericht/loeschkonzept.html.twig', [
+ 'daten' => $loeschkonzept,
+ 'titel' => $title,
'team' => $team,
+ 'all' => $request->get('all'),
]);
//Generate PDF File for Download
- $response = $wrapper->getStreamResponse($html, "Globale_TOM.pdf");
+ $response = $wrapper->getStreamResponse($html, $doc . ".pdf");
$response->send();
}
- /**
- * @Route("/bericht/weitergabe", name="bericht_weitergabe")
- */
- public function berichtWeitergabe(DompdfWrapper $wrapper, Request $request)
+ #[Route(path: '/reports/generate', name: '_reports_generate')]
+ public function reportGenerateReports(
+ Request $request,
+ CurrentTeamService $currentTeamService,
+ ReportRepository $reportRepository,
+ ): Response
{
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
- $req = $request->get('id');
+ $data = $request->get('report_export');
+ $qb = $reportRepository->createQueryBuilder('s');
+ $qb->andWhere(
+ $qb->expr()->between('s.date', ':von', ':bis')
+ )
+ ->andWhere('s.activ = 1')
+ ->setParameter('von', $data['von'])
+ ->setParameter('bis', $data['bis']);
- $team = $this->getUser()->getTeam();
+ if ($data['user'] !== null) {
+ $qb->innerJoin('s.user', 'u')
+ ->andWhere('u.email = :user')
+ ->setParameter('user', $data['user']);
+ }
- if ($req) {
- $daten = $this->getDoctrine()->getRepository(Datenweitergabe::class)->findBy(array('id' => $req));
- } else {
- $daten = $this->getDoctrine()->getRepository(Datenweitergabe::class)->findBy(array('team' => $team, 'activ' => true, 'art' => $request->get('art')));
+ if ($data['report'] === 1) {
+ $qb->andWhere('s.inReport = 1');
}
- if (count($daten) < 1) {
- return $this->redirectToRoute('bericht', ['snack' => 'Keine Berichte vorhanden']);
+ $report = $qb->getQuery()->getResult();
+
+ if (count($report) < 1) {
+ return $this->redirectNoReport();
}
// Center Team authentication
- if ($team === null || $daten[0]->getTeam() !== $team) {
+ if ($team === null || $report[0]->getTeam() !== $team) {
return $this->redirectToRoute('dashboard');
}
- // Retrieve the HTML generated in our twig file
- $html = $this->renderView('bericht/daten.html.twig', [
- 'daten' => $daten,
- 'titel' => 'Bericht zur Datenweitergabe',
- 'team' => $this->getUser()->getTeam(),
- 'all' => $request->get('all'),
- ]);
- //Generate PDF File for Download
- $response = $wrapper->getStreamResponse($html, "Datenweitergabe.pdf");
- $response->send();
+ // Create a new Word document
+ $phpWord = new PhpWord();
+ $phpWord->addTitleStyle(1, ['bold' => true], ['spaceAfter' => 240]);
+ $phpWord->addTitleStyle(2, ['bold' => true], ['spaceBefore' => 300]);
+ $header = ['size' => 34, 'bold' => true];
+ $secHeader = ['size' => 13, 'bold' => true];
+
+ $title = $data['title'];
+
+ $section = $phpWord->addSection();
+ $section->addText($title, $header);
+
+ foreach ($report as $item) {
+
+ // Adding a software to the document...
+ $section->addTitle($item->getDate()->format('d.m.Y'), 2);
+
+ $table = $section->addTable();
+ $table->addRow();
+ $table->addCell(100 * 50)->addText($this->translator->trans(id: 'date', domain: 'general'));
+ $table->addCell(100 * 50)->addText($item->getDate()->format('d.m.Y'));
+
+ $table->addRow();
+ $table->addCell()->addText($this->translator->trans(id: 'startTime', domain: 'general'));
+ $table->addCell()->addText($item->getStart()->format('H:i'));
+
+ $table->addRow();
+ $table->addCell()->addText($this->translator->trans(id: 'endTime', domain: 'general'));
+ $table->addCell()->addText($item->getEnd()->format('H:i'));
+
+ $table->addRow();
+ $table->addCell()->addText($this->translator->trans(id: 'worker', domain: 'report'));
+ $table->addCell()->addText($item->getUser()->getEmail());
+
+ $table->addRow();
+ $table->addCell()->addText($this->translator->trans(id: 'work.onSight', domain: 'report'));
+ $table->addCell()->addText($this->translator->trans(id: ($item->getOnSite() ? 'yes' : 'no'), domain: 'general'));
+
+ $table->addRow();
+ $table->addCell()->addText($this->translator->trans(id: 'description', domain: 'general'));
+ $table->addCell()->addText($item->getDescription());
+ }
+
+ $section->addHeader()->addText($title);
+ $section->addFooter()->addText('Powered by open-datenschutzcenter.de');
+
+ // Saving the document as OOXML file...
+ $objWriter = IOFactory::createWriter($phpWord, 'Word2007');
+
+ // Create a temporal file in the system
+ $fileName = $data['title'] . '.docx';
+ $temp_file = tempnam(sys_get_temp_dir(), $fileName);
+
+ // Write in the temporal filepath
+ $objWriter->save($temp_file);
+
+ // Send the temporal file as response (as an attachment)
+ $response = new BinaryFileResponse($temp_file);
+ $response->setContentDisposition(
+ ResponseHeaderBag::DISPOSITION_ATTACHMENT,
+ $fileName
+ );
+
+ return $response;
}
- /**
- * @Route("/bericht/akademie", name="bericht_akademie")
- */
- public function berichtAkademie()
+ #[Route(path: '/global_tom', name: '_global_tom')]
+ public function reportGlobalTom(
+ DompdfWrapper $wrapper,
+ CurrentTeamService $currentTeamService,
+ AuditTomRepository $auditTomRepository,
+ )
{
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ $audit = $auditTomRepository->findAllByTeam($team);
- $team = $this->getUser()->getAkademieUser();
- // Admin Team authentication
- if ($this->getUser()->getAdminUser() !== $team) {
- return $this->redirectToRoute('dashboard');
+ if (count($audit) < 1) {
+ return $this->redirectNoReport();
}
- $daten = $this->getDoctrine()->getRepository(AkademieBuchungen::class)->findBerichtByTeam($team);
+ // Center Team authentication
+ if ($team === null || $audit[0]->getTeam() !== $team) {
+ return $this->redirectToRoute('dashboard');
+ }
- return $this->render('bericht/akademie.html.twig', [
- 'daten' => $daten,
- 'team' => $this->getUser()->getAkademieUser()
+ // Retrieve the HTML generated in our twig file
+ $html = $this->renderView('bericht/berichtGlobalTom.html.twig', [
+ 'daten' => $audit,
+ 'titel' => $this->translator->trans(id: 'tom.general', domain: 'bericht'),
+ 'team' => $team,
]);
+
+ //Generate PDF File for Download
+ $response = $wrapper->getStreamResponse(
+ $html,
+ $this->translator->trans(id: 'tom.global', domain: 'bericht') . '.pdf',
+ );
+ $response->send();
}
- /**
- * @Route("/bericht/vorfall", name="bericht_vorfall")
- */
- public function berichtVorfall(DompdfWrapper $wrapper, Request $request)
+ #[Route(path: '/vorfall', name: '_vorfall')]
+ public function reportIncident(
+ DompdfWrapper $wrapper,
+ Request $request,
+ CurrentTeamService $currentTeamService,
+ VorfallRepository $vorfallRepository,
+ )
{
+ $id = $request->get('id');
- $req = $request->get('id');
-
- $team = $this->getUser()->getTeam();
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
- if ($req) {
- $daten = $this->getDoctrine()->getRepository(Vorfall::class)->findBy(array('id' => $req));
+ if ($id) {
+ $daten = $vorfallRepository->find($id);
} else {
- $daten = $this->getDoctrine()->getRepository(Vorfall::class)->findBy(array('team' => $team, 'activ' => true), ['datum' => 'DESC']);
+ $daten = $vorfallRepository->findBy(['team' => $team, 'activ' => true], ['datum' => 'DESC']);
}
if (count($daten) < 1) {
- return $this->redirectToRoute('bericht', ['snack' => 'Keine Berichte vorhanden']);
+ return $this->redirectNoReport();
}
// Center Team authentication
@@ -290,34 +464,38 @@ public function berichtVorfall(DompdfWrapper $wrapper, Request $request)
// Retrieve the HTML generated in our twig file
$html = $this->renderView('bericht/vorfall.html.twig', [
'daten' => $daten,
- 'titel' => 'Bericht zu Datenvorfall',
- 'team' => $this->getUser()->getTeam(),
+ 'titel' => $this->translator->trans(id: 'report.about.dataIncident', domain: 'bericht'),
+ 'team' => $team,
'all' => $request->get('all'),
]);
//Generate PDF File for Download
- $response = $wrapper->getStreamResponse($html, "Datenschutzvorfall.pdf");
+ $response = $wrapper->getStreamResponse(
+ $html,
+ $this->translator->trans(id: 'dataProtection.incident', domain: 'bericht') . '.pdf',
+ );
$response->send();
}
- /**
- * @Route("/bericht/policy", name="bericht_policy")
- */
- public function berichtPolicy(DompdfWrapper $wrapper, Request $request)
+ #[Route(path: '/policy', name: '_policy')]
+ public function reportPolicy(
+ DompdfWrapper $wrapper,
+ Request $request,
+ CurrentTeamService $currentTeamService,
+ PoliciesRepository $policiesRepository,
+ )
{
+ $id = $request->get('id');
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
- $req = $request->get('id');
-
- $team = $this->getUser()->getTeam();
-
- if ($req) {
- $policies = $this->getDoctrine()->getRepository(Policies::class)->findBy(array('id' => $req));
+ if ($id) {
+ $policies = $policiesRepository->find($id);
} else {
- $policies = $this->getDoctrine()->getRepository(Policies::class)->findBy(array('team' => $team, 'activ' => true), ['createdAt' => 'DESC']);
+ $policies = $policiesRepository->findBy(['team' => $team, 'activ' => true], ['createdAt' => 'DESC']);
}
if (count($policies) < 1) {
- return $this->redirectToRoute('bericht', ['snack' => 'Keine Berichte vorhanden']);
+ return $this->redirectNoReport();
}
// Center Team authentication
@@ -328,167 +506,201 @@ public function berichtPolicy(DompdfWrapper $wrapper, Request $request)
// Retrieve the HTML generated in our twig file
$html = $this->renderView('bericht/policy.html.twig', [
'daten' => $policies,
- 'titel' => 'Bericht zu Datenschutzrichtlinien',
- 'team' => $this->getUser()->getTeam(),
+ 'titel' => $this->translator->trans(id: 'report.about.dataProtectionGuidelines', domain: 'bericht'),
+ 'team' => $team,
'all' => $request->get('all'),
]);
//Generate PDF File for Download
- $response = $wrapper->getStreamResponse($html, "Richtlinie.pdf");
+ $response = $wrapper->getStreamResponse(
+ $html,
+ $this->translator->trans(id: 'guideline', domain: 'vorfall') . '.pdf',
+ );
$response->send();
}
- /**
- * @Route("/bericht/software", name="bericht_software")
- */
- public function berichtSoftware(DompdfWrapper $wrapper, Request $request)
+ #[Route(path: '/request', name: '_request')]
+ public function reportRequest(
+ DompdfWrapper $wrapper,
+ Request $request,
+ CurrentTeamService $currentTeamService,
+ ClientRequestRepository $clientRequestRepository,
+ )
{
- $req = $request->get('id');
-
- $team = $this->getUser()->getTeam();
+ $id = $request->get('id');
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
- if ($req) {
- $software = $this->getDoctrine()->getRepository(Software::class)->findBy(array('id' => $req));
+ if ($id) {
+ $clientRequest = $clientRequestRepository->find($id);
+ $title = $this->translator->trans(id: 'report.about.clientRequestBy', domain: 'bericht') . ' ' . $clientRequest->getName();
} else {
- $software = $this->getDoctrine()->getRepository(Software::class)->findBy(array('team' => $team, 'activ' => true), ['createdAt' => 'DESC']);
+ $clientRequest = $clientRequestRepository->findBy(['team' => $team, 'activ' => true], ['createdAt' => 'DESC']);
+ $title = $this->translator->trans(id: 'report.about.clientRequest', domain: 'bericht');
}
- if (count($software) < 1) {
- return $this->redirectToRoute('bericht', ['snack' => 'Keine Berichte vorhanden']);
+ if (count($clientRequest) < 1) {
+ return $this->redirectNoReport();
}
// Center Team authentication
- if ($team === null || $software[0]->getTeam() !== $team) {
+ if ($team === null || $clientRequest[0]->getTeam() !== $team) {
return $this->redirectToRoute('dashboard');
}
+
// Retrieve the HTML generated in our twig file
- $html = $this->renderView('bericht/software.html.twig', [
- 'daten' => $software,
- 'titel' => 'Bericht zu verwendeter Software und Konfiguration',
- 'team' => $this->getUser()->getTeam(),
+ $html = $this->renderView('bericht/request.html.twig', [
+ 'daten' => $clientRequest,
+ 'titel' => $title,
+ 'team' => $team,
'all' => $request->get('all'),
]);
//Generate PDF File for Download
- $response = $wrapper->getStreamResponse($html, "Softwarekonfiguration.pdf");
+ $response = $wrapper->getStreamResponse($html, $title . ".pdf");
$response->send();
}
- /**
- * @Route("/bericht/backupconcept", name="bericht_backupconcept")
- */
- public function backupSoftware(DompdfWrapper $wrapper, Request $request)
+ #[Route(path: '/software', name: '_software')]
+ public function reportSoftware(
+ DompdfWrapper $wrapper,
+ Request $request,
+ CurrentTeamService $currentTeamService,
+ SoftwareRepository $softwareRepository,
+ )
{
+ $id = $request->get('id');
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
- $team = $this->getUser()->getTeam();
-
- $software = $this->getDoctrine()->getRepository(Software::class)->findBy(array('team' => $team, 'activ' => true), ['createdAt' => 'DESC']);
- $vvt = $this->getDoctrine()->getRepository(VVT::class)->findActivByTeam($team);
+ if ($id) {
+ $software = $softwareRepository->find($id);
+ } else {
+ $software = $softwareRepository->findBy(['team' => $team, 'activ' => true], ['createdAt' => 'DESC']);
+ }
if (count($software) < 1) {
- return $this->redirectToRoute('bericht', ['snack' => 'Keine Berichte vorhanden']);
+ return $this->redirectNoReport();
}
// Center Team authentication
if ($team === null || $software[0]->getTeam() !== $team) {
return $this->redirectToRoute('dashboard');
}
-
// Retrieve the HTML generated in our twig file
- $html = $this->renderView('bericht/backup.html.twig', [
+ $html = $this->renderView('bericht/software.html.twig', [
'daten' => $software,
- 'vvt' => $vvt,
- 'titel' => 'Archivierungskonzept',
- 'team' => $this->getUser()->getTeam(),
+ 'titel' => $this->translator->trans(id: 'report.about.software', domain: 'bericht'),
+ 'team' => $team,
'all' => $request->get('all'),
]);
//Generate PDF File for Download
- $response = $wrapper->getStreamResponse($html, "Archivierungskonzept.pdf");
+ $response = $wrapper->getStreamResponse(
+ $html,
+ $this->translator->trans('softwareConfig', domain: 'software') . '.pdf',
+ );
$response->send();
}
- /**
- * @Route("/bericht/revoceryconcept", name="bericht_recoveryconcept")
- */
- public function recoverySoftware(DompdfWrapper $wrapper, Request $request)
+ #[Route(path: '/tom', name: '_tom')]
+ public function reportTom(
+ DompdfWrapper $wrapper,
+ Request $request,
+ CurrentTeamService $currentTeamService,
+ TomRepository $tomRepository,
+ )
{
- $team = $this->getUser()->getTeam();
- $software = $this->getDoctrine()->getRepository(Software::class)->findBy(array('team' => $team, 'activ' => true), ['createdAt' => 'DESC']);
+ $req = $request->get('id');
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
- if (count($software) < 1) {
- return $this->redirectToRoute('bericht', ['snack' => 'Keine Berichte vorhanden']);
+ if ($req) {
+ $tom = $tomRepository->findBy(array('id' => $req));
+ } else {
+ $tom = $tomRepository->findBy(array('team' => $team, 'activ' => true));
+ }
+
+ if (count($tom) < 1) {
+ return $this->redirectNoReport();
}
// Center Team authentication
- if ($team === null || $software[0]->getTeam() !== $team) {
+ if ($team === null || $tom[0]->getTeam() !== $team) {
return $this->redirectToRoute('dashboard');
}
// Retrieve the HTML generated in our twig file
- $html = $this->renderView('bericht/recovery.html.twig', [
- 'daten' => $software,
- 'titel' => 'Recoverykonzept und Widerherstellungskonzept',
- 'team' => $this->getUser()->getTeam(),
- 'all' => $request->get('all'),
+ $html = $this->renderView('bericht/berichtTom.html.twig', [
+ 'datenAll' => $tom,
+ 'titel' => $this->translator->trans(id: 'tom.word', domain: 'bericht'),
+ 'team' => $team,
]);
//Generate PDF File for Download
- $response = $wrapper->getStreamResponse($html, "Recoverykonzept.pdf");
+ $response = $wrapper->getStreamResponse(
+ $html,
+ $this->translator->trans(id: 'technicalAndOrganizationMeasures', domain: 'audit_tom') . '.pdf');
$response->send();
}
- /**
- * @Route("/bericht/request", name="bericht_request")
- */
- public function berichtRequest(DompdfWrapper $wrapper, Request $request)
+ #[Route(path: '/vvt', name: '_vvt')]
+ public function reportVvt(
+ DompdfWrapper $wrapper,
+ Request $request,
+ CurrentTeamService $currentTeamService,
+ VVTRepository $vvtRepository,
+ )
{
+ ini_set('max_execution_time', '900');
+ ini_set('memory_limit', '512M');
$req = $request->get('id');
- $team = $this->getUser()->getTeam();
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ $doc = $this->translator->trans(id: 'processing.directory', domain: 'vvt');
if ($req) {
- $clientRequest = $this->getDoctrine()->getRepository(ClientRequest::class)->findBy(array('id' => $req));
- $title = 'Bericht zur Kundenanfrage und Datenauskunft von ' . $clientRequest[0]->getName();
+ $vvt = $vvtRepository->findBy(array('id' => $req));
+ $title = $this->translator->trans(id: 'processing.export', domain: 'vvt') . $vvt[0]->getName();
+ $doc = $vvt[0]->getName();
} else {
- $clientRequest = $this->getDoctrine()->getRepository(ClientRequest::class)->findBy(array('team' => $team, 'activ' => true), ['createdAt' => 'DESC']);
- $title = 'Bericht zur Kundenanfrage und Datenauskunft';
+ $vvt = $vvtRepository->findBy(array('team' => $team, 'activ' => true));
+ $title = $this->translator->trans(id: 'processing.directoryOf', domain: 'vvt') . $team->getName();
}
- if (count($clientRequest) < 1) {
- return $this->redirectToRoute('bericht', ['snack' => 'Keine Berichte vorhanden']);
+ if (count($vvt) < 1) {
+ return $this->redirectNoReport();
}
// Center Team authentication
- if ($team === null || $clientRequest[0]->getTeam() !== $team) {
+ if ($team === null || $vvt[0]->getTeam() !== $team) {
return $this->redirectToRoute('dashboard');
}
// Retrieve the HTML generated in our twig file
- $html = $this->renderView('bericht/request.html.twig', [
- 'daten' => $clientRequest,
+ $html = $this->renderView('bericht/vvt.html.twig', [
+ 'daten' => $vvt,
'titel' => $title,
- 'team' => $this->getUser()->getTeam(),
+ 'team' => $team,
'all' => $request->get('all'),
+ 'min' => $request->get('min'),
]);
//Generate PDF File for Download
- $response = $wrapper->getStreamResponse($html, $title . ".pdf");
+ $response = $wrapper->getStreamResponse($html, $doc . ".pdf");
$response->send();
}
-
- /**
- * @Route("/bericht/reports", name="bericht_reports")
- */
- public function berichtReports(Request $request)
+ #[Route(path: '/reports', name: '_reports')]
+ public function reports(
+ Request $request,
+ CurrentTeamService $currentTeamService,
+ ReportRepository $reportRepository,
+ )
{
- $team = $this->getUser()->getTeam();
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
$users = $team->getMembers();
- $members = array();
+ $members = [];
foreach ($users as $item) {
$members[$item->getEmail()] = $item->getId();
}
@@ -496,12 +708,12 @@ public function berichtReports(Request $request)
$form = $this->createForm(ReportExportType::class, ['action' => $this->generateUrl('bericht_reports'), 'method' => 'GET']);
$form->handleRequest($request);
- $title = 'Tätigkeitsbericht erstellen';
+ $title = $this->translator->trans(id: 'report.about.workReport', domain: 'bericht');
if ($form->isSubmitted() && $form->isValid()) {
$data = $form->getData();
- $qb = $this->getDoctrine()->getRepository(Report::class)->createQueryBuilder('s');
+ $qb = $reportRepository->createQueryBuilder('s');
$qb->andWhere(
$qb->expr()->between('s.date', ':von', ':bis')
)
@@ -522,7 +734,7 @@ public function berichtReports(Request $request)
$report = $qb->getQuery()->getResult();
if (count($report) < 1) {
- return $this->redirectToRoute('bericht', ['snack' => 'Keine Berichte vorhanden']);
+ return $this->redirectNoReport();
}
// Center Team authentication
@@ -533,10 +745,10 @@ public function berichtReports(Request $request)
// Create a new Word document
$phpWord = new PhpWord();
- $phpWord->addTitleStyle(1, array('bold' => true), array('spaceAfter' => 240));
- $phpWord->addTitleStyle(2, array('bold' => true), array('spaceBefore' => 300));
- $header = array('size' => 34, 'bold' => true);
- $secHeader = array('size' => 13, 'bold' => true);
+ $phpWord->addTitleStyle(1, ['bold' => true], ['spaceAfter' => 240]);
+ $phpWord->addTitleStyle(2, ['bold' => true], ['spaceBefore' => 300]);
+ $header = ['size' => 34, 'bold' => true];
+ $secHeader = ['size' => 13, 'bold' => true];
$title = $data['title'];
@@ -550,27 +762,27 @@ public function berichtReports(Request $request)
$table = $section->addTable();
$table->addRow();
- $table->addCell(100 * 50)->addText('Datum');
+ $table->addCell(100 * 50)->addText($this->translator->trans(id: 'date', domain: 'general'));
$table->addCell(100 * 50)->addText($item->getDate()->format('d.m.Y'));
$table->addRow();
- $table->addCell()->addText('Startzeit');
+ $table->addCell()->addText($this->translator->trans(id: 'startTime', domain: 'general'));
$table->addCell()->addText($item->getStart()->format('H:i'));
$table->addRow();
- $table->addCell()->addText('Endzeit');
+ $table->addCell()->addText($this->translator->trans(id: 'endTime', domain: 'general'));
$table->addCell()->addText($item->getEnd()->format('H:i'));
$table->addRow();
- $table->addCell()->addText('Bearbeiter');
+ $table->addCell()->addText($this->translator->trans(id: 'worker', domain: 'report'));
$table->addCell()->addText($item->getUser()->getEmail());
$table->addRow();
- $table->addCell()->addText('Vor Ort');
- $table->addCell()->addText($item->getOnSite() ? 'Ja' : 'Nein');
+ $table->addCell()->addText($this->translator->trans(id: 'work.onSight', domain: 'report'));
+ $table->addCell()->addText($this->translator->trans(id: ($item->getOnSite() ? 'yes' : 'no'), domain: 'general'));
$table->addRow();
- $table->addCell()->addText('Beschreibung');
+ $table->addCell()->addText($this->translator->trans(id: 'description', domain: 'general'));
$table->addCell()->addText($item->getDescription());
}
@@ -600,145 +812,13 @@ public function berichtReports(Request $request)
return $this->render('bericht/modalView.html.twig', array('form' => $form->createView(), 'title' => $title, 'members' => $users));
}
- /**
- * @Route("/bericht/loeschkonzept", name="bericht_loeschkonzept")
- */
- public function berichtLoeschkonzept(DompdfWrapper $wrapper, Request $request)
+ private function redirectNoReport(): RedirectResponse
{
- ini_set('max_execution_time', '900');
- ini_set('memory_limit', '512M');
-
- $req = $request->get('id');
- $team = $this->getUser()->getTeam();
- $doc = 'Löschkonzepte';
-
-
- $loeschkonzept = $this->getDoctrine()->getRepository(Loeschkonzept::class)->findByTeam($team);
- $title = 'Verzeichnis der Löschkonzepte von ' . $team->getName();
-
- if (count($loeschkonzept) < 1) {
- return $this->redirectToRoute('bericht', ['snack' => 'Keine Berichte vorhanden']);
- }
-
- // Center Team authentication
- if ($team === null || $loeschkonzept[0]->getTeam() !== $team) {
- return $this->redirectToRoute('dashboard');
- }
-
- // Retrieve the HTML generated in our twig file
- $html = $this->renderView('bericht/loeschkonzept.html.twig', [
- 'daten' => $loeschkonzept,
- 'titel' => $title,
- 'team' => $team,
- 'all' => $request->get('all'),
- ]);
-
- //Generate PDF File for Download
- $response = $wrapper->getStreamResponse($html, $doc . ".pdf");
- $response->send();
- }
-
-
- /**
- * @Route("/bericht/reports/generate", name="bericht_reports_generate")
- */
- public function berichtGernateReports(Request $request)
- {
- $team = $this->getUser()->getTeam();
-
- $data = $request->get('report_export');
- $qb = $this->getDoctrine()->getRepository(Report::class)->createQueryBuilder('s');
- $qb->andWhere(
- $qb->expr()->between('s.date', ':von', ':bis')
- )
- ->andWhere('s.activ = 1')
- ->setParameter('von', $data['von'])
- ->setParameter('bis', $data['bis']);
-
- if ($data['user'] !== null) {
- $qb->innerJoin('s.user', 'u')
- ->andWhere('u.email = :user')
- ->setParameter('user', $data['user']);
- }
-
- if ($data['report'] === 1) {
- $qb->andWhere('s.inReport = 1');
- }
-
- $report = $qb->getQuery()->getResult();
-
- if (count($report) < 1) {
- return $this->redirectToRoute('bericht', ['snack' => 'Keine Berichte vorhanden']);
- }
-
- // Center Team authentication
- if ($team === null || $report[0]->getTeam() !== $team) {
- return $this->redirectToRoute('dashboard');
- }
-
-
- // Create a new Word document
- $phpWord = new PhpWord();
- $phpWord->addTitleStyle(1, array('bold' => true), array('spaceAfter' => 240));
- $phpWord->addTitleStyle(2, array('bold' => true), array('spaceBefore' => 300));
- $header = array('size' => 34, 'bold' => true);
- $secHeader = array('size' => 13, 'bold' => true);
-
- $title = $data['title'];
-
- $section = $phpWord->addSection();
- $section->addText($title, $header);
-
- foreach ($report as $item) {
-
- // Adding a software to the document...
- $section->addTitle($item->getDate()->format('d.m.Y'), 2);
-
- $table = $section->addTable();
- $table->addRow();
- $table->addCell(100 * 50)->addText('Datum');
- $table->addCell(100 * 50)->addText($item->getDate()->format('d.m.Y'));
-
- $table->addRow();
- $table->addCell()->addText('Startzeit');
- $table->addCell()->addText($item->getStart()->format('H:i'));
-
- $table->addRow();
- $table->addCell()->addText('Endzeit');
- $table->addCell()->addText($item->getStart()->format('H:i'));
-
- $table->addRow();
- $table->addCell()->addText('Bearbeiter');
- $table->addCell()->addText($item->getUser()->getEmail());
-
- $table->addRow();
- $table->addCell()->addText('Vor Ort');
- $table->addCell()->addText($item->getOnSite() ? 'Ja' : 'Nein');
-
- $section->addText('Beschreibung', $secHeader);
- $section->addText($item->getDescription());
- }
-
- $section->addHeader()->addText($title);
- $section->addFooter()->addText('Powered by open-datenschutzcenter.de');
-
- // Saving the document as OOXML file...
- $objWriter = IOFactory::createWriter($phpWord, 'Word2007');
-
- // Create a temporal file in the system
- $fileName = $data['title'] . '.docx';
- $temp_file = tempnam(sys_get_temp_dir(), $fileName);
-
- // Write in the temporal filepath
- $objWriter->save($temp_file);
-
- // Send the temporal file as response (as an attachment)
- $response = new BinaryFileResponse($temp_file);
- $response->setContentDisposition(
- ResponseHeaderBag::DISPOSITION_ATTACHMENT,
- $fileName
+ return $this->redirectToRoute(
+ 'bericht',
+ [
+ 'snack' => $this->translator->trans(id: 'report.notAvailable', domain: 'bericht')
+ ]
);
-
- return $response;
}
}
diff --git a/src/Controller/ClientRequestController.php b/src/Controller/ClientRequestController.php
index 1a4c9aae..57b60be3 100644
--- a/src/Controller/ClientRequestController.php
+++ b/src/Controller/ClientRequestController.php
@@ -2,32 +2,47 @@
namespace App\Controller;
-use App\Entity\ClientRequest;
use App\Entity\Team;
use App\Form\Type\ClientRequesCommentType;
use App\Form\Type\ClientRequestInternalNoteType;
use App\Form\Type\ClientRequestInternalType;
use App\Form\Type\ClientRequestType;
use App\Form\Type\ClientRequestViewType;
+use App\Repository\ClientRequestRepository;
use App\Service\ClientRequestService;
+use App\Service\CurrentTeamService;
use App\Service\NotificationService;
use App\Service\SecurityService;
+use Doctrine\ORM\EntityManagerInterface;
+use Exception;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Validator\Validator\ValidatorInterface;
use Symfony\Contracts\Translation\TranslatorInterface;
class ClientRequestController extends AbstractController
{
- /**
- * @Route("/client-requests", name="client_requests")
- */
- public function allClientRequests(SecurityService $securityService)
+
+
+ public function __construct(
+ private readonly TranslatorInterface $translator,
+ private EntityManagerInterface $em,
+ )
+ {
+ }
+
+ #[Route(path: '/client-requests', name: 'client_requests')]
+ public function allClientRequests(
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ ClientRequestRepository $clientRequestRepository,
+ ): Response
{
- $team = $this->getUser()->getTeam();
- $client = $this->getDoctrine()->getRepository(ClientRequest::class)->findBy(['team' => $team, 'emailValid' => true]);
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ $client = $clientRequestRepository->findBy(['team' => $team, 'emailValid' => true]);
if ($securityService->teamCheck($team) === false) {
return $this->redirectToRoute('dashboard');
@@ -35,233 +50,283 @@ public function allClientRequests(SecurityService $securityService)
return $this->render('client_request/indexInternal.html.twig', [
'client' => $client,
- 'team' => $team
+ 'currentTeam' => $team
]);
}
- /**
- * @Route("/client-requests/show", name="client_requests_show")
- */
- public function showClientRequests(SecurityService $securityService, Request $request)
+ #[Route(path: '/client/{slug}/comment', name: 'client_comment')]
+ #[ParamConverter('team', options: ['mapping' => ['slug' => 'slug']])]
+ public function clientComment(
+ Request $request,
+ Team $team,
+ ClientRequestService $clientRequestService,
+ ClientRequestRepository $clientRequestRepository,
+ ): Response
{
+ $data = $request->get('client_request_comment');
+ $clientRequest = $clientRequestRepository->findOneBy(['token' => $request->get('token')]);
- $team = $this->getUser()->getTeam();
- $clientRequest = $this->getDoctrine()->getRepository(ClientRequest::class)->find($request->get('id'));
-
- if ($securityService->teamDataCheck($clientRequest, $team) === false) {
- return $this->redirectToRoute('client_requests');
- }
-
- $form = $this->createForm(ClientRequesCommentType::class);
+ $content = $data['comment'];
+ $clientRequestService->newComment($clientRequest, $content, $clientRequest->getName(), 0);
- return $this->render('client_request/internalShow.html.twig', [
- 'data' => $clientRequest,
- 'team' => $team,
- 'form' => $form->createView(),
- 'snack' => $request->get('snack')
- ]);
+ $snack = $this->translator->trans(id: 'save.comment', domain: 'general');
+ return $this->redirectToRoute('client_show', ['slug' => $team->getSlug(), 'token' => $clientRequest->getToken(), 'snack' => $snack]);
}
- /**
- * @Route("/client-requests/comment", name="client_request_comment")
- */
- public function clientRequestComment(SecurityService $securityService, Request $request, ClientRequestService $clientRequestService)
+ #[Route(path: '/client-requests/comment', name: 'client_request_comment')]
+ public function clientRequestComment(
+ SecurityService $securityService,
+ Request $request,
+ ClientRequestService $clientRequestService,
+ CurrentTeamService $currentTeamService,
+ ClientRequestRepository $clientRequestRepository,
+ ): Response
{
- $data = $request->get('client_reques_comment');
- $clientRequest = $this->getDoctrine()->getRepository(ClientRequest::class)->find($request->get('clientRequest'));
+ $data = $request->get('client_request_comment');
+ $clientRequest = $clientRequestRepository->find($request->get('clientRequest'));
- $team = $this->getUser()->getTeam();
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
if ($securityService->teamDataCheck($clientRequest, $team) === false) {
return $this->redirectToRoute('client_requests');
}
$content = $data['comment'];
- $clientRequestService->newComment($clientRequest, $content, $this->getUser()->getTeam()->getName() . ' > ' . $this->getUser()->getUsername(), 1);
+ $clientRequestService->newComment($clientRequest, $content, $team->getKeycloakGroup() . ' > ' . $this->getUser()->getUsername(), 1);
return $this->redirectToRoute('client_requests_show', ['id' => $clientRequest->getId()]);
}
- /**
- * @Route("/client-requests/userValidate", name="client_valid_user")
- */
- public function validateUserRequest(SecurityService $securityService, Request $request, ClientRequestService $clientRequestService)
+ #[Route(path: '/client-requests/close', name: 'client_request_close')]
+ public function closeRequest(
+ SecurityService $securityService,
+ Request $request,
+ ClientRequestService $clientRequestService,
+ CurrentTeamService $currentTeamService,
+ ClientRequestRepository $clientRequestRepository,
+ ): Response
{
- $clientRequest = $this->getDoctrine()->getRepository(ClientRequest::class)->find($request->get('id'));
-
- $team = $this->getUser()->getAdminUser();
- if ($securityService->teamDataCheck($clientRequest, $team) === false) {
- return $this->redirectToRoute('client_requests');
- }
-
- $clientRequestService->userValid($clientRequest, $this->getUser());
- return $this->redirectToRoute('client_requests_show', ['id' => $clientRequest->getId()]);
- }
+ $clientRequest = $clientRequestRepository->find($request->get('id'));
+ $user = $this->getUser();
+ $team = $currentTeamService->getTeamFromSession($user);
- /**
- * @Route("/client-requests/close", name="client_request_close")
- */
- public function closeRequest(SecurityService $securityService, Request $request, ClientRequestService $clientRequestService)
- {
- $clientRequest = $this->getDoctrine()->getRepository(ClientRequest::class)->find($request->get('id'));
+ if ($securityService->teamDataCheck($clientRequest, $team) && $securityService->adminCheck($user, $team)) {
+ $clientRequestService->closeRequest($clientRequest, $this->getUser());
- $team = $this->getUser()->getAdminUser();
- if ($securityService->teamDataCheck($clientRequest, $team) === false) {
- return $this->redirectToRoute('client_requests');
+ return $this->redirectToRoute('client_requests_show', ['id' => $clientRequest->getId()]);
}
- $clientRequestService->closeRequest($clientRequest, $this->getUser());
- return $this->redirectToRoute('client_requests_show', ['id' => $clientRequest->getId()]);
+ // if security check fails
+ return $this->redirectToRoute('client_requests');
}
- /**
- * @Route("/client-requests/internal", name="client_request_make_internal")
- */
- public function makeInternalRequest(TranslatorInterface $translator, SecurityService $securityService, Request $request, ClientRequestService $clientRequestService)
+ #[Route(path: '/client-requests/edit', name: 'client_requests_edit')]
+ public function editClientRequests(
+ SecurityService $securityService,
+ Request $request,
+ ValidatorInterface $validator,
+ ClientRequestService $clientRequestService,
+ CurrentTeamService $currentTeamService,
+ ClientRequestRepository $clientRequestRepository,
+ )
{
- $clientRequest = $this->getDoctrine()->getRepository(ClientRequest::class)->find($request->get('id'));
-
- $team = $this->getUser()->getAdminUser();
- if ($securityService->teamDataCheck($clientRequest, $team) === false) {
- return $this->redirectToRoute('client_requests');
- }
- if ($clientRequestService->interalRequest($clientRequest)) {
- $snack = $translator->trans('Änderung gespeichert.');
- } else {
- $snack = $translator->trans('Fehler. Bitte noch einmal versuchen');
+ $user = $this->getUser();
+ $team = $currentTeamService->getTeamFromSession($user);
+ $clientRequest = $clientRequestRepository->find($request->get('id'));
+
+ if ($securityService->teamDataCheck($clientRequest, $team) && $securityService->adminCheck($user, $team)) {
+ $contentArray = [
+ 'Anfrage wurde geändert || Alte Nachricht: ' . $clientRequest->getTitle(),
+ $this->translator->trans(id: 'email', domain: 'general') . ': ' . $clientRequest->getEmail(),
+ $this->translator->trans(id: 'name', domain: 'general') . ': ' . $clientRequest->getName(),
+ $this->translator->trans(id: 'reason', domain: 'general') . ': ' . $clientRequest->getItemString(),
+ $this->translator->trans(id: 'description', domain: 'general') . ': ' . $clientRequest->getDescription(),
+ $this->translator->trans(id: 'additionalInformation', domain: 'general') . ': ' . $clientRequest->getFirstname() . ' ' . $clientRequest->getLastname(),
+ $this->translator->trans(id: 'birthday', domain: 'general') . ': ' . $clientRequest->getBirthday()->format('d.m.Y'),
+ $this->translator->trans(id: 'address', domain: 'general') . ': ' . $clientRequest->getStreet() . ' ' . $clientRequest->getCity(),
+ ];
+ $content = implode(' | ', $contentArray);
+
+ $form = $this->createForm(ClientRequestType::class, $clientRequest);
+ $form->remove('password');
+ $form->handleRequest($request);
+ $errors = array();
+ if ($form->isSubmitted() && $form->isValid()) {
+ $clientRequest = $form->getData();
+ $errors = $validator->validate($clientRequest);
+ if (count($errors) == 0) {
+ $this->em->persist($clientRequest);
+ $this->em->flush();
+
+ $clientRequestService->newComment($clientRequest, $content, $team->getKeycloakGroup() . ' > ' . $this->getUser()->getUsername(), 1);
+
+ $snack = $this->translator->trans(id: 'save.changeSuccessful', domain: 'general');
+ return $this->redirectToRoute('client_requests_show', ['id' => $clientRequest->getId(), 'snack' => $snack]);
+ }
+ }
+ return $this->render('client_request/internalEdit.html.twig', [
+ 'data' => $clientRequest,
+ 'team' => $team,
+ 'form' => $form->createView()
+ ]);
}
- return $this->redirectToRoute('client_requests_show', ['id' => $clientRequest->getId(), 'snack' => $snack]);
+
+ // if security check fails
+ return $this->redirectToRoute('client_requests');
}
- /**
- * @Route("/client-requests/internalNote", name="client_requests_internal_note")
- */
- public function internalNoteClientRequests(SecurityService $securityService, Request $request, ValidatorInterface $validator)
+ #[Route(path: '/client/{slug}', name: 'client_index')]
+ #[ParamConverter('team', options: ['mapping' => ['slug' => 'slug']])]
+ public function index(
+ Team $team,
+ Request $request,
+ ClientRequestRepository $clientRequestRepository,
+ ): Response
{
-
- $team = $this->getUser()->getTeam();
- $clientRequest = $this->getDoctrine()->getRepository(ClientRequest::class)->find($request->get('id'));
-
- if ($securityService->teamDataCheck($clientRequest, $team) === false) {
- return $this->redirectToRoute('client_requests');
- }
- $form = $this->createForm(ClientRequestInternalNoteType::class, $clientRequest);
+ $form = $this->createForm(ClientRequestViewType::class);
$form->handleRequest($request);
+ $snack = $request->get('snack');
$errors = array();
if ($form->isSubmitted() && $form->isValid()) {
- $em = $this->getDoctrine()->getManager();
- $clientRequest = $form->getData();
-
- $errors = $validator->validate($clientRequest);
- if (count($errors) == 0) {
- $em->persist($clientRequest);
- $em->flush();
+ $search = $form->getData();
+ $pass = sha1($search['password']);
+ $clientRequest = $clientRequestRepository->findOneBy([
+ 'uuid' => $search['uuid'],
+ 'email' => $search['email'],
+ 'password' => $pass,
+ 'open' => true
+ ]);
- return $this->redirectToRoute('client_requests_show', ['id' => $clientRequest->getId(), 'snack' => 'Änderung gespeichert']);
+ if (count($errors) == 0 && $clientRequest) {
+ return $this->redirectToRoute('client_show', ['slug' => $team->getSlug(), 'token' => $clientRequest->getToken()]);
}
+ $snack = $this->translator->trans(id: 'login.error.retry', domain: 'client_request');
}
- return $this->render('client_request/internalEdit.html.twig', ['data' => $clientRequest, 'team' => $team, 'form' => $form->createView(),]);
- }
+ return $this->render('client_request/index.html.twig', [
+ 'form' => $form->createView(),
+ 'team' => $team,
+ 'snack' => $snack
+ ]);
+ }
- /**
- * @Route("/client-requests/edit", name="client_requests_edit")
- */
- public function editClientRequests(SecurityService $securityService, Request $request, ValidatorInterface $validator, ClientRequestService $clientRequestService, TranslatorInterface $translator)
+ #[Route(path: '/client-requests/internalNote', name: 'client_requests_internal_note')]
+ public function internalNoteClientRequests(
+ SecurityService $securityService,
+ Request $request,
+ ValidatorInterface $validator,
+ CurrentTeamService $currentTeamService,
+ ClientRequestRepository $clientRequestRepository,
+ ): Response
{
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ $clientRequest = $clientRequestRepository->find($request->get('id'));
- $team = $this->getUser()->getAdminUser();
- $clientRequest = $this->getDoctrine()->getRepository(ClientRequest::class)->find($request->get('id'));
if ($securityService->teamDataCheck($clientRequest, $team) === false) {
return $this->redirectToRoute('client_requests');
}
- $content = 'Anfrage wurde geändert || Alte Nachricht: ' . $clientRequest->getTitle() . '| Email: ' . $clientRequest->getEmail() . '| Name: ' . $clientRequest->getName() . '| Grund: ' . $clientRequest->getItemString() . '| Beschreibung: ' . $clientRequest->getDescription() . '| Zusätzliche Angaben: ' . $clientRequest->getFirstname() . ' ' . $clientRequest->getLastname() . ', Geburtstag: ' . $clientRequest->getBirthday()->format('d.m.Y') . ', Adresse: ' . $clientRequest->getStreet() . ' ' . $clientRequest->getCity();
-
- $form = $this->createForm(ClientRequestType::class, $clientRequest);
- $form->remove('password');
+ $form = $this->createForm(ClientRequestInternalNoteType::class, $clientRequest);
$form->handleRequest($request);
- $errors = array();
+ $errors = [];
if ($form->isSubmitted() && $form->isValid()) {
- $em = $this->getDoctrine()->getManager();
$clientRequest = $form->getData();
+
$errors = $validator->validate($clientRequest);
if (count($errors) == 0) {
- $em->persist($clientRequest);
- $em->flush();
-
- $clientRequestService->newComment($clientRequest, $content, $this->getUser()->getTeam()->getName() . ' > ' . $this->getUser()->getUsername(), 1);
-
- $snack = $translator->trans('Änderung gespeichert.');
- return $this->redirectToRoute('client_requests_show', ['id' => $clientRequest->getId(), 'snack' => $snack]);
+ $this->em->persist($clientRequest);
+ $this->em->flush();
+
+ return $this->redirectToRoute(
+ 'client_requests_show',
+ [
+ 'id' => $clientRequest->getId(),
+ 'snack' => $this->translator->trans(id: 'save.changesSuccessful', domain: 'general'),
+ ],
+ );
}
}
- return $this->render('client_request/internalEdit.html.twig', [
- 'data' => $clientRequest,
- 'team' => $team,
- 'form' => $form->createView()
- ]);
- }
+ return $this->render(
+ 'client_request/internalEdit.html.twig',
+ [
+ 'data' => $clientRequest,
+ 'team' => $team,
+ 'form' => $form->createView(),
+ ],
+ );
+ }
- /**
- * @Route("/client/{slug}", name="client_index")
- * @ParamConverter("team", options={"mapping": {"slug": "slug"}})
- */
- public function index(Team $team, Request $request, TranslatorInterface $translator)
+ #[Route(path: '/client-requests/internal', name: 'client_request_make_internal')]
+ public function makeInternalRequest(
+ SecurityService $securityService,
+ Request $request,
+ ClientRequestService $clientRequestService,
+ CurrentTeamService $currentTeamService,
+ ClientRequestRepository $clientRequestRepository,
+ ): Response
{
- $form = $this->createForm(ClientRequestViewType::class);
- $form->handleRequest($request);
- $snack = $request->get('snack');
- $errors = array();
- if ($form->isSubmitted() && $form->isValid()) {
- $search = $form->getData();
- $pass = sha1($search['password']);
- $clientRequest = $this->getDoctrine()->getRepository(ClientRequest::class)->findOneBy(['uuid' => $search['uuid'], 'email' => $search['email'], 'password' => $pass, 'open' => true]);
+ $clientRequest = $clientRequestRepository->find($request->get('id'));
+ $user = $this->getUser();
+ $team = $currentTeamService->getTeamFromSession($user);
- if (count($errors) == 0 && $clientRequest) {
- return $this->redirectToRoute('client_show', ['slug' => $team->getSlug(), 'token' => $clientRequest->getToken()]);
+ if ($securityService->teamDataCheck($clientRequest, $team) && $securityService->adminCheck($user, $team)) {
+ if ($clientRequestService->interalRequest($clientRequest)) {
+ $snack = $this->translator->trans(id: 'save.changesSuccessful', domain: 'general');
+ } else {
+ $snack = $this->translator->trans(id: 'error.retry', domain: 'general');
}
- $snack = $translator->trans('Login war nicht erfolgreich. Bitte versuchen Sie es noch einmal.');
+ return $this->redirectToRoute('client_requests_show', ['id' => $clientRequest->getId(), 'snack' => $snack]);
}
- return $this->render('client_request/index.html.twig', [
- 'form' => $form->createView(),
- 'team' => $team,
- 'snack' => $snack
- ]);
+ // if security check fails
+ return $this->redirectToRoute('client_requests');
}
- /**
- * @Route("/client/{slug}/new", name="client_new")
- * @ParamConverter("team", options={"mapping": {"slug": "slug"}})
- */
- public function newRequest(Request $request, ValidatorInterface $validator, Team $team, ClientRequestService $clientRequestService, NotificationService $notificationService)
+ #[Route(path: '/client/{slug}/new', name: 'client_new')]
+ #[ParamConverter('team', options: ['mapping' => ['slug' => 'slug']])]
+ public function newRequest(
+ Request $request,
+ ValidatorInterface $validator,
+ Team $team,
+ ClientRequestService $clientRequestService,
+ NotificationService $notificationService,
+ ): Response
{
$form = $clientRequestService->newRequest($team);
$form->handleRequest($request);
$errors = array();
if ($form->isSubmitted() && $form->isValid()) {
- $em = $this->getDoctrine()->getManager();
$clientRequest = $form->getData();
$clientRequest->setPassword(sha1($clientRequest->getPassword()));
$errors = $validator->validate($clientRequest);
if (count($errors) == 0) {
- $em->persist($clientRequest);
+ $this->em->persist($clientRequest);
if ($clientRequest->getPgp()) {
$content = $this->renderView('email/client/notificationVerifyEncrypt.html.twig', ['data' => $clientRequest]);
try {
- $notificationService->sendEncrypt($clientRequest->getPgp(), $content, $clientRequest->getEmail(), 'Neue Nachricht vom Datenschutzcenter');
- } catch (\Exception $e) {
+ $notificationService->sendEncrypt(
+ $clientRequest->getPgp(),
+ $content,
+ $clientRequest->getEmail(),
+ $this->translator->trans(id: 'emailFromOdc', domain: 'client_request'));
+ } catch (Exception $e) {
$clientRequest->setPgp(null);
- $em->persist($clientRequest);
+ $this->em->persist($clientRequest);
}
}
if (!$clientRequest->getPgp()) {
- $content = $this->renderView('email/client/notificationVerify.html.twig', ['data' => $clientRequest, 'title' => $clientRequest->getTitle(), 'team' => $clientRequest->getTeam()]);
+ $content = $this->renderView(
+ 'email/client/notificationVerify.html.twig',
+ [
+ 'data' => $clientRequest,
+ 'title' => $clientRequest->getTitle(),
+ 'team' => $clientRequest->getTeam()
+ ]
+ );
$notificationService->sendRequestVerify($content, $clientRequest->getEmail());
}
- $em->flush();
+ $this->em->flush();
return $this->redirectToRoute('client_show', ['slug' => $team->getSlug(), 'token' => $clientRequest->getToken()]);
}
}
@@ -272,13 +337,40 @@ public function newRequest(Request $request, ValidatorInterface $validator, Team
]);
}
- /**
- * @Route("/client/{slug}/show", name="client_show")
- * @ParamConverter("team", options={"mapping": {"slug": "slug"}})
- */
- public function showRequest(Request $request, Team $team, TranslatorInterface $translator)
+ #[Route(path: '/client-requests/show', name: 'client_requests_show')]
+ public function showClientRequests(
+ SecurityService $securityService,
+ Request $request,
+ CurrentTeamService $currentTeamService,
+ ClientRequestRepository $clientRequestRepository,
+ ): Response
{
- $clientRequest = $this->getDoctrine()->getRepository(ClientRequest::class)->findOneBy(['token' => $request->get('token'), 'open' => true]);
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ $clientRequest = $clientRequestRepository->find($request->get('id'));
+
+ if ($securityService->teamDataCheck($clientRequest, $team) === false) {
+ return $this->redirectToRoute('client_requests');
+ }
+
+ $form = $this->createForm(ClientRequesCommentType::class);
+
+ return $this->render('client_request/internalShow.html.twig', [
+ 'data' => $clientRequest,
+ 'team' => $team,
+ 'form' => $form->createView(),
+ 'snack' => $request->get('snack')
+ ]);
+ }
+
+ #[Route(path: '/client/{slug}/show', name: 'client_show')]
+ #[ParamConverter('team', options: ['mapping' => ['slug' => 'slug']])]
+ public function showRequest(
+ Request $request,
+ Team $team,
+ ClientRequestRepository $clientRequestRepository
+ ): Response
+ {
+ $clientRequest = $clientRequestRepository->findOneBy(['token' => $request->get('token'), 'open' => true]);
if ($clientRequest) {
$form = $this->createForm(ClientRequesCommentType::class);
@@ -288,52 +380,61 @@ public function showRequest(Request $request, Team $team, TranslatorInterface $t
'form' => $form->createView(),
]);
}
- $snack = $translator->trans('Token passt zu keinem offenen Ticket');
+ $snack = $this->translator->trans(id: 'noTicketMatched', domain: 'client_request');
return $this->redirectToRoute('client_index', ['slug' => $team->getSlug(), 'snack' => $snack]);
}
- /**
- * @Route("/client/{slug}/comment", name="client_comment")
- * @ParamConverter("team", options={"mapping": {"slug": "slug"}})
- */
- public function clientComment(Request $request, Team $team, ClientRequestService $clientRequestService, TranslatorInterface $translator)
+ #[Route(path: '/client/{slug}/verify', name: 'client_valid')]
+ #[ParamConverter('team', options: ['mapping' => ['slug' => 'slug']])]
+ public function validateRequest(
+ Request $request,
+ Team $team,
+ NotificationService $notificationService,
+ ClientRequestService $clientRequestService,
+ ClientRequestRepository $clientRequestRepository,
+ ): Response
{
- $data = $request->get('client_reques_comment');
- $clientRequest = $this->getDoctrine()->getRepository(ClientRequest::class)->findOneBy(['token' => $request->get('token')]);
-
- $content = $data['comment'];
- $clientRequestService->newComment($clientRequest, $content, $clientRequest->getName(), 0);
-
- $snack = $translator->trans('Kommentar gespeichert');
- return $this->redirectToRoute('client_show', ['slug' => $team->getSlug(), 'token' => $clientRequest->getToken(), 'snack' => $snack]);
- }
-
- /**
- * @Route("/client/{slug}/verify", name="client_valid")
- * @ParamConverter("team", options={"mapping": {"slug": "slug"}})
- */
- public function validateRequest(Request $request, Team $team, NotificationService $notificationService, ClientRequestService $clientRequestService, TranslatorInterface $translator)
- {
- $clientRequest = $this->getDoctrine()->getRepository(ClientRequest::class)->findOneBy(['uuid' => $request->get('token')]);
- $snack = $translator->trans('Es wurde kein offenes Ticket gefunden.');
+ $clientRequest = $clientRequestRepository->findOneBy(['uuid' => $request->get('token')]);
+ $snack = $this->translator->trans(id: 'noOpenTicket', domain: 'client_request');
if ($clientRequest) {
if (!$clientRequest->getEmailValid()) {
$clientRequest->setEmailValid(true);
- $em = $this->getDoctrine()->getManager();
- $em->persist($clientRequest);
- $em->flush();
+ $this->em->persist($clientRequest);
+ $this->em->flush();
$contentInternal = $this->renderView('email/client/notificationNew.html.twig', ['data' => $clientRequest, 'title' => $clientRequest->getTitle(), 'team' => $clientRequest->getTeam()]);
foreach ($clientRequest->getTeam()->getAdmins() as $admin) {
$notificationService->sendRequestNew($contentInternal, $admin->getEmail());
}
- $content = 'Email wurde erfolgreich verifiziert';
+ $content = $this->translator->trans(id: 'email.verify', domain: 'client_request');
$clientRequestService->newComment($clientRequest, $content, $clientRequest->getName(), 1);
- $snack = $translator->trans('Email wurde erfolgreich verifiziert');
+ $snack = $this->translator->trans(id: 'email.verify', domain: 'client_request');
} else {
- $snack = $translator->trans('Email bereits verifiziert');
+ $snack = $this->translator->trans(id: 'email.alreadyVerified', domain: 'client_request');
}
}
return $this->redirectToRoute('client_index', ['slug' => $team->getSlug(), 'snack' => $snack]);
}
+
+ #[Route(path: '/client-requests/userValidate', name: 'client_valid_user')]
+ public function validateUserRequest(
+ SecurityService $securityService,
+ Request $request,
+ ClientRequestService $clientRequestService,
+ CurrentTeamService $currentTeamService,
+ ClientRequestRepository $clientRequestRepository,
+ ): Response
+ {
+ $clientRequest = $clientRequestRepository->find($request->get('id'));
+ $user = $this->getUser();
+ $team = $currentTeamService->getTeamFromSession($user);
+
+ if ($securityService->teamDataCheck($clientRequest, $team) && $securityService->adminCheck($user, $team)) {
+ $clientRequestService->userValid($clientRequest, $user);
+ return $this->redirectToRoute('client_requests_show', ['id' => $clientRequest->getId()]);
+ }
+
+ // if security check fails
+ return $this->redirectToRoute('client_requests');
+ }
}
diff --git a/src/Controller/CronController.php b/src/Controller/CronController.php
index 7cec910e..b065c0ce 100644
--- a/src/Controller/CronController.php
+++ b/src/Controller/CronController.php
@@ -4,6 +4,7 @@
use App\Entity\AkademieBuchungen;
use App\Service\NotificationService;
+use DateTime;
use Psr\Log\LoggerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse;
@@ -12,12 +13,10 @@
class CronController extends AbstractController
{
- /**
- * @Route("/cron/akademie_update", name="cron_akademie")
- */
+ #[Route(path: '/cron/akademie_update', name: 'cron_akademie')]
public function updateCronAkademie(NotificationService $notificationService, Request $request, LoggerInterface $logger)
{
- $today = new \DateTime();
+ $today = new DateTime();
if ($request->get('token') !== $this->getParameter('cronToken')) {
$message = ['error' => true, 'hinweis' => 'Token fehlerhaft', 'token' => $request->get('token'), 'ip' => $request->getClientIp()];
@@ -36,14 +35,16 @@ public function updateCronAkademie(NotificationService $notificationService, Req
$em = $this->getDoctrine()->getManager();
$countNeu = 0;
$countWdh = 0;
+
+ // TODO: How should users with multiple teams be handled?
foreach ($buchungen as $buchung) {
if (!$buchung->getInvitation()) {
- $content = $this->renderView('email/neuerKurs.html.twig', ['buchung' => $buchung, 'team' => $buchung->getUser()->getTeam()]);
+ $content = $this->renderView('email/neuerKurs.html.twig', ['buchung' => $buchung, 'team' => $buchung->getUser()->getTeams()->get(0)]);
$buchung->setInvitation(true);
$em->persist($buchung);
++$countNeu;
} else {
- $content = $this->renderView('email/errinnerungKurs.html.twig', ['buchung' => $buchung, 'team' => $buchung->getUser()->getTeam()]);
+ $content = $this->renderView('email/errinnerungKurs.html.twig', ['buchung' => $buchung, 'team' => $buchung->getUser()->getTeams()->get(0)]);
++$countWdh;
}
$notificationService->sendNotificationAkademie($buchung, $content);
diff --git a/src/Controller/DashboardController.php b/src/Controller/DashboardController.php
index a9a07af0..56bcd23f 100644
--- a/src/Controller/DashboardController.php
+++ b/src/Controller/DashboardController.php
@@ -6,7 +6,7 @@
* Time: 09:15
*/
- /**
+/**
* Modified by
* User: Jan Juister
* Date: 13.05.2022
@@ -14,96 +14,97 @@
namespace App\Controller;
-use App\Entity\AkademieBuchungen;
-use App\Entity\AuditTom;
-use App\Entity\Datenweitergabe;
-use App\Entity\Forms;
-use App\Entity\Kontakte;
-use App\Entity\Policies;
-use App\Entity\Software;
-use App\Entity\Task;
-use App\Entity\Team;
-use App\Entity\Tom;
-use App\Entity\VVT;
-use App\Entity\VVTDsfa;
-use App\Entity\Loeschkonzept;
-use App\Entity\VVTDatenkategorie;
+use App\Repository\AkademieBuchungenRepository;
+use App\Repository\AuditTomRepository;
+use App\Repository\DatenweitergabeRepository;
+use App\Repository\FormsRepository;
+use App\Repository\KontakteRepository;
+use App\Repository\LoeschkonzeptRepository;
+use App\Repository\PoliciesRepository;
+use App\Repository\SoftwareRepository;
+use App\Repository\TaskRepository;
+use App\Repository\TeamRepository;
+use App\Repository\TomRepository;
+use App\Repository\VVTDatenkategorieRepository;
+use App\Repository\VVTDsfaRepository;
+use App\Repository\VVTRepository;
+use App\Service\CurrentTeamService;
+use App\Service\SecurityService;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class DashboardController extends AbstractController
{
- /**
- * @Route("/", name="dashboard")
- */
- public function dashboard(Request $request)
+ #[Route(path: '/', name: 'dashboard')]
+ public function dashboard(Request $request,
+ CurrentTeamService $currentTeamService,
+ SecurityService $securityService,
+ TeamRepository $teamRepository,
+ DatenweitergabeRepository $transferRepository,
+ VVTRepository $procedureRepository,
+ AuditTomRepository $auditRepository,
+ VVTDsfaRepository $impactAssessmentRepository,
+ FormsRepository $formRepository,
+ PoliciesRepository $policyRepository,
+ SoftwareRepository $softwareRepository,
+ KontakteRepository $contactRepository,
+ TomRepository $tomRepository,
+ LoeschkonzeptRepository $deletionConceptRepository,
+ VVTDatenkategorieRepository $dataCategoryRepository,
+ AkademieBuchungenRepository $bookingRepository,
+ TaskRepository $taskRepository
+ ): Response
{
- $team = $this->getUser()->getTeam();
- $allTeams = $this->getDoctrine()->getRepository(Team::class)->findAll();
- if (sizeof($allTeams) === 0){
+ // if no teams exist, redirect to first_run
+ $allTeams = $teamRepository->findAll();
+ if (sizeof($allTeams) === 0) {
return $this->redirectToRoute('first_run');
}
- if ($team === null && $this->getUser()->getAkademieUser() !== null) {
- return $this->redirectToRoute('akademie');
- } elseif ($team === null && count($dsbTeams = $this->getUser()->getTeamDsb()) > 0) {
- return $this->redirectToRoute('dsb');
- } elseif ($team === null && $this->getUser()->getAkademieUser() === null) {
- return $this->redirectToRoute('no_team');
- }
-
- $audit = $this->getDoctrine()->getRepository(AuditTom::class)->findAllByTeam($team);
- $daten = $this->getDoctrine()->getRepository(Datenweitergabe::class)->findBy(array('team' => $team, 'activ' => true, 'art' => 1));
- $av = $this->getDoctrine()->getRepository(Datenweitergabe::class)->findBy(array('team' => $team, 'activ' => true, 'art' => 2));
- $vvt = $this->getDoctrine()->getRepository(VVT::class)->findActivByTeam($team);
- $vvtDsfa = $this->getDoctrine()->getRepository(VVTDsfa::class)->findActivByTeam($team);
- $kontakte = $this->getDoctrine()->getRepository(Kontakte::class)->findActivByTeam($team);
- $tom = $this->getDoctrine()->getRepository(Tom::class)->findActivByTeam($team);
- $forms = $this->getDoctrine()->getRepository(Forms::class)->findPublicByTeam($team);
- $policies = $this->getDoctrine()->getRepository(Policies::class)->findPublicByTeam($team);
- $software = $this->getDoctrine()->getRepository(Software::class)->findActivByTeam($team);
- $tasks = $this->getDoctrine()->getRepository(Task::class)->findBy(['team' => $team, 'activ' => true, 'done' => false]);
- $loeschkonzepte = $this->getDoctrine()->getRepository(Loeschkonzept::class)->findByTeam($team);
- $vvtdatenkategorien = $this->getDoctrine()->getRepository(VVTDatenkategorie::class)->findByTeam($team);
- $qb = $this->getDoctrine()->getRepository(AuditTom::class)->createQueryBuilder('audit');
- $qb->andWhere('audit.team = :team')
- ->andWhere('audit.activ = 1')
- ->andWhere('audit.status = 5 OR audit.status = 6')
- ->orderBy('audit.createdAt', 'DESC')
- ->setParameter('team', $team);
- $query = $qb->getQuery();
- $kritischeAudits = $query->getResult();
+ // else get team for current user
+ $user = $this->getUser();
+ $currentTeam = $currentTeamService->getTeamFromSession($user);
- $qb = $this->getDoctrine()->getRepository(VVT::class)->createQueryBuilder('vvt');
- $qb->andWhere('vvt.team = :team')
- ->andWhere('vvt.activ = 1')
- ->andWhere('vvt.status = 3')
- ->orderBy('vvt.CreatedAt', 'DESC')
- ->setParameter('team', $team);
- $query = $qb->getQuery();
- $kritischeVvts = $query->getResult();
-
- $qb = $this->getDoctrine()->getRepository(VVTDsfa::class)->createQueryBuilder('dsfa');
- $qb->innerJoin('dsfa.vvt', 'vvt')
- ->andWhere('vvt.activ = 1')
- ->andWhere('dsfa.activ = 1')
- ->andWhere('dsfa.dsb IS NULL OR dsfa.ergebnis IS NULL')
- ->andWhere('vvt.team = :team')
- ->setParameter('team', $team);
- $query = $qb->getQuery();
- $openDsfa = $query->getResult();
+ if ($currentTeam === null) {
+ if ($securityService->superAdminCheck($this->getUser())) {
+ return $this->redirectToRoute('manage_teams');
+ } elseif ($this->getUser()->getAkademieUser() !== null) {
+ return $this->redirectToRoute('akademie');
+ } elseif (count($this->getUser()->getTeamDsb()) > 0) {
+ return $this->redirectToRoute('dsb');
+ } else {
+ return $this->redirectToRoute('no_team');
+ }
+ }
- $assignVvt = $this->getUser()->getAssignedVvts()->toarray();
- $assignAudit = $this->getUser()->getAssignedAudits()->toarray();
- $assignDsfa = $this->getUser()->getAssignedDsfa()->toarray();
- $assignDatenweitergabe = $this->getUser()->getAssignedDatenweitergaben()->toarray();
- $assignTasks = $this->getDoctrine()->getRepository(Task::class)->findActivByUser($this->getUser());
+ $audit = $auditRepository->findAllByTeam($currentTeam);
+ $daten = $transferRepository->findActiveTransfersByTeam($currentTeam);
+ $av = $transferRepository->findActiveOrderProcessingsByTeam($currentTeam);
+ $vvt = $procedureRepository->findActiveByTeam($currentTeam);
+ $vvtDsfa = $impactAssessmentRepository->findActiveByTeam($currentTeam);
+ $kontakte = $contactRepository->findActiveByTeam($currentTeam);
+ $tom = $tomRepository->findActiveByTeam($currentTeam);
+ $forms = $formRepository->findPublicByTeam($currentTeam);
+ $policies = $policyRepository->findPublicByTeam($currentTeam);
+ $software = $softwareRepository->findActiveByTeam($currentTeam);
+ $tasks = $taskRepository->findActiveAndOpenByTeam($currentTeam);
+ $loeschkonzepte = $deletionConceptRepository->findByTeam($currentTeam);
+ $vvtdatenkategorien = $dataCategoryRepository->findByTeam($currentTeam);
+ $kritischeAudits = $auditRepository->findCriticalByTeam($currentTeam);
+ $kritischeVvts = $procedureRepository->findCriticalByTeam($currentTeam);
+ $openDsfa = $impactAssessmentRepository->findActiveAndOpenByTeam($currentTeam);
+ $buchungen = $bookingRepository->findActiveByUser($user);
- $buchungen = $this->getDoctrine()->getRepository(AkademieBuchungen::class)->findActivBuchungenByUser($this->getUser());
+ $assignVvt = $procedureRepository->findActiveByTeamAndUser($currentTeam, $user);
+ $assignAudit = $auditRepository->findActiveByTeamAndUser($currentTeam, $user);
+ $assignDsfa = $impactAssessmentRepository->findActiveByTeamAndUser($currentTeam, $user);
+ $assignDatenweitergabe = $transferRepository->findActiveByTeamAndUser($currentTeam, $user);
+ $assignTasks = $taskRepository->findActiveByTeamAndUser($currentTeam, $user);
return $this->render('dashboard/index.html.twig', [
- 'team' => $team,
+ 'currentTeam' => $currentTeam,
'audit' => $audit,
'daten' => $daten,
'vvt' => $vvt,
@@ -126,19 +127,17 @@ public function dashboard(Request $request)
'tasks' => $tasks,
'snack' => $request->get('snack'),
'loeschkonzepte' => $loeschkonzepte,
- 'vvtdatenkategorien' => $vvtdatenkategorien,
-
+ 'vvtdatenkategorien' => $vvtdatenkategorien,
+
]);
}
- /**
- * @Route("/no_team", name="no_team")
- */
- public function noTeam()
+ #[Route(path: '/no_team', name: 'no_team')]
+ public function noTeam(): Response
{
if ($this->getUser()) {
- if ($this->getUser()->getTeam()) {
+ if (count($this->getUser()->getTeams())) {
return $this->redirectToRoute('dashboard');
}
if ($this->getUser()->getAkademieUser()) {
diff --git a/src/Controller/DatenweitergabeController.php b/src/Controller/DatenweitergabeController.php
index 1d203740..2d87fd74 100644
--- a/src/Controller/DatenweitergabeController.php
+++ b/src/Controller/DatenweitergabeController.php
@@ -9,12 +9,15 @@
namespace App\Controller;
use App\Entity\Datenweitergabe;
+use App\Repository\DatenweitergabeRepository;
use App\Service\ApproveService;
use App\Service\AssignService;
+use App\Service\CurrentTeamService;
use App\Service\DatenweitergabeService;
use App\Service\DisableService;
use App\Service\SecurityService;
-use League\Flysystem\FilesystemInterface;
+use Doctrine\ORM\EntityManagerInterface;
+use League\Flysystem\FilesystemOperator;
use Psr\Log\LoggerInterface;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
@@ -23,135 +26,232 @@
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Validator\Validator\ValidatorInterface;
+use Symfony\Contracts\Translation\TranslatorInterface;
class DatenweitergabeController extends AbstractController
{
- /**
- * @Route("/datenweitergabe", name="datenweitergabe")
- */
- public function indexDatenweitergabe(SecurityService $securityService)
+ public function __construct(
+ private readonly TranslatorInterface $translator,
+ private EntityManagerInterface $em,
+ )
{
- $team = $this->getUser()->getTeam();
- if ($securityService->teamCheck($team) === false) {
- return $this->redirectToRoute('dashboard');
- }
-
- $daten = $this->getDoctrine()->getRepository(Datenweitergabe::class)->findBy(array('team' => $this->getUser()->getTeam(), 'activ' => true, 'art' => 1));
- return $this->render('datenweitergabe/index.html.twig', [
- 'table' => $daten,
- 'titel' => 'Alle Datenweitergaben nach DSGVO Art. 30(1)',
- ]);
- }
-
- /**
- * @Route("/auftragsverarbeitung", name="auftragsverarbeitung")
- */
- public function indexAuftragsverarbeitung(SecurityService $securityService)
- {
- $team = $this->getUser()->getTeam();
- if ($securityService->teamCheck($team) === false) {
- return $this->redirectToRoute('dashboard');
- }
-
- $daten = $this->getDoctrine()->getRepository(Datenweitergabe::class)->findBy(array('team' => $this->getUser()->getTeam(), 'activ' => true, 'art' => 2));
- return $this->render('datenweitergabe/indexAuftragsverarbeitung.html.twig', [
- 'table' => $daten,
- 'titel' => 'Verarbeitungen nach DSGVO Art. 30(2)',
- ]);
}
- /**
- * @Route("/datenweitergabe/new", name="datenweitergabe_new")
- */
- public function addDatenweitergabe(ValidatorInterface $validator, Request $request, DatenweitergabeService $datenweitergabeService, SecurityService $securityService)
+ #[Route(path: '/auftragsverarbeitung/new', name: 'auftragsverarbeitung_new')]
+ public function addAuftragsverarbeitung(
+ ValidatorInterface $validator,
+ Request $request,
+ SecurityService $securityService,
+ DatenweitergabeService $datenweitergabeService,
+ CurrentTeamService $currentTeamService,
+ ): Response
{
set_time_limit(600);
- $team = $this->getUser()->getTeam();
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
if ($securityService->teamCheck($team) === false) {
return $this->redirectToRoute('dashboard');
}
- $daten = $datenweitergabeService->newDatenweitergabe($this->getUser(), 1, 'DW-');
+ $daten = $datenweitergabeService->newDatenweitergabe($this->getUser(), 2);
$form = $datenweitergabeService->createForm($daten, $team);
$form->handleRequest($request);
$errors = array();
if ($form->isSubmitted() && $form->isValid()) {
- $em = $this->getDoctrine()->getManager();
+
$daten = $form->getData();
foreach ($daten->getVerfahren() as $item) {
$item->addDatenweitergaben($daten);
- $em->persist($item);
+ $this->em->persist($item);
}
+
$errors = $validator->validate($daten);
if (count($errors) == 0) {
-
- $em->persist($daten);
- $em->flush();
- return $this->redirectToRoute('datenweitergabe');
+ $this->em->persist($daten);
+ $this->em->flush();
+ return $this->redirectToRoute('auftragsverarbeitung');
}
}
return $this->render('datenweitergabe/new.html.twig', [
'form' => $form->createView(),
'errors' => $errors,
- 'title' => 'Datenweitergabe erstellen',
+ 'title' => $this->translator->trans(id: 'requestProcessing.create', domain: 'datenweitergabe'),
'daten' => $daten,
'activNummer' => true,
'activ' => $daten->getActiv()
]);
}
- /**
- * @Route("/auftragsverarbeitung/new", name="auftragsverarbeitung_new")
- */
- public function addAuftragsverarbeitung(ValidatorInterface $validator, Request $request, SecurityService $securityService, DatenweitergabeService $datenweitergabeService)
+ #[Route(path: '/datenweitergabe/new', name: 'datenweitergabe_new')]
+ public function addDatenweitergabe(
+ ValidatorInterface $validator,
+ Request $request,
+ DatenweitergabeService $datenweitergabeService,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ ): Response
{
set_time_limit(600);
- $team = $this->getUser()->getTeam();
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
if ($securityService->teamCheck($team) === false) {
return $this->redirectToRoute('dashboard');
}
- $daten = $datenweitergabeService->newDatenweitergabe($this->getUser(), 2, 'AVV-');
+ $daten = $datenweitergabeService->newDatenweitergabe($this->getUser(), 1);
$form = $datenweitergabeService->createForm($daten, $team);
$form->handleRequest($request);
$errors = array();
if ($form->isSubmitted() && $form->isValid()) {
- $em = $this->getDoctrine()->getManager();
+
$daten = $form->getData();
foreach ($daten->getVerfahren() as $item) {
$item->addDatenweitergaben($daten);
- $em->persist($item);
+ $this->em->persist($item);
}
-
$errors = $validator->validate($daten);
if (count($errors) == 0) {
- $em->persist($daten);
- $em->flush();
- return $this->redirectToRoute('auftragsverarbeitung');
+
+ $this->em->persist($daten);
+ $this->em->flush();
+ return $this->redirectToRoute('datenweitergabe');
}
}
return $this->render('datenweitergabe/new.html.twig', [
'form' => $form->createView(),
'errors' => $errors,
- 'title' => 'Auftragsverarbeitung erstellen',
+ 'title' => $this->translator->trans(id: 'dataTransfer.create', domain: 'datenweitergabe'),
'daten' => $daten,
'activNummer' => true,
'activ' => $daten->getActiv()
]);
}
- /**
- * @Route("/datenweitergabe/edit", name="datenweitergabe_edit")
- */
- public function EditDatenweitergabe(ValidatorInterface $validator, Request $request, SecurityService $securityService, DatenweitergabeService $datenweitergabeService, AssignService $assignService)
+ #[Route(path: '/datenweitergabe/approve', name: 'datenweitergabe_approve')]
+ public function approveDatenweitergabe(
+ Request $request,
+ SecurityService $securityService,
+ ApproveService $approveService,
+ CurrentTeamService $currentTeamService,
+ DatenweitergabeRepository $dataTransferRepository,
+ ): Response
+ {
+ $user = $this->getUser();
+ $team = $currentTeamService->getTeamFromSession($user);
+ $daten = $dataTransferRepository->find($request->get('id'));
+
+ if ($securityService->teamDataCheck($daten, $team) && $securityService->adminCheck($user, $team)) {
+ $approve = $approveService->approve($daten, $this->getUser());
+ if ($approve['clone'] === true) {
+ $newDaten = $dataTransferRepository->find($approve['data']);
+
+
+ foreach ($newDaten->getVerfahren() as $item) {
+ $item->addDatenweitergaben($newDaten);
+ $this->em->persist($item);
+ }
+ foreach ($newDaten->getSoftware() as $item) {
+ $item->addDatenweitergabe($newDaten);
+ $this->em->persist($item);
+ }
+ $this->em->flush();
+ }
+ return $this->redirectToRoute('datenweitergabe_edit', ['id' => $approve['data'], 'snack' => $approve['snack']]);
+ }
+
+ // if security check fails
+ if ($daten->getArt() === 1) {
+ return $this->redirectToRoute('datenweitergabe');
+ }
+ return $this->redirectToRoute('auftragsverarbeitung');
+ }
+
+ #[Route(path: '/datenweitergabe/disable', name: 'datenweitergabe_disable')]
+ public function disableDatenweitergabe(
+ Request $request,
+ SecurityService $securityService,
+ DisableService $disableService,
+ CurrentTeamService $currentTeamService,
+ DatenweitergabeRepository $dataTransferRepository,
+ ): Response
+ {
+ $user = $this->getUser();
+ $team = $currentTeamService->getTeamFromSession($user);
+ $daten = $dataTransferRepository->find($request->get('id'));
+
+ if ($securityService->teamDataCheck($daten, $team) && $securityService->adminCheck($user, $team) && !$daten->getApproved()) {
+ $disableService->disable($daten, $user);
+ }
+
+ if ($daten->getArt() === 1) {
+ return $this->redirectToRoute('datenweitergabe');
+ }
+ return $this->redirectToRoute('auftragsverarbeitung');
+ }
+
+ #[Route(path: '/datenweitergabe/download/{id}', name: 'datenweitergabe_download_file', methods: ['GET'])]
+ #[ParamConverter('datenweitergabe', options: ['mapping' => ['id' => 'id']])]
+ public function downloadArticleReference(
+ FilesystemOperator $datenFilesystem,
+ Datenweitergabe $datenweitergabe,
+ SecurityService $securityService,
+ LoggerInterface $logger,
+ CurrentTeamService $currentTeamService,
+ ): Response
+ {
+ $stream = $datenFilesystem->read($datenweitergabe->getUpload());
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ if ($securityService->teamDataCheck($datenweitergabe, $team) === false) {
+ $logger->error(
+ 'DOWNLOAD',
+ [
+ 'typ' => 'DOWNLOAD',
+ 'error' => true,
+ 'hinweis' => 'Fehlerhafter download. User nicht berechtigt!',
+ 'dokument' => $datenweitergabe->getUpload(),
+ 'user' => $this->getUser()->getUsername()
+ ]);
+ return $this->redirectToRoute('dashboard');
+ }
+
+ $type = $datenFilesystem->getMimetype($datenweitergabe->getUpload());
+ $response = new Response($stream);
+ $response->headers->set('Content-Type', $type);
+ $disposition = HeaderUtils::makeDisposition(
+ HeaderUtils::DISPOSITION_ATTACHMENT,
+ preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $datenweitergabe->getUpload())
+ );
+
+ $response->headers->set('Content-Disposition', $disposition);
+ $logger->info(
+ 'DOWNLOAD',
+ [
+ 'typ' => 'DOWNLOAD',
+ 'error' => false,
+ 'hinweis' => 'Download erfolgreich',
+ 'dokument' => $datenweitergabe->getUpload(),
+ 'user' => $this->getUser()->getUsername()
+ ],
+ );
+ return $response;
+ }
+
+ #[Route(path: '/datenweitergabe/edit', name: 'datenweitergabe_edit')]
+ public function editDatenweitergabe(
+ ValidatorInterface $validator,
+ Request $request,
+ SecurityService $securityService,
+ DatenweitergabeService $datenweitergabeService,
+ AssignService $assignService,
+ CurrentTeamService $currentTeamService,
+ DatenweitergabeRepository $dataTransferRepository,
+ ): Response
{
set_time_limit(600);
- $team = $this->getUser()->getTeam();
- $daten = $this->getDoctrine()->getRepository(Datenweitergabe::class)->find($request->get('id'));
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ $daten = $dataTransferRepository->find($request->get('id'));
if ($securityService->teamDataCheck($daten, $team) === false) {
if ($daten->getArt() === 1) {
@@ -169,33 +269,39 @@ public function EditDatenweitergabe(ValidatorInterface $validator, Request $requ
$errors = array();
if ($form->isSubmitted() && $form->isValid() && $daten->getActiv() && !$daten->getApproved()) {
- $em = $this->getDoctrine()->getManager();
+
$daten->setActiv(false);
$newDaten = $form->getData();
foreach ($newDaten->getVerfahren() as $item) {
$item->addDatenweitergaben($newDaten);
- $em->persist($item);
+ $this->em->persist($item);
}
foreach ($newDaten->getSoftware() as $item) {
$item->addDatenweitergabe($newDaten);
- $em->persist($item);
+ $this->em->persist($item);
}
$errors = $validator->validate($newDaten);
if (count($errors) == 0) {
- $em->persist($newDaten);
- $em->persist($daten);
- $em->flush();
- return $this->redirectToRoute('datenweitergabe_edit', array('id' => $newDaten->getId(), 'snack' => 'Erfolgreich gespeichert'));
+ $this->em->persist($newDaten);
+ $this->em->persist($daten);
+ $this->em->flush();
+ return $this->redirectToRoute(
+ 'datenweitergabe_edit',
+ [
+ 'id' => $newDaten->getId(),
+ 'snack' => $this->translator->trans(id: 'save.successful', domain: 'general'),
+ ],
+ );
}
}
return $this->render('datenweitergabe/edit.html.twig', [
'form' => $form->createView(),
'assignForm' => $assign->createView(),
'errors' => $errors,
- 'title' => 'Datenweitergabe bearbeiten',
+ 'title' => $this->translator->trans(id: 'dataTransfer.edit', domain: 'datenweitergabe'),
'daten' => $daten,
'activ' => $daten->getActiv(),
'activNummer' => false,
@@ -203,85 +309,43 @@ public function EditDatenweitergabe(ValidatorInterface $validator, Request $requ
]);
}
- /**
- * @Route("/datenweitergabe/download/{id}", name="datenweitergabe_download_file", methods={"GET"})
- * @ParamConverter("datenweitergabe", options={"mapping"={"id"="id"}})
- */
- public function downloadArticleReference(FilesystemInterface $datenFileSystem, Datenweitergabe $datenweitergabe, SecurityService $securityService, LoggerInterface $logger)
+ #[Route(path: '/auftragsverarbeitung', name: 'auftragsverarbeitung')]
+ public function indexAuftragsverarbeitung(
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ DatenweitergabeRepository $dataTransferRepository,
+ ): Response
{
-
- $stream = $datenFileSystem->read($datenweitergabe->getUpload());
-
- $team = $this->getUser()->getTeam();
- if ($securityService->teamDataCheck($datenweitergabe, $team) === false) {
- $message = ['typ' => 'DOWNLOAD', 'error' => true, 'hinweis' => 'Fehlerhafter download. User nicht berechtigt!', 'dokument' => $datenweitergabe->getUpload(), 'user' => $this->getUser()->getUsername()];
- $logger->error($message['typ'], $message);
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ if ($securityService->teamCheck($team) === false) {
return $this->redirectToRoute('dashboard');
}
- $type = $datenFileSystem->getMimetype($datenweitergabe->getUpload());
- $response = new Response($stream);
- $response->headers->set('Content-Type', $type);
- $disposition = HeaderUtils::makeDisposition(
- HeaderUtils::DISPOSITION_ATTACHMENT,
- preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $datenweitergabe->getUpload())
- );
-
- $response->headers->set('Content-Disposition', $disposition);
- $message = ['typ' => 'DOWNLOAD', 'error' => false, 'hinweis' => 'Download erfolgreich', 'dokument' => $datenweitergabe->getUpload(), 'user' => $this->getUser()->getUsername()];
- $logger->info($message['typ'], $message);
- return $response;
- }
-
- /**
- * @Route("/datenweitergabe/approve", name="datenweitergabe_approve")
- */
- public function approveDatenweitergabe(Request $request, SecurityService $securityService, ApproveService $approveService)
- {
- $team = $this->getUser()->getAdminUser();
- $daten = $this->getDoctrine()->getRepository(Datenweitergabe::class)->find($request->get('id'));
-
- if ($securityService->teamDataCheck($daten, $team) === false) {
- if ($daten->getArt() === 1) {
- return $this->redirectToRoute('datenweitergabe');
- }
- return $this->redirectToRoute('auftragsverarbeitung');
- }
- $approve = $approveService->approve($daten, $this->getUser());
-
- if ($approve['clone'] === true) {
- $newDaten = $this->getDoctrine()->getRepository(Datenweitergabe::class)->find($approve['data']);
- $em = $this->getDoctrine()->getManager();
-
- foreach ($newDaten->getVerfahren() as $item) {
- $item->addDatenweitergaben($newDaten);
- $em->persist($item);
- }
- foreach ($newDaten->getSoftware() as $item) {
- $item->addDatenweitergabe($newDaten);
- $em->persist($item);
- }
- $em->flush();
- }
-
- return $this->redirectToRoute('datenweitergabe_edit', ['id' => $approve['data'], 'snack' => $approve['snack']]);
+ $daten = $dataTransferRepository->findBy(array('team' => $team, 'activ' => true, 'art' => 2));
+ return $this->render('datenweitergabe/indexAuftragsverarbeitung.html.twig', [
+ 'table' => $daten,
+ 'titel' => $this->translator->trans(id: 'dataTransfer.disclaimer', domain: 'datenweitergabe'),
+ 'currentTeam' => $team,
+ ]);
}
- /**
- * @Route("/datenweitergabe/disable", name="datenweitergabe_disable")
- */
- public function disableDatenweitergabe(Request $request, SecurityService $securityService, DisableService $disableService)
+ #[Route(path: '/datenweitergabe', name: 'datenweitergabe')]
+ public function indexDataTransfer(
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ DatenweitergabeRepository $dataTransferRepository,
+ ): Response
{
- $team = $this->getUser()->getAdminUser();
- $daten = $this->getDoctrine()->getRepository(Datenweitergabe::class)->find($request->get('id'));
-
- if ($securityService->teamDataCheck($daten, $team) === true && !$daten->getApproved()) {
- $disableService->disable($daten, $this->getUser());
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ if ($securityService->teamCheck($team) === false) {
+ return $this->redirectToRoute('dashboard');
}
- if ($daten->getArt() === 1) {
- return $this->redirectToRoute('datenweitergabe');
- }
- return $this->redirectToRoute('auftragsverarbeitung');
+ $daten = $dataTransferRepository->findBy(array('team' => $team, 'activ' => true, 'art' => 1));
+ return $this->render('datenweitergabe/index.html.twig', [
+ 'table' => $daten,
+ 'titel' => $this->translator->trans(id: 'dataTransfer.disclaimer', domain: 'datenweitergabe'),
+ 'currentTeam' => $team,
+ ]);
}
}
diff --git a/src/Controller/DsbController.php b/src/Controller/DsbController.php
index ad4d1529..69b76c34 100644
--- a/src/Controller/DsbController.php
+++ b/src/Controller/DsbController.php
@@ -2,45 +2,65 @@
namespace App\Controller;
-use App\Entity\Team;
+use App\Repository\TeamRepository;
+use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
+use Symfony\Contracts\Translation\TranslatorInterface;
class DsbController extends AbstractController
{
- /**
- * @Route("/ext-dsb", name="dsb")
- */
- public function index()
- {
- $dsbTeams = $this->getUser()->getTeamDsb();
- if (count($dsbTeams) < 1) {
- return $this->redirectToRoute('dashboard');
- }
- return $this->render('dsb/index.html.twig', [
- 'teams' => $dsbTeams,
- ]);
+
+ public function __construct(private readonly TranslatorInterface $translator,
+ private EntityManagerInterface $em,
+ )
+ {
}
- /**
- * @Route("/ext-dsb/change", name="dsb_change")
- */
- public function change(Request $request)
+ #[Route(path: '/ext-dsb/change', name: 'dsb_change')]
+ public function change(
+ Request $request,
+ TeamRepository $teamRepository,
+ ): Response
{
- $team = $this->getDoctrine()->getRepository(Team::class)->find($request->get('id'));
+ $team = $teamRepository->find($request->get('id'));
if (in_array($team, $this->getUser()->getTeamDsb()->toarray())) {
$user = $this->getUser();
- $user->setTeam($team);
- $user->setAdminUser($team);
+ $user->addTeam($team);
+ $team->addAdmin($user);
$user->setAkademieUser($team);
- $em = $this->getDoctrine()->getManager();
- $em->persist($user);
- $em->flush();
- return $this->redirectToRoute('dashboard', ['snack' => 'Team gewächselt']);
+ $this->em->persist($user);
+ $this->em->persist($team);
+ $this->em->flush();
+ return $this->redirectToRoute(
+ 'dashboard',
+ [
+ 'snack' => $this->translator->trans(id: 'team.change.successful', domain: 'dsb'),
+ ],
+ );
}
- return $this->redirectToRoute('dashboard', ['snack' => 'DSB passt nicht zu diesem Team. Benutzer kann das Team nicht wechseln.']);
+ return $this->redirectToRoute(
+ 'dashboard',
+ [
+ 'snack' => $this->translator->trans(id: 'team.change.error', domain: 'dsb'),
+ ],
+ );
+ }
+
+ #[Route(path: '/ext-dsb', name: 'dsb')]
+ public function index(): Response
+ {
+ $dsbTeams = $this->getUser()->getTeamDsb();
+ if (count($dsbTeams) < 1) {
+ return $this->redirectToRoute('dashboard');
+ }
+
+ return $this->render('dsb/index.html.twig', [
+ 'teams' => $dsbTeams,
+ ]);
}
}
diff --git a/src/Controller/ExternalController.php b/src/Controller/ExternalController.php
index d02e2469..ee3b1dc8 100644
--- a/src/Controller/ExternalController.php
+++ b/src/Controller/ExternalController.php
@@ -2,25 +2,28 @@
namespace App\Controller;
+use App\Service\CurrentTeamService;
use App\Service\SecurityService;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
+use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class ExternalController extends AbstractController
{
- /**
- * @Route("/external", name="external")
- */
- public function index(SecurityService $securityService)
+ #[Route(path: '/external', name: 'external')]
+ public function index(
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ ): Response
{
- $team = $this->getUser()->getTeam();
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
if ($securityService->teamCheck($team) === false) {
return $this->redirectToRoute('dashboard');
}
return $this->render('external/index.html.twig', [
'team' => $team,
- 'hash' => hash('md5', $team->getName()),
+ 'hash' => md5($team->getName()),
]);
}
}
diff --git a/src/Controller/FirstRunController.php b/src/Controller/FirstRunController.php
index 3b43e656..3104c65a 100644
--- a/src/Controller/FirstRunController.php
+++ b/src/Controller/FirstRunController.php
@@ -2,55 +2,21 @@
namespace App\Controller;
-use App\Entity\Team;
-use App\Form\Type\TeamType;
+use App\Repository\TeamRepository;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
-use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
-use Symfony\Component\Validator\Validator\ValidatorInterface;
class FirstRunController extends AbstractController
{
- /**
- * @Route("/first/run", name="first_run")
- */
- public function index(ValidatorInterface $validator, Request $request): Response
+ #[Route(path: '/first/run', name: 'first_run')]
+ public function index(TeamRepository $teamRepository): Response
{
- $teams = $this->getDoctrine()->getRepository(Team::class)->findAll();
- if (sizeof($teams) !== 0){
- return $this->redirectToRoute('no_team');
+ $teams = $teamRepository->findAll();
+ if (sizeof($teams) !== 0) {
+ return $this->redirectToRoute('dashboard');
}
- $nteam = new Team();
- $nteam->setActiv(true);
- $form = $this->createForm(TeamType::class, $nteam);
- $form->remove('video');
- $form->remove('externalLink');
- $form->handleRequest($request);
-
- $errors = array();
- if ($form->isSubmitted() && $form->isValid()) {
- $nTeam = $form->getData();
- $errors = $validator->validate($nTeam);
- if (count($errors) == 0) {
- $em = $this->getDoctrine()->getManager();
- $em->persist($nTeam);
- $em->flush();
- $user = $this->getUser();
- $user->setTeam($nTeam);
- $user->setAdminUser($nTeam);
- $em->persist($user);
- $em->flush();
- return $this->redirectToRoute('dashboard');
- }
- }
-
- return $this->render('team/index.html.twig', [
- 'controller_name' => 'TeamController',
- 'form' => $form->createView(),
- 'errors' => $errors,
- 'title' => 'Jetzt ein Team anlegen'
- ]);
+ return $this->redirectToRoute('team_create');
}
}
diff --git a/src/Controller/FormsController.php b/src/Controller/FormsController.php
index 271a1ff6..f9b9d8c1 100644
--- a/src/Controller/FormsController.php
+++ b/src/Controller/FormsController.php
@@ -3,12 +3,15 @@
namespace App\Controller;
use App\Entity\Forms;
+use App\Repository\FormsRepository;
use App\Service\ApproveService;
use App\Service\AssignService;
+use App\Service\CurrentTeamService;
use App\Service\DisableService;
use App\Service\FormsService;
use App\Service\SecurityService;
-use League\Flysystem\FilesystemInterface;
+use Doctrine\ORM\EntityManagerInterface;
+use League\Flysystem\FilesystemOperator;
use Psr\Log\LoggerInterface;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
@@ -17,32 +20,29 @@
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Validator\Validator\ValidatorInterface;
+use Symfony\Contracts\Translation\TranslatorInterface;
class FormsController extends AbstractController
{
- /**
- * @Route("/forms", name="forms")
- */
- public function indexForms(SecurityService $securityService)
- {
- $team = $this->getUser()->getTeam();
- if ($securityService->teamCheck($team) === false) {
- return $this->redirectToRoute('dashboard');
- }
- $daten = $this->getDoctrine()->getRepository(Forms::class)->findBy(array('team' => $team, 'activ' => true));
- return $this->render('forms/index.html.twig', [
- 'table' => $daten,
- 'titel' => 'Formulare',
- ]);
+
+ public function __construct(private readonly TranslatorInterface $translator,
+ private EntityManagerInterface $em,
+ )
+ {
}
- /**
- * @Route("/forms/new", name="forms_new")
- */
- public function addForms(ValidatorInterface $validator, Request $request, FormsService $formsService, SecurityService $securityService)
+ #[Route(path: '/forms/new', name: 'forms_new')]
+ public function addForms(
+ ValidatorInterface $validator,
+ Request $request,
+ FormsService $formsService,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ ): Response
{
- $team = $this->getUser()->getTeam();
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+
if ($securityService->teamCheck($team) === false) {
return $this->redirectToRoute('dashboard');
}
@@ -54,32 +54,129 @@ public function addForms(ValidatorInterface $validator, Request $request, FormsS
$errors = array();
if ($form->isSubmitted() && $form->isValid()) {
- $em = $this->getDoctrine()->getManager();
$daten = $form->getData();
$errors = $validator->validate($daten);
+
if (count($errors) == 0) {
+ $this->em->persist($daten);
+ $this->em->flush();
- $em->persist($daten);
- $em->flush();
return $this->redirectToRoute('forms');
}
}
return $this->render('forms/new.html.twig', [
'form' => $form->createView(),
'errors' => $errors,
- 'title' => 'Formular erstellen/hochladen',
+ 'title' => $this->translator->trans(id: 'form.create', domain: 'forms'),
'daten' => $daten,
'activ' => $daten->getActiv()
]);
}
- /**
- * @Route("/forms/edit", name="forms_edit")
- */
- public function EditFormulare(ValidatorInterface $validator, Request $request, SecurityService $securityService, FormsService $formsService, AssignService $assignService)
+ #[Route(path: '/forms/approve', name: 'forms_approve')]
+ public function approvePolicy(
+ Request $request,
+ SecurityService $securityService,
+ ApproveService $approveService,
+ CurrentTeamService $currentTeamService,
+ FormsRepository $formsRepository,
+ ): Response
+ {
+ $user = $this->getUser();
+ $team = $currentTeamService->getTeamFromSession($user);
+ $forms = $formsRepository->find($request->get('id'));
+
+ if ($securityService->teamDataCheck($forms, $team) && $securityService->adminCheck($user, $team)) {
+ $approve = $approveService->approve($forms, $user);
+ return $this->redirectToRoute('forms_edit', ['id' => $approve['data'], 'snack' => $approve['snack']]);
+ }
+
+ // if security check fails
+ return $this->redirectToRoute('forms');
+ }
+
+ #[Route(path: '/forms/disable', name: 'forms_disable')]
+ public function disable(
+ Request $request,
+ SecurityService $securityService,
+ DisableService $disableService,
+ CurrentTeamService $currentTeamService,
+ FormsRepository $formsRepository,
+ ): Response
{
- $team = $this->getUser()->getTeam();
- $forms = $this->getDoctrine()->getRepository(Forms::class)->find($request->get('id'));
+ $user = $this->getUser();
+ $team = $currentTeamService->getTeamFromSession($user);
+ $forms = $formsRepository->find($request->get('id'));
+
+ if ($securityService->teamDataCheck($forms, $team) && $securityService->adminCheck($user, $team) && !$forms->getApproved()) {
+ $disableService->disable($forms, $user);
+ }
+
+ return $this->redirectToRoute('forms');
+ }
+
+ #[Route(path: '/forms/download/{id}', name: 'forms_download_file', methods: ['GET'])]
+ #[ParamConverter('forms', options: ['mapping' => ['id' => 'id']])]
+ public function downloadArticleReference(
+ FilesystemOperator $formsFilesystem,
+ Forms $forms,
+ SecurityService $securityService,
+ LoggerInterface $logger,
+ CurrentTeamService $currentTeamService,
+ ): Response
+ {
+ $stream = $formsFilesystem->read($forms->getUpload());
+
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ if ($securityService->teamDataCheck($forms, $team) === false) {
+ $logger->error(
+ 'DOWNLOAD',
+ [
+ 'typ' => 'DOWNLOAD',
+ 'error' => true,
+ 'hinweis' => $this->translator->trans(id: 'user.unauthorized', domain: 'forms'),
+ 'dokument' => $forms->getUpload(),
+ 'user' => $this->getUser()->getUsername(),
+ ],
+ );
+ return $this->redirectToRoute('dashboard');
+ }
+
+ $type = $formsFilesystem->getMimetype($forms->getUpload());
+ $response = new Response($stream);
+ $response->headers->set('Content-Type', $type);
+ $disposition = HeaderUtils::makeDisposition(
+ HeaderUtils::DISPOSITION_ATTACHMENT,
+ preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $forms->getUpload())
+ );
+
+ $response->headers->set('Content-Disposition', $disposition);
+ $logger->info(
+ 'DOWNLOAD',
+ [
+ 'typ' => 'DOWNLOAD',
+ 'error' => false,
+ 'hinweis' => $this->translator->trans(id: 'download.successful', domain: 'general'),
+ 'dokument' => $forms->getUpload(),
+ 'user' => $this->getUser()->getUsername(),
+ ],
+ );
+ return $response;
+ }
+
+ #[Route(path: '/forms/edit', name: 'forms_edit')]
+ public function editFormulare(
+ ValidatorInterface $validator,
+ Request $request,
+ SecurityService $securityService,
+ FormsService $formsService,
+ AssignService $assignService,
+ CurrentTeamService $currentTeamService,
+ FormsRepository $formsRepository,
+ ): Response
+ {
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ $forms = $formsRepository->find($request->get('id'));
if ($securityService->teamDataCheck($forms, $team) === false) {
return $this->redirectToRoute('forms');
@@ -93,91 +190,53 @@ public function EditFormulare(ValidatorInterface $validator, Request $request, S
$errors = array();
if ($form->isSubmitted() && $form->isValid() && $forms->getActiv() && !$forms->getApproved()) {
- $em = $this->getDoctrine()->getManager();
$forms->setActiv(false);
$forms->setStatus(4);
$newForms = $form->getData();
$errors = $validator->validate($newForms);
if (count($errors) == 0) {
-
- $em->persist($newForms);
- $em->persist($forms);
- $em->flush();
- return $this->redirectToRoute('forms_edit', array('id' => $newForms->getId(), 'snack' => 'Erfolgreich gespeichert'));
+ $this->em->persist($newForms);
+ $this->em->persist($forms);
+ $this->em->flush();
+
+ return $this->redirectToRoute(
+ 'forms_edit',
+ [
+ 'id' => $newForms->getId(),
+ 'snack' => $this->translator->trans(id: 'save.successful', domain: 'general'),
+ ]
+ );
}
}
return $this->render('forms/edit.html.twig', [
'form' => $form->createView(),
'assignForm' => $assign->createView(),
'errors' => $errors,
- 'title' => 'Formular bearbeiten',
+ 'title' => $this->translator->trans(id: 'form.edit', domain: 'forms'),
'daten' => $forms,
'activ' => $forms->getActiv(),
'snack' => $request->get('snack')
]);
}
- /**
- * @Route("/forms/approve", name="forms_approve")
- */
- public function approvePolicy(Request $request, SecurityService $securityService, ApproveService $approveService)
- {
- $team = $this->getUser()->getAdminUser();
- $forms = $this->getDoctrine()->getRepository(Forms::class)->find($request->get('id'));
-
- if ($securityService->teamDataCheck($forms, $team) === false) {
- return $this->redirectToRoute('forms');
- }
-
- $approve = $approveService->approve($forms, $this->getUser());
-
- return $this->redirectToRoute('forms_edit', ['id' => $approve['data'], 'snack' => $approve['snack']]);
-
- }
-
- /**
- * @Route("/forms/disable", name="forms_disable")
- */
- public function disable(Request $request, SecurityService $securityService, DisableService $disableService)
- {
- $team = $this->getUser()->getAdminUser();
- $forms = $this->getDoctrine()->getRepository(Forms::class)->find($request->get('id'));
-
- if ($securityService->teamDataCheck($forms, $team) === true && !$forms->getApproved()) {
- $disableService->disable($forms, $this->getUser());
- }
-
- return $this->redirectToRoute('forms');
- }
-
- /**
- * @Route("/forms/download/{id}", name="forms_download_file", methods={"GET"})
- * @ParamConverter("forms", options={"mapping"={"id"="id"}})
- */
- public function downloadArticleReference(FilesystemInterface $formsFileSystem, Forms $forms, SecurityService $securityService, LoggerInterface $logger)
+ #[Route(path: '/forms', name: 'forms')]
+ public function indexForms(
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ FormsRepository $formsRepository,
+ ): Response
{
-
- $stream = $formsFileSystem->read($forms->getUpload());
-
- $team = $this->getUser()->getTeam();
- if ($securityService->teamDataCheck($forms, $team) === false) {
- $message = ['typ' => 'DOWNLOAD', 'error' => true, 'hinweis' => 'Fehlerhafter download. User nicht berechtigt!', 'dokument' => $forms->getUpload(), 'user' => $this->getUser()->getUsername()];
- $logger->error($message['typ'], $message);
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ if ($securityService->teamCheck($team) === false) {
return $this->redirectToRoute('dashboard');
}
- $type = $formsFileSystem->getMimetype($forms->getUpload());
- $response = new Response($stream);
- $response->headers->set('Content-Type', $type);
- $disposition = HeaderUtils::makeDisposition(
- HeaderUtils::DISPOSITION_ATTACHMENT,
- preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $forms->getUpload())
- );
-
- $response->headers->set('Content-Disposition', $disposition);
- $message = ['typ' => 'DOWNLOAD', 'error' => false, 'hinweis' => 'Download erfolgreich', 'dokument' => $forms->getUpload(), 'user' => $this->getUser()->getUsername()];
- $logger->info($message['typ'], $message);
- return $response;
+ $daten = $formsRepository->findBy(['team' => $team, 'activ' => true]);
+ return $this->render('forms/index.html.twig', [
+ 'table' => $daten,
+ 'titel' => $this->translator->trans(id: 'form.word', domain: 'forms'),
+ 'currentTeam' => $team,
+ ]);
}
}
diff --git a/src/Controller/HealthCheckController.php b/src/Controller/HealthCheckController.php
index 7b2cdfe8..8a731382 100644
--- a/src/Controller/HealthCheckController.php
+++ b/src/Controller/HealthCheckController.php
@@ -3,7 +3,8 @@
namespace App\Controller;
-use Proxies\__CG__\App\Entity\Vorfall;
+use App\Repository\VorfallRepository;
+use Exception;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Response;
@@ -11,15 +12,13 @@
class HealthCheckController extends AbstractController
{
- /**
- * @Route("/health/check", name="health_check",methods={"GET"})
- */
- public function index(): Response
+ #[Route(path: '/health/check', name: 'health_check', methods: ['GET'])]
+ public function index(VorfallRepository $incidentRepository): Response
{
try {
- $res = $this->getDoctrine()->getRepository(Vorfall::class)->findAll();
+ $res = $incidentRepository->findAll();
$vorfall = $res[0]->getFakten();
- } catch (\Exception $exception) {
+ } catch (Exception $exception) {
throw $this->createNotFoundException('Database not working');
}
diff --git a/src/Controller/InvitationController.php b/src/Controller/InvitationController.php
index 9c88b6f8..42ec1bf1 100644
--- a/src/Controller/InvitationController.php
+++ b/src/Controller/InvitationController.php
@@ -11,14 +11,12 @@
class InvitationController extends AbstractController
{
- /**
- * @Route("/login/invitationAccept/{id}", name="invitation_accept")
- * @ParamConverter("user", class="App\Entity\User",options={"mapping": {"id": "registerId"}})
- */
+ #[Route(path: '/login/invitationAccept/{id}', name: 'invitation_accept')]
+ #[ParamConverter('user', class: 'App\Entity\User', options: ['mapping' => ['id' => 'registerId']])]
public function index(InviteService $inviteService, User $user): Response
{
-
$inviteService->connectUserWithEmail($user, $this->getUser());
+
return $this->redirectToRoute('dashboard');
}
}
diff --git a/src/Controller/KontaktController.php b/src/Controller/KontaktController.php
index 0c2cf7fa..01d03317 100644
--- a/src/Controller/KontaktController.php
+++ b/src/Controller/KontaktController.php
@@ -10,40 +10,38 @@
use App\Entity\Kontakte;
use App\Form\Type\KontaktType;
+use App\Repository\KontakteRepository;
use App\Service\ApproveService;
+use App\Service\CurrentTeamService;
use App\Service\DisableService;
use App\Service\SecurityService;
+use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Validator\Validator\ValidatorInterface;
+use Symfony\Contracts\Translation\TranslatorInterface;
class KontaktController extends AbstractController
{
- /**
- * @Route("/kontakt", name="kontakt")
- */
- public function index(SecurityService $securityService)
- {
- $team = $this->getUser()->getTeam();
- if ($securityService->teamCheck($team) === false) {
- return $this->redirectToRoute('dashboard');
- }
- $kontakte = $this->getDoctrine()->getRepository(Kontakte::class)->findBy(array('team' => $team, 'activ' => true));
- return $this->render('kontakt/index.html.twig', [
- 'kontakte' => $kontakte,
- 'title' => 'Kontakte'
- ]);
+ public function __construct(private readonly TranslatorInterface $translator,
+ private EntityManagerInterface $em,
+ )
+ {
}
- /**
- * @Route("/kontakt/neu", name="kontakt_new")
- */
- public function addKontakt(ValidatorInterface $validator, Request $request, SecurityService $securityService)
+ #[Route(path: '/kontakt/neu', name: 'kontakt_new')]
+ public function addKontakt(
+ ValidatorInterface $validator,
+ Request $request,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ ): Response
{
- $team = $this->getUser()->getTeam();
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
if ($securityService->teamCheck($team) === false) {
return $this->redirectToRoute('dashboard');
}
@@ -59,9 +57,8 @@ public function addKontakt(ValidatorInterface $validator, Request $request, Secu
$data = $form->getData();
$errors = $validator->validate($data);
if (count($errors) == 0) {
- $em = $this->getDoctrine()->getManager();
- $em->persist($data);
- $em->flush();
+ $this->em->persist($data);
+ $this->em->flush();
return $this->redirectToRoute('kontakt');
}
}
@@ -69,18 +66,64 @@ public function addKontakt(ValidatorInterface $validator, Request $request, Secu
'kontakt' => $kontakt,
'form' => $form->createView(),
'errors' => $errors,
- 'title' => 'Kontakt erstellen',
+ 'title' => $this->translator->trans(id: 'contact.create', domain: 'kontakt'),
'new' => true,
]);
}
- /**
- * @Route("/kontakt/edit", name="kontakt_edit")
- */
- public function editKontakt(ValidatorInterface $validator, Request $request, SecurityService $securityService)
+ #[Route(path: '/kontakt/approve', name: 'kontakt_approve')]
+ public function approve(
+ Request $request,
+ SecurityService $securityService,
+ ApproveService $approveService,
+ CurrentTeamService $currentTeamService,
+ KontakteRepository $contactRepository,
+ ): Response
+ {
+ $user = $this->getUser();
+ $team = $currentTeamService->getTeamFromSession($user);
+ $kontakt = $contactRepository->find($request->get('id'));
+
+ if ($securityService->teamDataCheck($kontakt, $team) && $securityService->adminCheck($user, $team)) {
+ $approve = $approveService->approve($kontakt, $user);
+ return $this->redirectToRoute('kontakt_edit', ['id' => $kontakt->getId(), 'snack' => $approve['snack']]);
+ }
+
+ // if security check fails
+ return $this->redirectToRoute('kontakt');
+ }
+
+ #[Route(path: '/kontakt/disable', name: 'kontakt_disable')]
+ public function disable(
+ Request $request,
+ SecurityService $securityService,
+ DisableService $disableService,
+ CurrentTeamService $currentTeamService,
+ KontakteRepository $contactRepository,
+ ): Response
{
- $team = $this->getUser()->getTeam();
- $kontakt = $this->getDoctrine()->getRepository(Kontakte::class)->find($request->get('id'));
+ $user = $this->getUser();
+ $team = $currentTeamService->getTeamFromSession($user);
+ $kontakt = $contactRepository->find($request->get('id'));
+
+ if ($securityService->teamDataCheck($kontakt, $team) && $securityService->adminCheck($user, $team) && !$kontakt->getApproved()) {
+ $disableService->disable($kontakt, $user);
+ }
+
+ return $this->redirectToRoute('kontakt');
+ }
+
+ #[Route(path: '/kontakt/edit', name: 'kontakt_edit')]
+ public function editKontakt(
+ ValidatorInterface $validator,
+ Request $request,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ KontakteRepository $contactRepository,
+ ): Response
+ {
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ $kontakt = $contactRepository->find($request->get('id'));
if ($securityService->teamDataCheck($kontakt, $team) === false) {
return $this->redirectToRoute('kurse');
}
@@ -93,49 +136,44 @@ public function editKontakt(ValidatorInterface $validator, Request $request, Sec
$data = $form->getData();
$errors = $validator->validate($data);
if (count($errors) == 0) {
- $em = $this->getDoctrine()->getManager();
- $em->persist($data);
- $em->flush();
- return $this->redirectToRoute('kontakt_edit', ['id' => $kontakt->getId(), 'snack' => 'Erfolgreich gepeichert']);
+ $this->em->persist($data);
+ $this->em->flush();
+ return $this->redirectToRoute(
+ 'kontakt_edit',
+ [
+ 'id' => $kontakt->getId(),
+ 'snack' => $this->translator->trans(id: 'save.successful', domain: 'general'),
+ ]
+ );
}
}
return $this->render('kontakt/edit.html.twig', [
'form' => $form->createView(),
'kontakt' => $kontakt,
'errors' => $errors,
- 'title' => 'Kontakt erstellen',
+ 'title' => $this->translator->trans(id: 'contact.create', domain: 'kontakt'),
'snack' => $request->get('snack')
]);
}
- /**
- * @Route("/kontakt/approve", name="kontakt_approve")
- */
- public function approve(Request $request, SecurityService $securityService, ApproveService $approveService)
+ #[Route(path: '/kontakt', name: 'kontakt')]
+ public function index(
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ KontakteRepository $contactRepository,
+ ): Response
{
- $team = $this->getUser()->getAdminUser();
- $kontakt = $this->getDoctrine()->getRepository(Kontakte::class)->find($request->get('id'));
-
- if ($securityService->teamDataCheck($kontakt, $team) === false) {
- return $this->redirectToRoute('kontakt');
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ if ($securityService->teamCheck($team) === false) {
+ return $this->redirectToRoute('dashboard');
}
- $approve = $approveService->approve($kontakt, $this->getUser());
- return $this->redirectToRoute('kontakt_edit', ['id' => $kontakt->getId(), 'snack' => $approve['snack']]);
- }
+ $kontakte = $contactRepository->findBy(['team' => $team, 'activ' => true]);
- /**
- * @Route("/kontakt/disable", name="kontakt_disable")
- */
- public function disable(Request $request, SecurityService $securityService, DisableService $disableService)
- {
- $team = $this->getUser()->getAdminUser();
- $kontakt = $this->getDoctrine()->getRepository(Kontakte::class)->find($request->get('id'));
-
- if ($securityService->teamDataCheck($kontakt, $team) === true && !$kontakt->getApproved()) {
- $disableService->disable($kontakt, $this->getUser());
- }
-
- return $this->redirectToRoute('kontakt');
+ return $this->render('kontakt/index.html.twig', [
+ 'kontakte' => $kontakte,
+ 'title' => $this->translator->trans(id: 'contact', domain: 'general'),
+ 'currentTeam' => $team,
+ ]);
}
}
diff --git a/src/Controller/KursController.php b/src/Controller/KursController.php
index da93066d..4468af37 100644
--- a/src/Controller/KursController.php
+++ b/src/Controller/KursController.php
@@ -5,33 +5,50 @@
use App\Entity\AkademieKurse;
use App\Form\Type\KursAnmeldungType;
use App\Form\Type\KursType;
+use App\Repository\AkademieKurseRepository;
use App\Service\AkademieService;
-use App\Service\NotificationService;
+use App\Service\CurrentTeamService;
use App\Service\SecurityService;
+use DateTime;
+use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Validator\Validator\ValidatorInterface;
+use Symfony\Contracts\Translation\TranslatorInterface;
class KursController extends AbstractController
{
- /**
- * @Route("/kurs/new", name="akademie_kurs_new")
- */
- public function addKurs(ValidatorInterface $validator, Request $request, SecurityService $securityService)
+
+
+ public function __construct(private readonly TranslatorInterface $translator,
+ private EntityManagerInterface $em,
+ )
+ {
+ }
+
+ #[Route(path: '/kurs/new', name: 'akademie_kurs_new')]
+ public function addKurs(
+ ValidatorInterface $validator,
+ Request $request,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ ): Response
{
- $team = $this->getUser()->getAdminUser();
+ $user = $this->getUser();
+ $team = $currentTeamService->getCurrentAdminTeam($user);
if ($securityService->teamCheck($team) === false) {
return $this->redirectToRoute('akademie_admin');
}
- $today = new \DateTime();
+ $today = new DateTime();
$daten = new AkademieKurse();
$daten->addTeam($team);
$daten->setCreatedAt($today);
$daten->setActiv(true);
- $daten->setUser($this->getUser());
+ $daten->setUser($user);
$form = $this->createForm(KursType::class, $daten);
$form->handleRequest($request);
@@ -40,27 +57,36 @@ public function addKurs(ValidatorInterface $validator, Request $request, Securit
if ($form->isSubmitted() && $form->isValid()) {
$daten = $form->getData();
$errors = $validator->validate($daten);
+
if (count($errors) == 0) {
- $em = $this->getDoctrine()->getManager();
- $em->persist($daten);
- $em->flush();
+ $this->em->persist($daten);
+ $this->em->flush();
+
return $this->redirectToRoute('kurs_anmelden', ['id' => $daten->getId()]);
}
}
+
return $this->render('akademie/new.html.twig', [
+ 'currentTeam' => $team,
+ 'adminArea' => true,
'form' => $form->createView(),
'errors' => $errors,
- 'title' => 'Kurs erstellen',
+ 'title' => $this->translator->trans(id: 'lesson.create', domain: 'kurs'),
]);
}
- /**
- * @Route("/kurs/edit", name="akademie_kurs_edit")
- */
- public function editKurs(ValidatorInterface $validator, Request $request, SecurityService $securityService)
+ #[Route(path: '/kurs/edit', name: 'akademie_kurs_edit')]
+ public function editKurs(
+ ValidatorInterface $validator,
+ Request $request,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ AkademieKurseRepository $academyLessonRepository,
+ ): Response
{
- $team = $this->getUser()->getAdminUser();
- $kurs = $this->getDoctrine()->getRepository(AkademieKurse::class)->find($request->get('id'));
+ $user = $this->getUser();
+ $team = $currentTeamService->getTeamFromSession($user);
+ $kurs = $academyLessonRepository->find($request->get('id'));
if ($securityService->teamArrayDataCheck($kurs, $team) === false) {
return $this->redirectToRoute('akademie_admin');
@@ -70,7 +96,7 @@ public function editKurs(ValidatorInterface $validator, Request $request, Securi
return $this->redirectToRoute('akademie_admin');
}
- $today = new \DateTime();;
+ $today = new DateTime();
$kurs->setCreatedAt($today);
$form = $this->createForm(KursType::class, $kurs);
@@ -81,56 +107,66 @@ public function editKurs(ValidatorInterface $validator, Request $request, Securi
$daten = $form->getData();
$errors = $validator->validate($daten);
if (count($errors) == 0) {
- $em = $this->getDoctrine()->getManager();
- $em->persist($daten);
- $em->flush();
+ $this->em->persist($daten);
+ $this->em->flush();
return $this->redirectToRoute('kurs_anmelden', ['id' => $daten->getId()]);
}
}
return $this->render('akademie/new.html.twig', [
'form' => $form->createView(),
'errors' => $errors,
- 'title' => 'Verarbeitung erstellen',
+ 'title' => $this->translator->trans(id: 'processing.create', domain: 'kurs'),
]);
}
- /**
- * @Route("/kurs/anmelden", name="kurs_anmelden")
- */
- public function kursAnmelden(Request $request, NotificationService $notificationService, SecurityService $securityService, AkademieService $akademieService)
+ #[Route(path: '/kurs/anmelden', name: 'kurs_anmelden')]
+ public function kursAnmelden(
+ Request $request,
+ SecurityService $securityService,
+ AkademieService $akademieService,
+ CurrentTeamService $currentTeamService,
+ AkademieKurseRepository $academyLessonRepository,
+ ): Response
{
- $team = $this->getUser()->getAdminUser();
- $kurs = $this->getDoctrine()->getRepository(AkademieKurse::class)->find($request->get('id'));
+ $user = $this->getUser();
+ $team = $currentTeamService->getTeamFromSession($user);
+ $kurs = $academyLessonRepository->find($request->get('id'));
if ($securityService->teamArrayDataCheck($kurs, $team) === false) {
return $this->redirectToRoute('akademie_admin');
}
$daten = array();
- $daten['zugewiesen'] = new \DateTime();
+ $daten['zugewiesen'] = new DateTime();
$form = $this->createForm(KursAnmeldungType::class, $daten, ['user' => $team->getAkademieUsers()]);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$daten = $form->getData();
$akademieService->addUser($kurs, $daten);
+
return $this->redirectToRoute('akademie_admin');
}
return $this->render('akademie/new.html.twig', [
'form' => $form->createView(),
- 'title' => 'Mitglieder diesem Kurs zuweisen',
+ 'title' => $this->translator->trans(id: 'lesson.members.assign', domain: 'kurs'),
]);
}
- /**
- * @Route("/kurs/deaktivieren", name="kurs_deaktivieren")
- */
- public function kursDeaktivieren(Request $request, SecurityService $securityService, AkademieService $akademieService)
+ #[Route(path: '/kurs/deaktivieren', name: 'kurs_deaktivieren')]
+ public function kursDeaktivieren(
+ Request $request,
+ SecurityService $securityService,
+ AkademieService $akademieService,
+ CurrentTeamService $currentTeamService,
+ AkademieKurseRepository $academyLessonRepository,
+ ): Response
{
- $team = $this->getUser()->getAdminUser();
- $kurs = $this->getDoctrine()->getRepository(AkademieKurse::class)->find($request->get('id'));
+ $user = $this->getUser();
+ $team = $currentTeamService->getTeamFromSession($user);
+ $kurs = $academyLessonRepository->find($request->get('id'));
- if ($securityService->teamArrayDataCheck($kurs, $team) === false) {
+ if (!$securityService->teamArrayDataCheck($kurs, $team)) {
return $this->redirectToRoute('akademie_admin');
}
diff --git a/src/Controller/LoeschkonzeptController.php b/src/Controller/LoeschkonzeptController.php
index 995b1c87..6d5966f3 100644
--- a/src/Controller/LoeschkonzeptController.php
+++ b/src/Controller/LoeschkonzeptController.php
@@ -9,37 +9,106 @@
namespace App\Controller;
use App\Entity\Loeschkonzept;
-use App\Form\Type\LoeschkonzeptType;
-use App\Service\ApproveService;
-use App\Service\DisableService;
-use App\Service\SecurityService;
-use App\Service\LoeschkonzeptService;
use App\Repository\LoeschkonzeptRepository;
use App\Repository\VVTDatenkategorieRepository;
+use App\Service\CurrentTeamService;
+use App\Service\LoeschkonzeptService;
+use App\Service\SecurityService;
+use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
-use Doctrine\ORM\EntityManagerInterface;
-use Symfony\Component\Form\FormFactoryInterface;
-/**
- * @Route("/loeschkonzept")
- */
+#[Route(path: '/loeschkonzept')]
class LoeschkonzeptController extends AbstractController
{
- /**
- * @Route("/", name="app_loeschkonzept_index", methods={"GET"})
- */
- public function index(VVTDatenkategorieRepository $vvtDatenkategorieRepository, LoeschkonzeptRepository $loeschkonzeptRepository, SecurityService $securityService): Response
+ #[Route(path: '/{id}', name: 'app_loeschkonzept_delete', methods: ['POST'])]
+ public function delete(
+ Loeschkonzept $loeschkonzept,
+ EntityManagerInterface $entityManager,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ ): Response
+ {
+ $user = $this->getUser();
+ $team = $currentTeamService->getTeamFromSession($user);
+ if ($securityService->teamCheck($team) && $securityService->adminCheck($user, $team)) {
+ $loeschkonzept->setActiv(false);
+ $entityManager->persist($loeschkonzept);
+ $entityManager->flush();
+ }
+ return $this->redirectToRoute('app_loeschkonzept_index', [], Response::HTTP_SEE_OTHER);
+ }
+
+ #[Route(path: '/{id}/edit', name: 'app_loeschkonzept_edit', methods: ['GET', 'POST'])]
+ public function edit(
+ Request $request,
+ Loeschkonzept $loeschkonzept,
+ LoeschkonzeptRepository $loeschkonzeptRepository,
+ EntityManagerInterface $entityManager,
+ VVTDatenkategorieRepository $VvtDatenkategorieRepository,
+ LoeschkonzeptService $loeschkonzeptService,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ ): Response
+ {
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ if ($securityService->teamCheck($team) === false) {
+ return $this->redirectToRoute('app_loeschkonzept_index');
+ }
+
+ # remove datenkategory from loeschkonzept if it is not the newest relation
+ $vvtDatenkategories = $VvtDatenkategorieRepository->findByTeam($team);
+ foreach ($vvtDatenkategories as $vvtDatenkategorie) {
+ if ($vvtDatenkategorie->getLoeschkonzept()->last() != $loeschkonzept) {
+ $loeschkonzept->removeVvtdatenkategory($vvtDatenkategorie);
+ }
+ }
+
+ $newloeschkonzept = $loeschkonzeptService->cloneLoeschkonzept($loeschkonzept);
+ foreach ($loeschkonzept->getVvtdatenkategories() as $datenkategorie) {
+ $newloeschkonzept->addVvtdatenkategory($datenkategorie);
+ }
+ $form = $loeschkonzeptService->createForm($newloeschkonzept, $team);
+ $form->handleRequest($request);
+
+ if ($form->isSubmitted() && $form->isValid()) {
+
+ $loeschkonzeptRepository->add($newloeschkonzept);
+
+ $newloeschkonzept->setActiv(true);
+ $loeschkonzept->setActiv(false);
+
+ $entityManager->persist($loeschkonzept);
+ $entityManager->persist($newloeschkonzept);
+
+ $entityManager->flush();
+
+ return $this->redirectToRoute('app_loeschkonzept_index', [], Response::HTTP_SEE_OTHER);
+ }
+
+ return $this->renderForm('loeschkonzept/edit.html.twig', [
+ 'loeschkonzept' => $newloeschkonzept,
+ 'form' => $form,
+ ]);
+ }
+
+ #[Route(path: '/', name: 'app_loeschkonzept_index', methods: ['GET'])]
+ public function index(
+ VVTDatenkategorieRepository $vvtDatenkategorieRepository,
+ LoeschkonzeptRepository $loeschkonzeptRepository,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ ): Response
{
- $team = $this->getUser()->getTeam();
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
if ($securityService->teamCheck($team) === false) {
return $this->redirectToRoute('dashboard');
}
- $loeschkonzepte = $this->getDoctrine()->getRepository(Loeschkonzept::class)->findByTeam($team);
+ $loeschkonzepte = $loeschkonzeptRepository->findByTeam($team);
# remove all kategories from loeschkonzepte
foreach ($loeschkonzepte as $loeschkonzept) {
@@ -48,28 +117,34 @@ public function index(VVTDatenkategorieRepository $vvtDatenkategorieRepository,
$loeschkonzept->removeVvtdatenkategory($datenkategorie);
}
}
-
+
# add datenkategory to loeschkonzept if it is the newest relation
$vvtDatenkategories = $vvtDatenkategorieRepository->findByTeam($team);
foreach ($vvtDatenkategories as $vvtDatenkategorie) {
$loeschkonzept = $vvtDatenkategorie->getLoeschkonzept()->last();
- if ($loeschkonzept != false){
+ if ($loeschkonzept != false) {
$loeschkonzept->addVvtdatenkategory($vvtDatenkategorie);
}
}
-
+
return $this->render('loeschkonzept/index.html.twig', [
'loeschkonzepte' => $loeschkonzepte,
+ 'currentTeam' => $team,
]);
}
- /**
- * @Route("/new", name="app_loeschkonzept_new", methods={"GET", "POST"})
- */
- public function new (Request $request, LoeschkonzeptRepository $loeschkonzeptRepository, EntityManagerInterface $entityManager, SecurityService $securityService, LoeschkonzeptService $loeschkonzeptService): Response
+ #[Route(path: '/new', name: 'app_loeschkonzept_new', methods: ['GET', 'POST'])]
+ public function new(
+ Request $request,
+ LoeschkonzeptRepository $loeschkonzeptRepository,
+ EntityManagerInterface $entityManager,
+ SecurityService $securityService,
+ LoeschkonzeptService $loeschkonzeptService,
+ CurrentTeamService $currentTeamService,
+ ): Response
{
$user = $this->getUser();
- $team = $this->getUser()->getTeam();
+ $team = $currentTeamService->getTeamFromSession($user);
if ($securityService->teamCheck($team) === false) {
return $this->redirectToRoute('dashboard');
}
@@ -84,7 +159,7 @@ public function new (Request $request, LoeschkonzeptRepository $loeschkonzeptRep
$datenkategory->addLoeschkonzept($loeschkonzept);
$entityManager->persist($datenkategory);
- }
+ }
$entityManager->flush();
@@ -97,76 +172,11 @@ public function new (Request $request, LoeschkonzeptRepository $loeschkonzeptRep
]);
}
- /**
- * @Route("/{id}", name="app_loeschkonzept_show", methods={"GET"})
- */
+ #[Route(path: '/{id}', name: 'app_loeschkonzept_show', methods: ['GET'])]
public function show(Loeschkonzept $loeschkonzept): Response
{
return $this->render('loeschkonzept/show.html.twig', [
'loeschkonzept' => $loeschkonzept,
]);
}
-
- /**
- * @Route("/{id}/edit", name="app_loeschkonzept_edit", methods={"GET", "POST"})
- */
- public function edit(Request $request, Loeschkonzept $loeschkonzept, LoeschkonzeptRepository $loeschkonzeptRepository, EntityManagerInterface $entityManager, VVTDatenkategorieRepository $VvtDatenkategorieRepository, LoeschkonzeptService $loeschkonzeptService, SecurityService $securityService): Response
- {
- $team = $this->getUser()->getTeam();
- if ($securityService->teamCheck($team) === false) {
- return $this->redirectToRoute('app_loeschkonzept_index');
- }
-
- # remove datenkategory from loeschkonzept if it is not the newest relation
- $vvtDatenkategories = $VvtDatenkategorieRepository->findByTeam($team);
- foreach ($vvtDatenkategories as $vvtDatenkategorie) {
- if ($vvtDatenkategorie->getLoeschkonzept()->last() != $loeschkonzept) {
- $loeschkonzept->removeVvtdatenkategory($vvtDatenkategorie);
- }
- }
-
- $newloeschkonzept = $loeschkonzeptService->cloneLoeschkonzept($loeschkonzept);
- foreach ($loeschkonzept->getVvtdatenkategories() as $datenkategorie){
- $newloeschkonzept->addVvtdatenkategory($datenkategorie);
- }
- $form = $loeschkonzeptService->createForm($newloeschkonzept, $team);
- $form->handleRequest($request);
-
- if ($form->isSubmitted() && $form->isValid()) {
-
- $loeschkonzeptRepository->add($newloeschkonzept);
-
- $newloeschkonzept->setActiv(true);
- $loeschkonzept->setActiv(false);
-
- $entityManager->persist($loeschkonzept);
- $entityManager->persist($newloeschkonzept);
-
- $entityManager->flush();
-
- return $this->redirectToRoute('app_loeschkonzept_index', [], Response::HTTP_SEE_OTHER);
- }
-
- return $this->renderForm('loeschkonzept/edit.html.twig', [
- 'loeschkonzept' => $newloeschkonzept,
- 'form' => $form,
- ]);
- }
-
- /**
- * @Route("/{id}", name="app_loeschkonzept_delete", methods={"POST"})
- */
- public function delete(Request $request, Loeschkonzept $loeschkonzept, LoeschkonzeptRepository $loeschkonzeptRepository, VVTDatenkategorieRepository $VvtDatenkategorieRepository, EntityManagerInterface $entityManager, SecurityService $securityService, DisableService $disableService): Response
- {
- $team = $this->getUser()->getAdminUser();
- if ($securityService->teamCheck($team) === true)
- {
-
- $loeschkonzept->setActiv(false);
- $entityManager->persist($loeschkonzept);
- $entityManager->flush();
- }
-
- return $this->redirectToRoute('app_loeschkonzept_index', [], Response::HTTP_SEE_OTHER);
- }
}
diff --git a/src/Controller/LoginController.php b/src/Controller/LoginController.php
index b5199886..0bb944ed 100644
--- a/src/Controller/LoginController.php
+++ b/src/Controller/LoginController.php
@@ -2,8 +2,10 @@
namespace App\Controller;
+
use KnpU\OAuth2ClientBundle\Client\ClientRegistry;
use KnpU\OAuth2ClientBundle\Client\Provider\Auth0Client;
+use Stevenmaguire\OAuth2\Client\Provider\Keycloak;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
@@ -12,18 +14,11 @@
class LoginController extends AbstractController
{
- /**
- * @Route("/login/auth0_login", name="login_auth0")
- */
- public function index(ClientRegistry $clientRegistry): Response
- {
- return $clientRegistry->getClient('auth0_main')->redirect(['user']);
- }
-
- /**
- * @Route("/login/auth0_login/check", name="connect_auth0_check")
- */
- public function check(ClientRegistry $clientRegistry, Request $request)
+ #[Route(path: '/login/auth0_login/check', name: 'connect_auth0_check')]
+ public function check(
+ ClientRegistry $clientRegistry,
+ Request $request,
+ )
{
// ** if you want to *authenticate* the user, then
// leave this method blank and create a Guard authenticator
@@ -47,14 +42,35 @@ public function check(ClientRegistry $clientRegistry, Request $request)
}
}
- /**
- * @Route("/logout_keycloak", name="logout_keycloak")
- */
- public function logout(ClientRegistry $clientRegistry, Request $request)
+ #[Route(path: '/login/auth0_login', name: 'login_auth0')]
+ public function index(ClientRegistry $clientRegistry): Response
+ {
+ return $clientRegistry->getClient('auth0_main')->redirect(['user']);
+ }
+
+ #[Route(path: '/logout_keycloak', name: 'logout_keycloak')]
+ public function logout(
+ ClientRegistry $clientRegistry,
+ Request $request,
+ )
{
- $url = $this->getParameter('KEYCLOAK_URL')
- . '/realms/' . $this->getParameter('KEYCLOAK_REALM')
- . '/protocol/openid-connect/logout?redirect_uri=' . $this->generateUrl('app_logout', [], UrlGenerator::ABSOLUTE_URL);
+ $provider = new Keycloak([
+ 'authServerUrl' => $this->getParameter('KEYCLOAK_URL'),
+ 'realm' => $this->getParameter('KEYCLOAK_REALM'),
+ 'clientId' => $this->getParameter('KEYCLOAK_ID'),
+ 'clientSecret' => $this->getParameter('KEYCLOAK_SECRET'),
+ ]);
+
+
+ $redirectUri = $this->generateUrl('app_logout', array(), UrlGenerator::ABSOLUTE_URL);
+ $options = array(
+ 'id_token_hint' => $request->getSession()->get('id_token'),
+ 'post_logout_redirect_uri' => $redirectUri,
+ );
+
+ $url = $provider->getLogoutUrl(
+ $options
+ );
return $this->redirect($url);
}
diff --git a/src/Controller/LoginControllerKeycloak.php b/src/Controller/LoginControllerKeycloak.php
index 2f133af3..3ab793b6 100644
--- a/src/Controller/LoginControllerKeycloak.php
+++ b/src/Controller/LoginControllerKeycloak.php
@@ -10,25 +10,21 @@
class LoginControllerKeycloak extends AbstractController
{
- /**
- * @Route("/login", name="login_keycloak")
- */
- public function index(ClientRegistry $clientRegistry): Response
- {
- return $clientRegistry->getClient('keycloak_main')->redirect(['email']);
- }
-
public function check(ClientRegistry $clientRegistry, Request $request)
{
}
- /**
- * @Route("/login/keycloak_edit", name="connect_keycloak_edit")
- */
+ #[Route(path: '/login/keycloak_edit', name: 'connect_keycloak_edit')]
public function edit(ClientRegistry $clientRegistry, Request $request)
{
- $url = $this->getParameter('KEYCLOAK_URL').'/realms/'.$this->getParameter('KEYCLOAK_REALM').'/account';
+ $url = $this->getParameter('KEYCLOAK_URL') . '/realms/' . $this->getParameter('KEYCLOAK_REALM') . '/account';
return $this->redirect($url);
}
+
+ #[Route(path: '/login', name: 'login_keycloak')]
+ public function index(ClientRegistry $clientRegistry): Response
+ {
+ return $clientRegistry->getClient('keycloak_main')->redirect(['email', 'openid', 'profile']);
+ }
}
diff --git a/src/Controller/ParticipationController.php b/src/Controller/ParticipationController.php
new file mode 100644
index 00000000..a92a9e51
--- /dev/null
+++ b/src/Controller/ParticipationController.php
@@ -0,0 +1,141 @@
+ ['id' => 'id']])]
+ public function start(Participation $participation): RedirectResponse{
+ $participation->setState(ParticipationStateTypes::$ONGOING);
+
+ $this->em->persist($participation);
+ $this->em->flush();
+
+ return $this->redirectToRoute('participation_question', ['id' => $participation->getId()]);
+ }
+
+ #[Route(path: '/reset/{id}', name: '_reset')]
+ #[ParamConverter(data: 'participation', class: Participation::class, options: ['mapping' => ['id' => 'id']])]
+ public function reset(Participation $oldParticipation): RedirectResponse
+ {
+ if($oldParticipation->isPassed()){
+ return $this->redirectToRoute('akademie');
+ }
+
+ $billing = $oldParticipation->getAcademyBilling();
+ $questionnaire = $oldParticipation->getQuestionnaire();
+
+ $this->em->remove($oldParticipation);
+
+ $participation = (new Participation())
+ ->setState(ParticipationStateTypes::$ASSIGNED)
+ ->setAcademyBilling($billing)
+ ->setQuestionnaire($questionnaire);
+
+ $this->em->persist($participation);
+ $this->em->flush();
+
+ return $this->redirectToRoute('akademie');
+ }
+
+ #[Route(path: '/{id}/continue', name: '_continue', methods:['GET', 'POST'])]
+ #[ParamConverter(data: 'participation', class: Participation::class, options: ['mapping' => ['id' => 'id']])]
+ public function continue(Participation $participation): RedirectResponse
+ {
+ return $this->redirectToRoute('participation_question', ['id' => $participation->getId()]);
+ }
+
+ #[Route(path: '/{id}/finish', name: '_finish', methods: ['GET', 'POST'])]
+ #[ParamConverter(data: 'participation', class: Participation::class, options: ['mapping' => ['id' => 'id']])]
+ public function finish(Participation $participation): RedirectResponse
+ {
+ $this->evaluate($participation);
+ $this->removeParticipationAnswers($participation);
+
+ return $this->redirectToRoute('akademie');
+ }
+
+ private function evaluate(Participation $participation): void
+ {
+ $questionnaire = $participation->getQuestionnaire();
+
+ $questions = [];
+ $overallPoints = 0;
+ foreach($questionnaire->getQuestionnaireQuestions() as $questionnaireQuestion) {
+ $question = $questionnaireQuestion->getQuestion();
+ $questions[] = $question;
+ $overallPoints += $question->getEvalValue();
+ }
+
+ $achievedPoints = 0;
+
+ foreach($questions as $question) {
+ if($this->evaluateQuestion($question, $participation)){
+ $achievedPoints += $question->getEvalValue();
+ }
+ }
+
+ $participation->setPassed($questionnaire->getPercentageToPass() <= ($achievedPoints/$overallPoints));
+ $participation->setState(ParticipationStateTypes::$FINISHED);
+ }
+
+ private function evaluateQuestion(Question $question, Participation $participation): bool {
+ $givenAnswers = [];
+
+ foreach($participation->getParticipationAnswers() as $participationAnswer){
+ if($participationAnswer->getQuestion() === $question){
+ $givenAnswer = $participationAnswer->getAnswer();
+
+ if(!$givenAnswer->isCorrect()){
+ return false;
+ }
+
+ $givenAnswers[] = $givenAnswer;
+ }
+ }
+
+ /** @var Answer $answer */
+ foreach ($question->getAnswers() as $answer){
+ if($answer->isCorrect() && !in_array($answer, $givenAnswers)){
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ private function removeParticipationAnswers(Participation $participation): void
+ {
+ foreach($participation->getParticipationAnswers() as $participationAnswer) {
+ $this->em->remove($participationAnswer);
+ }
+
+ $this->em->flush();
+ }
+}
\ No newline at end of file
diff --git a/src/Controller/ParticipationQuestionController.php b/src/Controller/ParticipationQuestionController.php
new file mode 100644
index 00000000..21b13369
--- /dev/null
+++ b/src/Controller/ParticipationQuestionController.php
@@ -0,0 +1,209 @@
+ ['id' => 'id']])]
+class ParticipationQuestionController extends AbstractController
+{
+ private static string $TEMPLATE_DIR = 'questionnaire/participationQuestion/';
+
+ public function __construct(
+ private QuestionnaireQuestionRepository $questionnaireQuestionRepository,
+ private QuestionRepository $questionRepository,
+ private EntityManagerInterface $em,
+ )
+ {
+ }
+
+ #[Route(path: '', name: '', methods: ['GET', 'POST'])]
+ public function question(Participation $participation, Request $request): Response
+ {
+ # region validate
+ $error = $this->getError($participation);
+
+ if ($error !== null) {
+ return $error;
+ }
+ # endregion validate
+
+ # region handle_previous_question
+ $previousForm = $this->getPreviousForm($request);
+
+ if ($previousForm !== null && $previousForm->isSubmitted()) {
+ $this->handleForm($previousForm, $participation);
+ $this->em->refresh($participation);
+ }
+ # endregion handle_previous_question
+
+ # region get_current_question
+ $question = $this->getCurrentQuestion($previousForm, $participation);
+ # endregion get_current_question
+
+ # region finish_if_last_question
+ if ($question === null) {
+ return $this->redirectToRoute('participation_finish', ['id' => $participation->getId()]);
+ }
+ # endregion finish_if_last_question
+
+ return $this->render(
+ view: self::$TEMPLATE_DIR . 'question.html.twig',
+ parameters: ['form' => $this->createForm(DynamicQuestionType::class, options: ['question' => $question]),
+ 'question' => $question,],
+ );
+ }
+
+ private function getPreviousForm(Request $request): ?FormInterface
+ {
+ if($request->get('dynamic_question') === null){
+ return null;
+ }
+
+ $questionId = array_key_first($request->get('dynamic_question'));
+ $previousQuestion = $this->questionRepository->find($questionId);
+
+ $form = $this->createForm(DynamicQuestionType::class, options: ['question' => $previousQuestion]);
+ $form->handleRequest($request);
+
+ return $form;
+ }
+
+ private function getCurrentQuestion(?FormInterface $form, Participation $participation): ?Question
+ {
+ $sortedQuestions = $this->getSortedQuestions($participation->getQuestionnaire());
+
+ if ($form === null) {
+ return $sortedQuestions[0]->getQuestion();
+ } else {
+ $latestParticipationAnswer = $this->getLatestParticipationAnswer($participation);
+ $previousQuestionnaireQuestion = $this->getPreviousQuestionnaireQuestion($sortedQuestions, $latestParticipationAnswer);
+ if($previousQuestionnaireQuestion === array_reverse($sortedQuestions)[0]){
+ return null;
+ }
+
+ return $this->getNextQuestionnaireQuestionByQuestionnaireQuestion($previousQuestionnaireQuestion)->getQuestion();
+ }
+ }
+
+ private function getLatestParticipationAnswer(Participation $participation): ?ParticipationAnswer
+ {
+ foreach ($participation->getParticipationAnswers() as $participationAnswer) {
+ if (
+ !isset($latestAnswer)
+ || $participationAnswer->getUpdatedAt()->format('U') > $latestAnswer->getUpdatedAt()->format('U')
+ ) {
+ $latestAnswer = $participationAnswer;
+ }
+ }
+
+ return $latestAnswer ?? null;
+ }
+
+ private
+ function getError(Participation $participation): ?Response
+ {
+ if ($participation->getAcademyBilling()->getUser() !== $this->getUser()) {
+ return $this->render(self::$TEMPLATE_DIR . 'error/wrongUser.html.twig');
+ }
+
+ if ($participation->getState() !== ParticipationStateTypes::$ONGOING) {
+ return $this->render(self::$TEMPLATE_DIR . 'error/invalidState.html.twig');
+ }
+
+ return null;
+ }
+
+ /** @return QuestionnaireQuestion[] */
+ private function getSortedQuestions(Questionnaire $questionnaire): array
+ {
+ return $this->questionnaireQuestionRepository->createQueryBuilder('qq')
+ ->where('qq.questionnaire = :questionnaire')
+ ->setParameter('questionnaire', $questionnaire)
+ ->orderBy('qq.step', 'ASC')
+ ->getQuery()
+ ->getResult();
+ }
+
+ /** @param QuestionnaireQuestion[] $sortedQuestions */
+ private function getPreviousQuestionnaireQuestion(
+ array $sortedQuestions,
+ ParticipationAnswer $latestParticipationAnswer,
+ ): ?QuestionnaireQuestion
+ {
+ foreach ($sortedQuestions as $questionnaireQuestion) {
+ if ($questionnaireQuestion->getQuestion() === $latestParticipationAnswer->getQuestion()) {
+ return $questionnaireQuestion;
+ }
+ }
+
+ return null;
+ }
+
+ private function getNextQuestionnaireQuestionByQuestionnaireQuestion(
+ QuestionnaireQuestion $questionnaireQuestion,
+ ): QuestionnaireQuestion
+ {
+ return $this->questionnaireQuestionRepository->createQueryBuilder('qq')
+ ->where('qq.questionnaire = :questionnaire')
+ ->setParameter('questionnaire', $questionnaireQuestion->getQuestionnaire())
+ ->andWhere('qq.step > :step')
+ ->setParameter('step', $questionnaireQuestion->getStep())
+ ->orderBy('qq.step', 'ASC')
+ ->getQuery()
+ ->getResult()[0];
+ }
+
+ private
+ function handleForm(FormInterface $form, Participation $participation): void
+ {
+ $questions = $form->getData();
+ $questionnaire = $participation->getQuestionnaire();
+
+ foreach ($questions as $questionId => $answers) {
+ if ($answers === null) {
+ return;
+ }
+
+ if (is_array($answers)) {
+ foreach ($answers as $answer) {
+ $participationAnswer = (new ParticipationAnswer())
+ ->setParticipation($participation)
+ ->setAnswer($answer)
+ ->setQuestion($this->questionRepository->find($questionId))
+ ->setQuestionnaire($questionnaire);
+
+ $this->em->persist($participationAnswer);
+ }
+ } else {
+ $participationAnswer = (new ParticipationAnswer())
+ ->setParticipation($participation)
+ ->setAnswer($answers)
+ ->setQuestion($this->questionRepository->find($questionId))
+ ->setQuestionnaire($questionnaire);
+
+ $this->em->persist($participationAnswer);
+ }
+ }
+
+ $this->em->flush();
+ }
+}
\ No newline at end of file
diff --git a/src/Controller/PoliciesController.php b/src/Controller/PoliciesController.php
index d6f6bb45..ef4edc23 100644
--- a/src/Controller/PoliciesController.php
+++ b/src/Controller/PoliciesController.php
@@ -3,12 +3,15 @@
namespace App\Controller;
use App\Entity\Policies;
+use App\Repository\PoliciesRepository;
use App\Service\ApproveService;
use App\Service\AssignService;
+use App\Service\CurrentTeamService;
use App\Service\DisableService;
use App\Service\PoliciesService;
use App\Service\SecurityService;
-use League\Flysystem\FilesystemInterface;
+use Doctrine\ORM\EntityManagerInterface;
+use League\Flysystem\FilesystemOperator;
use Psr\Log\LoggerInterface;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
@@ -17,32 +20,28 @@
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Validator\Validator\ValidatorInterface;
+use Symfony\Contracts\Translation\TranslatorInterface;
class PoliciesController extends AbstractController
{
- /**
- * @Route("/policies", name="policies")
- */
- public function index(SecurityService $securityService)
- {
- $team = $this->getUser()->getTeam();
- if ($securityService->teamCheck($team) === false) {
- return $this->redirectToRoute('dashboard');
- }
- $polcies = $this->getDoctrine()->getRepository(Policies::class)->findActivByTeam($team);
- return $this->render('policies/index.html.twig', [
- 'data' => $polcies,
- ]);
+ public function __construct(private readonly TranslatorInterface $translator,
+ private EntityManagerInterface $em,
+ )
+ {
}
- /**
- * @Route("/policy/new", name="policy_new")
- */
- public function addPolicy(ValidatorInterface $validator, Request $request, PoliciesService $policiesService, SecurityService $securityService)
+ #[Route(path: '/policy/new', name: 'policy_new')]
+ public function addPolicy(
+ ValidatorInterface $validator,
+ Request $request,
+ PoliciesService $policiesService,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ )
{
- $team = $this->getUser()->getTeam();
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
if ($securityService->teamCheck($team) === false) {
return $this->redirectToRoute('policies');
@@ -58,9 +57,8 @@ public function addPolicy(ValidatorInterface $validator, Request $request, Polic
$policy = $form->getData();
$errors = $validator->validate($policy);
if (count($errors) == 0) {
- $em = $this->getDoctrine()->getManager();
- $em->persist($policy);
- $em->flush();
+ $this->em->persist($policy);
+ $this->em->flush();
return $this->redirectToRoute('policies');
}
}
@@ -68,7 +66,7 @@ public function addPolicy(ValidatorInterface $validator, Request $request, Polic
'form' => $form->createView(),
'policy' => $policy,
'errors' => $errors,
- 'title' => 'Richtlinie & Arbeitsanweisung erstellen',
+ 'title' => $this->translator->trans(id: 'policies.create', domain: 'policies'),
'activNummer' => true,
'vvt' => $policy,
'activ' => $policy->getActiv(),
@@ -76,14 +74,111 @@ public function addPolicy(ValidatorInterface $validator, Request $request, Polic
]);
}
+ #[Route(path: '/policy/approve', name: 'policy_approve')]
+ public function approvePolicy(
+ Request $request,
+ SecurityService $securityService,
+ ApproveService $approveService,
+ CurrentTeamService $currentTeamService,
+ PoliciesRepository $policiesRepository,
+ ): Response
+ {
+ $user = $this->getUser();
+ $team = $currentTeamService->getTeamFromSession($user);
+ $policy = $policiesRepository->find($request->get('id'));
+
+ if ($securityService->teamDataCheck($policy, $team) && $securityService->adminCheck($user, $team)) {
+ $approve = $approveService->approve($policy, $user);
+ return $this->redirectToRoute('policy_edit', ['id' => $approve['data'], 'snack' => $approve['snack']]);
+ }
+
+ // if security check fails
+ return $this->redirectToRoute('policies');
+ }
+
+ #[Route(path: '/policy/disable', name: 'policy_disable')]
+ public function disable(
+ Request $request,
+ SecurityService $securityService,
+ DisableService $disableService,
+ CurrentTeamService $currentTeamService,
+ PoliciesRepository $policiesRepository,
+ ): Response
+ {
+ $user = $this->getUser();
+ $team = $currentTeamService->getTeamFromSession($user);
+ $policy = $policiesRepository->find($request->get('id'));
+
+ if ($securityService->teamDataCheck($policy, $team) && $securityService->adminCheck($user, $team) && !$policy->getApproved()) {
+ $disableService->disable($policy, $this->getUser());
+ }
+
+ return $this->redirectToRoute('policies');
+ }
+
+ #[Route(path: '/policy/download/{id}', name: 'policy_download_file', methods: ['GET'])]
+ #[ParamConverter('policies', options: ['mapping' => ['id' => 'id']])]
+ public function downloadArticleReference(
+ FilesystemOperator $policiesFilesystem,
+ Policies $policies,
+ SecurityService $securityService,
+ LoggerInterface $logger,
+ CurrentTeamService $currentTeamService,
+ ): Response
+ {
+
+ $stream = $policiesFilesystem->read($policies->getUpload());
+
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ if ($securityService->teamDataCheck($policies, $team) === false) {
+ $logger->error(
+ 'DOWNLOAD',
+ [
+ 'typ' => 'DOWNLOAD',
+ 'error' => true,
+ 'hinweis' => 'Fehlerhafter download. User nicht berechtigt!',
+ 'dokument' => $policies->getUpload(),
+ 'user' => $this->getUser()->getUsername()
+ ],
+ );
+ return $this->redirectToRoute('dashboard');
+ }
+
+ $type = $policiesFilesystem->getMimetype($policies->getUpload());
+ $response = new Response($stream);
+ $response->headers->set('Content-Type', $type);
+ $disposition = HeaderUtils::makeDisposition(
+ HeaderUtils::DISPOSITION_ATTACHMENT,
+ preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $policies->getUpload())
+ );
+
+ $response->headers->set('Content-Disposition', $disposition);
+ $logger->info(
+ 'DOWNLOAD',
+ [
+ 'typ' => 'DOWNLOAD',
+ 'error' => false,
+ 'hinweis' => 'Download erfolgreich',
+ 'dokument' => $policies->getUpload(),
+ 'user' => $this->getUser()->getUsername()
+ ],
+ );
+ return $response;
+ }
- /**
- * @Route("/policy/edit", name="policy_edit")
- */
- public function editPolicy(ValidatorInterface $validator, Request $request, PoliciesService $policiesService, SecurityService $securityService, AssignService $assignService)
+ #[Route(path: '/policy/edit', name: 'policy_edit')]
+ public function editPolicy(
+ ValidatorInterface $validator,
+ Request $request,
+ PoliciesService $policiesService,
+ SecurityService $securityService,
+ AssignService $assignService,
+ CurrentTeamService $currentTeamService,
+ PoliciesRepository $policiesRepository,
+ ): Response
{
- $team = $this->getUser()->getTeam();
- $policy = $this->getDoctrine()->getRepository(Policies::class)->find($request->get('id'));
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ $policy = $policiesRepository->find($request->get('id'));
if ($securityService->teamDataCheck($policy, $team) === false) {
return $this->redirectToRoute('policies');
@@ -95,16 +190,20 @@ public function editPolicy(ValidatorInterface $validator, Request $request, Poli
$errors = array();
if ($form->isSubmitted() && $form->isValid() && $policy->getActiv() && !$policy->getApproved()) {
-
- $em = $this->getDoctrine()->getManager();
$policy->setActiv(false);
$newPolicy = $form->getData();
$errors = $validator->validate($newPolicy);
if (count($errors) == 0) {
- $em->persist($newPolicy);
- $em->persist($policy);
- $em->flush();
- return $this->redirectToRoute('policy_edit', ['id' => $newPolicy->getId(), 'snack' => 'Erfolgreich gespeichert']);
+ $this->em->persist($newPolicy);
+ $this->em->persist($policy);
+ $this->em->flush();
+ return $this->redirectToRoute(
+ 'policy_edit',
+ [
+ 'id' => $newPolicy->getId(),
+ 'snack' => $this->translator->trans(id: 'save.successful', domain: 'general'),
+ ],
+ );
}
}
@@ -112,71 +211,29 @@ public function editPolicy(ValidatorInterface $validator, Request $request, Poli
'form' => $form->createView(),
'assignForm' => $assign->createView(),
'errors' => $errors,
- 'title' => 'Richtlinie / Arbeitsanweisung bearbeiten',
+ 'title' => $this->translator->trans(id: 'policies.edit', domain: 'policies'),
'policy' => $policy,
'activ' => $policy->getActiv(),
'snack' => $request->get('snack')
]);
}
- /**
- * @Route("/policy/approve", name="policy_approve")
- */
- public function approvePolicy(Request $request, SecurityService $securityService, ApproveService $approveService)
+ #[Route(path: '/policies', name: 'policies')]
+ public function index(
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ PoliciesRepository $policiesRepository,
+ ): Response
{
- $team = $this->getUser()->getAdminUser();
- $policy = $this->getDoctrine()->getRepository(Policies::class)->find($request->get('id'));
-
- if ($securityService->teamDataCheck($policy, $team) === false) {
- return $this->redirectToRoute('policies');
- }
- $approve = $approveService->approve($policy, $this->getUser());
-
- return $this->redirectToRoute('policy_edit', ['id' => $approve['data'], 'snack' => $approve['snack']]);
- }
-
- /**
- * @Route("/policy/disable", name="policy_disable")
- */
- public function disable(Request $request, SecurityService $securityService, DisableService $disableService)
- {
- $team = $this->getUser()->getAdminUser();
- $policy = $this->getDoctrine()->getRepository(Policies::class)->find($request->get('id'));
-
- if ($securityService->teamDataCheck($policy, $team) === true && !$policy->getApproved()) {
- $disableService->disable($policy, $this->getUser());
- }
-
- return $this->redirectToRoute('policies');
- }
-
- /**
- * @Route("/policy/download/{id}", name="policy_download_file", methods={"GET"})
- * @ParamConverter("policies", options={"mapping"={"id"="id"}})
- */
- public function downloadArticleReference(FilesystemInterface $policiesFileSystem, Policies $policies, SecurityService $securityService, LoggerInterface $logger)
- {
-
- $stream = $policiesFileSystem->read($policies->getUpload());
-
- $team = $this->getUser()->getTeam();
- if ($securityService->teamDataCheck($policies, $team) === false) {
- $message = ['typ' => 'DOWNLOAD', 'error' => true, 'hinweis' => 'Fehlerhafter download. User nicht berechtigt!', 'dokument' => $policies->getUpload(), 'user' => $this->getUser()->getUsername()];
- $logger->error($message['typ'], $message);
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ if ($securityService->teamCheck($team) === false) {
return $this->redirectToRoute('dashboard');
}
+ $polcies = $policiesRepository->findActiveByTeam($team);
- $type = $policiesFileSystem->getMimetype($policies->getUpload());
- $response = new Response($stream);
- $response->headers->set('Content-Type', $type);
- $disposition = HeaderUtils::makeDisposition(
- HeaderUtils::DISPOSITION_ATTACHMENT,
- preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $policies->getUpload())
- );
-
- $response->headers->set('Content-Disposition', $disposition);
- $message = ['typ' => 'DOWNLOAD', 'error' => false, 'hinweis' => 'Download erfolgreich', 'dokument' => $policies->getUpload(), 'user' => $this->getUser()->getUsername()];
- $logger->info($message['typ'], $message);
- return $response;
+ return $this->render('policies/index.html.twig', [
+ 'data' => $polcies,
+ 'currentTeam' => $team,
+ ]);
}
}
diff --git a/src/Controller/QuestionController.php b/src/Controller/QuestionController.php
new file mode 100644
index 00000000..cec5d437
--- /dev/null
+++ b/src/Controller/QuestionController.php
@@ -0,0 +1,172 @@
+ ['id' => 'id']])]
+ public function create(Request $request, Questionnaire $questionnaire): Response
+ {
+ $form = $this->createForm(QuestionType::class);
+ $error = false;
+ $form->handleRequest($request);
+
+ if ($form->isSubmitted()) {
+ $question = $this->handleForm($form);
+
+ if ($question !== null) {
+ return $this->redirectToRoute(
+ 'questionnaire_add_question',
+ [
+ 'questionnaireId' => $questionnaire->getId(),
+ 'questionId' => $question->getId()
+ ]
+ );
+ }
+
+ $error = true;
+ }
+
+ return $this->render(
+ self::$TEMPLATE_DIR . 'create.html.twig',
+ [
+ 'form' => $form->createView(),
+ 'error' => $error,
+ ]
+ );
+ }
+
+ #[Route(path: '/edit/{id}', name: '_edit', methods: ['POST', 'GET'])]
+ #[ParamConverter('question', class: 'App\Entity\Question', options: ['mapping' => ['id' => 'id']])]
+ public function edit(Request $request, Question $question): Response
+ {
+ $form = $this->createForm(QuestionType::class, $question);
+ $error = false;
+
+ $form->handleRequest($request);
+
+ if ($form->isSubmitted()) {
+ $question = $this->handleForm($form, $question);
+
+ if ($question !== null) {
+ return $this->redirectToRoute('question_details', ['id' => $question->getId()]);
+ }
+
+ $error = true;
+ }
+
+ return $this->render(
+ self::$TEMPLATE_DIR . 'edit.html.twig',
+ [
+ 'form' => $form->createView(),
+ 'error' => $error,
+ ]
+ );
+ }
+
+ #[Route(path: '/details/{id}', name: '_details', methods: ['POST', 'GET'])]
+ #[ParamConverter('question', class: 'App\Entity\Question', options: ['mapping' => ['id' => 'id']])]
+ public function details(Question $question): Response
+ {
+ return $this->render(
+ self::$TEMPLATE_DIR . 'details.html.twig',
+ [
+ 'question' => $question
+ ],
+ );
+ }
+
+ #[Route(path: '/delete/{id}', name: '_delete', methods: ['POST', 'GET'])]
+ #[ParamConverter('question', class: 'App\Entity\Question', options: ['mapping' => ['id' => 'id']])]
+ public function delete(
+ Question $question,
+ QuestionnaireQuestionRepository $questionnaireQuestionRepository,
+ AnswerRepository $answerRepository,
+ ParticipationAnswerRepository $participationAnswerRepository,
+ ): RedirectResponse
+ {
+ foreach ($participationAnswerRepository->findBy(['question' => $question]) as $participationAnswer) {
+ $this->em->remove($participationAnswer);
+ }
+
+ foreach ($questionnaireQuestionRepository->findBy(['question' => $question]) as $questionnaireQuestion) {
+ $this->em->remove($questionnaireQuestion);
+ };
+
+ foreach ($answerRepository->findBy(['question' => $question]) as $answer) {
+ $this->em->remove($answer);
+ }
+
+
+ $this->em->remove($question);
+ $this->em->flush();
+
+ return $this->redirectToRoute('question');
+ }
+
+ private function handleForm(FormInterface $form, ?Question $originalQuestion = null): ?Question
+ {
+ if (!$form->isValid()) {
+ return null;
+ }
+ /** @var Question $question */
+ $question = $form->getData();
+
+ if ($originalQuestion !== null) {
+ foreach ($originalQuestion->getAnswers() as $originalAnswer) {
+ if (!in_array($originalAnswer, $question->getAnswers()->toArray())) {
+ $this->em->remove($originalAnswer);
+ }
+ }
+ }
+
+ $trueAnswers = [];
+ foreach ($question->getAnswers() as $answer) {
+ if ($answer->isCorrect()) {
+ $trueAnswers[] = $answer;
+ }
+ }
+
+ if (count($trueAnswers) === 0) {
+ return null;
+ }
+
+ if ($question->getType() === QuestionTypes::RADIO && count($trueAnswers) !== 1) {
+ return null;
+ }
+
+ $this->em->persist($question);
+ $this->em->flush();
+
+ return $question;
+ }
+}
\ No newline at end of file
diff --git a/src/Controller/QuestionnaireController.php b/src/Controller/QuestionnaireController.php
new file mode 100644
index 00000000..98efcd2d
--- /dev/null
+++ b/src/Controller/QuestionnaireController.php
@@ -0,0 +1,177 @@
+createForm(QuestionnaireType::class);
+ $error = false;
+
+ $form->handleRequest($request);
+
+ if ($form->isSubmitted()) {
+ $questionnaire = $this->handleForm($form);
+
+ if ($questionnaire !== null) {
+ return $this->redirectToRoute('question_create', ['id' => $questionnaire->getId()]);
+ }
+
+ $error = true;
+ }
+
+ return $this->render(
+ self::$TEMPLATE_DIR . 'create.html.twig',
+ [
+ 'form' => $form,
+ 'error' => $error,
+ ],
+ );
+ }
+
+ #[Route(path: '/edit/{id}', name: '_edit', methods: ['GET', 'POST'])]
+ #[ParamConverter('questionnaire', class: 'App\Entity\Questionnaire', options: ['mapping' => ['id' => 'id']])]
+ public function edit(
+ Questionnaire $questionnaire,
+ Request $request,
+ ): Response
+ {
+ $form = $this->createForm(QuestionnaireType::class, $questionnaire);
+
+ $form->handleRequest($request);
+
+ if($form->isSubmitted()){
+ $success = $this->handleForm($form);
+
+ if($success){
+ return $this->redirectToRoute('akademie_admin');
+ }
+ }
+
+ return $this->render(
+ self::$TEMPLATE_DIR . 'edit.html.twig',
+ [
+ 'form' => $form,
+ 'success' => $success??true,
+ ],
+ );
+ }
+
+ #[Route(path: '/delete/{id}', name: '_delete', methods: ['GET', 'POST'])]
+ #[ParamConverter('questionnaire', class: 'App\Entity\Questionnaire', options: ['mapping' => ['id' => 'id']])]
+ public function delete(Questionnaire $questionnaire): RedirectResponse
+ {
+ foreach ($questionnaire->getParticipationAnswers() as $participationAnswer) {
+ $this->em->remove($participationAnswer);
+ }
+
+ foreach ($questionnaire->getQuestionnaireQuestions() as $questionnaireQuestion) {
+ foreach ($questionnaireQuestion->getQuestion()->getAnswers() as $answer) {
+ $this->em->remove($answer);
+ }
+
+ $this->em->remove($questionnaireQuestion->getQuestion());
+ $this->em->remove($questionnaireQuestion);
+ }
+
+ $this->em->remove($questionnaire);
+ $this->em->flush();
+
+ return $this->redirectToRoute('akademie_admin');
+ }
+
+ #[Route(path: '/details/{id}', name: '_details', methods: ['GET'])]
+ #[ParamConverter('questionnaire', class: 'App\Entity\Questionnaire', options: ['mapping' => ['id' => 'id']])]
+ public function details(Questionnaire $questionnaire): Response
+ {
+ return $this->render(
+ self::$TEMPLATE_DIR . 'details.html.twig',
+ [
+ 'questionnaire' => $questionnaire,
+ ],
+ );
+ }
+
+ #[Route(path: '/{questionnaireId}/add/question/{questionId}', name: '_add_question', methods: ['GET'])]
+ #[ParamConverter('questionnaire', class: 'App\Entity\Questionnaire', options: ['mapping' => ['questionnaireId' => 'id']])]
+ #[ParamConverter('question', class: 'App\Entity\Question', options: ['mapping' => ['questionId' => 'id']])]
+ public function addQuestion(
+ Question $question,
+ Questionnaire $questionnaire,
+ ): RedirectResponse
+ {
+ $latestStep = 0;
+ foreach ($questionnaire->getQuestionnaireQuestions() as $questionnaireQuestion) {
+ if ($latestStep < $questionnaireQuestion->getStep()) {
+ $latestStep = $questionnaireQuestion->getStep();
+ }
+ }
+
+ $questionnaireQuestion = (new QuestionnaireQuestion())
+ ->setQuestion($question)
+ ->setQuestionnaire($questionnaire)
+ ->setStep(++$latestStep);
+
+ $this->em->persist($questionnaireQuestion);
+ $this->em->flush();
+
+ return $this->redirectToRoute('questionnaire_details', ['id' => $questionnaire->getId()]);
+ }
+
+ private function handleForm(FormInterface $form): ?Questionnaire
+ {
+ if (!$form->isValid()) {
+ return null;
+ }
+
+ /** @var Questionnaire $questionnaire */
+ $questionnaire = $form->getData();
+ $questionnaire->setTeam($this->getCurrentTeam());
+
+ $this->em->persist($questionnaire);
+ $this->em->flush();
+
+ return $questionnaire;
+ }
+
+ private function getCurrentTeam(): Team
+ {
+ /** @var User&UserInterface $user */
+ $user = $this->getUser();
+
+ return $this->currentTeamService->getTeamFromSession($user);
+ }
+}
\ No newline at end of file
diff --git a/src/Controller/ReportController.php b/src/Controller/ReportController.php
index 184b1c17..0c9822f2 100644
--- a/src/Controller/ReportController.php
+++ b/src/Controller/ReportController.php
@@ -2,41 +2,39 @@
namespace App\Controller;
-use App\Entity\Report;
use App\Form\Type\ReportType;
-use App\Service\DisableService;
+use App\Repository\ReportRepository;
+use App\Service\CurrentTeamService;
use App\Service\ReportService;
use App\Service\SecurityService;
+use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Validator\Validator\ValidatorInterface;
+use Symfony\Contracts\Translation\TranslatorInterface;
class ReportController extends AbstractController
{
- /**
- * @Route("/report", name="report")
- */
- public function index(SecurityService $securityService)
- {
- $team = $this->getUser()->getTeam();
- $report = $this->getDoctrine()->getRepository(Report::class)->findActivByTeam($team);
- if ($securityService->teamCheck($team) === false) {
- return $this->redirectToRoute('dashboard');
- }
- return $this->render('report/index.html.twig', [
- 'report' => $report,
- ]);
+ public function __construct(private readonly TranslatorInterface $translator,
+ private EntityManagerInterface $em,
+ )
+ {
}
- /**
- * @Route("/report/new", name="report_new")
- */
- public function addReport(ValidatorInterface $validator, Request $request, SecurityService $securityService, ReportService $reportService)
+ #[Route(path: '/report/new', name: 'report_new')]
+ public function addReport(
+ ValidatorInterface $validator,
+ Request $request,
+ SecurityService $securityService,
+ ReportService $reportService,
+ CurrentTeamService $currentTeamService,
+ ): Response
{
- $team = $this->getUser()->getTeam();
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
if ($securityService->teamCheck($team) === false) {
return $this->redirectToRoute('report');
}
@@ -51,28 +49,53 @@ public function addReport(ValidatorInterface $validator, Request $request, Secur
$data = $form->getData();
$errors = $validator->validate($data);
if (count($errors) == 0) {
- $em = $this->getDoctrine()->getManager();
- $em->persist($data);
- $em->flush();
+ $this->em->persist($data);
+ $this->em->flush();
return $this->redirectToRoute('report');
}
}
return $this->render('report/new.html.twig', [
'form' => $form->createView(),
'errors' => $errors,
- 'title' => 'Aufgabe erstellen',
+ 'title' => $this->translator->trans(id: 'task.create', domain: 'report'),
'report' => $report,
'activ' => $report->getActiv(),
]);
}
- /**
- * @Route("/report/edit", name="report_edit")
- */
- public function editReport(ValidatorInterface $validator, Request $request, SecurityService $securityService)
+ #[Route(path: '/report/delete', name: 'report_delete')]
+ public function deleteReport(
+ Request $request,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ ReportRepository $reportRepository,
+ ): Response
+ {
+ $user = $this->getUser();
+ $team = $currentTeamService->getTeamFromSession($user);
+ $report = $reportRepository->find($request->get('id'));
+
+ if ($securityService->teamDataCheck($report, $team) && $securityService->adminCheck($user, $team)) {
+ $report->setActiv(2);
+
+ $this->em->persist($report);
+ $this->em->flush();
+ }
+
+ return $this->redirectToRoute('report');
+ }
+
+ #[Route(path: '/report/edit', name: 'report_edit')]
+ public function editReport(
+ ValidatorInterface $validator,
+ Request $request,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ ReportRepository $reportRepository,
+ ): Response
{
- $team = $this->getUser()->getTeam();
- $report = $this->getDoctrine()->getRepository(Report::class)->find($request->get('id'));
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ $report = $reportRepository->find($request->get('id'));
if ($securityService->teamDataCheck($report, $team) === false) {
return $this->redirectToRoute('report');
@@ -86,16 +109,21 @@ public function editReport(ValidatorInterface $validator, Request $request, Secu
$data = $form->getData();
$errors = $validator->validate($data);
if (count($errors) == 0) {
- $em = $this->getDoctrine()->getManager();
- $em->persist($data);
- $em->flush();
- return $this->redirectToRoute('report_edit', ['id' => $data->getId(), 'snack' => 'Erfolgreich gepeichert']);
+ $this->em->persist($data);
+ $this->em->flush();
+ return $this->redirectToRoute(
+ 'report_edit',
+ [
+ 'id' => $data->getId(),
+ 'snack' => $this->translator->trans(id: 'save.successful', domain: 'general')
+ ],
+ );
}
}
return $this->render('report/edit.html.twig', [
'form' => $form->createView(),
'errors' => $errors,
- 'title' => 'Aktivität bearbeiten',
+ 'title' => $this->translator->trans(id: 'work.edit', domain: 'report'),
'report' => $report,
'activ' => $report->getActiv(),
'snack' => $request->get('snack'),
@@ -103,39 +131,44 @@ public function editReport(ValidatorInterface $validator, Request $request, Secu
]);
}
- /**
- * @Route("/report/invoice", name="report_invoice")
- */
- public function invoiceReport(Request $request, SecurityService $securityService, DisableService $disableService)
+ #[Route(path: '/report', name: 'report')]
+ public function index(
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ ReportRepository $reportRepository,
+ ): Response
{
- $team = $this->getUser()->getTeam();
- $report = $this->getDoctrine()->getRepository(Report::class)->find($request->get('id'));
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ $report = $reportRepository->findActiveByTeam($team);
- if ($securityService->teamDataCheck($report, $team) === true) {
- if ($report->getUser() === $this->getUser()) {
- $report->setInvoice(1);
- }
- $em = $this->getDoctrine()->getManager();
- $em->persist($report);
- $em->flush();
+ if ($securityService->teamCheck($team) === false) {
+ return $this->redirectToRoute('dashboard');
}
- return $this->redirectToRoute('report');
+ return $this->render('report/index.html.twig', [
+ 'report' => $report,
+ 'currentTeam' => $team,
+ ]);
}
- /**
- * @Route("/report/delete", name="report_delete")
- */
- public function deleteReport(Request $request, SecurityService $securityService, DisableService $disableService)
+ #[Route(path: '/report/invoice', name: 'report_invoice')]
+ public function invoiceReport(
+ Request $request,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ ReportRepository $reportRepository,
+ ): Response
{
- $team = $this->getUser()->getAdminUser();
- $report = $this->getDoctrine()->getRepository(Report::class)->find($request->get('id'));
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ $report = $reportRepository->find($request->get('id'));
if ($securityService->teamDataCheck($report, $team) === true) {
- $report->setActiv(2);
- $em = $this->getDoctrine()->getManager();
- $em->persist($report);
- $em->flush();
+ if ($report->getUser() === $this->getUser()) {
+ $report->setInvoice(1);
+ }
+
+ $this->em->persist($report);
+ $this->em->flush();
}
return $this->redirectToRoute('report');
diff --git a/src/Controller/SettingsController.php b/src/Controller/SettingsController.php
new file mode 100644
index 00000000..ed5ff81f
--- /dev/null
+++ b/src/Controller/SettingsController.php
@@ -0,0 +1,62 @@
+getUser();
+
+ if (!$securityService->superAdminCheck($user)) {
+ return $this->redirectToRoute('dashboard');
+ }
+
+ $settings = $settingsRepository->findOne();
+
+ if (!$settings) {
+ $settings = new Settings();
+ }
+
+ $form = $this->createForm(SettingsType::class, $settings);
+ $form->handleRequest($request);
+
+ $errors = array();
+
+ if ($form->isSubmitted() && $form->isValid()) {
+ $newSettings = $form->getData();
+ $settings->setUseKeycloakGroups($newSettings->getUseKeycloakGroups());
+ $errors = $validator->validate($settings);
+ if (count($errors) == 0) {
+ $em->persist($settings);
+ $em->flush();
+ }
+ }
+
+ return $this->render('settings/settings.html.twig', [
+ 'form' => $form->createView(),
+ 'errors' => $errors,
+ 'settings' => $settings
+ ]);
+ }
+}
diff --git a/src/Controller/SoftwareController.php b/src/Controller/SoftwareController.php
index 53cd68c3..f51a408f 100644
--- a/src/Controller/SoftwareController.php
+++ b/src/Controller/SoftwareController.php
@@ -2,47 +2,111 @@
namespace App\Controller;
-use App\Entity\Software;
use App\Entity\SoftwareConfig;
+use App\Repository\SoftwareConfigRepository;
+use App\Repository\SoftwareRepository;
use App\Service\ApproveService;
use App\Service\AssignService;
+use App\Service\CurrentTeamService;
use App\Service\SecurityService;
use App\Service\SoftwareService;
+use DateTime;
+use Doctrine\ORM\EntityManagerInterface;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Validator\Validator\ValidatorInterface;
+use Symfony\Contracts\Translation\TranslatorInterface;
class SoftwareController extends AbstractController
{
- /**
- * @Route("/software", name="software")
- */
- public function index(SecurityService $securityService, Request $request)
+
+
+ public function __construct(private readonly TranslatorInterface $translator,
+ private EntityManagerInterface $em,
+ )
{
- //Request: snack: Snack Notice
- $team = $this->getUser()->getTeam();
- if ($securityService->teamCheck($team) === false) {
- return $this->redirectToRoute('dashboard');
+ }
+
+ #[Route(path: '/software/config', name: 'software_config_new')]
+ public function addConfig(
+ ValidatorInterface $validator,
+ Request $request,
+ SoftwareService $softwareService,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ SoftwareRepository $softwareRepository,
+ SoftwareConfigRepository $softwareConfigRepository,
+ )
+ {
+ //Requests: id: SoftwareID, config: ConfigID
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ $software = $softwareRepository->find($request->get('id'));
+
+ if ($securityService->teamDataCheck($software, $team) === false) {
+ return $this->redirectToRoute('software');
}
- $software = $this->getDoctrine()->getRepository(Software::class)->findActivByTeam($team);
+ $req = $request->get('config');
- return $this->render('software/index.html.twig', [
- 'data' => $software,
- 'today' => new \DateTime(),
- 'snack' => $request->get('snack'),
+ if (!$req) {
+ $config = $softwareService->newConfig($software);
+ } else {
+ $config = $softwareConfigRepository->find($req);
+ }
+
+ if ($config->getSoftware() !== $software) {
+ return $this->redirectToRoute(
+ 'software',
+ [
+ 'snack' => $this->translator->trans(id: 'config.mismatchSoftware', domain: 'software'),
+ ],
+ );
+
+ }
+
+ $form = $softwareService->createConfigForm($config);
+ $form->handleRequest($request);
+
+ $errors = array();
+ if ($form->isSubmitted() && $form->isValid() && $config->getSoftware()->getActiv() && !$config->getSoftware()->getApproved()) {
+ $config = $form->getData();
+ $errors = $validator->validate($config);
+ if (count($errors) == 0) {
+ $config->setCreatedAt(new DateTime());
+ $this->em->persist($config);
+ $this->em->flush();
+ return $this->redirectToRoute(
+ 'software_edit',
+ [
+ 'id' => $software->getId(),
+ 'snack' => $this->translator->trans(id: 'save.successful', domain: 'general'),
+ ],
+ );
+ }
+ }
+ return $this->render('software/newConfig.html.twig', [
+ 'form' => $form->createView(),
+ 'config' => $config,
+ 'errors' => $errors,
+ 'title' => $this->translator->trans(id: 'config.for', domain: 'software'),
+ 'activ' => $software->getActiv(),
+ 'software' => $software,
]);
}
- /**
- * @Route("/software/new", name="software_new")
- */
- public function addSoftware(ValidatorInterface $validator, Request $request, SoftwareService $softwareService, SecurityService $securityService)
+ #[Route(path: '/software/new', name: 'software_new')]
+ public function addSoftware(
+ ValidatorInterface $validator,
+ Request $request,
+ SoftwareService $softwareService,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ ): Response
{
- $team = $this->getUser()->getTeam();
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
if ($securityService->teamCheck($team) === false) {
return $this->redirectToRoute('software');
@@ -58,31 +122,117 @@ public function addSoftware(ValidatorInterface $validator, Request $request, Sof
$software = $form->getData();
$errors = $validator->validate($software);
if (count($errors) == 0) {
- $em = $this->getDoctrine()->getManager();
- $em->persist($software);
- $em->flush();
+ $this->em->persist($software);
+ $this->em->flush();
+
return $this->redirectToRoute('software');
}
}
return $this->render('software/new.html.twig', [
'form' => $form->createView(),
'errors' => $errors,
- 'title' => 'Software anlegen',
+ 'title' => $this->translator->trans(id: 'software.create', domain: 'software'),
'activNummer' => true,
'vvt' => $software,
'activ' => $software->getActiv(),
]);
}
+ #[Route(path: '/software/approve', name: 'software_approve')]
+ public function approveSoftware(
+ Request $request,
+ SecurityService $securityService,
+ ApproveService $approveService,
+ CurrentTeamService $currentTeamService,
+ SoftwareRepository $softwareRepository,
+ ): Response
+ {
+ $user = $this->getUser();
+ $team = $currentTeamService->getTeamFromSession($user);
+ $software = $softwareRepository->find($request->get('id'));
+
+ if ($securityService->teamDataCheck($software, $team) && $securityService->adminCheck($user, $team)) {
+ $approve = $approveService->approve($software, $user);
+
+ if ($approve['clone'] === true) {
+ $newSoftware = $softwareRepository->find($approve['data']);
+ foreach ($software->getConfig() as $config) {
+ $newConfig = clone $config;
+ $newConfig->setSoftware($newSoftware);
+
+ $this->em->persist($newConfig);
+ }
+ $this->em->persist($newSoftware);
+ $this->em->flush();
+ }
+ return $this->redirectToRoute('software_edit', ['id' => $approve['data'], 'snack' => $approve['snack']]);
+ }
+
+ return $this->redirectToRoute('policies');
+ }
+
+ #[Route(path: '/software/config/delete', name: 'software_config_delete')]
+ public function deleteConfig(
+ Request $request,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ SoftwareConfigRepository $softwareConfigRepository,
+ ): Response
+ {
+ // Request: config: ConfigID
+ $user = $this->getUser();
+ $team = $currentTeamService->getTeamFromSession($user);
+ $config = $softwareConfigRepository->find($request->get('config'));
+
+ if ($securityService->teamDataCheck($config->getSoftware(), $team) && $securityService->adminCheck($user, $team)) {
+ $this->em->remove($config);
+ $this->em->flush();
+ return $this->redirectToRoute(
+ 'software_edit',
+ [
+ 'id' => $config->getSoftware()->getId(),
+ 'snack' => $this->translator->trans(id: 'config.delete', domain: 'software'),
+ ],
+ );
+ }
+
+ // if security check fails
+ return $this->redirectToRoute('software');
+ }
+
+ #[Route(path: '/software/config/download/{id}', name: 'software_config_download_file', methods: ['GET'])]
+ #[ParamConverter('softwareConfig', options: ['mapping' => ['id' => 'id']])]
+ public function downloadArticleReference(
+ SoftwareConfig $softwareConfig,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ ): Response
+ {
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ $path = $this->getParameter('kernel.project_dir') . "/data/software/" . $softwareConfig->getUpload();
+
+ if ($securityService->teamDataCheck($softwareConfig->getSoftware(), $team) === false) {
+ return $this->redirectToRoute('software');
+ }
+
+ $file = file_get_contents($path);
+ return new Response($file, 200);
+ }
- /**
- * @Route("/software/edit", name="software_edit")
- */
- public function editSoftware(ValidatorInterface $validator, Request $request, SoftwareService $softwareService, SecurityService $securityService, AssignService $assignService)
+ #[Route(path: '/software/edit', name: 'software_edit')]
+ public function editSoftware(
+ ValidatorInterface $validator,
+ Request $request,
+ SoftwareService $softwareService,
+ SecurityService $securityService,
+ AssignService $assignService,
+ CurrentTeamService $currentTeamService,
+ SoftwareRepository $softwareRepository,
+ ): Response
{
//Request: id: SoftwareID, snack:Snack Notice
- $team = $this->getUser()->getTeam();
- $software = $this->getDoctrine()->getRepository(Software::class)->find($request->get('id'));
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ $software = $softwareRepository->find($request->get('id'));
if ($securityService->teamDataCheck($software, $team) === false) {
return $this->redirectToRoute('software');
@@ -94,8 +244,6 @@ public function editSoftware(ValidatorInterface $validator, Request $request, So
$errors = array();
if ($form->isSubmitted() && $form->isValid() && $software->getActiv() && !$software->getApproved()) {
-
- $em = $this->getDoctrine()->getManager();
$software->setActiv(false);
$newSoftware = $form->getData();
@@ -105,12 +253,18 @@ public function editSoftware(ValidatorInterface $validator, Request $request, So
foreach ($software->getConfig() as $config) {
$newConfig = clone $config;
$newConfig->setSoftware($newSoftware);
- $em->persist($newConfig);
+ $this->em->persist($newConfig);
}
- $em->persist($newSoftware);
- $em->persist($software);
- $em->flush();
- return $this->redirectToRoute('software_edit', ['id' => $newSoftware->getId(), 'snack' => 'Erfolgreich gespeichert']);
+ $this->em->persist($newSoftware);
+ $this->em->persist($software);
+ $this->em->flush();
+ return $this->redirectToRoute(
+ 'software_edit',
+ [
+ 'id' => $newSoftware->getId(),
+ 'snack' => $this->translator->trans(id: 'save.successful', domain: 'general'),
+ ]
+ );
}
}
@@ -118,125 +272,33 @@ public function editSoftware(ValidatorInterface $validator, Request $request, So
'form' => $form->createView(),
'assignForm' => $assign->createView(),
'errors' => $errors,
- 'title' => 'Software bearbeiten',
+ 'title' => $this->translator->trans(id: 'software.edit', domain: 'software'),
'software' => $software,
'activ' => $software->getActiv(),
'snack' => $request->get('snack'),
]);
}
- /**
- * @Route("/software/config", name="software_config_new")
- */
- public function addConfig(ValidatorInterface $validator, Request $request, SoftwareService $softwareService, SecurityService $securityService)
+ #[Route(path: '/software', name: 'software')]
+ public function index(
+ SecurityService $securityService,
+ Request $request,
+ CurrentTeamService $currentTeamService,
+ SoftwareRepository $softwareRepository,
+ ): Response
{
- //Requests: id: SoftwareID, config: ConfigID
- $team = $this->getUser()->getTeam();
- $software = $this->getDoctrine()->getRepository(Software::class)->find($request->get('id'));
-
- if ($securityService->teamDataCheck($software, $team) === false) {
- return $this->redirectToRoute('software');
- }
- $req = $request->get('config');
-
- if (!$req) {
- $config = $softwareService->newConfig($software);
- } else {
- $config = $this->getDoctrine()->getRepository(SoftwareConfig::class)->find($req);
- }
-
- if ($config->getSoftware() !== $software) {
- return $this->redirectToRoute('software', ['snack' => 'FEHLER: Die Konfiguration gehört nicht zu der Software']);
-
+ //Request: snack: Snack Notice
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ if ($securityService->teamCheck($team) === false) {
+ return $this->redirectToRoute('dashboard');
}
+ $software = $softwareRepository->findActiveByTeam($team);
- $form = $softwareService->createConfigForm($config);
- $form->handleRequest($request);
-
-
- $errors = array();
- if ($form->isSubmitted() && $form->isValid() && $config->getSoftware()->getActiv() && !$config->getSoftware()->getApproved()) {
- $config = $form->getData();
- $errors = $validator->validate($config);
- if (count($errors) == 0) {
- $em = $this->getDoctrine()->getManager();
- $config->setCreatedAt(new \DateTime());
- $em->persist($config);
- $em->flush();
- return $this->redirectToRoute('software_edit', ['id' => $software->getId(), 'snack' => 'Erfolgreich gespeichert']);
- }
- }
- return $this->render('software/newConfig.html.twig', [
- 'form' => $form->createView(),
- 'config' => $config,
- 'errors' => $errors,
- 'title' => 'Konfiguration für',
- 'activ' => $software->getActiv(),
- 'software' => $software,
+ return $this->render('software/index.html.twig', [
+ 'data' => $software,
+ 'today' => new DateTime(),
+ 'snack' => $request->get('snack'),
+ 'currentTeam' => $team,
]);
}
-
- /**
- * @Route("/software/config/delete", name="software_config_delete")
- */
- public function deleteConfig(ValidatorInterface $validator, Request $request, SoftwareService $softwareService, SecurityService $securityService)
- {
- // Request: config: ConfigID
- $team = $this->getUser()->getAdminUser();
- $config = $this->getDoctrine()->getRepository(SoftwareConfig::class)->find($request->get('config'));
-
- if ($securityService->teamDataCheck($config->getSoftware(), $team) === false) {
- return $this->redirectToRoute('software');
- }
-
- $em = $this->getDoctrine()->getManager();
- $em->remove($config);
- $em->flush();
- return $this->redirectToRoute('software_edit', ['id' => $config->getSoftware()->getId(), 'snack' => 'Konfiguration gelöscht']);
- }
-
- /**
- * @Route("/software/approve", name="software_approve")
- */
- public function approveSoftware(Request $request, SecurityService $securityService, ApproveService $approveService)
- {
- $team = $this->getUser()->getAdminUser();
- $software = $this->getDoctrine()->getRepository(Software::class)->find($request->get('id'));
-
- if ($securityService->teamDataCheck($software, $team) === false) {
- return $this->redirectToRoute('policies');
- }
- $approve = $approveService->approve($software, $this->getUser());
-
- if ($approve['clone'] === true) {
- $newSoftware = $this->getDoctrine()->getRepository(Software::class)->find($approve['data']);
- $em = $this->getDoctrine()->getManager();
- foreach ($software->getConfig() as $config) {
- $newConfig = clone $config;
- $newConfig->setSoftware($newSoftware);
-
- $em->persist($newConfig);
- }
- $em->persist($newSoftware);
- $em->flush();
- }
- return $this->redirectToRoute('software_edit', ['id' => $approve['data'], 'snack' => $approve['snack']]);
- }
-
- /**
- * @Route("/software/config/download/{id}", name="software_config_download_file", methods={"GET"})
- * @ParamConverter("softwareConfig", options={"mapping"={"id"="id"}})
- */
- public function downloadArticleReference(SoftwareConfig $softwareConfig, SecurityService $securityService)
- {
- $team = $this->getUser()->getTeam();
- $path = $this->getParameter('kernel.project_dir') . "/data/software/" . $softwareConfig->getUpload();
-
- if ($securityService->teamDataCheck($softwareConfig->getSoftware(), $team) === false) {
- return $this->redirectToRoute('software');
- }
-
- $file = file_get_contents($path);
- return new Response($file, 200);
- }
}
diff --git a/src/Controller/TaskController.php b/src/Controller/TaskController.php
index 428a14a5..64aa17f8 100644
--- a/src/Controller/TaskController.php
+++ b/src/Controller/TaskController.php
@@ -2,50 +2,41 @@
namespace App\Controller;
-use App\Entity\Task;
use App\Form\Type\TasksType;
+use App\Repository\TaskRepository;
use App\Service\AssignService;
-use App\Service\DisableService;
+use App\Service\CurrentTeamService;
use App\Service\SecurityService;
use App\Service\TaskService;
+use DateTime;
+use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Validator\Validator\ValidatorInterface;
+use Symfony\Contracts\Translation\TranslatorInterface;
class TaskController extends AbstractController
{
- /**
- * @Route("/tasks", name="tasks")
- */
- public function index(SecurityService $securityService, Request $request)
- {
- $team = $this->getUser()->getTeam();
- if ($request->get('all')) {
- $tasks = $this->getDoctrine()->getRepository(Task::class)->findActivByTeam($team);
- $all = true;
- } else {
- $tasks = $this->getDoctrine()->getRepository(Task::class)->findBy(['team' => $team, 'activ' => true, 'done' => false]);
- $all = false;
- }
- if ($securityService->teamCheck($team) === false) {
- return $this->redirectToRoute('dashboard');
- }
-
- return $this->render('task/index.html.twig', [
- 'task' => $tasks,
- 'all' => $all
- ]);
+ public function __construct(private readonly TranslatorInterface $translator,
+ private EntityManagerInterface $em,
+ )
+ {
}
- /**
- * @Route("/task/new", name="task_new")
- */
- public function addTask(ValidatorInterface $validator, Request $request, SecurityService $securityService, TaskService $taskService)
+ #[Route(path: '/task/new', name: 'task_new')]
+ public function addTask(
+ ValidatorInterface $validator,
+ Request $request,
+ SecurityService $securityService,
+ TaskService $taskService,
+ CurrentTeamService $currentTeamService,
+ ): Response
{
- $team = $this->getUser()->getTeam();
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
if ($securityService->teamCheck($team) === false) {
return $this->redirectToRoute('tasks');
}
@@ -60,28 +51,84 @@ public function addTask(ValidatorInterface $validator, Request $request, Securit
$data = $form->getData();
$errors = $validator->validate($data);
if (count($errors) == 0) {
- $em = $this->getDoctrine()->getManager();
- $em->persist($data);
- $em->flush();
+ $this->em->persist($data);
+ $this->em->flush();
+
return $this->redirectToRoute('tasks');
}
}
return $this->render('task/new.html.twig', [
'form' => $form->createView(),
'errors' => $errors,
- 'title' => 'Aufgabe erstellen',
+ 'title' => $this->translator->trans(id: 'task.create', domain: 'task'),
'task' => $task,
'activ' => $task->getActiv(),
]);
}
- /**
- * @Route("/task/edit", name="task_edit")
- */
- public function EditTask(ValidatorInterface $validator, Request $request, SecurityService $securityService, AssignService $assignService)
+ #[Route(path: '/task/disable', name: 'task_disable')]
+ public function disable(
+ Request $request,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ TaskRepository $taskRepository,
+ ): Response
+ {
+ $user = $this->getUser();
+ $team = $currentTeamService->getTeamFromSession($user);
+ $task = $taskRepository->find($request->get('id'));
+
+ if ($securityService->teamDataCheck($task, $team) && $securityService->adminCheck($user, $team)) {
+ if ($task->getActiv() === 1) {
+ $task->setActiv(2);
+ } else {
+ $task->setActiv(1);
+ }
+
+ $this->em->persist($task);
+ $this->em->flush();
+ }
+
+ return $this->redirectToRoute('tasks');
+ }
+
+ #[Route(path: '/task/done', name: 'task_done')]
+ public function done(
+ Request $request,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ TaskRepository $taskRepository,
+ ): Response
+ {
+ $user = $this->getUser();
+ $team = $currentTeamService->getTeamFromSession($user);
+ $task = $taskRepository->find($request->get('id'));
+
+ if ($securityService->teamDataCheck($task, $team) && $securityService->adminCheck($user, $team)) {
+ if ($task->getActiv() === 1) {
+ $task->setDone(1);
+ $task->setDoneDate(new DateTime());
+ }
+
+ $this->em->persist($task);
+ $this->em->flush();
+ }
+
+ return $this->redirectToRoute('tasks');
+ }
+
+ #[Route(path: '/task/edit', name: 'task_edit')]
+ public function editTask(
+ ValidatorInterface $validator,
+ Request $request,
+ SecurityService $securityService,
+ AssignService $assignService,
+ CurrentTeamService $currentTeamService,
+ TaskRepository $taskRepository,
+ ): Response
{
- $team = $this->getUser()->getTeam();
- $task = $this->getDoctrine()->getRepository(Task::class)->find($request->get('id'));
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ $task = $taskRepository->find($request->get('id'));
if ($securityService->teamDataCheck($task, $team) === false) {
return $this->redirectToRoute('tasks');
@@ -97,17 +144,23 @@ public function EditTask(ValidatorInterface $validator, Request $request, Securi
$task->setUpdatedBy($this->getUser());
$errors = $validator->validate($task);
if (count($errors) == 0) {
- $em = $this->getDoctrine()->getManager();
- $em->persist($task);
- $em->flush();
- return $this->redirectToRoute('task_edit', ['id' => $task->getId(), 'snack' => 'Erfolgreich gepeichert']);
+ $this->em->persist($task);
+ $this->em->flush();
+
+ return $this->redirectToRoute(
+ 'task_edit',
+ [
+ 'id' => $task->getId(),
+ 'snack' => $this->translator->trans(id: 'save.successful', domain: 'general'),
+ ],
+ );
}
}
return $this->render('task/edit.html.twig', [
'form' => $form->createView(),
'assignForm' => $assign->createView(),
'errors' => $errors,
- 'title' => 'Aufgabe bearbeiten',
+ 'title' => $this->translator->trans(id: 'task.edit', domain: 'task'),
'task' => $task,
'activ' => $task->getActiv(),
'snack' => $request->get('snack'),
@@ -115,46 +168,32 @@ public function EditTask(ValidatorInterface $validator, Request $request, Securi
]);
}
- /**
- * @Route("/task/done", name="task_done")
- */
- public function done(Request $request, SecurityService $securityService, DisableService $disableService)
+ #[Route(path: '/tasks', name: 'tasks')]
+ public function index(
+ SecurityService $securityService,
+ Request $request,
+ CurrentTeamService $currentTeamService,
+ TaskRepository $taskRepository,
+ )
{
- $team = $this->getUser()->getAdminUser();
- $task = $this->getDoctrine()->getRepository(Task::class)->find($request->get('id'));
-
- if ($securityService->teamDataCheck($task, $team) === true) {
- if ($task->getActiv() === 1) {
- $task->setDone(1);
- $task->setDoneDate(new \DateTime());
- }
- $em = $this->getDoctrine()->getManager();
- $em->persist($task);
- $em->flush();
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ if ($request->get('all')) {
+ $tasks = $taskRepository->findActiveByTeam($team);
+ $all = true;
+ } else {
+ $tasks = $taskRepository->findBy(['team' => $team, 'activ' => true, 'done' => false]);
+ $all = false;
}
- return $this->redirectToRoute('tasks');
- }
-
- /**
- * @Route("/task/disable", name="task_disable")
- */
- public function disable(Request $request, SecurityService $securityService, DisableService $disableService)
- {
- $team = $this->getUser()->getAdminUser();
- $task = $this->getDoctrine()->getRepository(Task::class)->find($request->get('id'));
- if ($securityService->teamDataCheck($task, $team) === true) {
- if ($task->getActiv() === 1) {
- $task->setActiv(2);
- } else {
- $task->setActiv(1);
- }
- $em = $this->getDoctrine()->getManager();
- $em->persist($task);
- $em->flush();
+ if ($securityService->teamCheck($team) === false) {
+ return $this->redirectToRoute('dashboard');
}
- return $this->redirectToRoute('tasks');
+ return $this->render('task/index.html.twig', [
+ 'task' => $tasks,
+ 'all' => $all,
+ 'currentTeam' => $team,
+ ]);
}
}
diff --git a/src/Controller/TeamController.php b/src/Controller/TeamController.php
index 4ab212ea..2505c6b3 100644
--- a/src/Controller/TeamController.php
+++ b/src/Controller/TeamController.php
@@ -8,112 +8,161 @@
namespace App\Controller;
-use App\Entity\AkademieKurse;
use App\Entity\AuditTomAbteilung;
-use App\Entity\AuditTomZiele;
-use App\Entity\User;
+use App\Entity\Team;
use App\Form\Type\AbteilungType;
-use App\Form\Type\DsbType;
-use App\Form\Type\NewMemberType;
+use App\Form\Type\DeleteTeamType;
use App\Form\Type\NewType;
use App\Form\Type\TeamType;
-use App\Service\InviteService;
+use App\Repository\AuditTomAbteilungRepository;
+use App\Repository\SettingsRepository;
+use App\Repository\TeamRepository;
+use App\Service\CurrentTeamService;
use App\Service\SecurityService;
use App\Service\TeamService;
+use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
+use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Validator\Validator\ValidatorInterface;
+use Symfony\Contracts\Translation\TranslatorInterface;
class TeamController extends AbstractController
{
- /**
- * @Route("/team_edit", name="team_edit")
- */
- public function index(ValidatorInterface $validator, Request $request, SecurityService $securityService)
+ public function __construct(private readonly TranslatorInterface $translator)
{
- $team = $this->getUser()->getAdminUser();
+ }
+
+ #[Route(path: '/team_abteilungen', name: 'team_abteilungen')]
+ public function abteilungenAdd(
+ ValidatorInterface $validator,
+ Request $request,
+ EntityManagerInterface $em,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ AuditTomAbteilungRepository $departmentRepository,
+ ): Response
+ {
+ $user = $this->getUser();
+ $team = $currentTeamService->getCurrentAdminTeam($user);
- if (!$securityService->adminCheck($this->getUser(), $team)) {
+ if (!$team || !$securityService->adminCheck($user, $team)) {
return $this->redirectToRoute('dashboard');
}
- $ziel = new AuditTomZiele();
- $ziel->setTeam($team);
- $form = $this->createForm(TeamType::class, $team);
+ $departments = $departmentRepository->findAllByTeam($team);
+
+ if ($request->get('id')) {
+ $department = $departmentRepository->find($request->get('id'));
+
+ } else {
+ $department = new AuditTomAbteilung();
+ $department->setActiv(true);
+ $department->setTeam($team);
+ }
+
+ $form = $this->createForm(AbteilungType::class, $department);
$form->handleRequest($request);
$errors = array();
if ($form->isSubmitted() && $form->isValid()) {
- $nTeam = $form->getData();
- $errors = $validator->validate($nTeam);
+ $data = $form->getData();
+ $errors = $validator->validate($data);
if (count($errors) == 0) {
- $text = array();
- $em = $this->getDoctrine()->getManager();
- $em->persist($nTeam);
+ $em->persist($data);
$em->flush();
- return $this->redirectToRoute('team_edit');
+ return $this->redirectToRoute('team_abteilungen');
}
}
- return $this->render('team/index.html.twig', [
- 'controller_name' => 'TeamController',
+ return $this->render('team/abteilungen.html.twig', [
+ 'currentTeam' => $team,
+ 'adminArea' => true,
'form' => $form->createView(),
'errors' => $errors,
- 'title' => 'Stammdaten'
+ 'title' => $this->translator->trans(id: 'departments', domain: 'general'),
+ 'data' => $departments,
]);
}
-
- /**
- * @Route("/team_custom", name="team_custom")
- */
- public function customShow(ValidatorInterface $validator, Request $request, SecurityService $securityService, TeamService $teamService)
+ #[Route(path: '/team_abteilungen/deaktivieren', name: 'team_abteilungen_deativate')]
+ public function abteilungenRemove(
+ Request $request,
+ SecurityService $securityService,
+ EntityManagerInterface $em,
+ CurrentTeamService $currentTeamService,
+ AuditTomAbteilungRepository $departmentRepository,
+ ): Response
{
- $team = $this->getUser()->getAdminUser();
+ $user = $this->getUser();
+ $team = $currentTeamService->getTeamFromSession($user);
- if ($securityService->adminCheck($this->getUser(), $team) === false) {
- return $this->redirectToRoute('dashboard');
+ if ($securityService->adminCheck($user, $team) === false) {
+ return $this->redirectToRoute('team_abteilungen');
}
- $data = $teamService->show($team);
+ $department = $departmentRepository->findOneBy(array('id' => $request->get('id')));
+ if ($this->getUser()->hasTeam($department->getTeam())) {
+ $department->setActiv(false);
+ }
- return $this->render('team/custom.html.twig', [
- 'title' => 'Vorgaben für Formulare anpassen',
- 'data' => $data,
- 'edit' => false
- ]);
+ $em->persist($department);
+ $em->flush();
+ return $this->redirectToRoute('team_abteilungen');
}
- /**
- * @Route("/akademie/admin", name="akademie_admin")
- */
- public function academyAdmin(ValidatorInterface $validator, Request $request, InviteService $inviteService, SecurityService $securityService)
+ #[Route(path: '/team_create', name: 'team_create')]
+ public function create(
+ ValidatorInterface $validator,
+ EntityManagerInterface $em,
+ Request $request,
+ ): Response
{
- $team = $this->getUser()->getAdminUser();
+ $user = $this->getUser();
+ $team = new Team();
+ $team->setActiv(true);
+ $form = $this->createForm(TeamType::class, $team);
+ $form->remove('video');
+ $form->remove('externalLink');
+ $form->handleRequest($request);
- // Admin Route only
- if (!$securityService->adminCheck($this->getUser(), $team)) {
- return $this->redirectToRoute('dashboard');
+ $errors = array();
+ if ($form->isSubmitted() && $form->isValid()) {
+ $nTeam = $form->getData();
+ $errors = $validator->validate($nTeam);
+ if (count($errors) == 0) {
+ $user->addTeam($nTeam);
+ $nTeam->addAdmin($user);
+ $em->persist($nTeam);
+ $em->persist($user);
+ $em->flush();
+ return $this->redirectToRoute('manage_teams');
+ }
}
- $kurse = $this->getDoctrine()->getRepository(AkademieKurse::class)->findKurseByTeam($team);
- return $this->render('team/academy.html.twig', [
- 'title' => 'Akademie verwalten',
- 'data' => $team->getAkademieUsers(),
- 'kurse' => $kurse,
+ return $this->render('team/index.html.twig', [
+ 'controller_name' => 'TeamController',
+ 'form' => $form->createView(),
+ 'errors' => $errors,
+ 'title' => $this->translator->trans(id: 'team.create', domain: 'team')
]);
}
-
- /**
- * @Route("/team_custom/create", name="team_custom_create")
- */
- public function customCreate(ValidatorInterface $validator, Request $request, SecurityService $securityService, TeamService $teamService)
+ #[Route(path: '/team_custom/create', name: 'team_custom_create')]
+ public function customCreate(
+ Request $request,
+ SecurityService $securityService,
+ EntityManagerInterface $em,
+ TeamService $teamService,
+ ValidatorInterface $validator,
+ CurrentTeamService $currentTeamService,
+ ): Response
{
+ $user = $this->getUser();
+ $team = $currentTeamService->getTeamFromSession($user);
- $team = $this->getUser()->getAdminUser();
-
- if ($securityService->adminCheck($this->getUser(), $team) === false) {
+ if ($securityService->adminCheck($user, $team) === false) {
return $this->redirectToRoute('dashboard');
}
@@ -125,346 +174,204 @@ public function customCreate(ValidatorInterface $validator, Request $request, Se
$errors = array();
if ($form->isSubmitted() && $form->isValid()) {
$data = $form->getData();
-
+ $errors = $validator->validate($data);
if (count($errors) == 0) {
- $em = $this->getDoctrine()->getManager();
$em->persist($data);
$em->flush();
return $this->redirect($this->generateUrl('team_custom') . '#' . $request->get('type'));
}
}
- return $this->render('team/modalView.html.twig', array('form' => $form->createView(), 'title' => $request->get('title'), 'type' => $request->get('type'), 'id' => $request->get('id')));
+ return $this->render('team/modalView.html.twig', [
+ 'form' => $form->createView(),
+ 'title' => $request->get('title'),
+ 'type' => $request->get('type'),
+ 'id' => $request->get('id'),
+ 'errors' => $errors
+ ]);
}
-
- /**
- * @Route("/team_custom/deaktivieren", name="team_custom_deativate")
- */
- public function customDeactivate(Request $request, SecurityService $securityService, TeamService $teamService)
+ #[Route(path: '/team_custom/deaktivieren', name: 'team_custom_deativate')]
+ public function customDeactivate(
+ Request $request,
+ SecurityService $securityService,
+ EntityManagerInterface $em,
+ TeamService $teamService,
+ CurrentTeamService $currentTeamService,
+ ): Response
{
- $team = $this->getUser()->getAdminUser();
+ $user = $this->getUser();
+ $team = $currentTeamService->getTeamFromSession($user);
- if ($securityService->adminCheck($this->getUser(), $team) === false) {
+ if ($securityService->adminCheck($user, $team) === false) {
return $this->redirectToRoute('team_custom');
}
$data = $teamService->delete($request->get('type'), $request->get('id'));
- if ($data->getTeam() == $this->getUser()->getTeam()) {
+ if ($this->getUser()->hasTeam($data->getTeam())) {
$data->setActiv(false);
}
- $em = $this->getDoctrine()->getManager();
$em->persist($data);
$em->flush();
+
return $this->redirectToRoute('team_custom');
}
-
- /**
- * @Route("/team_abteilungen", name="team_abteilungen")
- */
- public function abteilungenAdd(ValidatorInterface $validator, Request $request, SecurityService $securityService)
+ #[Route(path: '/team_custom', name: 'team_custom')]
+ public function customShow(
+ SecurityService $securityService,
+ TeamService $teamService,
+ CurrentTeamService $currentTeamService,
+ ): Response
{
- $team = $this->getUser()->getAdminUser();
+ $user = $this->getUser();
+ $team = $currentTeamService->getCurrentAdminTeam($user);
- if ($securityService->adminCheck($this->getUser(), $team) === false) {
+ if (!$team || !$securityService->adminCheck($user, $team)) {
return $this->redirectToRoute('dashboard');
}
- $abteilungen = $this->getDoctrine()->getRepository(AuditTomAbteilung::class)->findAllByTeam($team);
-
- if ($request->get('id')) {
- $abteilung = $this->getDoctrine()->getRepository(AuditTomAbteilung::class)->find($request->get('id'));
-
- } else {
- $abteilung = new AuditTomAbteilung();
- $abteilung->setActiv(true);
- $abteilung->setTeam($team);
- }
-
- $form = $this->createForm(AbteilungType::class, $abteilung);
- $form->handleRequest($request);
+ $data = $teamService->show($team);
- $errors = array();
- if ($form->isSubmitted() && $form->isValid()) {
- $data = $form->getData();
- $errors = $validator->validate($data);
- if (count($errors) == 0) {
- $em = $this->getDoctrine()->getManager();
- $em->persist($data);
- $em->flush();
- return $this->redirectToRoute('team_abteilungen');
- }
- }
- return $this->render('team/abteilungen.html.twig', [
- 'form' => $form->createView(),
- 'errors' => $errors,
- 'title' => 'Abteilungen',
- 'data' => $abteilungen,
+ return $this->render('team/custom.html.twig', [
+ 'currentTeam' => $team,
+ 'adminArea' => true,
+ 'title' => $this->translator->trans(id: 'customFormPresents', domain: 'team'),
+ 'data' => $data,
+ 'edit' => false
]);
}
- /**
- * @Route("/team_abteilungen/deaktivieren", name="team_abteilungen_deativate")
- */
- public function abteilungenRemove(Request $request, SecurityService $securityService)
+ #[Route(path: '/team_edit', name: 'team_edit')]
+ public function edit(
+ ValidatorInterface $validator,
+ Request $request,
+ EntityManagerInterface $em,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ TeamRepository $teamRepository,
+ ): Response
{
- $team = $this->getUser()->getAdminUser();
+ $user = $this->getUser();
+ $teamId = $request->get('id');
+ $currentTeam = null;
- if ($securityService->adminCheck($this->getUser(), $team) === false) {
- return $this->redirectToRoute('team_abteilungen');
- }
-
- $abteilung = $this->getDoctrine()->getRepository(AuditTomAbteilung::class)->findOneBy(array('id' => $request->get('id')));
- if ($abteilung->getTeam() == $this->getUser()->getTeam()) {
- $abteilung->setActiv(false);
+ if ($teamId) {
+ $team = $teamRepository->find($teamId);
+ } else {
+ $team = $currentTeamService->getCurrentAdminTeam($user);
+ $currentTeam = $team;
}
- $em = $this->getDoctrine()->getManager();
- $em->persist($abteilung);
- $em->flush();
- return $this->redirectToRoute('team_abteilungen');
- }
-
- /**
- * @Route("/team_mitglieder", name="team_mitglieder")
- */
- public function mitgliederAdd(ValidatorInterface $validator, Request $request, InviteService $inviteService, SecurityService $securityService)
- {
-
- $team = $this->getUser()->getAdminUser();
-
- if ($securityService->adminCheck($this->getUser(), $team) === false) {
+ if (!$team || (!$securityService->adminCheck($user, $team))) {
return $this->redirectToRoute('dashboard');
}
- $newMember = array();
- $form = $this->createForm(NewMemberType::class, $newMember);
+ $form = $this->createForm(TeamType::class, $team);
$form->handleRequest($request);
$errors = array();
if ($form->isSubmitted() && $form->isValid()) {
-
-
- $newMembers = $form->getData();
- $lines = explode("\n", $newMembers['member']);
-
- if (!empty($lines)) {
- $em = $this->getDoctrine()->getManager();
- foreach ($lines as $line) {
- $newMember = trim($line);
- $user = $inviteService->newUser($newMember);
- if ($user->getTeam() === null) {
- $user->setTeam($team);
- $em->persist($user);
- }
- }
+ $nTeam = $form->getData();
+ $errors = $validator->validate($nTeam);
+ if (count($errors) == 0) {
+ $em->persist($nTeam);
$em->flush();
- return $this->redirectToRoute('team_mitglieder');
+ if ($teamId) {
+ return $this->redirectToRoute('team_edit', ['id' => $teamId]);
+ }
+ return $this->redirectToRoute('team_edit');
}
-
-
}
- return $this->render('team/member.html.twig', [
+ return $this->render('team/index.html.twig', [
+ 'currentTeam' => $currentTeam,
+ 'adminArea' => true,
+ 'controller_name' => 'TeamController',
'form' => $form->createView(),
'errors' => $errors,
- 'title' => 'Benutzer verwalten',
- 'data' => $team,
+ 'title' => $this->translator->trans(id: 'team.data', domain: 'team')
]);
}
- /**
- * @Route("/team_mitglieder/create", name="team_mitglieder_create")
- */
- public function teamMemberCreate(Request $request, SecurityService $securityService, TeamService $teamService, InviteService $inviteService)
+ #[Route(path: '/manage_teams', name: 'manage_teams')]
+ public function manage(
+ SecurityService $securityService,
+ SettingsRepository $settingsRepository,
+ TeamRepository $teamRepository,
+ ): Response
{
+ $user = $this->getUser();
+ $settings = $settingsRepository->findOne();
+ $useKeycloakGroups = $settings ? $settings->getUseKeycloakGroups() : false;
- $team = $this->getUser()->getAdminUser();
-
- if ($securityService->adminCheck($this->getUser(), $team) === false) {
+ if (!$securityService->superAdminCheck($user)) {
return $this->redirectToRoute('dashboard');
}
- $newMember = array();
- $form = $this->createForm(NewMemberType::class, $newMember);
- $form->handleRequest($request);
-
- $errors = array();
- if ($form->isSubmitted() && $form->isValid()) {
-
- $newMembers = $form->getData();
- $lines = explode("\n", $newMembers['member']);
-
- if (!empty($lines)) {
- $em = $this->getDoctrine()->getManager();
- foreach ($lines as $line) {
- $newMember = trim($line);
- $user = $inviteService->newUser($newMember);
-
- switch ($request->get('type')) {
- case 'odc':
- if ($user->getTeam() === null) {
- $user->setTeam($team);
- $em->persist($user);
- $target = $this->generateUrl('team_mitglieder');
- break;
- }
- case 'academy':
- if ($user->getAdminUser() === null) {
- $user->setAkademieUser($team);
- $em->persist($user);
- $target = $this->generateUrl('akademie_admin') . '#user';
- break;
- }
- default:
- $target = $this->generateUrl('team_mitglieder');
- break;
- }
- }
- }
- $em->flush();
- return $this->redirect($target);
- }
-
- return $this->render('team/modalViewUser.html.twig', array('form' => $form->createView(), 'title' => $request->get('title'), 'type' => $request->get('type')));
- }
-
- /**
- * @Route("/team_mitglieder/remove", name="team_mitglieder_remove")
- */
- public function mitgliederRemove(Request $request, SecurityService $securityService)
- {
- $team = $this->getUser()->getAdminUser();
+ $teams = $teamRepository->findAll();
- if ($securityService->adminCheck($this->getUser(), $team) === false) {
- return $this->redirectToRoute('team_mitglieder');
- }
-
- $user = $this->getDoctrine()->getRepository(User::class)->findOneBy(array('id' => $request->get('id')));
-
-
- switch ($request->get('type')) {
- case 'academy' :
- $user->setAkademieUser(null);
- $target = $this->generateUrl('akademie_admin') . '#user';
- break;
- case 'odc':
- if ($this->getUser() !== $user && $user->getTeam() === $this->getUser()->getTeam()) {
- $user->setTeam(null);
- $user->setAdminUser(null);
- $target = $this->generateUrl('team_mitglieder');
- }
- break;
- default:
- $target = $this->generateUrl('team_mitglieder');
- break;
- }
-
-
- $em = $this->getDoctrine()->getManager();
- $em->persist($user);
- $em->flush();
- return $this->redirect($target);
+ return $this->render('team/manage.html.twig', [
+ 'teams' => $teams,
+ 'useKeycloakGroups' => $useKeycloakGroups,
+ ]);
}
- /**
- * @Route("/team_mitglieder/admin", name="team_mitglieder_admin")
- */
- public function adminToggle(Request $request, SecurityService $securityService)
+ #[Route(path: '/team/switch', name: 'team_switch')]
+ public function switchTeam(
+ Request $request,
+ CurrentTeamService $userService,
+ ): RedirectResponse
{
- $team = $this->getUser()->getAdminUser();
+ $team = $request->get('team');
- if ($securityService->adminCheck($this->getUser(), $team) === false) {
- return $this->redirectToRoute('dashboard');
- }
-
- $user = $this->getDoctrine()->getRepository(User::class)->findOneBy(array('id' => $request->get('id')));
+ $userService->switchToTeam($team);
- // Only other users and admins of the same Team can promote users
- if ($this->getUser() !== $user && $user->getTeam() === $team) {
- if ($user->getAdminUser() === null) {
- $user->setAdminUser($team);
- } else {
- $user->setAdminUser(null);
- }
- }
- $em = $this->getDoctrine()->getManager();
- $em->persist($user);
- $em->flush();
- return $this->redirectToRoute('team_mitglieder');
+ return new RedirectResponse($request->headers->get('referer'));
}
- /**
- * @Route("/ext_team_dsb", name="team_dsb")
- */
- public function dsbAdd(Request $request, InviteService $inviteService, SecurityService $securityService)
+ #[Route(path: '/manage_teams/delete', name: 'team_delete')]
+ public function teamDelete(
+ Request $request,
+ SecurityService $securityService,
+ EntityManagerInterface $em,
+ TeamRepository $teamRepository,
+ CurrentTeamService $currentTeamService,
+ ): Response
{
- $team = $this->getUser()->getAdminUser();
+ $user = $this->getUser();
+ $teamId = $request->get('id');
+ $team = $teamId ? $teamRepository->find($teamId) : $currentTeamService->getCurrentAdminTeam($user);
- if (!$securityService->adminCheck($this->getUser(), $team)) {
+ if ($securityService->superAdminCheck($user) === false) {
return $this->redirectToRoute('dashboard');
}
- $form = $this->createForm(DsbType::class);
- $form->handleRequest($request);
-
- $errors = array();
- if ($form->isSubmitted() && $form->isValid()) {
-
- $dsb = $form->getData();
- $em = $this->getDoctrine()->getManager();
- $email = $dsb['dsb'];
- $user = $this->getDoctrine()->getRepository(User::class)->findOneBy(array('email' => $email));
- if (!$user) {
- $user = $inviteService->newUser($email, $team);
- }
- if (!$team->getDsbUser()) {
- $team->setDsbUser($user);
- $em->persist($team);
+ if ($team->getDeleteBlockers()) {
+ return $this->render('team/modalViewDeleteBlockers.html.twig', [
+ 'team' => $team,
+ 'type' => $request->get('type')
+ ]);
+ } else {
+ $data = array();
+ $form = $this->createForm(DeleteTeamType::class, $data);
+ $form->handleRequest($request);
+
+ if ($form->isSubmitted() && $form->isValid()) {
+ $data = $form->getData();
+ if ($data['teamName'] === $team->getName()) {
+ $em->remove($team);
+ $em->flush();
+ }
+ return $this->redirectToRoute('manage_teams');
}
- $em->flush();
- return $this->redirectToRoute('team_dsb', ['snack' => 'DSB wurde hinzugefügt']);
+ return $this->render('team/modalViewDelete.html.twig', [
+ 'form' => $form->createView(),
+ 'team' => $team,
+ 'type' => $request->get('type')
+ ]);
}
- return $this->render('team/dsb.html.twig', [
- 'form' => $form->createView(),
- 'errors' => $errors,
- 'title' => 'Externen DSB verwalten',
- 'data' => $team->getDsbUser(),
- 'snack' => $request->get('snack')
- ]);
- }
-
- /**
- * @Route("/team_dsb/remove", name="team_dsb_remove")
- */
- public function dsbRemove(Request $request, SecurityService $securityService)
- {
- $team = $this->getUser()->getAdminUser();
-
- if ($securityService->adminCheck($this->getUser(), $team) === false) {
- return $this->redirectToRoute('dashboard');
- }
-
- $user = $this->getDoctrine()->getRepository(User::class)->findOneBy(array('id' => $request->get('id')));
-
- if ($team->getDsbUser() === $user) {
- $snack = 'Sie können sich nicht selbst aus dem Team entfernen und wurden daher nur als externer DSB entfernt.';
- if ($this->getUser() !== $team->getDsbUser()) {
- $user->setTeam(null);
- $user->setAdminUser(null);
- $user->setAkademieUser(null);
- $snack = 'Sie haben den externen DSB aus Ihrem Team entfernt';
- }
- $team->setDsbUser(null);
- }
- $em = $this->getDoctrine()->getManager();
- $em->persist($team);
- $em->persist($user);
- $em->flush();
-
- return $this->redirectToRoute('team_dsb', ['snack' => $snack]);
}
}
diff --git a/src/Controller/TeamMemberController.php b/src/Controller/TeamMemberController.php
new file mode 100644
index 00000000..86d45214
--- /dev/null
+++ b/src/Controller/TeamMemberController.php
@@ -0,0 +1,369 @@
+getUser();
+ $team = $currentTeamService->getTeamFromSession($user);
+
+ // Admin Route only
+ if (!$securityService->adminCheck($user, $team)) {
+ return $this->redirectToRoute('dashboard');
+ }
+ $kurse = $academyCourseRepository->findKurseByTeam($team);
+
+ return $this->render('team/academy.html.twig', [
+ 'currentTeam' => $team,
+ 'title' => $this->translator->trans(id: 'academy.manage', domain: 'team'),
+ 'team' => $team,
+ 'data' => $team->getAkademieUsers(),
+ 'kurse' => $kurse,
+ 'questionnaires' => $questionnaireRepository->findByTeam($team),
+ ]);
+ }
+
+ #[Route(path: '/team_mitglieder/admin', name: 'team_mitglieder_admin')]
+ public function adminToggle(
+ Request $request,
+ SecurityService $securityService,
+ UserRepository $userRepository,
+ EntityManagerInterface $em,
+ TeamRepository $teamRepository,
+ CurrentTeamService $currentTeamService,
+ ): Response
+ {
+ $user = $this->getUser();
+ $teamId = $request->get('teamId');
+ $team = $teamId ? $teamRepository->find($teamId) : $currentTeamService->getCurrentAdminTeam($user);
+
+ if ($securityService->adminCheck($user, $team) === false) {
+ return $this->redirectToRoute('dashboard');
+ }
+
+ $member = $userRepository->findOneBy(array('id' => $request->get('memberId')));
+
+ // Only superadmins can promote themselves
+ if ($securityService->superAdminCheck($user) || ($user !== $member && $member->hasTeam($team))) {
+ if ($member->hasAdminRole($team)) {
+ $team->removeAdmin($member);
+ } else {
+ $team->addAdmin($member);
+ }
+ }
+
+ $em->persist($team);
+ $em->flush();
+
+ if ($teamId) {
+ return $this->redirectToRoute('team_mitglieder', ['id' => $teamId]);
+ }
+ return $this->redirectToRoute('team_mitglieder');
+ }
+
+ #[Route(path: '/ext_team_dsb', name: 'team_dsb')]
+ public function dsbAdd(
+ Request $request,
+ InviteService $inviteService,
+ SecurityService $securityService,
+ EntityManagerInterface $em,
+ UserRepository $userRepository,
+ CurrentTeamService $currentTeamService,
+ ): Response
+ {
+ $user = $this->getUser();
+ $team = $currentTeamService->getCurrentAdminTeam($user);
+
+ if (!$securityService->adminCheck($user, $team)) {
+ return $this->redirectToRoute('dashboard');
+ }
+
+ $form = $this->createForm(DsbType::class);
+ $form->handleRequest($request);
+
+ $errors = array();
+ if ($form->isSubmitted() && $form->isValid()) {
+
+ $dsb = $form->getData();
+ $email = $dsb['dsb'];
+ $user = $userRepository->findOneBy(array('email' => $email));
+ if (!$user) {
+ $user = $inviteService->newUser($email, $team);
+ }
+ if (!$team->getDsbUser()) {
+ $team->setDsbUser($user);
+ $em->persist($team);
+ }
+
+ $em->flush();
+ return $this->redirectToRoute(
+ 'team_dsb',
+ [
+ 'snack' => $this->translator->trans(id: 'dsb.added', domain: 'team'),
+ ],
+ );
+ }
+ return $this->render('team/dsb.html.twig', [
+ 'form' => $form->createView(),
+ 'errors' => $errors,
+ 'title' => $this->translator->trans(id: 'dsb.manage', domain: 'team'),
+ 'data' => $team->getDsbUser(),
+ 'snack' => $request->get('snack'),
+ 'currentTeam' => $team,
+ 'adminArea' => true,
+ ]);
+ }
+
+ #[Route(path: '/team_dsb/remove', name: 'team_dsb_remove')]
+ public function dsbRemove(
+ Request $request,
+ SecurityService $securityService,
+ UserRepository $userRepository,
+ EntityManagerInterface $em,
+ CurrentTeamService $currentTeamService,
+ ): Response
+ {
+ $user = $this->getUser();
+ $team = $currentTeamService->getTeamFromSession($user);
+
+ if ($securityService->adminCheck($user, $team) === false) {
+ return $this->redirectToRoute('dashboard');
+ }
+
+ $user = $userRepository->findOneBy(array('id' => $request->get('id')));
+
+ if ($team->getDsbUser() === $user) {
+ $snack = $this->translator->trans(id: 'dsb.error.selfRemove', domain: 'team');
+ if ($this->getUser() !== $team->getDsbUser()) {
+ $user->removeTeam($team);
+ $team->removeAdmin($user);
+ $user->setAkademieUser(null);
+ $snack = $this->translator->trans(id: 'dsb.removed', domain: 'team');
+ }
+ $team->setDsbUser(null);
+ }
+ $em->persist($team);
+ $em->persist($user);
+ $em->flush();
+
+ return $this->redirectToRoute('team_dsb', ['snack' => $snack]);
+ }
+
+ #[Route(path: '/team_mitglieder', name: 'team_mitglieder')]
+ public function mitgliederAdd(
+ Request $request,
+ InviteService $inviteService,
+ EntityManagerInterface $em,
+ TeamRepository $teamRepository,
+ SettingsRepository $settingsRepository,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ ): Response
+ {
+ $user = $this->getUser();
+ $teamId = $request->get('id');
+ $currentTeam = null;
+ $settings = $settingsRepository->findOne();
+ $useKeycloakGroups = $settings ? $settings->getUseKeycloakGroups() : false;
+
+ if ($teamId) {
+ $team = $teamRepository->find($teamId);
+ } else {
+ $team = $currentTeamService->getCurrentAdminTeam($user);
+ $currentTeam = $team;
+ }
+
+ $temp = array_merge($team->getMembers()->toArray(), $team->getAdmins()->toArray());
+ $members = [];
+ foreach ($temp as $member) {
+ if (!in_array($member, $members)) {
+ $members[] = $member;
+ }
+ }
+
+ if ($securityService->adminCheck($user, $team) === false) {
+ return $this->redirectToRoute('team_abteilungen');
+ }
+
+ $newMember = array();
+ $form = $this->createForm(NewMemberType::class, $newMember);
+ $form->handleRequest($request);
+
+ $errors = array();
+ if ($form->isSubmitted() && $form->isValid()) {
+ $newMembers = $form->getData();
+ $lines = explode("\n", $newMembers['member']);
+
+ if (!empty($lines)) {
+ foreach ($lines as $line) {
+ $newMember = trim($line);
+ $newUser = $inviteService->newUser($newMember);
+ $newUser->addTeam($team);
+ $em->persist($newUser);
+ }
+ $em->flush();
+ if ($teamId) {
+ return $this->redirectToRoute('team_mitglieder', ['id' => $teamId]);
+ }
+ return $this->redirectToRoute('team_mitglieder');
+ }
+ }
+ return $this->render('team/member.html.twig', [
+ 'currentTeam' => $currentTeam,
+ 'adminArea' => true,
+ 'form' => $form->createView(),
+ 'errors' => $errors,
+ 'title' => $this->translator->trans(id: 'team.manageMembers', domain: 'team'),
+ 'team' => $team,
+ 'members' => $members,
+ 'useKeycloakGroups' => $useKeycloakGroups,
+ ]);
+ }
+
+ #[Route(path: '/team_mitglieder/remove', name: 'team_mitglieder_remove')]
+ public function mitgliederRemove(
+ Request $request,
+ SecurityService $securityService,
+ TeamRepository $teamRepository,
+ UserRepository $userRepository,
+ EntityManagerInterface $em,
+ CurrentTeamService $currentTeamService,
+ ): Response
+ {
+ $user = $this->getUser();
+ $teamId = $request->get('teamId');
+ $team = $teamId ? $teamRepository->find($teamId) : $currentTeamService->getCurrentAdminTeam($user);
+
+ if ($securityService->adminCheck($user, $team) === false) {
+ return $this->redirectToRoute('team_mitglieder');
+ }
+
+ $member = $userRepository->findOneBy(array('id' => $request->get('memberId')));
+
+ switch ($request->get('type')) {
+ case 'academy':
+ $member->setAkademieUser(null);
+ $target = $this->generateUrl('akademie_admin') . '#user';
+ break;
+ default:
+ if ($member !== $user && $member->hasTeam($team)) {
+ $member->removeTeam($team);
+ $team->removeAdmin($member);
+ }
+ if ($teamId) {
+ $target = $this->generateUrl('team_mitglieder', ['id' => $teamId]);
+ } else {
+ $target = $this->generateUrl('team_mitglieder');
+ }
+ }
+
+ $em->persist($member);
+ $em->persist($team);
+ $em->flush();
+ return $this->redirect($target);
+ }
+
+ #[Route(path: '/team_mitglieder/create', name: 'team_mitglieder_create')]
+ public function teamMemberCreate(
+ Request $request,
+ SecurityService $securityService,
+ InviteService $inviteService,
+ EntityManagerInterface $em,
+ TeamRepository $teamRepository,
+ CurrentTeamService $currentTeamService,
+ ): Response
+ {
+ $user = $this->getUser();
+ $teamId = $request->get('id');
+ $team = $teamId ? $teamRepository->find($teamId) : $currentTeamService->getCurrentAdminTeam($user);
+ $target = $this->generateUrl('team_mitglieder');
+
+ if ($securityService->adminCheck($user, $team) === false) {
+ return $this->redirectToRoute('dashboard');
+ }
+
+ $newMember = array();
+ $form = $this->createForm(NewMemberType::class, $newMember);
+ $form->handleRequest($request);
+
+ if ($form->isSubmitted() && $form->isValid()) {
+ $newMembers = $form->getData();
+ $lines = explode("\n", $newMembers['member']);
+
+ if (!empty($lines)) {
+ foreach ($lines as $line) {
+ $newMember = trim($line);
+ $user = $inviteService->newUser($newMember);
+
+ switch ($request->get('type')) {
+ case 'admin':
+ if (!$user->hasAdminRole($team)) {
+ $team->addAdmin($user);
+ $em->persist($team);
+ }
+ break;
+ case 'academy':
+ if ($user->getAkademieUser() === null) {
+ $user->setAkademieUser($team);
+ $em->persist($user);
+ }
+ $target = $this->generateUrl('akademie_admin') . '#user';
+ break;
+ default:
+ if (!$user->hasTeam($team)) {
+ $user->addTeam($team);
+ $em->persist($user);
+ }
+ if ($teamId) {
+ $target = $this->generateUrl('team_mitglieder', ['id' => $teamId]);
+ }
+ }
+ }
+ }
+ $em->flush();
+ return $this->redirect($target);
+ }
+
+ return $this->render('team/modalViewUser.html.twig', [
+ 'form' => $form->createView(),
+ 'teamId' => $teamId,
+ 'title' => $request->get('title'),
+ 'type' => $request->get('type')
+ ]);
+ }
+}
diff --git a/src/Controller/TomController.php b/src/Controller/TomController.php
index 736f131e..c40774b2 100644
--- a/src/Controller/TomController.php
+++ b/src/Controller/TomController.php
@@ -5,45 +5,46 @@
* Date: 15.05.2020
* Time: 09:15
*/
+
namespace App\Controller;
-use App\Entity\AuditTom;
-use App\Entity\Tom;
use App\Form\Type\TomType;
+use App\Repository\AuditTomRepository;
+use App\Repository\TomRepository;
use App\Service\ApproveService;
+use App\Service\CurrentTeamService;
use App\Service\DisableService;
use App\Service\SecurityService;
use App\Service\TomService;
+use DateTime;
+use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Validator\Validator\ValidatorInterface;
+use Symfony\Contracts\Translation\TranslatorInterface;
class TomController extends AbstractController
{
- /**
- * @Route("/tom", name="tom")
- */
- public function index(SecurityService $securityService)
- {
- $team = $this->getUser()->getTeam();
- $tom = $this->getDoctrine()->getRepository(Tom::class)->findActivByTeam($team);
- if ($securityService->teamCheck($team) === false) {
- return $this->redirectToRoute('dashboard');
- }
- return $this->render('tom/index.html.twig', [
- 'tom' => $tom,
- ]);
+ public function __construct(private readonly TranslatorInterface $translator,
+ private EntityManagerInterface $em,
+ )
+ {
}
- /**
- * @Route("/tom/new", name="tom_new")
- */
- public function addAuditTom(ValidatorInterface $validator, Request $request, SecurityService $securityService, TomService $tomService)
+ #[Route(path: '/tom/new', name: 'tom_new')]
+ public function addAuditTom(
+ ValidatorInterface $validator,
+ Request $request,
+ SecurityService $securityService,
+ TomService $tomService,
+ CurrentTeamService $currentTeamService,
+ ): Response
{
- $team = $this->getUser()->getTeam();
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
if ($securityService->teamCheck($team) === false) {
return $this->redirectToRoute('tom');
}
@@ -58,85 +59,64 @@ public function addAuditTom(ValidatorInterface $validator, Request $request, Sec
$data = $form->getData();
$errors = $validator->validate($data);
if (count($errors) == 0) {
- $em = $this->getDoctrine()->getManager();
- $em->persist($data);
- $em->flush();
+ $this->em->persist($data);
+ $this->em->flush();
return $this->redirectToRoute('tom');
}
}
return $this->render('tom/new.html.twig', [
+ 'currentTeam' => $team,
'form' => $form->createView(),
'errors' => $errors,
- 'title' => 'TOM erstellen',
+ 'title' => $this->translator->trans(id: 'tom.create', domain: 'tom'),
'tom' => $tom,
'activ' => $tom->getActiv(),
'activTitel' => true
]);
}
- /**
- * @Route("/tom/edit", name="tom_edit")
- */
- public function EditTom(ValidatorInterface $validator, Request $request, SecurityService $securityService, TomService $tomService)
+ #[Route(path: '/tom/approve', name: 'tom_approve')]
+ public function approve(
+ Request $request,
+ SecurityService $securityService,
+ ApproveService $approveService,
+ CurrentTeamService $currentTeamService,
+ TomRepository $tomRepository,
+ ): Response
{
- $team = $this->getUser()->getTeam();
- $tom = $this->getDoctrine()->getRepository(Tom::class)->find($request->get('tom'));
+ $user = $this->getUser();
+ $team = $currentTeamService->getTeamFromSession($user);
+ $tom = $tomRepository->find($request->get('id'));
- if ($securityService->teamDataCheck($tom, $team) === false) {
- return $this->redirectToRoute('tom');
+ if ($securityService->teamDataCheck($tom, $team) && $securityService->adminCheck($user, $team)) {
+ $approve = $approveService->approve($tom, $user);
+ return $this->redirectToRoute('tom_edit', ['tom' => $approve['data'], 'snack' => $approve['snack']]);
}
- $newTom = $tomService->cloneTom($tom, $this->getUser());
-
- $form = $this->createForm(TomType::class, $newTom);
- $form->remove('titel');
- $form->handleRequest($request);
- $errors = array();
- if ($form->isSubmitted() && $form->isValid() && $tom->getActiv() === 1 && !$tom->getApproved()) {
-
- $tom->setActiv(false);
- $newTom = $form->getData();
- $errors = $validator->validate($newTom);
- if (count($errors) == 0) {
-
- $em = $this->getDoctrine()->getManager();
- $em->persist($newTom);
- $em->persist($tom);
- $em->flush();
- return $this->redirectToRoute('tom_edit', ['tom' => $newTom->getId(), 'snack' => 'Erfolgreich gepeichert']);
- }
- }
- return $this->render('tom/edit.html.twig', [
- 'form' => $form->createView(),
- 'errors' => $errors,
- 'title' => 'TOM bearbeiten',
- 'tom' => $tom,
- 'activ' => $tom->getActiv(),
- 'activTitel' => false,
- 'snack' => $request->get('snack')
- ]);
+ // if security check fails
+ return $this->redirectToRoute('tom');
}
- /**
- * @Route("/tom/clone", name="tom_clone")
- */
- public function cloneTom(Request $request)
+ #[Route(path: '/tom/clone', name: 'tom_clone')]
+ public function cloneTom(
+ Request $request,
+ CurrentTeamService $currentTeamService,
+ AuditTomRepository $auditTomRepository,
+ ): Response
{
- $team = $this->getUser()->getTeam();
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
if ($team === null) {
return $this->redirectToRoute('dashboard');
}
- $today = new \DateTime();
- $audit = $this->getDoctrine()->getRepository(AuditTom::class)->findAllByTeam(1);
-
- $em = $this->getDoctrine()->getManager();
+ $today = new DateTime();
+ $audit = $auditTomRepository->findAllByTeam(1);
foreach ($audit as $data) {
if ($data->getCreatedAt() > $team->getClonedAt()) {
$newAudit = clone $data;
$newAudit->setTeam($team);
$newAudit->setCreatedAt($today);
- $em->persist($newAudit);
+ $this->em->persist($newAudit);
}
}
@@ -144,41 +124,103 @@ public function cloneTom(Request $request)
//set ClonedAt Date to be able to update later newer versions
$team->setclonedAt($today);
- $em->persist($team);
- $em->flush();
+ $this->em->persist($team);
+ $this->em->flush();
return $this->redirectToRoute('audit_tom');
}
- /**
- * @Route("/tom/approve", name="tom_approve")
- */
- public function approve(Request $request, SecurityService $securityService, ApproveService $approveService)
+ #[Route(path: '/tom/disable', name: 'tom_disable')]
+ public function disable(
+ Request $request,
+ SecurityService $securityService,
+ DisableService $disableService,
+ CurrentTeamService $currentTeamService,
+ TomRepository $tomRepository,
+ ): Response
{
- $team = $this->getUser()->getAdminUser();
- $tom = $this->getDoctrine()->getRepository(Tom::class)->find($request->get('id'));
+ $user = $this->getUser();
+ $team = $currentTeamService->getTeamFromSession($user);
+ $tom = $tomRepository->find($request->get('id'));
+
+ if ($securityService->teamDataCheck($tom, $team) && $securityService->adminCheck($user, $team)) {
+ $disableService->disable($tom, $user);
+ }
+
+ return $this->redirectToRoute('tom');
+ }
+
+ #[Route(path: '/tom/edit', name: 'tom_edit')]
+ public function editTom(
+ ValidatorInterface $validator,
+ Request $request,
+ SecurityService $securityService,
+ TomService $tomService,
+ CurrentTeamService $currentTeamService,
+ TomRepository $tomRepository,
+ ): Response
+ {
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ $tom = $tomRepository->find($request->get('tom'));
if ($securityService->teamDataCheck($tom, $team) === false) {
return $this->redirectToRoute('tom');
}
- $approve = $approveService->approve($tom, $this->getUser());
- return $this->redirectToRoute('tom_edit', ['tom' => $approve['data'], 'snack' => $approve['snack']]);
+ $newTom = $tomService->cloneTom($tom, $this->getUser());
+
+ $form = $this->createForm(TomType::class, $newTom);
+ $form->remove('titel');
+ $form->handleRequest($request);
+ $errors = [];
+ if ($form->isSubmitted() && $form->isValid() && $tom->getActiv() === 1 && !$tom->getApproved()) {
+
+ $tom->setActiv(false);
+ $newTom = $form->getData();
+ $errors = $validator->validate($newTom);
+ if (count($errors) == 0) {
+ $this->em->persist($newTom);
+ $this->em->persist($tom);
+ $this->em->flush();
+ return $this->redirectToRoute(
+ 'tom_edit',
+ [
+ 'tom' => $newTom->getId(),
+ 'snack' => $this->translator->trans(id: 'save.successful', domain: 'general'),
+ ],
+ );
+ }
+ }
+ return $this->render('tom/edit.html.twig', [
+ 'form' => $form->createView(),
+ 'errors' => $errors,
+ 'title' => $this->translator->trans(id: 'tom.edit', domain: 'tom'),
+ 'tom' => $tom,
+ 'activ' => $tom->getActiv(),
+ 'activTitel' => false,
+ 'snack' => $request->get('snack'),
+ 'currentTeam' => $team
+ ]);
}
- /**
- * @Route("/tom/disable", name="tom_disable")
- */
- public function disable(Request $request, SecurityService $securityService, DisableService $disableService)
+ #[Route(path: '/tom', name: 'tom')]
+ public function index(
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ TomRepository $tomRepository,
+ ): Response
{
- $team = $this->getUser()->getAdminUser();
- $tom = $this->getDoctrine()->getRepository(Tom::class)->find($request->get('id'));
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ $tom = $tomRepository->findActiveByTeam($team);
- if ($securityService->teamDataCheck($tom, $team) === true) {
- $disableService->disable($tom, $this->getUser());
+ if ($securityService->teamCheck($team) === false) {
+ return $this->redirectToRoute('dashboard');
}
- return $this->redirectToRoute('tom');
+ return $this->render('tom/index.html.twig', [
+ 'tom' => $tom,
+ 'currentTeam' => $team
+ ]);
}
}
diff --git a/src/Controller/UploadController.php b/src/Controller/UploadController.php
index 6ec32e62..f9e5b719 100644
--- a/src/Controller/UploadController.php
+++ b/src/Controller/UploadController.php
@@ -4,21 +4,45 @@
use App\Entity\Upload;
use App\Form\Type\UploadTyp;
+use App\Service\CurrentTeamService;
use App\Service\ParserService;
use App\Service\SecurityService;
-use League\Flysystem\FilesystemInterface;
+use DateTime;
+use Doctrine\ORM\EntityManagerInterface;
+use League\Flysystem\FilesystemOperator;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
+use Symfony\Contracts\Translation\TranslatorInterface;
class UploadController extends AbstractController
{
- /**
- * @Route("/upload", name="upload_new")
- */
- public function index(Request $request, FilesystemInterface $internFileSystem, ParserService $parserService, SecurityService $securityService)
+
+
+ public function __construct(private readonly TranslatorInterface $translator,
+ private EntityManagerInterface $em,
+ )
+ {
+ }
+
+ #[Route(path: '/upload/fail', name: 'upload_fail')]
+ public function fail(Request $request): Response
{
- $team = $this->getUser()->getAdminUser();
+ return $this->render('upload/fail.html.twig', array('message' => $request->get('message')));
+ }
+
+ #[Route(path: '/upload', name: 'upload_new')]
+ public function index(
+ Request $request,
+ FilesystemOperator $internFilesystem,
+ ParserService $parserService,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ ): Response
+ {
+ $user = $this->getUser();
+ $team = $currentTeamService->getCurrentAdminTeam($user);
// Admin Route only
if (!$securityService->adminCheck($this->getUser(), $team)) {
return $this->redirectToRoute('dashboard');
@@ -29,25 +53,32 @@ public function index(Request $request, FilesystemInterface $internFileSystem, P
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
- $em = $this->getDoctrine()->getManager();
- $upload->setUpdatedAt(new \DateTime());
+ $upload->setUpdatedAt(new DateTime());
$upload->setUId('Not completed');
$upload->setAmount(0);
$upload = $form->getData();
- $em->persist($upload);
+ $this->em->persist($upload);
if (!preg_match('/odif$/', $upload->getFile())) {
- return $this->redirectToRoute('upload_fail', array('message' => '
- Der Dateityp ist fehlerhaft. Die Datei muss mit .odif enden.'));
+ return $this->redirectToRoute(
+ 'upload_fail',
+ [
+ 'message' => $this->translator->trans(id: 'error.dataType.notOdif', domain: 'general'),
+ ],
+ );
}
- $em->flush();
- $stream = $internFileSystem->read($upload->getFile());
+ $this->em->flush();
+ $stream = $internFilesystem->read($upload->getFile());
$data = json_decode($stream);
$verify = $parserService->verify($data);
- if($verify != 1){
- $internFileSystem->delete($upload->getFile());
- return $this->redirectToRoute('upload_fail',array('message'=>'
- Die Signatur ist ungültig. Bitte kontaktieren Sie die Personen, die Ihnen die Datei überlassen hat.'));
+ if ($verify != 1) {
+ $internFilesystem->delete($upload->getFile());
+ return $this->redirectToRoute(
+ 'upload_fail',
+ [
+ 'message' => $this->translator->trans(id: 'error.signature', domain: 'general'),
+ ],
+ );
}
$res = false;
switch ($data->table) {
@@ -62,32 +93,24 @@ public function index(Request $request, FilesystemInterface $internFileSystem, P
}
if ($res) {
- $internFileSystem->delete($upload->getFile());
+ $internFilesystem->delete($upload->getFile());
return $this->redirectToRoute('upload_success');
} else {
- $internFileSystem->delete($upload->getFile());
- return $this->redirectToRoute('upload_fail',array('message'=>'
- Die Datei ist fehlerhaft und kann nicht eingelesen werden.
- Es können jedoch bereits Daten in Ihren Datenstamm eingetragen worden sein.
- Bitte kontaktieren Sie die Personen, die Ihnen die Datei überlassen hat.'));
+ $internFilesystem->delete($upload->getFile());
+ return $this->redirectToRoute(
+ 'upload_fail',
+ [
+ 'message' => $this->translator->trans(id: 'error.file', domain: 'general'),
+ ],
+ );
}
}
return $this->render('upload/new.html.twig', array('form' => $form->createView()));
}
- /**
- * @Route("/upload/success", name="upload_success")
- */
- public function success(Request $request)
+ #[Route(path: '/upload/success', name: 'upload_success')]
+ public function success(Request $request): Response
{
return $this->render('upload/success.html.twig');
}
-
- /**
- * @Route("/upload/fail", name="upload_fail")
- */
- public function fail(Request $request)
- {
- return $this->render('upload/fail.html.twig',array('message'=>$request->get('message')));
- }
}
diff --git a/src/Controller/VVTDatenkategorieController.php b/src/Controller/VVTDatenkategorieController.php
index 138635bf..34a977ef 100644
--- a/src/Controller/VVTDatenkategorieController.php
+++ b/src/Controller/VVTDatenkategorieController.php
@@ -10,128 +10,138 @@
use App\Entity\VVTDatenkategorie;
use App\Form\Type\VVTDatenkategorieType;
-use App\Service\VVTDatenkategorieService;
-use App\Service\ApproveService;
-use App\Service\DisableService;
-use App\Service\SecurityService;
use App\Repository\VVTDatenkategorieRepository;
+use App\Service\CurrentTeamService;
+use App\Service\SecurityService;
+use App\Service\VVTDatenkategorieService;
+use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
-use Doctrine\ORM\EntityManagerInterface;
-/**
- * @Route("/vvtdatenkategorie")
- */
+#[Route(path: '/vvtdatenkategorie')]
class VVTDatenkategorieController extends AbstractController
{
- /**
- * @Route("/", name="app_vvtdatenkategorie_index", methods={"GET"})
- */
- public function index(VVTDatenkategorieRepository $vVTDatenkategorieRepository, SecurityService $securityService): Response
+ #[Route(path: '/delete/{id}', name: 'app_vvtdatenkategorie_delete', methods: ['POST'])]
+ public function delete(
+ Request $request,
+ VVTDatenkategorie $vVTDatenkategorie,
+ EntityManagerInterface $entityManager,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ ): Response
{
- $team = $this->getUser()->getTeam();
- if ($securityService->teamCheck($team) === false) {
- return $this->redirectToRoute('dashboard');
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ if ($securityService->teamCheck($team) === true) {
+ if ($this->isCsrfTokenValid('delete' . $vVTDatenkategorie->getId(), $request->request->get('_token'))) {
+
+ $vVTDatenkategorie->setActiv(false);
+ $entityManager->persist($vVTDatenkategorie);
+ $entityManager->flush();
+ }
}
- return $this->render('vvt_datenkategorie/index.html.twig', [
- 'vvtdatenkategories' => $vVTDatenkategorieRepository->findByTeam($team),
- ]);
+
+ return $this->redirectToRoute('app_vvtdatenkategorie_index', [], Response::HTTP_SEE_OTHER);
}
- /**
- * @Route("/new", name="app_vvtdatenkategorie_new", methods={"GET", "POST"})
- */
- public function new(Request $request, EntityManagerInterface $entityManager, SecurityService $securityService, VVTDatenkategorieService $vVTDatenkategorieService): Response
+ #[Route(path: '/edit/{id}', name: 'app_vvtdatenkategorie_edit', methods: ['GET', 'POST'])]
+ public function edit(
+ Request $request,
+ VVTDatenkategorie $vVTDatenkategorie,
+ EntityManagerInterface $entityManager,
+ SecurityService $securityService,
+ VVTDatenkategorieService $vVTDatenkategorieService,
+ CurrentTeamService $currentTeamService,
+ ): Response
{
- $user = $this->getUser();
- $team = $user->getTeam();
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
if ($securityService->teamCheck($team) === false) {
- return $this->redirectToRoute('dashboard');
+ return $this->redirectToRoute('app_vvtdatenkategorie_index');
}
- $vVTDatenkategorie = $vVTDatenkategorieService->newVVTDatenkategorie($team, $user);
- $form = $form = $this->createForm(VVTDatenkategorieType::class, $vVTDatenkategorie);
+
+ $newVVTDatenkategorie = $vVTDatenkategorieService->cloneVVTDatenkategorie($vVTDatenkategorie);
+ $form = $vVTDatenkategorieService->createForm($newVVTDatenkategorie, $team);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
+
+ $vVTDatenkategorie->setActiv(false);
$entityManager->persist($vVTDatenkategorie);
+
+ $entityManager->persist($newVVTDatenkategorie);
+
+
+ foreach ($vVTDatenkategorie->getLoeschkonzept() as $loeschkonzept) {
+ $loeschkonzept->addVvtdatenkategory($newVVTDatenkategorie);
+ $entityManager->persist($loeschkonzept);
+ }
+
$entityManager->flush();
return $this->redirectToRoute('app_vvtdatenkategorie_index', [], Response::HTTP_SEE_OTHER);
}
- return $this->renderForm('vvt_datenkategorie/new.html.twig', [
+ return $this->renderForm('vvt_datenkategorie/edit.html.twig', [
'vvtdatenkategorie' => $vVTDatenkategorie,
'form' => $form,
]);
}
- /**
- * @Route("/{id}", name="app_vvtdatenkategorie_show", methods={"GET"})
- */
- public function show(VVTDatenkategorie $vVTDatenkategorie): Response
+ #[Route(path: '/', name: 'app_vvtdatenkategorie_index', methods: ['GET'])]
+ public function index(
+ VVTDatenkategorieRepository $vVTDatenkategorieRepository,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ ): Response
{
-
- return $this->render('vvt_datenkategorie/show.html.twig', [
- 'vvtdatenkategorie' => $vVTDatenkategorie,
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ if ($securityService->teamCheck($team) === false) {
+ return $this->redirectToRoute('dashboard');
+ }
+ return $this->render('vvt_datenkategorie/index.html.twig', [
+ 'vvtdatenkategories' => $vVTDatenkategorieRepository->findByTeam($team),
+ 'currentTeam' => $team,
]);
}
- /**
- * @Route("/{id}/edit", name="app_vvtdatenkategorie_edit", methods={"GET", "POST"})
- */
- public function edit(Request $request, VVTDatenkategorie $vVTDatenkategorie, VVTDatenkategorieRepository $vVTDatenkategorieRepository, EntityManagerInterface $entityManager, SecurityService $securityService, VVTDatenkategorieService $vVTDatenkategorieService): Response
+ #[Route(path: '/new', name: 'app_vvtdatenkategorie_new', methods: ['GET', 'POST'])]
+ public function new(
+ Request $request,
+ EntityManagerInterface $entityManager,
+ SecurityService $securityService,
+ VVTDatenkategorieService $vVTDatenkategorieService,
+ CurrentTeamService $currentTeamService,
+ ): Response
{
- $team = $this->getUser()->getTeam();
+ $user = $this->getUser();
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
if ($securityService->teamCheck($team) === false) {
- return $this->redirectToRoute('app_vvtdatenkategorie_index');
+ return $this->redirectToRoute('dashboard');
}
-
- $newVVTDatenkategorie = $vVTDatenkategorieService->cloneVVTDatenkategorie($vVTDatenkategorie);
- $form = $vVTDatenkategorieService->createForm($newVVTDatenkategorie, $team);
+ $vVTDatenkategorie = $vVTDatenkategorieService->newVVTDatenkategorie($team, $user);
+ $form = $this->createForm(VVTDatenkategorieType::class, $vVTDatenkategorie);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
-
- $vVTDatenkategorie->setActiv(false);
$entityManager->persist($vVTDatenkategorie);
-
- $entityManager->persist($newVVTDatenkategorie);
-
-
- foreach ($vVTDatenkategorie->getLoeschkonzept() as $loeschkonzept) {
- $loeschkonzept->addVvtdatenkategory($newVVTDatenkategorie);
- $entityManager->persist($loeschkonzept);
- }
-
$entityManager->flush();
return $this->redirectToRoute('app_vvtdatenkategorie_index', [], Response::HTTP_SEE_OTHER);
}
- return $this->renderForm('vvt_datenkategorie/edit.html.twig', [
+ return $this->renderForm('vvt_datenkategorie/new.html.twig', [
'vvtdatenkategorie' => $vVTDatenkategorie,
'form' => $form,
]);
}
- /**
- * @Route("/{id}", name="app_vvtdatenkategorie_delete", methods={"POST"})
- */
- public function delete(Request $request, VVTDatenkategorie $vVTDatenkategorie, EntityManagerInterface $entityManager, SecurityService $securityService): Response
+ #[Route(path: '/show/{id}', name: 'app_vvtdatenkategorie_show', methods: ['GET'])]
+ public function show(VVTDatenkategorie $vVTDatenkategorie): Response
{
- $team = $this->getUser()->getAdminUser();
- if ($securityService->teamCheck($team) === true)
- {
- if ($this->isCsrfTokenValid('delete'.$vVTDatenkategorie->getId(), $request->request->get('_token'))) {
-
- $vVTDatenkategorie->setActiv(false);
- $entityManager->persist($vVTDatenkategorie);
- $entityManager->flush();
- }
- }
- return $this->redirectToRoute('app_vvtdatenkategorie_index', [], Response::HTTP_SEE_OTHER);
+ return $this->render('vvt_datenkategorie/show.html.twig', [
+ 'vvtdatenkategorie' => $vVTDatenkategorie,
+ ]);
}
}
diff --git a/src/Controller/VorfallController.php b/src/Controller/VorfallController.php
index e2d48c6f..415060db 100644
--- a/src/Controller/VorfallController.php
+++ b/src/Controller/VorfallController.php
@@ -8,42 +8,40 @@
namespace App\Controller;
-use App\Entity\Vorfall;
+use App\Repository\VorfallRepository;
use App\Service\ApproveService;
use App\Service\AssignService;
+use App\Service\CurrentTeamService;
use App\Service\SecurityService;
use App\Service\VorfallService;
+use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Validator\Validator\ValidatorInterface;
+use Symfony\Contracts\Translation\TranslatorInterface;
class VorfallController extends AbstractController
{
- /**
- * @Route("/vorfall", name="vorfall")
- */
- public function index(SecurityService $securityService)
- {
- $team = $this->getUser()->getTeam();
-
- if ($securityService->teamCheck($team) === false) {
- return $this->redirectToRoute('dashboard');
- }
- $vorfall = $this->getDoctrine()->getRepository(Vorfall::class)->findAllByTeam($team);
- return $this->render('vorfall/index.html.twig', [
- 'vorfall' => $vorfall,
- ]);
+ public function __construct(private readonly TranslatorInterface $translator,
+ private EntityManagerInterface $em,
+ )
+ {
}
- /**
- * @Route("/vorfall/new", name="vorfall_new")
- */
- public function addVorfall(ValidatorInterface $validator, Request $request, SecurityService $securityService, VorfallService $vorfallService)
+ #[Route(path: '/vorfall/new', name: 'vorfall_new')]
+ public function addVorfall(
+ ValidatorInterface $validator,
+ Request $request,
+ SecurityService $securityService,
+ VorfallService $vorfallService,
+ CurrentTeamService $currentTeamService,
+ ): Response
{
- $team = $this->getUser()->getTeam();
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
if ($securityService->teamCheck($team) === false) {
return $this->redirectToRoute('dashboard');
}
@@ -58,28 +56,55 @@ public function addVorfall(ValidatorInterface $validator, Request $request, Secu
$data = $form->getData();
$errors = $validator->validate($data);
if (count($errors) == 0) {
- $em = $this->getDoctrine()->getManager();
- $em->persist($data);
- $em->flush();
+ $this->em->persist($data);
+ $this->em->flush();
return $this->redirectToRoute('vorfall');
}
}
return $this->render('vorfall/new.html.twig', [
'form' => $form->createView(),
'errors' => $errors,
- 'title' => 'Datenschutzvorfall eintragen',
+ 'title' => $this->translator->trans(id: 'incident.register', domain: 'vorfall'),
'vorfall' => $vorfall,
'activ' => $vorfall->getActiv()
]);
}
- /**
- * @Route("/vorfall/edit", name="vorfall_edit")
- */
- public function EditVorfall(ValidatorInterface $validator, Request $request, SecurityService $securityService, VorfallService $vorfallService, AssignService $assignService)
+ #[Route(path: '/vorfall/approve', name: 'vorfall_approve')]
+ public function approve(
+ Request $request,
+ SecurityService $securityService,
+ ApproveService $approveService,
+ CurrentTeamService $currentTeamService,
+ VorfallRepository $incidentRepository,
+ ): Response
+ {
+ $user = $this->getUser();
+ $team = $currentTeamService->getTeamFromSession($user);
+ $vorfall = $incidentRepository->find($request->get('id'));
+
+ if ($securityService->teamDataCheck($vorfall, $team) && $securityService->adminCheck($user, $team)) {
+ $approve = $approveService->approve($vorfall, $user);
+ return $this->redirectToRoute('vorfall_edit', ['id' => $approve['data'], 'snack' => $approve['snack']]);
+ }
+
+ // if security check fails
+ return $this->redirectToRoute('vvt');
+ }
+
+ #[Route(path: '/vorfall/edit', name: 'vorfall_edit')]
+ public function editVorfall(
+ ValidatorInterface $validator,
+ Request $request,
+ SecurityService $securityService,
+ VorfallService $vorfallService,
+ AssignService $assignService,
+ CurrentTeamService $currentTeamService,
+ VorfallRepository $incidentRepository,
+ ): Response
{
- $team = $this->getUser()->getTeam();
- $vorgang = $this->getDoctrine()->getRepository(Vorfall::class)->find($request->get('id'));
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ $vorgang = $incidentRepository->find($request->get('id'));
if ($securityService->teamDataCheck($vorgang, $team) === false) {
return $this->redirectToRoute('vorfall');
@@ -97,38 +122,47 @@ public function EditVorfall(ValidatorInterface $validator, Request $request, Sec
$newVorgang = $form->getData();
$errors = $validator->validate($newVorgang);
if (count($errors) == 0) {
-
- $em = $this->getDoctrine()->getManager();
- $em->persist($newVorgang);
- $em->persist($vorgang);
- $em->flush();
- return $this->redirectToRoute('vorfall_edit', ['id' => $newVorgang->getId(), 'snack' => 'Erfolgreich gespeichert']);
+ $this->em->persist($newVorgang);
+ $this->em->persist($vorgang);
+ $this->em->flush();
+ return $this->redirectToRoute(
+ 'vorfall_edit',
+ [
+ 'id' => $newVorgang->getId(),
+ 'snack' => $this->translator->trans(id: 'save.successful', domain: 'general'),
+ ],
+ );
}
}
return $this->render('vorfall/edit.html.twig', [
'form' => $form->createView(),
'assignForm' => $assign->createView(),
'errors' => $errors,
- 'title' => 'Datenschutzvorfall bearbeiten',
+ 'title' => $this->translator->trans(id: 'incident.edit', domain: 'vorfall'),
'vorfall' => $vorgang,
'activ' => $vorgang->getActiv(),
'snack' => $request->get('snack')
]);
}
- /**
- * @Route("/vorfall/approve", name="vorfall_approve")
- */
- public function approve(Request $request, SecurityService $securityService, ApproveService $approveService)
+ #[Route(path: '/vorfall', name: 'vorfall')]
+ public function index(
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ VorfallRepository $incidentRepository,
+ ): Response
{
- $team = $this->getUser()->getAdminUser();
- $vorfall = $this->getDoctrine()->getRepository(Vorfall::class)->find($request->get('id'));
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
- if ($securityService->teamDataCheck($vorfall, $team) === false) {
- return $this->redirectToRoute('vvt');
+ if ($securityService->teamCheck($team) === false) {
+ return $this->redirectToRoute('dashboard');
}
- $approve = $approveService->approve($vorfall, $this->getUser());
- return $this->redirectToRoute('vorfall_edit', ['id' => $approve['data'], 'snack' => $approve['snack']]);
+ $vorfall = $incidentRepository->findAllByTeam($team);
+
+ return $this->render('vorfall/index.html.twig', [
+ 'vorfall' => $vorfall,
+ 'currentTeam' => $team,
+ ]);
}
}
diff --git a/src/Controller/VvtController.php b/src/Controller/VvtController.php
index 8a8c504c..8508cfdc 100644
--- a/src/Controller/VvtController.php
+++ b/src/Controller/VvtController.php
@@ -8,46 +8,45 @@
namespace App\Controller;
-use App\Entity\VVT;
-use App\Entity\VVTDsfa;
use App\Form\Type\VvtDsfaType;
+use App\Repository\VVTDsfaRepository;
+use App\Repository\VVTRepository;
use App\Service\ApproveService;
use App\Service\AssignService;
+use App\Service\CurrentTeamService;
use App\Service\DisableService;
use App\Service\SecurityService;
use App\Service\VVTDatenkategorieService;
use App\Service\VVTService;
+use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Validator\Validator\ValidatorInterface;
+use Symfony\Contracts\Translation\TranslatorInterface;
class VvtController extends AbstractController
{
- /**
- * @Route("/vvt", name="vvt")
- */
- public function index(SecurityService $securityService, Request $request)
- {
- $team = $this->getUser()->getTeam();
- if ($securityService->teamCheck($team) === false) {
- return $this->redirectToRoute('dashboard');
- }
- $vvt = $this->getDoctrine()->getRepository(VVT::class)->findActivByTeam($team);
- return $this->render('vvt/index.html.twig', [
- 'vvt' => $vvt,
- 'snack' => $request->get('snack')
- ]);
+ public function __construct(private readonly TranslatorInterface $translator,
+ private EntityManagerInterface $em,
+ )
+ {
}
- /**
- * @Route("/vvt/new", name="vvt_new")
- */
- public function addVvt(ValidatorInterface $validator, Request $request, VVTService $VVTService, SecurityService $securityService, VVTDatenkategorieService $VVTDatenkategorieService)
+ #[Route(path: '/vvt/new', name: 'vvt_new')]
+ public function addVvt(
+ ValidatorInterface $validator,
+ Request $request,
+ VVTService $VVTService,
+ SecurityService $securityService,
+ VVTDatenkategorieService $VVTDatenkategorieService,
+ CurrentTeamService $currentTeamService,
+ ): Response
{
- $team = $this->getUser()->getTeam();
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
if ($securityService->teamCheck($team) === false) {
return $this->redirectToRoute('vvt');
@@ -63,23 +62,26 @@ public function addVvt(ValidatorInterface $validator, Request $request, VVTServi
$vvt = $form->getData();
$errors = $validator->validate($vvt);
if (count($errors) == 0) {
- $em = $this->getDoctrine()->getManager();
-
- foreach ($vvt->getKategorien() as $kategorie){
- $tmp= $VVTDatenkategorieService->createChild($kategorie);
+ foreach ($vvt->getKategorien() as $kategorie) {
+ $tmp = $VVTDatenkategorieService->createChild($kategorie);
$vvt->removeKategorien($kategorie);
$vvt->addKategorien($tmp);
}
- $em->persist($vvt);
- $em->flush();
- return $this->redirectToRoute('vvt', ['snack' => 'Erfolgreich angelegt']);
+ $this->em->persist($vvt);
+ $this->em->flush();
+ return $this->redirectToRoute(
+ 'vvt',
+ [
+ 'snack' => $this->translator->trans(id: 'save.successful', domain: 'general'),
+ ],
+ );
}
}
return $this->render('vvt/new.html.twig', [
'form' => $form->createView(),
'errors' => $errors,
- 'title' => 'Verarbeitung erfassen',
+ 'title' => $this->translator->trans(id: 'processing.track', domain: 'vvt'),
'activNummer' => true,
'vvt' => $vvt,
'activ' => $vvt->getActiv(),
@@ -87,21 +89,144 @@ public function addVvt(ValidatorInterface $validator, Request $request, VVTServi
]);
}
+ #[Route(path: '/vvt/approve', name: 'vvt_approve')]
+ public function approveVvt(
+ Request $request,
+ SecurityService $securityService,
+ ApproveService $approveService,
+ CurrentTeamService $currentTeamService,
+ VVTRepository $vvtRepository,
+ ): Response
+ {
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ $vvt = $vvtRepository->find($request->get('id'));
+
+ if ($securityService->teamDataCheck($vvt, $team) === false) {
+ return $this->redirectToRoute('vvt');
+ }
+ $approve = $approveService->approve($vvt, $this->getUser());
+ if ($approve['clone'] === true) {
+ $newVvt = $vvtRepository->find($approve['data']);
+
+ if ($vvt->getActivDsfa()) {
+ $dsfa = $vvt->getActivDsfa();
+ $newDsfa = clone $dsfa;
+ $newDsfa->setVvt($newVvt);
+ $newDsfa->setPrevious(null);
+ $this->em->persist($newDsfa);
+ }
+ foreach ($vvt->getPolicies() as $item) {
+ $item->addProcess($newVvt);
+ $this->em->persist($item);
+ }
+ foreach ($vvt->getSoftware() as $software) {
+ $software->addVvt($newVvt);
+ $this->em->persist($software);
+ }
+
+ $this->em->persist($newVvt);
+ $this->em->flush();
+ }
+
+ return $this->redirectToRoute('vvt_edit', ['id' => $approve['data'], 'snack' => $approve['snack']]);
+
+ }
- /**
- * @Route("/vvt/edit", name="vvt_edit")
- */
- public function editVvt(ValidatorInterface $validator, Request $request, VVTService $VVTService, SecurityService $securityService, AssignService $assignService, VVTDatenkategorieService $VVTDatenkategorieService)
+ #[Route(path: '/vvt/clone', name: 'vvt_clone')]
+ public function cloneVvt(
+ Request $request,
+ SecurityService $securityService,
+ VVTService $VVTService,
+ ValidatorInterface $validator,
+ CurrentTeamService $currentTeamService,
+ VVTRepository $vvtRepository,
+ ): Response
{
- $team = $this->getUser()->getTeam();
- $vvt = $this->getDoctrine()->getRepository(VVT::class)->find($request->get('id'));
+ $vvt = $vvtRepository->find($request->get('id'));
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
if ($securityService->teamDataCheck($vvt, $team) === false) {
return $this->redirectToRoute('vvt');
}
+
$newVvt = $VVTService->cloneVvt($vvt, $this->getUser());
+ $newVvt->setPrevious(null);
+ $newVvt->setApproved(null);
+ $newVvt->setApprovedBy(null);
- foreach ($vvt->getKategorien() as $cloneKat){//hier haben wir die geklonten KAtegorien
+ foreach ($newVvt->getDsfa() as $dsfa) {
+ $newVvt->removeDsfa($dsfa);
+ }
+ foreach ($newVvt->getPolicies() as $policy) {
+ $newVvt->removePolicy($policy);
+ }
+
+ $form = $VVTService->createForm($newVvt, $team);
+ $form->handleRequest($request);
+
+ $errors = array();
+ if ($form->isSubmitted() && $form->isValid()) {
+ $vvt = $form->getData();
+ $errors = $validator->validate($vvt);
+ if (count($errors) == 0) {
+ $this->em->persist($vvt);
+ $this->em->flush();
+
+ return $this->redirectToRoute('vvt');
+ }
+ }
+ return $this->render('vvt/new.html.twig', [
+ 'form' => $form->createView(),
+ 'errors' => $errors,
+ 'title' => $this->translator->trans(id: 'processing.track', domain: 'vvt'),
+ 'activNummer' => true,
+ 'vvt' => $newVvt,
+ 'activ' => $newVvt->getActiv(),
+ 'CTA' => false,
+ ]);
+ }
+
+ #[Route(path: '/vvt/disable', name: 'vvt_disable')]
+ public function disableVvt(
+ Request $request,
+ SecurityService $securityService,
+ DisableService $disableService,
+ CurrentTeamService $currentTeamService,
+ VVTRepository $vvtRepository,
+ ): Response
+ {
+ $user = $this->getUser();
+ $team = $currentTeamService->getTeamFromSession($user);
+ $vvt = $vvtRepository->find($request->get('id'));
+
+ if ($securityService->teamDataCheck($vvt, $team) && $securityService->adminCheck($user, $team) && !$vvt->getApproved()) {
+ $disableService->disable($vvt, $user);
+ }
+
+ return $this->redirectToRoute('vvt');
+ }
+
+ #[Route(path: '/vvt/edit', name: 'vvt_edit')]
+ public function editVvt(
+ ValidatorInterface $validator,
+ Request $request,
+ VVTService $VVTService,
+ SecurityService $securityService,
+ AssignService $assignService,
+ VVTDatenkategorieService $VVTDatenkategorieService,
+ CurrentTeamService $currentTeamService,
+ VVTRepository $vvtRepository,
+ ): Response
+ {
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ $vvt = $vvtRepository->find($request->get('id'));
+
+ if ($securityService->teamDataCheck($vvt, $team) === false) {
+ return $this->redirectToRoute('vvt');
+ }
+ $newVvt = $VVTService->cloneVvt($vvt, $this->getUser());
+
+ foreach ($vvt->getKategorien() as $cloneKat) {//hier haben wir die geklonten KAtegorien
$newVvt->addKategorien($VVTDatenkategorieService->findLatestKategorie($cloneKat->getCloneOf()));//wir hängen die neueste gültige Datenkategorie an den VVT clone an.
}
@@ -112,41 +237,45 @@ public function editVvt(ValidatorInterface $validator, Request $request, VVTServ
$errors = array();
if ($form->isSubmitted() && $form->isValid() && $vvt->getActiv() && !$vvt->getApproved()) {
-
- $em = $this->getDoctrine()->getManager();
$vvt->setActiv(false);
$newVvt = $form->getData();
$errors = $validator->validate($newVvt);
if (count($errors) == 0) {
- foreach ($newVvt->getKategorien() as $kategorie){ // wir haben die fiktiven neuesten Kategories
- $tmp= $VVTDatenkategorieService->createChild($kategorie);//wir klonen die kategorie damit diese revisionssicher ist
+ foreach ($newVvt->getKategorien() as $kategorie) { // wir haben die fiktiven neuesten Kategories
+ $tmp = $VVTDatenkategorieService->createChild($kategorie);//wir klonen die kategorie damit diese revisionssicher ist
$newVvt->removeKategorien($kategorie);//wir entferenen die fiktive neues kategorie
$newVvt->addKategorien($tmp);//wir fügen die geklonte kategorie an
}
-
+
if ($vvt->getActivDsfa()) {
$dsfa = $vvt->getActivDsfa();
$newDsfa = clone $dsfa;
$newDsfa->setVvt($newVvt);
$newDsfa->setPrevious(null);
- $em->persist($newDsfa);
+ $this->em->persist($newDsfa);
}
foreach ($vvt->getPolicies() as $item) {
$item->addProcess($newVvt);
- $em->persist($item);
+ $this->em->persist($item);
}
foreach ($vvt->getSoftware() as $software) {
$software->addVvt($newVvt);
- $em->persist($software);
+ $this->em->persist($software);
}
- $em->persist($newVvt);
- $em->persist($vvt);
- $em->flush();
- return $this->redirectToRoute('vvt_edit', ['id' => $newVvt->getId(), 'snack' => 'Erfolgreich gespeichert']);
+ $this->em->persist($newVvt);
+ $this->em->persist($vvt);
+ $this->em->flush();
+ return $this->redirectToRoute(
+ 'vvt_edit',
+ [
+ 'id' => $newVvt->getId(),
+ 'snack' => $this->translator->trans(id: 'save.successful', domain: 'general'),
+ ],
+ );
}
}
@@ -154,7 +283,7 @@ public function editVvt(ValidatorInterface $validator, Request $request, VVTServ
'form' => $form->createView(),
'assignForm' => $assign->createView(),
'errors' => $errors,
- 'title' => 'Verarbeitung bearbeiten',
+ 'title' => $this->translator->trans(id: 'processing.edit', domain: 'vvt'),
'vvt' => $vvt,
'activ' => $vvt->getActiv(),
'activNummer' => false,
@@ -162,51 +291,19 @@ public function editVvt(ValidatorInterface $validator, Request $request, VVTServ
]);
}
-
- /**
- * @Route("/vvt/dsfa/new", name="vvt_dsfa_new")
- */
- public function newVvtDsfa(ValidatorInterface $validator, Request $request, VVTService $VVTService, SecurityService $securityService)
+ #[Route(path: '/vvt/dsfa/edit', name: 'vvt_dsfa_edit')]
+ public function editVvtDsfa(
+ ValidatorInterface $validator,
+ Request $request,
+ VVTService $VVTService,
+ SecurityService $securityService,
+ AssignService $assignService,
+ CurrentTeamService $currentTeamService,
+ VVTDsfaRepository $vvtDsfaRepository,
+ ): Response
{
- $team = $this->getUser()->getTeam();
- $vvt = $this->getDoctrine()->getRepository(VVT::class)->find($request->get('vvt'));
-
- if ($securityService->teamDataCheck($vvt, $team) === false) {
- return $this->redirectToRoute('vvt');
- }
-
- $dsfa = $VVTService->newDsfa($team, $this->getUser(), $vvt);
-
- $form = $this->createForm(VvtDsfaType::class, $dsfa);
- $form->handleRequest($request);
-
- $errors = array();
- if ($form->isSubmitted() && $form->isValid()) {
- $dsfa = $form->getData();
- $errors = $validator->validate($dsfa);
- if (count($errors) == 0) {
- $em = $this->getDoctrine()->getManager();
- $em->persist($dsfa);
- $em->flush();
- return $this->redirectToRoute('vvt_edit', ['id' => $dsfa->getVvt()->getId(), 'snack' => 'DSFA angelegt']);
- }
- }
- return $this->render('vvt/editDsfa.html.twig', [
- 'form' => $form->createView(),
- 'errors' => $errors,
- 'title' => 'Datenschutzfolgeabschätzung erstellen',
- 'dsfa' => $dsfa,
- 'activ' => $dsfa->getActiv(),
- ]);
- }
-
- /**
- * @Route("/vvt/dsfa/edit", name="vvt_dsfa_edit")
- */
- public function editVvtDsfa(ValidatorInterface $validator, Request $request, VVTService $VVTService, SecurityService $securityService, AssignService $assignService)
- {
- $team = $this->getUser()->getTeam();
- $dsfa = $this->getDoctrine()->getRepository(VVTDsfa::class)->find($request->get('dsfa'));
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ $dsfa = $vvtDsfaRepository->find($request->get('dsfa'));
if ($securityService->teamDataCheck($dsfa->getVvt(), $team) === false) {
return $this->redirectToRoute('vvt');
@@ -225,11 +322,17 @@ public function editVvtDsfa(ValidatorInterface $validator, Request $request, VVT
$newDsfa = $form->getData();
$errors = $validator->validate($newDsfa);
if (count($errors) == 0) {
- $em = $this->getDoctrine()->getManager();
- $em->persist($newDsfa);
- $em->persist($dsfa);
- $em->flush();
- return $this->redirectToRoute('vvt_dsfa_edit', ['dsfa' => $newDsfa->getId(), 'snack' => 'Erfolgreich gepeichert']);
+ $this->em->persist($newDsfa);
+ $this->em->persist($dsfa);
+ $this->em->flush();
+
+ return $this->redirectToRoute(
+ 'vvt_dsfa_edit',
+ [
+ 'dsfa' => $newDsfa->getId(),
+ 'snack' => $this->translator->trans(id: 'save.successful', domain: 'general'),
+ ],
+ );
}
}
@@ -237,114 +340,78 @@ public function editVvtDsfa(ValidatorInterface $validator, Request $request, VVT
'form' => $form->createView(),
'assignForm' => $assign->createView(),
'errors' => $errors,
- 'title' => 'Datenschutzfolgeabschätzung bearbeiten',
+ 'title' => $this->translator->trans(id: 'dataPrivacyFollowUpEstimation.edit', domain: 'vvt'),
'dsfa' => $dsfa,
'activ' => $dsfa->getActiv(),
'snack' => $request->get('snack')
]);
}
- /**
- * @Route("/vvt/approve", name="vvt_approve")
- */
- public function approveVvt(Request $request, SecurityService $securityService, ApproveService $approveService)
+ #[Route(path: '/vvt', name: 'vvt')]
+ public function index(
+ SecurityService $securityService,
+ Request $request,
+ CurrentTeamService $currentTeamService,
+ VVTRepository $vvtRepository,
+ ): Response
{
- $team = $this->getUser()->getAdminUser();
- $vvt = $this->getDoctrine()->getRepository(VVT::class)->find($request->get('id'));
-
- if ($securityService->teamDataCheck($vvt, $team) === false) {
- return $this->redirectToRoute('vvt');
- }
- $approve = $approveService->approve($vvt, $this->getUser());
- if ($approve['clone'] === true) {
- $newVvt = $this->getDoctrine()->getRepository(VVT::class)->find($approve['data']);
-
- $em = $this->getDoctrine()->getManager();
- if ($vvt->getActivDsfa()) {
- $dsfa = $vvt->getActivDsfa();
- $newDsfa = clone $dsfa;
- $newDsfa->setVvt($newVvt);
- $newDsfa->setPrevious(null);
- $em->persist($newDsfa);
- }
- foreach ($vvt->getPolicies() as $item) {
- $item->addProcess($newVvt);
- $em->persist($item);
- }
- foreach ($vvt->getSoftware() as $software) {
- $software->addVvt($newVvt);
- $em->persist($software);
- }
-
- $em->persist($newVvt);
- $em->flush();
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ if ($securityService->teamCheck($team) === false) {
+ return $this->redirectToRoute('dashboard');
}
+ $vvt = $vvtRepository->findActiveByTeam($team);
- return $this->redirectToRoute('vvt_edit', ['id' => $approve['data'], 'snack' => $approve['snack']]);
-
+ return $this->render('vvt/index.html.twig', [
+ 'vvt' => $vvt,
+ 'snack' => $request->get('snack'),
+ 'currentTeam' => $team,
+ ]);
}
- /**
- * @Route("/vvt/clone", name="vvt_clone")
- */
- public function cloneVvt(Request $request, SecurityService $securityService, VVTService $VVTService, ValidatorInterface $validator)
+ #[Route(path: '/vvt/dsfa/new', name: 'vvt_dsfa_new')]
+ public function newVvtDsfa(
+ ValidatorInterface $validator,
+ Request $request,
+ VVTService $VVTService,
+ SecurityService $securityService,
+ CurrentTeamService $currentTeamService,
+ VVTRepository $vvtRepository,
+ ): Response
{
- $vvt = $this->getDoctrine()->getRepository(VVT::class)->find($request->get('id'));
- $team = $this->getUser()->getTeam();
+ $team = $currentTeamService->getTeamFromSession($this->getUser());
+ $vvt = $vvtRepository->find($request->get('vvt'));
if ($securityService->teamDataCheck($vvt, $team) === false) {
return $this->redirectToRoute('vvt');
}
- $newVvt = $VVTService->cloneVvt($vvt, $this->getUser());
- $newVvt->setPrevious(null);
- $newVvt->setApproved(null);
- $newVvt->setApprovedBy(null);
-
- foreach ($newVvt->getDsfa() as $dsfa) {
- $newVvt->removeDsfa($dsfa);
- }
- foreach ($newVvt->getPolicies() as $policy) {
- $newVvt->removePolicy($policy);
- }
+ $dsfa = $VVTService->newDsfa($team, $this->getUser(), $vvt);
- $form = $VVTService->createForm($newVvt, $team);
+ $form = $this->createForm(VvtDsfaType::class, $dsfa);
$form->handleRequest($request);
$errors = array();
if ($form->isSubmitted() && $form->isValid()) {
- $vvt = $form->getData();
- $errors = $validator->validate($vvt);
+ $dsfa = $form->getData();
+ $errors = $validator->validate($dsfa);
if (count($errors) == 0) {
- $em = $this->getDoctrine()->getManager();
- $em->persist($vvt);
- $em->flush();
- return $this->redirectToRoute('vvt');
+ $this->em->persist($dsfa);
+ $this->em->flush();
+ return $this->redirectToRoute(
+ 'vvt_edit',
+ [
+ 'id' => $dsfa->getVvt()->getId(),
+ 'snack' => $this->translator->trans(id: 'dsfa.created', domain: 'vvt'),
+ ],
+ );
}
}
- return $this->render('vvt/new.html.twig', [
+ return $this->render('vvt/editDsfa.html.twig', [
'form' => $form->createView(),
'errors' => $errors,
- 'title' => 'Verarbeitung erfassen',
- 'activNummer' => true,
- 'vvt' => $newVvt,
- 'activ' => $newVvt->getActiv(),
- 'CTA' => false,
+ 'title' => $this->translator->trans(id: 'dataPrivacyFollowUpEstimation.create', domain: 'vvt'),
+ 'dsfa' => $dsfa,
+ 'activ' => $dsfa->getActiv(),
]);
}
-
- /**
- * @Route("/vvt/disable", name="vvt_disable")
- */
- public function disableVvt(Request $request, SecurityService $securityService, DisableService $disableService)
- {
- $team = $this->getUser()->getAdminUser();
- $vvt = $this->getDoctrine()->getRepository(VVT::class)->find($request->get('id'));
-
- if ($securityService->teamDataCheck($vvt, $team) === true && !$vvt->getApproved()) {
- $disableService->disable($vvt, $this->getUser());
- }
-
- return $this->redirectToRoute('vvt');
- }
}
diff --git a/src/DataTypes/ParticipationStateTypes.php b/src/DataTypes/ParticipationStateTypes.php
new file mode 100644
index 00000000..ef5a0ce4
--- /dev/null
+++ b/src/DataTypes/ParticipationStateTypes.php
@@ -0,0 +1,11 @@
+participations = new ArrayCollection();
+ }
public function getId(): ?int
{
@@ -196,4 +178,34 @@ public function setInvitation(bool $invitation): self
return $this;
}
+
+ /**
+ * @return Collection
+ */
+ public function getParticipations(): Collection
+ {
+ return $this->participations;
+ }
+
+ public function addParticipation(Participation $participation): self
+ {
+ if (!$this->participations->contains($participation)) {
+ $this->participations->add($participation);
+ $participation->setAcademyBilling($this);
+ }
+
+ return $this;
+ }
+
+ public function removeParticipation(Participation $participation): self
+ {
+ if ($this->participations->removeElement($participation)) {
+ // set the owning side to null (unless already changed)
+ if ($participation->getAcademyBilling() === $this) {
+ $participation->setAcademyBilling(null);
+ }
+ }
+
+ return $this;
+ }
}
diff --git a/src/Entity/AkademieKurse.php b/src/Entity/AkademieKurse.php
index 722f63fe..1f7ae321 100644
--- a/src/Entity/AkademieKurse.php
+++ b/src/Entity/AkademieKurse.php
@@ -8,67 +8,49 @@
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
-/**
- * @ORM\Entity(repositoryClass=AkademieKurseRepository::class)
- */
+#[ORM\Entity(repositoryClass: AkademieKurseRepository::class)]
class AkademieKurse
{
- /**
- * @ORM\Id()
- * @ORM\GeneratedValue()
- * @ORM\Column(type="integer")
- */
+ #[ORM\Id]
+ #[ORM\GeneratedValue]
+ #[ORM\Column(type: 'integer')]
private $id;
- /**
- * @ORM\Column(type="datetime")
- */
+ #[ORM\Column(type: 'datetime')]
private $createdAt;
- /**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $video;
- /**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $title;
- /**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $beschreibung;
- /**
- * @ORM\ManyToMany(targetEntity=Team::class, inversedBy="kurse")
- */
+ #[ORM\ManyToMany(targetEntity: Team::class, inversedBy: 'kurse')]
private $team;
- /**
- * @ORM\OneToMany(targetEntity=AkademieBuchungen::class, mappedBy="kurs")
- */
+ #[ORM\OneToMany(targetEntity: AkademieBuchungen::class, mappedBy: 'kurs')]
private $buchungen;
- /**
- * @ORM\Column(type="boolean", nullable=true)
- */
+ #[ORM\Column(type: 'boolean', nullable: true)]
private $activ;
- /**
- * @ORM\ManyToOne(targetEntity=User::class, inversedBy="akademieKurses")
- * @ORM\JoinColumn(nullable=false)
- */
+ #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'akademieKurses')]
+ #[ORM\JoinColumn(nullable: false)]
private $user;
- /**
- * @ORM\Column(type="integer")
- */
+ #[ORM\Column(type: 'integer')]
private $type;
+ #[ORM\ManyToOne(targetEntity: Questionnaire::class, inversedBy: 'academyLessons')]
+ #[ORM\JoinColumn(nullable: true)]
+ private ?Questionnaire $questionnaire;
+
public function __construct()
{
$this->team = new ArrayCollection();
@@ -220,4 +202,16 @@ public function setType(int $type): self
return $this;
}
+
+ public function getQuestionnaire(): ?Questionnaire
+ {
+ return $this->questionnaire;
+ }
+
+ public function setQuestionnaire(Questionnaire $questionnaire): self
+ {
+ $this->questionnaire = $questionnaire;
+
+ return $this;
+ }
}
diff --git a/src/Entity/Answer.php b/src/Entity/Answer.php
new file mode 100644
index 00000000..e5005a00
--- /dev/null
+++ b/src/Entity/Answer.php
@@ -0,0 +1,99 @@
+participationAnswers = new ArrayCollection();
+ }
+
+ public function getLabel(): string
+ {
+ return $this->label;
+ }
+
+ public function setLabel(string $label): self
+ {
+ $this->label = $label;
+ return $this;
+ }
+
+ public function isCorrect(): bool
+ {
+ return $this->isCorrect;
+ }
+
+ public function setIsCorrect(bool $isCorrect): self
+ {
+ $this->isCorrect = $isCorrect;
+
+ return $this;
+ }
+
+ public function getQuestion(): Question
+ {
+ return $this->question;
+ }
+
+ public function setQuestion(?Question $question): self
+ {
+ $this->question = $question;
+
+ return $this;
+ }
+
+ /**
+ * @return Collection
+ */
+ public function getParticipationAnswers(): Collection
+ {
+ return $this->participationAnswers;
+ }
+
+ public function addParticipationAnswer(ParticipationAnswer $participationAnswer): self
+ {
+ if (!$this->participationAnswers->contains($participationAnswer)) {
+ $this->participationAnswers->add($participationAnswer);
+ $participationAnswer->setAnswer($this);
+ }
+
+ return $this;
+ }
+
+ public function removeParticipationAnswer(ParticipationAnswer $participationAnswer): self
+ {
+ if ($this->participationAnswers->removeElement($participationAnswer)) {
+ // set the owning side to null (unless already changed)
+ if ($participationAnswer->getAnswer() === $this) {
+ $participationAnswer->setAnswer(null);
+ }
+ }
+
+ return $this;
+ }
+}
\ No newline at end of file
diff --git a/src/Entity/AuditTom.php b/src/Entity/AuditTom.php
index 9d31877f..8119aa04 100644
--- a/src/Entity/AuditTom.php
+++ b/src/Entity/AuditTom.php
@@ -9,115 +9,91 @@
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
-/**
- * @ORM\Entity(repositoryClass=AuditTomRepository::class)
- */
+#[ORM\Entity(repositoryClass: AuditTomRepository::class)]
class AuditTom
{
- /**
- * @ORM\Id()
- * @ORM\GeneratedValue()
- * @ORM\Column(type="integer")
- */
+ #[ORM\Id]
+ #[ORM\GeneratedValue]
+ #[ORM\Column(type: 'integer')]
private $id;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $frage;
/**
- * @ORM\Column(type="text")
* @Encrypted()
- * @Assert\NotBlank()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $bemerkung;
/**
- * @ORM\Column(type="text")
* @Encrypted()
- * @Assert\NotBlank()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $empfehlung;
- /**
- * @ORM\ManyToMany(targetEntity=AuditTomZiele::class)
- * @Assert\NotBlank()
- */
+ #[ORM\ManyToMany(targetEntity: AuditTomZiele::class)]
+ #[Assert\NotBlank]
private $ziele;
- /**
- * @ORM\ManyToOne(targetEntity=Team::class, inversedBy="auditToms")
- * @ORM\JoinColumn(nullable=false)
- * @Assert\NotBlank()
- */
+ #[ORM\ManyToOne(targetEntity: Team::class, inversedBy: 'auditToms')]
+ #[ORM\JoinColumn(nullable: false)]
+ #[Assert\NotBlank]
private $team;
- /**
- * @ORM\ManyToMany(targetEntity=AuditTomAbteilung::class)
- * @Assert\NotBlank()
- */
+ #[ORM\ManyToMany(targetEntity: AuditTomAbteilung::class)]
+ #[Assert\NotBlank]
private $abteilung;
- /**
- * @ORM\ManyToOne(targetEntity=AuditTomStatus::class, inversedBy="auditToms")
- * @ORM\JoinColumn(nullable=true)
- * @Assert\NotBlank()
- */
+ #[ORM\ManyToOne(targetEntity: AuditTomStatus::class, inversedBy: 'auditToms')]
+ #[ORM\JoinColumn(nullable: true)]
+ #[Assert\NotBlank]
private $status;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $activ;
- /**
- * @ORM\OneToOne(targetEntity=AuditTom::class, cascade={"persist", "remove"})
- */
+ #[ORM\OneToOne(targetEntity: AuditTom::class, cascade: ['persist', 'remove'])]
private $previous;
- /**
- * @ORM\Column(type="datetime")
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'datetime')]
+ #[Assert\NotBlank]
private $createdAt;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $nummer;
- /**
- * @ORM\ManyToOne(targetEntity=User::class, inversedBy="auditToms")
- * @ORM\JoinColumn(nullable=false)
- */
+ #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'auditToms')]
+ #[ORM\JoinColumn(nullable: false)]
private $user;
/**
- * @ORM\Column(type="text", nullable=true)
* @Encrypted()
*/
+ #[ORM\Column(type: 'text', nullable: true)]
private $tomAttribut;
- /**
- * @ORM\Column(type="integer", nullable=true)
- */
+ #[ORM\Column(type: 'integer', nullable: true)]
private $tomZiel;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $kategorie;
- /**
- * @ORM\ManyToOne(targetEntity=User::class, inversedBy="assignedAudits")
- */
+ #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'assignedAudits')]
private $assignedUser;
public function __construct()
diff --git a/src/Entity/AuditTomAbteilung.php b/src/Entity/AuditTomAbteilung.php
index 9319ed84..20d3afc6 100644
--- a/src/Entity/AuditTomAbteilung.php
+++ b/src/Entity/AuditTomAbteilung.php
@@ -7,37 +7,25 @@
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
-/**
- * @ORM\Entity(repositoryClass=AuditTomAbteilungRepository::class)
- */
+#[ORM\Entity(repositoryClass: AuditTomAbteilungRepository::class)]
class AuditTomAbteilung
{
- /**
- * @ORM\Id()
- * @ORM\GeneratedValue()
- * @ORM\Column(type="integer")
- */
+ #[ORM\Id]
+ #[ORM\GeneratedValue]
+ #[ORM\Column(type: 'integer')]
private $id;
- /**
- * @ORM\Column(type="text")
- */
+ #[ORM\Column(type: 'text')]
private $name;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $activ;
- /**
- * @ORM\ManyToOne(targetEntity=Team::class, inversedBy="abteilungen")
- * @ORM\JoinColumn(nullable=false)
- */
+ #[ORM\ManyToOne(targetEntity: Team::class, inversedBy: 'abteilungen')]
+ #[ORM\JoinColumn(nullable: false)]
private $team;
- /**
- * @ORM\OneToMany(targetEntity=VVT::class, mappedBy="abteilung")
- */
+ #[ORM\OneToMany(targetEntity: VVT::class, mappedBy: 'abteilung')]
private $vVTs;
public function __construct()
diff --git a/src/Entity/AuditTomStatus.php b/src/Entity/AuditTomStatus.php
index 721c899e..b84b82b5 100644
--- a/src/Entity/AuditTomStatus.php
+++ b/src/Entity/AuditTomStatus.php
@@ -7,31 +7,21 @@
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
-/**
- * @ORM\Entity(repositoryClass=AuditTomStatusRepository::class)
- */
+#[ORM\Entity(repositoryClass: AuditTomStatusRepository::class)]
class AuditTomStatus
{
- /**
- * @ORM\Id()
- * @ORM\GeneratedValue()
- * @ORM\Column(type="integer")
- */
+ #[ORM\Id]
+ #[ORM\GeneratedValue]
+ #[ORM\Column(type: 'integer')]
private $id;
- /**
- * @ORM\Column(type="text")
- */
+ #[ORM\Column(type: 'text')]
private $name;
- /**
- * @ORM\Column(type="text")
- */
+ #[ORM\Column(type: 'text')]
private $color;
- /**
- * @ORM\OneToMany(targetEntity=AuditTom::class, mappedBy="status")
- */
+ #[ORM\OneToMany(targetEntity: AuditTom::class, mappedBy: 'status')]
private $auditToms;
public function __construct()
diff --git a/src/Entity/AuditTomZiele.php b/src/Entity/AuditTomZiele.php
index a29da0a4..b9f52353 100644
--- a/src/Entity/AuditTomZiele.php
+++ b/src/Entity/AuditTomZiele.php
@@ -5,32 +5,22 @@
use App\Repository\AuditTomZieleRepository;
use Doctrine\ORM\Mapping as ORM;
-/**
- * @ORM\Entity(repositoryClass=AuditTomZieleRepository::class)
- */
+#[ORM\Entity(repositoryClass: AuditTomZieleRepository::class)]
class AuditTomZiele
{
- /**
- * @ORM\Id()
- * @ORM\GeneratedValue()
- * @ORM\Column(type="integer")
- */
+ #[ORM\Id]
+ #[ORM\GeneratedValue]
+ #[ORM\Column(type: 'integer')]
private $id;
- /**
- * @ORM\Column(type="text")
- */
+ #[ORM\Column(type: 'text')]
private $name;
- /**
- * @ORM\ManyToOne(targetEntity=Team::class, inversedBy="ziele")
- * @ORM\JoinColumn(nullable=true)
- */
+ #[ORM\ManyToOne(targetEntity: Team::class, inversedBy: 'ziele')]
+ #[ORM\JoinColumn(nullable: true)]
private $team;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $activ;
public function getId(): ?int
diff --git a/src/Entity/ClientComment.php b/src/Entity/ClientComment.php
index 40e78eb5..e9963cf2 100644
--- a/src/Entity/ClientComment.php
+++ b/src/Entity/ClientComment.php
@@ -7,45 +7,35 @@
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
-/**
- * @ORM\Entity(repositoryClass=ClientCommentRepository::class)
- */
+#[ORM\Entity(repositoryClass: ClientCommentRepository::class)]
class ClientComment
{
- /**
- * @ORM\Id()
- * @ORM\GeneratedValue()
- * @ORM\Column(type="integer")
- */
+ #[ORM\Id]
+ #[ORM\GeneratedValue]
+ #[ORM\Column(type: 'integer')]
private $id;
/**
- * @ORM\Column(type="text", nullable=true)
* @Encrypted()
*/
+ #[ORM\Column(type: 'text', nullable: true)]
private $name;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $comment;
- /**
- * @ORM\Column(type="datetime")
- */
+ #[ORM\Column(type: 'datetime')]
private $createdAt;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $internal;
- /**
- * @ORM\ManyToOne(targetEntity=ClientRequest::class, inversedBy="clientComments")
- * @ORM\JoinColumn(nullable=false)
- */
+ #[ORM\ManyToOne(targetEntity: ClientRequest::class, inversedBy: 'clientComments')]
+ #[ORM\JoinColumn(nullable: false)]
private $clientRequest;
public function getId(): ?int
diff --git a/src/Entity/ClientRequest.php b/src/Entity/ClientRequest.php
index ac7ac588..aa5dee09 100644
--- a/src/Entity/ClientRequest.php
+++ b/src/Entity/ClientRequest.php
@@ -9,160 +9,114 @@
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
-/**
- * @ORM\Entity(repositoryClass=ClientRequestRepository::class)
- */
+#[ORM\Entity(repositoryClass: ClientRequestRepository::class)]
class ClientRequest
{
- /**
- * @ORM\Id()
- * @ORM\GeneratedValue()
- * @ORM\Column(type="integer")
- */
+ #[ORM\Id]
+ #[ORM\GeneratedValue]
+ #[ORM\Column(type: 'integer')]
private $id;
- /**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $uuid;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $title;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $description;
- /**
- * @ORM\Column(type="integer")
- */
+ #[ORM\Column(type: 'integer')]
private $item;
- /**
- * @ORM\Column(type="datetime")
- */
+ #[ORM\Column(type: 'datetime')]
private $createdAt;
- /**
- * @ORM\Column(type="text")
- * @Assert\Email()
- */
+ #[ORM\Column(type: 'text')]
+ #[Assert\Email]
private $email;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $name;
- /**
- * @ORM\ManyToOne(targetEntity=User::class, inversedBy="clientRequests")
- */
+ #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'clientRequests')]
private $user;
- /**
- * @ORM\ManyToOne(targetEntity=User::class, inversedBy="assignedRequests")
- */
+ #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'assignedRequests')]
private $assignedUser;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $emailValid;
- /**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $token;
- /**
- * @ORM\Column(type="integer")
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'integer')]
+ #[Assert\NotBlank]
private $activ;
- /**
- * @ORM\ManyToOne(targetEntity=Team::class, inversedBy="clientRequests")
- * @ORM\JoinColumn(nullable=false)
- */
+ #[ORM\ManyToOne(targetEntity: Team::class, inversedBy: 'clientRequests')]
+ #[ORM\JoinColumn(nullable: false)]
private $team;
- /**
- * @ORM\OneToMany(targetEntity=ClientComment::class, mappedBy="clientRequest")
- */
+ #[ORM\OneToMany(targetEntity: ClientComment::class, mappedBy: 'clientRequest')]
private $clientComments;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $validUser;
- /**
- * @ORM\ManyToOne(targetEntity=User::class)
- */
+ #[ORM\ManyToOne(targetEntity: User::class)]
private $userValidBy;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $gdpr;
/**
- * @ORM\Column(type="text", nullable=true)
* @Encrypted()
*/
+ #[ORM\Column(type: 'text', nullable: true)]
private $notes;
/**
- * @ORM\Column(type="text", nullable=true)
* @Encrypted()
*/
+ #[ORM\Column(type: 'text', nullable: true)]
private $pgp;
- /**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $password;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $open;
- /**
- * @ORM\Column(type="text", nullable=true)
- */
+ #[ORM\Column(type: 'text', nullable: true)]
private $firstname;
- /**
- * @ORM\Column(type="text", nullable=true)
- */
+ #[ORM\Column(type: 'text', nullable: true)]
private $lastname;
- /**
- * @ORM\Column(type="text", nullable=true)
- */
+ #[ORM\Column(type: 'text', nullable: true)]
private $street;
- /**
- * @ORM\Column(type="text", nullable=true)
- */
+ #[ORM\Column(type: 'text', nullable: true)]
private $city;
- /**
- * @ORM\Column(type="date", nullable=true)
- */
+ #[ORM\Column(type: 'date', nullable: true)]
private $birthday;
public function __construct()
diff --git a/src/Entity/Datenweitergabe.php b/src/Entity/Datenweitergabe.php
index 5eb820f8..566314b8 100644
--- a/src/Entity/Datenweitergabe.php
+++ b/src/Entity/Datenweitergabe.php
@@ -12,116 +12,94 @@
use Vich\UploaderBundle\Mapping\Annotation as Vich;
/**
- * @ORM\Entity(repositoryClass=DatenweitergabeRepository::class)
* @Vich\Uploadable
*/
+#[ORM\Entity(repositoryClass: DatenweitergabeRepository::class)]
class Datenweitergabe
{
- /**
- * @ORM\Id()
- * @ORM\GeneratedValue()
- * @ORM\Column(type="integer")
- */
+ #[ORM\Id]
+ #[ORM\GeneratedValue]
+ #[ORM\Column(type: 'integer')]
private $id;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $gegenstand;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $verantwortlich;
- /**
- * @ORM\ManyToOne(targetEntity=Kontakte::class, inversedBy="datenweitergaben")
- * @ORM\JoinColumn(nullable=false)
- * @Assert\NotBlank()
- */
+ #[ORM\ManyToOne(targetEntity: Kontakte::class, inversedBy: 'datenweitergaben')]
+ #[ORM\JoinColumn(nullable: false)]
+ #[Assert\NotBlank]
private $kontakt;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $vertragsform;
- /**
- * @ORM\Column(type="datetime")
- */
+ #[ORM\Column(type: 'datetime')]
private $createdAt;
- /**
- * @ORM\Column(type="date", nullable=true)
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'date', nullable: true)]
+ #[Assert\NotBlank]
private $zeichnungsdatum;
- /**
- * @ORM\ManyToOne(targetEntity=Team::class, inversedBy="datenweitergaben")
- * @ORM\JoinColumn(nullable=false)
- */
+ #[ORM\ManyToOne(targetEntity: Team::class, inversedBy: 'datenweitergaben')]
+ #[ORM\JoinColumn(nullable: false)]
private $team;
- /**
- * @ORM\Column(type="integer")
- */
+ #[ORM\Column(type: 'integer')]
private $activ;
- /**
- * @ORM\OneToOne(targetEntity=Datenweitergabe::class, cascade={"persist", "remove"})
- */
+ #[ORM\OneToOne(targetEntity: Datenweitergabe::class, cascade: ['persist', 'remove'])]
private $previous;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $nummer;
- /**
- * @ORM\ManyToOne(targetEntity=DatenweitergabeStand::class)
- * @ORM\JoinColumn(nullable=false)
- * @Assert\NotBlank()
- */
+ #[ORM\ManyToOne(targetEntity: DatenweitergabeStand::class)]
+ #[ORM\JoinColumn(nullable: false)]
+ #[Assert\NotBlank]
private $stand;
- /**
- * @ORM\ManyToOne(targetEntity=DatenweitergabeGrundlagen::class)
- * @ORM\JoinColumn(nullable=false)
- * @Assert\NotBlank()
- */
+ #[ORM\ManyToOne(targetEntity: DatenweitergabeGrundlagen::class)]
+ #[ORM\JoinColumn(nullable: false)]
+ #[Assert\NotBlank]
private $grundlage;
- /**
- * @ORM\Column(type="integer")
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'integer')]
+ #[Assert\NotBlank]
private $art;
- /**
- * @ORM\ManyToOne(targetEntity=User::class, inversedBy="datenweitergabes")
- * @ORM\JoinColumn(nullable=false)
- */
+ #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'datenweitergabes')]
+ #[ORM\JoinColumn(nullable: false)]
private $user;
/**
- * @ORM\Column(type="datetime", nullable=true)
* @var \DateTime
*/
+ #[ORM\Column(type: 'datetime', nullable: true)]
private $updatedAt;
/**
- * @ORM\Column(type="string", length=255,nullable=true)
* @var string
*/
+ #[ORM\Column(type: 'string', length: 255, nullable: true)]
private $upload;
/**
@@ -130,99 +108,61 @@ class Datenweitergabe
*/
private $uploadFile;
- /**
- * @ORM\ManyToMany(targetEntity=VVT::class, mappedBy="datenweitergaben")
- */
+ #[ORM\ManyToMany(targetEntity: VVT::class, mappedBy: 'datenweitergaben')]
private $verfahren;
- /**
- * @ORM\ManyToOne(targetEntity=User::class, inversedBy="assignedDatenweitergaben")
- */
+ #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'assignedDatenweitergaben')]
private $assignedUser;
- /**
- * @ORM\ManyToMany(targetEntity=Software::class, mappedBy="datenweitergabe")
- */
+ #[ORM\ManyToMany(targetEntity: Software::class, mappedBy: 'datenweitergabe')]
private $software;
- /**
- * @ORM\Column(type="text", nullable=true)
- */
+ #[ORM\Column(type: 'text', nullable: true)]
private $reference;
- /**
- * @ORM\Column(type="boolean", nullable=true)
- */
+ #[ORM\Column(type: 'boolean', nullable: true)]
private $approved;
- /**
- * @ORM\ManyToOne(targetEntity=User::class)
- */
+ #[ORM\ManyToOne(targetEntity: User::class)]
private $approvedBy;
- /**
- * @ORM\Column(type="text", nullable=true)
- */
+ #[ORM\Column(type: 'text', nullable: true)]
private $notes;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $checkItems;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $checkPeople;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $checkData;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $checkDocumentation;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $checkTrust;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $checkTom;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $checkSubcontractor;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $checkSupport;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $checkSupport3236;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $checkEnding;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $checkAudit;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $checkNotes;
public function __construct()
diff --git a/src/Entity/DatenweitergabeGrundlagen.php b/src/Entity/DatenweitergabeGrundlagen.php
index 625d49ab..0d6c762d 100644
--- a/src/Entity/DatenweitergabeGrundlagen.php
+++ b/src/Entity/DatenweitergabeGrundlagen.php
@@ -5,31 +5,21 @@
use App\Repository\DatenweitergabeGrundlagenRepository;
use Doctrine\ORM\Mapping as ORM;
-/**
- * @ORM\Entity(repositoryClass=DatenweitergabeGrundlagenRepository::class)
- */
+#[ORM\Entity(repositoryClass: DatenweitergabeGrundlagenRepository::class)]
class DatenweitergabeGrundlagen
{
- /**
- * @ORM\Id()
- * @ORM\GeneratedValue()
- * @ORM\Column(type="integer")
- */
+ #[ORM\Id]
+ #[ORM\GeneratedValue]
+ #[ORM\Column(type: 'integer')]
private $id;
- /**
- * @ORM\Column(type="text")
- */
+ #[ORM\Column(type: 'text')]
private $name;
- /**
- * @ORM\ManyToOne(targetEntity=Team::class, inversedBy="datenweitergabeGrundlagens")
- */
+ #[ORM\ManyToOne(targetEntity: Team::class, inversedBy: 'datenweitergabeGrundlagens')]
private $team;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $activ = true;
public function getId(): ?int
diff --git a/src/Entity/DatenweitergabeStand.php b/src/Entity/DatenweitergabeStand.php
index b40a4da9..19cd2e18 100644
--- a/src/Entity/DatenweitergabeStand.php
+++ b/src/Entity/DatenweitergabeStand.php
@@ -5,36 +5,24 @@
use App\Repository\DatenweitergabeStandRepository;
use Doctrine\ORM\Mapping as ORM;
-/**
- * @ORM\Entity(repositoryClass=DatenweitergabeStandRepository::class)
- */
+#[ORM\Entity(repositoryClass: DatenweitergabeStandRepository::class)]
class DatenweitergabeStand
{
- /**
- * @ORM\Id()
- * @ORM\GeneratedValue()
- * @ORM\Column(type="integer")
- */
+ #[ORM\Id]
+ #[ORM\GeneratedValue]
+ #[ORM\Column(type: 'integer')]
private $id;
- /**
- * @ORM\Column(type="text")
- */
+ #[ORM\Column(type: 'text')]
private $name;
- /**
- * @ORM\Column(type="boolean", nullable=true)
- */
+ #[ORM\Column(type: 'boolean', nullable: true)]
private $network;
- /**
- * @ORM\ManyToOne(targetEntity=Team::class, inversedBy="datenweitergabeStands")
- */
+ #[ORM\ManyToOne(targetEntity: Team::class, inversedBy: 'datenweitergabeStands')]
private $team;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $activ;
public function getId(): ?int
diff --git a/src/Entity/Forms.php b/src/Entity/Forms.php
index be9425a6..f9813676 100644
--- a/src/Entity/Forms.php
+++ b/src/Entity/Forms.php
@@ -12,28 +12,26 @@
use Vich\UploaderBundle\Mapping\Annotation as Vich;
/**
- * @ORM\Entity(repositoryClass=FormsRepository::class)
* @Vich\Uploadable
*/
+#[ORM\Entity(repositoryClass: FormsRepository::class)]
class Forms
{
- /**
- * @ORM\Id()
- * @ORM\GeneratedValue()
- * @ORM\Column(type="integer")
- */
+ #[ORM\Id]
+ #[ORM\GeneratedValue]
+ #[ORM\Column(type: 'integer')]
private $id;
/**
- * @ORM\Column(type="datetime", nullable=true)
* @var \DateTime
*/
+ #[ORM\Column(type: 'datetime', nullable: true)]
private $updatedAt;
/**
- * @ORM\Column(type="string", length=255,nullable=true)
* @var string
*/
+ #[ORM\Column(type: 'string', length: 255, nullable: true)]
private $upload;
/**
@@ -42,81 +40,59 @@ class Forms
*/
private $uploadFile;
- /**
- * @ORM\ManyToOne(targetEntity=Team::class, inversedBy="forms")
- * @ORM\JoinColumn(nullable=false)
- */
+ #[ORM\ManyToOne(targetEntity: Team::class, inversedBy: 'forms')]
+ #[ORM\JoinColumn(nullable: false)]
private $team;
- /**
- * @ORM\Column(type="datetime")
- */
+ #[ORM\Column(type: 'datetime')]
private $createdAt;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $title;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $version;
- /**
- * @ORM\Column(type="integer")
- */
+ #[ORM\Column(type: 'integer')]
private $activ;
- /**
- * @ORM\ManyToOne(targetEntity=User::class, inversedBy="forms")
- * @ORM\JoinColumn(nullable=false)
- */
+ #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'forms')]
+ #[ORM\JoinColumn(nullable: false)]
private $user;
/**
- * @ORM\Column(type="text", nullable=true)
* @Encrypted()
*/
+ #[ORM\Column(type: 'text', nullable: true)]
private $description;
- /**
- * @ORM\OneToOne(targetEntity=Forms::class, cascade={"persist", "remove"})
- */
+ #[ORM\OneToOne(targetEntity: Forms::class, cascade: ['persist', 'remove'])]
private $previous;
- /**
- * @ORM\ManyToMany(targetEntity=Produkte::class)
- */
+ #[ORM\ManyToMany(targetEntity: Produkte::class)]
private $products;
- /**
- * @ORM\ManyToMany(targetEntity=AuditTomAbteilung::class)
- */
+ #[ORM\ManyToMany(targetEntity: AuditTomAbteilung::class)]
private $departments;
- /**
- * @ORM\Column(type="integer")
- */
+ #[ORM\Column(type: 'integer')]
private $status;
- /**
- * @ORM\ManyToOne(targetEntity=User::class, inversedBy="assignedForms")
- */
+ #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'assignedForms')]
private $assignedUser;
- /**
- * @ORM\ManyToOne(targetEntity=User::class)
- */
+ #[ORM\ManyToOne(targetEntity: User::class)]
private $approvedBy;
- /**
- * @ORM\Column(type="boolean", nullable=true)
- */
+ #[ORM\Column(type: 'boolean', nullable: true)]
private $approved;
public function __construct()
diff --git a/src/Entity/Kontakte.php b/src/Entity/Kontakte.php
index 73340eaf..1f29c928 100644
--- a/src/Entity/Kontakte.php
+++ b/src/Entity/Kontakte.php
@@ -8,110 +8,72 @@
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
-/**
- * @ORM\Entity(repositoryClass=KontakteRepository::class)
- */
+#[ORM\Entity(repositoryClass: KontakteRepository::class)]
class Kontakte
{
- /**
- * @ORM\Id()
- * @ORM\GeneratedValue()
- * @ORM\Column(type="integer")
- */
+ #[ORM\Id]
+ #[ORM\GeneratedValue]
+ #[ORM\Column(type: 'integer')]
private $id;
- /**
- * @ORM\Column(type="text", nullable=true)
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'text', nullable: true)]
+ #[Assert\NotBlank]
private $firma;
- /**
- * @ORM\Column(type="text", nullable=true)
- */
+ #[ORM\Column(type: 'text', nullable: true)]
private $anrede;
- /**
- * @ORM\Column(type="text", nullable=true)
- */
+ #[ORM\Column(type: 'text', nullable: true)]
private $vorname;
- /**
- * @ORM\Column(type="text", nullable=true)
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'text', nullable: true)]
+ #[Assert\NotBlank]
private $nachname;
- /**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $strase;
- /**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $plz;
- /**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $ort;
- /**
- * @ORM\Column(type="text", nullable=true)
- */
+ #[ORM\Column(type: 'text', nullable: true)]
private $email;
- /**
- * @ORM\Column(type="text", nullable=true)
- */
+ #[ORM\Column(type: 'text', nullable: true)]
private $telefon;
- /**
- * @ORM\Column(type="text", nullable=true)
- */
+ #[ORM\Column(type: 'text', nullable: true)]
private $bemerkung;
- /**
- * @ORM\Column(type="integer")
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'integer')]
+ #[Assert\NotBlank]
private $art;
- /**
- * @ORM\ManyToOne(targetEntity=Team::class, inversedBy="kontakte")
- * @ORM\JoinColumn(nullable=false)
- * @Assert\NotBlank()
- */
+ #[ORM\ManyToOne(targetEntity: Team::class, inversedBy: 'kontakte')]
+ #[ORM\JoinColumn(nullable: false)]
+ #[Assert\NotBlank]
private $team;
- /**
- * @ORM\Column(type="integer")
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'integer')]
+ #[Assert\NotBlank]
private $activ;
- /**
- * @ORM\Column(type="text", nullable=true)
- */
+ #[ORM\Column(type: 'text', nullable: true)]
private $nummer;
- /**
- * @ORM\OneToMany(targetEntity=Datenweitergabe::class, mappedBy="kontakt")
- */
+ #[ORM\OneToMany(targetEntity: Datenweitergabe::class, mappedBy: 'kontakt')]
private $datenweitergaben;
- /**
- * @ORM\Column(type="boolean", nullable=true)
- */
+ #[ORM\Column(type: 'boolean', nullable: true)]
private $approved;
- /**
- * @ORM\ManyToOne(targetEntity=User::class)
- */
+ #[ORM\ManyToOne(targetEntity: User::class)]
private $approvedBy;
public function __construct()
@@ -346,4 +308,9 @@ public function setApprovedBy(?User $approvedBy): self
return $this;
}
+
+ public function getName(): string
+ {
+ return $this->firma ?? $this->getVorname() . $this->getNachname();
+ }
}
diff --git a/src/Entity/Loeschkonzept.php b/src/Entity/Loeschkonzept.php
index 848a7282..db0f2303 100644
--- a/src/Entity/Loeschkonzept.php
+++ b/src/Entity/Loeschkonzept.php
@@ -14,86 +14,56 @@
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
-/**
- * @ORM\Entity(repositoryClass=LoeschkonzeptRepository::class)
- */
+#[ORM\Entity(repositoryClass: LoeschkonzeptRepository::class)]
class Loeschkonzept
{
- /**
- * @ORM\Id
- * @ORM\GeneratedValue
- * @ORM\Column(type="integer")
- */
+ #[ORM\Id]
+ #[ORM\GeneratedValue]
+ #[ORM\Column(type: 'integer')]
private $id;
- /**
- * @ORM\Column(type="text", length=255)
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'text', length: 255)]
+ #[Assert\NotBlank]
private $standartlf;
- /**
- * @ORM\Column(type="text", length=255, nullable=true)
- */
+ #[ORM\Column(type: 'text', length: 255, nullable: true)]
private $loeschfrist;
- /**
- * @ORM\Column(type="text", length=511)
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'text', length: 511)]
+ #[Assert\NotBlank]
private $speicherorte;
- /**
- * @ORM\Column(type="text", length=255)
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'text', length: 255)]
+ #[Assert\NotBlank]
private $loeschbeauftragter;
- /**
- * @ORM\Column(type="text", length=1023, nullable=true)
- */
+ #[ORM\Column(type: 'text', length: 1023, nullable: true)]
private $beschreibung;
- /**
- * @ORM\ManyToOne(targetEntity=Team::class, inversedBy="loeschkonzepts")
- * @ORM\JoinColumn(nullable=false)
- */
+ #[ORM\ManyToOne(targetEntity: Team::class, inversedBy: 'loeschkonzepts')]
+ #[ORM\JoinColumn(nullable: false)]
private $team;
- /**
- * @ORM\OneToOne(targetEntity=Loeschkonzept::class, cascade={"persist", "remove"})
- */
+ #[ORM\OneToOne(targetEntity: Loeschkonzept::class, cascade: ['persist', 'remove'])]
private $previous;
- /**
- * @ORM\Column(type="datetime_immutable")
- */
+ #[ORM\Column(type: 'datetime_immutable')]
private $CreateAt;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $activ;
- /**
- * @ORM\ManyToOne(targetEntity=User::class, inversedBy="loeschkonzepts")
- * @ORM\JoinColumn(nullable=false)
- */
+ #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'loeschkonzepts')]
+ #[ORM\JoinColumn(nullable: false)]
private $user;
- /**
- * @ORM\ManyToMany(targetEntity=VVTDatenkategorie::class, inversedBy="loeschkonzept")
- */
+ #[ORM\ManyToMany(targetEntity: VVTDatenkategorie::class, inversedBy: 'loeschkonzept')]
private $vvtdatenkategories;
- /**
- * @ORM\ManyToOne(targetEntity=Loeschkonzept::class, inversedBy="parentOf")
- */
+ #[ORM\ManyToOne(targetEntity: Loeschkonzept::class, inversedBy: 'parentOf')]
private $cloneOf;
- /**
- * @ORM\OneToMany(targetEntity=Loeschkonzept::class, mappedBy="cloneOf")
- */
+ #[ORM\OneToMany(targetEntity: Loeschkonzept::class, mappedBy: 'cloneOf')]
private $parentOf;
public function __construct()
@@ -102,7 +72,7 @@ public function __construct()
$this->parentOf = new ArrayCollection();
}
- public function __toString(): ?string
+ public function __toString(): string
{
return $this->standartlf;
}
diff --git a/src/Entity/Participation.php b/src/Entity/Participation.php
new file mode 100644
index 00000000..eba51928
--- /dev/null
+++ b/src/Entity/Participation.php
@@ -0,0 +1,130 @@
+participationAnswers = new ArrayCollection();
+ }
+
+ public function getCompletedAt(): ?DateTimeImmutable
+ {
+ return $this->completedAt;
+ }
+
+ public function setCompletedAt(?DateTimeImmutable $completedAt): self
+ {
+ $this->completedAt = $completedAt;
+
+ return $this;
+ }
+
+ public function getState(): ?string
+ {
+ return $this->state;
+ }
+
+ public function setState(string $state): self
+ {
+ $this->state = $state;
+
+ return $this;
+ }
+
+ public function isPassed(): ?bool
+ {
+ return $this->passed;
+ }
+
+ public function setPassed(bool $passed): self
+ {
+ $this->passed = $passed;
+
+ return $this;
+ }
+
+ public function getAcademyBilling(): ?AkademieBuchungen
+ {
+ return $this->academyBilling;
+ }
+
+ public function setAcademyBilling(?AkademieBuchungen $academyBilling): self
+ {
+ $this->academyBilling = $academyBilling;
+
+ return $this;
+ }
+
+ public function getQuestionnaire(): Questionnaire
+ {
+ return $this->questionnaire;
+ }
+
+ public function setQuestionnaire(Questionnaire $questionnaire): self
+ {
+ $this->questionnaire = $questionnaire;
+
+ return $this;
+ }
+
+ /**
+ * @return Collection
+ */
+ public function getParticipationAnswers(): Collection
+ {
+ return $this->participationAnswers;
+ }
+
+ public function addParticipationAnswer(ParticipationAnswer $participationAnswer): self
+ {
+ if (!$this->participationAnswers->contains($participationAnswer)) {
+ $this->participationAnswers->add($participationAnswer);
+ $participationAnswer->setParticipation($this);
+ }
+
+ return $this;
+ }
+
+ public function removeParticipationAnswer(ParticipationAnswer $participationAnswer): self
+ {
+ if ($this->participationAnswers->removeElement($participationAnswer)) {
+ // set the owning side to null (unless already changed)
+ if ($participationAnswer->getParticipation() === $this) {
+ $participationAnswer->setParticipation(null);
+ }
+ }
+
+ return $this;
+ }
+}
diff --git a/src/Entity/ParticipationAnswer.php b/src/Entity/ParticipationAnswer.php
new file mode 100644
index 00000000..abfc7545
--- /dev/null
+++ b/src/Entity/ParticipationAnswer.php
@@ -0,0 +1,76 @@
+participation;
+ }
+
+ public function setParticipation(?Participation $participation): self
+ {
+ $this->participation = $participation;
+
+ return $this;
+ }
+
+ public function getQuestionnaire(): ?Questionnaire
+ {
+ return $this->questionnaire;
+ }
+
+ public function setQuestionnaire(?Questionnaire $questionnaire): self
+ {
+ $this->questionnaire = $questionnaire;
+
+ return $this;
+ }
+
+ public function getQuestion(): ?Question
+ {
+ return $this->question;
+ }
+
+ public function setQuestion(?Question $question): self
+ {
+ $this->question = $question;
+
+ return $this;
+ }
+
+ public function getAnswer(): ?Answer
+ {
+ return $this->answer;
+ }
+
+ public function setAnswer(?Answer $answer): self
+ {
+ $this->answer = $answer;
+
+ return $this;
+ }
+}
diff --git a/src/Entity/Policies.php b/src/Entity/Policies.php
index 64e7d486..8d8e8722 100644
--- a/src/Entity/Policies.php
+++ b/src/Entity/Policies.php
@@ -12,138 +12,106 @@
use Vich\UploaderBundle\Mapping\Annotation as Vich;
/**
- * @ORM\Entity(repositoryClass=PoliciesRepository::class)
* @Vich\Uploadable
*/
+#[ORM\Entity(repositoryClass: PoliciesRepository::class)]
class Policies
{
- /**
- * @ORM\Id()
- * @ORM\GeneratedValue()
- * @ORM\Column(type="integer")
- */
+ #[ORM\Id]
+ #[ORM\GeneratedValue]
+ #[ORM\Column(type: 'integer')]
private $id;
- /**
- * @ORM\ManyToOne(targetEntity=Team::class, inversedBy="policies")
- * @ORM\JoinColumn(nullable=false)
- */
+ #[ORM\ManyToOne(targetEntity: Team::class, inversedBy: 'policies')]
+ #[ORM\JoinColumn(nullable: false)]
private $team;
- /**
- * @ORM\ManyToOne(targetEntity=User::class, inversedBy="policies")
- * @ORM\JoinColumn(nullable=false)
- */
+ #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'policies')]
+ #[ORM\JoinColumn(nullable: false)]
private $user;
- /**
- * @ORM\Column(type="datetime")
- */
+ #[ORM\Column(type: 'datetime')]
private $createdAt;
- /**
- * @ORM\Column(type="integer")
- */
+ #[ORM\Column(type: 'integer')]
private $activ;
- /**
- * @ORM\OneToOne(targetEntity=Policies::class, cascade={"persist", "remove"})
- */
+ #[ORM\OneToOne(targetEntity: Policies::class, cascade: ['persist', 'remove'])]
private $previous;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $scope;
- /**
- * @ORM\ManyToMany(targetEntity=VVT::class, inversedBy="policies")
- * @Assert\NotBlank()
- */
+ #[ORM\ManyToMany(targetEntity: VVT::class, inversedBy: 'policies')]
+ #[Assert\NotBlank]
private $processes;
- /**
- * @ORM\ManyToMany(targetEntity=VVTPersonen::class)
- * @Assert\NotBlank()
- */
+ #[ORM\ManyToMany(targetEntity: VVTPersonen::class)]
+ #[Assert\NotBlank]
private $people;
- /**
- * @ORM\ManyToMany(targetEntity=VVTDatenkategorie::class)
- * @Assert\NotBlank()
- */
+ #[ORM\ManyToMany(targetEntity: VVTDatenkategorie::class)]
+ #[Assert\NotBlank]
private $categories;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $risk;
- /**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $foundation;
- /**
- * @ORM\ManyToOne(targetEntity=User::class, inversedBy="policiesResponsible")
- * @ORM\JoinColumn(nullable=false)
- */
+ #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'policiesResponsible')]
+ #[ORM\JoinColumn(nullable: false)]
private $person;
- /**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $protection;
/**
- * @ORM\Column(type="text", nullable=true)
* @Encrypted()
*/
+ #[ORM\Column(type: 'text', nullable: true)]
private $notes;
/**
- * @ORM\Column(type="text", nullable=true)
* @Encrypted()
*/
+ #[ORM\Column(type: 'text', nullable: true)]
private $consequences;
/**
- * @ORM\Column(type="text", nullable=true)
* @Encrypted()
*/
+ #[ORM\Column(type: 'text', nullable: true)]
private $contact;
- /**
- * @ORM\Column(type="integer")
- */
+ #[ORM\Column(type: 'integer')]
private $status;
- /**
- * @ORM\ManyToOne(targetEntity=User::class, inversedBy="assignedPolicies")
- */
+ #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'assignedPolicies')]
private $assignedUser;
- /**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $title;
- /**
- * @ORM\Column(type="text", nullable=true)
- */
+ #[ORM\Column(type: 'text', nullable: true)]
private $reference;
/**
- * @ORM\Column(type="string", length=255,nullable=true)
* @var string
*/
+ #[ORM\Column(type: 'string', length: 255, nullable: true)]
private $upload;
/**
@@ -152,14 +120,10 @@ class Policies
*/
private $uploadFile;
- /**
- * @ORM\Column(type="boolean", nullable=true)
- */
+ #[ORM\Column(type: 'boolean', nullable: true)]
private $approved;
- /**
- * @ORM\ManyToOne(targetEntity=User::class)
- */
+ #[ORM\ManyToOne(targetEntity: User::class)]
private $approvedBy;
public function __construct()
diff --git a/src/Entity/Produkte.php b/src/Entity/Produkte.php
index 41eb704c..6116963f 100644
--- a/src/Entity/Produkte.php
+++ b/src/Entity/Produkte.php
@@ -7,37 +7,25 @@
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
-/**
- * @ORM\Entity(repositoryClass=ProdukteRepository::class)
- */
+#[ORM\Entity(repositoryClass: ProdukteRepository::class)]
class Produkte
{
- /**
- * @ORM\Id()
- * @ORM\GeneratedValue()
- * @ORM\Column(type="integer")
- */
+ #[ORM\Id]
+ #[ORM\GeneratedValue]
+ #[ORM\Column(type: 'integer')]
private $id;
- /**
- * @ORM\Column(type="text")
- */
+ #[ORM\Column(type: 'text')]
private $name;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $activ;
- /**
- * @ORM\ManyToOne(targetEntity=Team::class, inversedBy="produktes")
- * @ORM\JoinColumn(nullable=false)
- */
+ #[ORM\ManyToOne(targetEntity: Team::class, inversedBy: 'produktes')]
+ #[ORM\JoinColumn(nullable: false)]
private $team;
- /**
- * @ORM\ManyToMany(targetEntity=VVT::class, mappedBy="produkt")
- */
+ #[ORM\ManyToMany(targetEntity: VVT::class, mappedBy: 'produkt')]
private $Vvts;
public function __construct()
diff --git a/src/Entity/Question.php b/src/Entity/Question.php
new file mode 100644
index 00000000..06c05dac
--- /dev/null
+++ b/src/Entity/Question.php
@@ -0,0 +1,174 @@
+answers = new ArrayCollection();
+ $this->questionnaireQuestions = new ArrayCollection();
+ $this->participationAnswers = new ArrayCollection();
+ }
+
+ public function getLabel(): string
+ {
+ return $this->label;
+ }
+
+ public function setLabel(string $label): self
+ {
+ $this->label = $label;
+ return $this;
+ }
+
+ public function getHint(): ?string
+ {
+ return $this->hint;
+ }
+
+ public function setHint(string $hint): self
+ {
+ $this->hint = $hint;
+ return $this;
+ }
+
+ public function getType(): string
+ {
+ return $this->type;
+ }
+
+ public function setType(string $type): self
+ {
+ $this->type = $type;
+ return $this;
+ }
+
+ public function getEvalValue(): float
+ {
+ return $this->evalValue;
+ }
+
+ public function setEvalValue(float $evalValue): self
+ {
+ $this->evalValue = $evalValue;
+ return $this;
+ }
+
+ public function getAnswers(): Collection
+ {
+ return $this->answers;
+ }
+
+ public function addAnswer(Answer $answer): self
+ {
+ if(!$this->answers->contains($answer)){
+ $this->answers->add($answer);
+ $answer->setQuestion($this);
+ }
+
+ return $this;
+ }
+
+ public function removeAnswer(Answer $answer): self
+ {
+ if($this->answers->removeElement($answer)){
+ if($answer->getQuestion() === $this){
+ $answer->setQuestion(null);
+ }
+ }
+
+ return $this;
+ }
+
+ /**
+ * @return Collection
+ */
+ public function getQuestionnaireQuestions(): Collection
+ {
+ return $this->questionnaireQuestions;
+ }
+
+ public function addQuestionnaireQuestion(QuestionnaireQuestion $questionnaireQuestion): self
+ {
+ if (!$this->questionnaireQuestions->contains($questionnaireQuestion)) {
+ $this->questionnaireQuestions->add($questionnaireQuestion);
+ $questionnaireQuestion->setQuestion($this);
+ }
+
+ return $this;
+ }
+
+ public function removeQuestionnaireQuestion(QuestionnaireQuestion $questionnaireQuestion): self
+ {
+ if ($this->questionnaireQuestions->removeElement($questionnaireQuestion)) {
+ // set the owning side to null (unless already changed)
+ if ($questionnaireQuestion->getQuestion() === $this) {
+ $questionnaireQuestion->setQuestion(null);
+ }
+ }
+
+ return $this;
+ }
+
+ /**
+ * @return Collection
+ */
+ public function getParticipationAnswers(): Collection
+ {
+ return $this->participationAnswers;
+ }
+
+ public function addParticipationAnswer(ParticipationAnswer $participationAnswer): self
+ {
+ if (!$this->participationAnswers->contains($participationAnswer)) {
+ $this->participationAnswers->add($participationAnswer);
+ $participationAnswer->setQuestion($this);
+ }
+
+ return $this;
+ }
+
+ public function removeParticipationAnswer(ParticipationAnswer $participationAnswer): self
+ {
+ if ($this->participationAnswers->removeElement($participationAnswer)) {
+ // set the owning side to null (unless already changed)
+ if ($participationAnswer->getQuestion() === $this) {
+ $participationAnswer->setQuestion(null);
+ }
+ }
+
+ return $this;
+ }
+}
\ No newline at end of file
diff --git a/src/Entity/Questionnaire.php b/src/Entity/Questionnaire.php
new file mode 100644
index 00000000..1c916cee
--- /dev/null
+++ b/src/Entity/Questionnaire.php
@@ -0,0 +1,179 @@
+questionnaireQuestions = new ArrayCollection();
+ $this->participationAnswers = new ArrayCollection();
+ $this->academyLessons = new ArrayCollection();
+ }
+
+ public function getLabel(): ?string
+ {
+ return $this->label;
+ }
+
+ public function setLabel(string $label): self
+ {
+ $this->label = $label;
+
+ return $this;
+ }
+
+ public function getDescription(): ?string
+ {
+ return $this->description;
+ }
+
+ public function setDescription(string $description): self
+ {
+ $this->description = $description;
+
+ return $this;
+ }
+
+ public function getPercentageToPass(): ?float
+ {
+ return $this->percentageToPass;
+ }
+
+ public function setPercentageToPass(float $percentageToPass): self
+ {
+ $this->percentageToPass = $percentageToPass;
+
+ return $this;
+ }
+
+ /**
+ * @return Collection
+ */
+ public function getQuestionnaireQuestions(): Collection
+ {
+ return $this->questionnaireQuestions;
+ }
+
+ public function addQuestionnaireQuestion(QuestionnaireQuestion $questionnaireQuestion): self
+ {
+ if (!$this->questionnaireQuestions->contains($questionnaireQuestion)) {
+ $this->questionnaireQuestions->add($questionnaireQuestion);
+ $questionnaireQuestion->setQuestionnaire($this);
+ }
+
+ return $this;
+ }
+
+ public function removeQuestionnaireQuestion(QuestionnaireQuestion $questionnaireQuestion): self
+ {
+ if ($this->questionnaireQuestions->removeElement($questionnaireQuestion)) {
+ // set the owning side to null (unless already changed)
+ if ($questionnaireQuestion->getQuestionnaire() === $this) {
+ $questionnaireQuestion->setQuestionnaire(null);
+ }
+ }
+
+ return $this;
+ }
+
+ /**
+ * @return Collection
+ */
+ public function getParticipationAnswers(): Collection
+ {
+ return $this->participationAnswers;
+ }
+
+ public function addParticipationAnswer(ParticipationAnswer $participationAnswer): self
+ {
+ if (!$this->participationAnswers->contains($participationAnswer)) {
+ $this->participationAnswers->add($participationAnswer);
+ $participationAnswer->setQuestionnaire($this);
+ }
+
+ return $this;
+ }
+
+ public function removeParticipationAnswer(ParticipationAnswer $participationAnswer): self
+ {
+ if ($this->participationAnswers->removeElement($participationAnswer)) {
+ // set the owning side to null (unless already changed)
+ if ($participationAnswer->getQuestionnaire() === $this) {
+ $participationAnswer->setQuestionnaire(null);
+ }
+ }
+
+ return $this;
+ }
+
+ public function getAcademyLessons(): Collection
+ {
+ return $this->academyLessons;
+ }
+
+ public function addAcademyLesson(AkademieKurse $academyLesson): self
+ {
+ if (!$this->academyLessons->contains($academyLesson)) {
+ $this->academyLessons->add($academyLesson);
+ $academyLesson->setQuestionnaire($this);
+ }
+
+ return $this;
+ }
+
+ public function removeAcademyLesson(AkademieKurse $academyLesson): self
+ {
+ if ($this->academyLessons->removeElement($academyLesson)) {
+ // set the owning side to null (unless already changed)
+ if ($academyLesson->getQuestionnaire() === $this) {
+ $academyLesson->setQuestionnaire(null);
+ }
+ }
+
+ return $this;
+ }
+
+ public function setTeam(Team $team): self
+ {
+ $this->team = $team;
+
+ return $this;
+ }
+
+ public function getTeam(): Team
+ {
+ return $this->team;
+ }
+}
diff --git a/src/Entity/QuestionnaireQuestion.php b/src/Entity/QuestionnaireQuestion.php
new file mode 100644
index 00000000..81843051
--- /dev/null
+++ b/src/Entity/QuestionnaireQuestion.php
@@ -0,0 +1,59 @@
+step;
+ }
+
+ public function setStep(int $step): self
+ {
+ $this->step = $step;
+
+ return $this;
+ }
+
+ public function getQuestion(): ?Question
+ {
+ return $this->question;
+ }
+
+ public function setQuestion(?Question $question): self
+ {
+ $this->question = $question;
+
+ return $this;
+ }
+
+ public function getQuestionnaire(): ?Questionnaire
+ {
+ return $this->questionnaire;
+ }
+
+ public function setQuestionnaire(?Questionnaire $questionnaire): self
+ {
+ $this->questionnaire = $questionnaire;
+
+ return $this;
+ }
+}
diff --git a/src/Entity/Report.php b/src/Entity/Report.php
index 332a15e9..b61b8a03 100644
--- a/src/Entity/Report.php
+++ b/src/Entity/Report.php
@@ -5,78 +5,50 @@
use App\Repository\ReportRepository;
use Doctrine\ORM\Mapping as ORM;
-/**
- * @ORM\Entity(repositoryClass=ReportRepository::class)
- */
+#[ORM\Entity(repositoryClass: ReportRepository::class)]
class Report
{
- /**
- * @ORM\Id()
- * @ORM\GeneratedValue()
- * @ORM\Column(type="integer")
- */
+ #[ORM\Id]
+ #[ORM\GeneratedValue]
+ #[ORM\Column(type: 'integer')]
private $id;
- /**
- * @ORM\ManyToOne(targetEntity=User::class)
- * @ORM\JoinColumn(nullable=false)
- */
+ #[ORM\ManyToOne(targetEntity: User::class)]
+ #[ORM\JoinColumn(nullable: false)]
private $user;
- /**
- * @ORM\Column(type="date")
- */
+ #[ORM\Column(type: 'date')]
private $date;
- /**
- * @ORM\Column(type="time")
- */
+ #[ORM\Column(type: 'time')]
private $start;
- /**
- * @ORM\Column(type="time")
- */
+ #[ORM\Column(type: 'time')]
private $end;
- /**
- * @ORM\Column(type="float")
- */
+ #[ORM\Column(type: 'float')]
private $calcTime;
- /**
- * @ORM\Column(type="text")
- */
+ #[ORM\Column(type: 'text')]
private $description;
- /**
- * @ORM\Column(type="boolean", nullable=true)
- */
+ #[ORM\Column(type: 'boolean', nullable: true)]
private $invoice;
- /**
- * @ORM\Column(type="boolean", nullable=true)
- */
+ #[ORM\Column(type: 'boolean', nullable: true)]
private $onsite;
- /**
- * @ORM\Column(type="boolean", nullable=true)
- */
+ #[ORM\Column(type: 'boolean', nullable: true)]
private $inReport;
- /**
- * @ORM\Column(type="integer")
- */
+ #[ORM\Column(type: 'integer')]
private $activ;
- /**
- * @ORM\ManyToOne(targetEntity=Team::class, inversedBy="reports")
- * @ORM\JoinColumn(nullable=false)
- */
+ #[ORM\ManyToOne(targetEntity: Team::class, inversedBy: 'reports')]
+ #[ORM\JoinColumn(nullable: false)]
private $team;
- /**
- * @ORM\Column(type="datetime")
- */
+ #[ORM\Column(type: 'datetime')]
private $createdAt;
public function getId(): ?int
diff --git a/src/Entity/Settings.php b/src/Entity/Settings.php
new file mode 100644
index 00000000..2e9ed943
--- /dev/null
+++ b/src/Entity/Settings.php
@@ -0,0 +1,33 @@
+useKeycloakGroups;
+ }
+
+ public function setUseKeycloakGroups(?bool $useKeycloakGroups): self
+ {
+ $this->useKeycloakGroups = $useKeycloakGroups;
+
+ return $this;
+ }
+}
diff --git a/src/Entity/Software.php b/src/Entity/Software.php
index f38246c0..de2c2778 100644
--- a/src/Entity/Software.php
+++ b/src/Entity/Software.php
@@ -9,153 +9,111 @@
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
-/**
- * @ORM\Entity(repositoryClass=SoftwareRepository::class)
- */
+#[ORM\Entity(repositoryClass: SoftwareRepository::class)]
class Software
{
- /**
- * @ORM\Id()
- * @ORM\GeneratedValue()
- * @ORM\Column(type="integer")
- */
+ #[ORM\Id]
+ #[ORM\GeneratedValue]
+ #[ORM\Column(type: 'integer')]
private $id;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $name;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $build;
- /**
- * @ORM\Column(type="date")
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'date')]
+ #[Assert\NotBlank]
private $purchase;
- /**
- * @ORM\ManyToMany(targetEntity=VVT::class, inversedBy="software")
- */
+ #[ORM\ManyToMany(targetEntity: VVT::class, inversedBy: 'software')]
private $vvts;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $activ;
/**
- * @ORM\Column(type="text", nullable=true)
* @Encrypted()
*/
+ #[ORM\Column(type: 'text', nullable: true)]
private $license;
- /**
- * @ORM\Column(type="date", nullable=true)
- */
+ #[ORM\Column(type: 'date', nullable: true)]
private $licenseExpiration;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $description;
- /**
- * @ORM\Column(type="integer", nullable=true)
- */
+ #[ORM\Column(type: 'integer', nullable: true)]
private $status;
- /**
- * @ORM\ManyToOne(targetEntity=User::class, inversedBy="software")
- * @ORM\JoinColumn(nullable=false)
- */
+ #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'software')]
+ #[ORM\JoinColumn(nullable: false)]
private $user;
- /**
- * @ORM\ManyToOne(targetEntity=Team::class, inversedBy="software")
- * @ORM\JoinColumn(nullable=false)
- */
+ #[ORM\ManyToOne(targetEntity: Team::class, inversedBy: 'software')]
+ #[ORM\JoinColumn(nullable: false)]
private $team;
- /**
- * @ORM\Column(type="datetime")
- */
+ #[ORM\Column(type: 'datetime')]
private $createdAt;
- /**
- * @ORM\OneToOne(targetEntity=Software::class, cascade={"persist", "remove"})
- */
+ #[ORM\OneToOne(targetEntity: Software::class, cascade: ['persist', 'remove'])]
private $previous;
- /**
- * @ORM\ManyToOne(targetEntity=User::class, inversedBy="assignedSoftware")
- */
+ #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'assignedSoftware')]
private $assignedUser;
- /**
- * @ORM\OneToMany(targetEntity=SoftwareConfig::class, mappedBy="software")
- */
+ #[ORM\OneToMany(targetEntity: SoftwareConfig::class, mappedBy: 'software')]
private $config;
- /**
- * @ORM\Column(type="text", nullable=true)
- */
+ #[ORM\Column(type: 'text', nullable: true)]
private $location;
/**
- * @ORM\Column(type="text", nullable=true)
* @Encrypted()
*/
+ #[ORM\Column(type: 'text', nullable: true)]
private $nummer;
- /**
- * @ORM\ManyToMany(targetEntity=Datenweitergabe::class, inversedBy="software")
- */
+ #[ORM\ManyToMany(targetEntity: Datenweitergabe::class, inversedBy: 'software')]
private $datenweitergabe;
/**
- * @ORM\Column(type="text", nullable=true)
* @Encrypted()
*/
+ #[ORM\Column(type: 'text', nullable: true)]
private $reference;
- /**
- * @ORM\Column(type="boolean", nullable=true)
- */
+ #[ORM\Column(type: 'boolean', nullable: true)]
private $approved;
- /**
- * @ORM\ManyToOne(targetEntity=User::class)
- */
+ #[ORM\ManyToOne(targetEntity: User::class)]
private $approvedBy;
- /**
- * @ORM\Column(type="text", nullable=true)
- */
+ #[ORM\Column(type: 'text', nullable: true)]
private $archiving;
- /**
- * @ORM\Column(type="text", nullable=true)
- */
+ #[ORM\Column(type: 'text', nullable: true)]
private $recovery;
- /**
- * @ORM\Column(type="text", nullable=true)
- */
+ #[ORM\Column(type: 'text', nullable: true)]
private $permissions;
- /**
- * @ORM\Column(type="integer")
- */
+ #[ORM\Column(type: 'integer')]
private $licenseType;
public function __construct()
diff --git a/src/Entity/SoftwareConfig.php b/src/Entity/SoftwareConfig.php
index 5fe3f0ff..0ffb1e45 100644
--- a/src/Entity/SoftwareConfig.php
+++ b/src/Entity/SoftwareConfig.php
@@ -10,64 +10,52 @@
use Vich\UploaderBundle\Mapping\Annotation as Vich;
/**
- * @ORM\Entity(repositoryClass=SoftwareConfigRepository::class)
* @Vich\Uploadable
*/
+#[ORM\Entity(repositoryClass: SoftwareConfigRepository::class)]
class SoftwareConfig
{
- /**
- * @ORM\Id()
- * @ORM\GeneratedValue()
- * @ORM\Column(type="integer")
- */
+ #[ORM\Id]
+ #[ORM\GeneratedValue]
+ #[ORM\Column(type: 'integer')]
private $id;
/**
- * @ORM\Column(type="text")
* @Encrypted()
- * @Assert\NotBlank()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $name;
/**
- * @ORM\Column(type="text")
* @Encrypted()
- * @Assert\NotBlank()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $config;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $activ;
- /**
- * @ORM\Column(type="datetime")
- */
+ #[ORM\Column(type: 'datetime')]
private $createdAt;
- /**
- * @ORM\ManyToOne(targetEntity=Software::class, inversedBy="config")
- * @ORM\JoinColumn(nullable=false)
- */
+ #[ORM\ManyToOne(targetEntity: Software::class, inversedBy: 'config')]
+ #[ORM\JoinColumn(nullable: false)]
private $software;
/**
- * @ORM\Column(type="string", length=255,nullable=true)
* @var string
*/
+ #[ORM\Column(type: 'string', length: 255, nullable: true)]
private $upload;
/**
- * @Assert\File(
- * maxSize = "600k",
- * mimeTypes = {"image/jpg", "image/jpeg", "image/gif", "image/png"},
- * mimeTypesMessage = "Please upload a valid JP, JPEG, GIF or PNG"
- * )
*
* @Vich\UploadableField(mapping="software", fileNameProperty="upload")
* @var File
*/
+ #[Assert\File(maxSize: '600k', mimeTypes: ['image/jpg', 'image/jpeg', 'image/gif', 'image/png'], mimeTypesMessage: 'Please upload a valid JP, JPEG, GIF or PNG')]
private $uploadFile;
diff --git a/src/Entity/Task.php b/src/Entity/Task.php
index 05dc030c..bc306165 100644
--- a/src/Entity/Task.php
+++ b/src/Entity/Task.php
@@ -6,78 +6,54 @@
use App\Repository\TaskRepository;
use Doctrine\ORM\Mapping as ORM;
-/**
- * @ORM\Entity(repositoryClass=TaskRepository::class)
- */
+#[ORM\Entity(repositoryClass: TaskRepository::class)]
class Task
{
- /**
- * @ORM\Id()
- * @ORM\GeneratedValue()
- * @ORM\Column(type="integer")
- */
+ #[ORM\Id]
+ #[ORM\GeneratedValue]
+ #[ORM\Column(type: 'integer')]
private $id;
- /**
- * @ORM\Column(type="integer")
- */
+ #[ORM\Column(type: 'integer')]
private $activ;
- /**
- * @ORM\ManyToOne(targetEntity=User::class, inversedBy="tasks")
- */
+ #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'tasks')]
private $assignedUser;
- /**
- * @ORM\Column(type="datetime")
- */
+ #[ORM\Column(type: 'datetime')]
private $createdAt;
/**
- * @ORM\Column(type="text")
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
private $task;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $done;
/**
- * @ORM\Column(type="text")
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
private $title;
- /**
- * @ORM\ManyToOne(targetEntity=Team::class, inversedBy="tasks")
- */
+ #[ORM\ManyToOne(targetEntity: Team::class, inversedBy: 'tasks')]
private $team;
- /**
- * @ORM\ManyToOne(targetEntity=User::class)
- */
+ #[ORM\ManyToOne(targetEntity: User::class)]
private $user;
- /**
- * @ORM\Column(type="date", nullable=true)
- */
+ #[ORM\Column(type: 'date', nullable: true)]
private $endDate;
- /**
- * @ORM\Column(type="integer")
- */
+ #[ORM\Column(type: 'integer')]
private $prio;
- /**
- * @ORM\Column(type="date", nullable=true)
- */
+ #[ORM\Column(type: 'date', nullable: true)]
private $doneDate;
- /**
- * @ORM\ManyToOne(targetEntity=User::class)
- */
+ #[ORM\ManyToOne(targetEntity: User::class)]
private $updatedBy;
public function getId(): ?int
diff --git a/src/Entity/Team.php b/src/Entity/Team.php
index 4bd4f4a9..27c15816 100644
--- a/src/Entity/Team.php
+++ b/src/Entity/Team.php
@@ -16,248 +16,166 @@
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use Symfony\Component\Validator\Constraints as Assert;
-/**
- * @ORM\Entity(repositoryClass=TeamRepository::class)
- * @UniqueEntity("slug")
- */
+#[ORM\Entity(repositoryClass: TeamRepository::class)]
+#[UniqueEntity('slug')]
class Team
{
- /**
- * @ORM\Id()
- * @ORM\GeneratedValue()
- * @ORM\Column(type="integer")
- */
+ #[ORM\Id]
+ #[ORM\GeneratedValue]
+ #[ORM\Column(type: 'integer')]
private $id;
- /**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'string', length: 255, unique: true)]
+ #[Assert\NotBlank]
private $name;
- /**
- * @ORM\Column(type="boolean")
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'text', nullable: true)]
+ private $keycloakGroup;
+
+ #[ORM\Column(type: 'boolean')]
+ #[Assert\NotBlank]
private $activ;
- /**
- * @ORM\OneToMany(targetEntity=User::class, mappedBy="team")
- */
+ #[ORM\ManyToMany(targetEntity: User::class, mappedBy: 'teams')]
private $members;
- /**
- * @ORM\OneToMany(targetEntity=AuditTomZiele::class, mappedBy="team")
- */
- private $ziele;
+ #[ORM\OneToMany(targetEntity: AuditTomZiele::class, mappedBy: 'team')]
+ private Collection $ziele;
- /**
- * @ORM\OneToMany(targetEntity=AuditTomAbteilung::class, mappedBy="team")
- */
- private $abteilungen;
+ #[ORM\OneToMany(targetEntity: AuditTomAbteilung::class, mappedBy: 'team')]
+ private Collection $abteilungen;
- /**
- * @ORM\OneToMany(targetEntity=AuditTom::class, mappedBy="team")
- */
- private $auditToms;
+ #[ORM\OneToMany(targetEntity: AuditTom::class, mappedBy: 'team')]
+ private Collection $auditToms;
- /**
- * @ORM\OneToMany(targetEntity=Kontakte::class, mappedBy="team", orphanRemoval=true)
- */
- private $kontakte;
+ #[ORM\OneToMany(targetEntity: Kontakte::class, mappedBy: 'team', orphanRemoval: true)]
+ private Collection $kontakte;
- /**
- * @ORM\OneToMany(targetEntity=VVT::class, mappedBy="team")
- */
- private $vvts;
+ #[ORM\OneToMany(targetEntity: VVT::class, mappedBy: 'team')]
+ private Collection $vvts;
- /**
- * @ORM\OneToMany(targetEntity=Datenweitergabe::class, mappedBy="team")
- */
- private $datenweitergaben;
+ #[ORM\OneToMany(targetEntity: Datenweitergabe::class, mappedBy: 'team')]
+ private Collection $datenweitergaben;
- /**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $strasse;
- /**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $plz;
- /**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $stadt;
- /**
- * @ORM\Column(type="text", nullable=true)
- */
+ #[ORM\Column(type: 'text', nullable: true)]
private $email;
- /**
- * @ORM\Column(type="text", nullable=true)
- */
+ #[ORM\Column(type: 'text', nullable: true)]
private $telefon;
- /**
- * @ORM\Column(type="text", nullable=true)
- */
+ #[ORM\Column(type: 'text', nullable: true)]
private $dsb;
- /**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $ceo;
- /**
- * @ORM\Column(type="datetime", nullable=true)
- */
+ #[ORM\Column(type: 'datetime', nullable: true)]
private $clonedAt;
- /**
- * @ORM\ManyToMany(targetEntity=AkademieKurse::class, mappedBy="team")
- */
+ #[ORM\ManyToMany(targetEntity: AkademieKurse::class, mappedBy: 'team')]
private $kurse;
- /**
- * @ORM\OneToMany(targetEntity=User::class, mappedBy="akademieUser")
- */
- private $akademieUsers;
+ #[ORM\OneToMany(targetEntity: User::class, mappedBy: 'akademieUser')]
+ private Collection $akademieUsers;
- /**
- * @ORM\OneToMany(targetEntity=User::class, mappedBy="adminUser")
- */
+ #[ORM\JoinTable(name: 'team_admin')]
+ #[ORM\ManyToMany(targetEntity: User::class, inversedBy: 'adminRoles')]
private $admins;
- /**
- * @ORM\OneToMany(targetEntity=Tom::class, mappedBy="team")
- */
- private $toms;
+ #[ORM\OneToMany(targetEntity: Tom::class, mappedBy: 'team')]
+ private Collection $toms;
- /**
- * @ORM\OneToMany(targetEntity=Vorfall::class, mappedBy="team")
- */
- private $vorfalls;
+ #[ORM\OneToMany(targetEntity: Vorfall::class, mappedBy: 'team')]
+ private Collection $vorfalls;
- /**
- * @ORM\OneToMany(targetEntity=Produkte::class, mappedBy="team")
- */
- private $produktes;
+ #[ORM\OneToMany(targetEntity: Produkte::class, mappedBy: 'team')]
+ private Collection $produktes;
- /**
- * @ORM\OneToMany(targetEntity=Forms::class, mappedBy="team")
- */
- private $forms;
+ #[ORM\OneToMany(targetEntity: Forms::class, mappedBy: 'team')]
+ private Collection $forms;
- /**
- * @ORM\OneToMany(targetEntity=Policies::class, mappedBy="team")
- */
- private $policies;
+ #[ORM\OneToMany(targetEntity: Policies::class, mappedBy: 'team')]
+ private Collection $policies;
- /**
- * @ORM\Column(type="text", nullable=true)
- */
+ #[ORM\Column(type: 'text', nullable: true)]
private $signature;
- /**
- * @ORM\OneToMany(targetEntity=Software::class, mappedBy="team")
- */
- private $software;
+ #[ORM\OneToMany(targetEntity: Software::class, mappedBy: 'team')]
+ private Collection $software;
- /**
- * @ORM\OneToMany(targetEntity=Task::class, mappedBy="team")
- */
- private $tasks;
+ #[ORM\OneToMany(targetEntity: Task::class, mappedBy: 'team')]
+ private Collection $tasks;
/**
- * @ORM\Column(type="text", nullable=true)
* @Encrypted()
- * @Assert\Url()
*/
+ #[ORM\Column(type: 'text', nullable: true)]
+ #[Assert\Url]
private $externalLink;
/**
- * @ORM\Column(type="text", nullable=true)
* @Encrypted()
*/
+ #[ORM\Column(type: 'text', nullable: true)]
private $video;
- /**
- * @ORM\OneToMany(targetEntity=ClientRequest::class, mappedBy="team")
- */
- private $clientRequests;
+ #[ORM\OneToMany(targetEntity: ClientRequest::class, mappedBy: 'team')]
+ private Collection $clientRequests;
- /**
- * @ORM\Column(type="text", nullable=true)
- */
+ #[ORM\Column(type: 'text', nullable: true)]
private $slug;
- /**
- * @ORM\ManyToOne(targetEntity=User::class, inversedBy="teamDsb")
- */
+ #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'teamDsb')]
private $dsbUser;
- /**
- * @ORM\OneToMany(targetEntity=Report::class, mappedBy="team")
- */
- private $reports;
+ #[ORM\OneToMany(targetEntity: Report::class, mappedBy: 'team')]
+ private Collection $reports;
- /**
- * @ORM\OneToMany(targetEntity=VVTDatenkategorie::class, mappedBy="team")
- */
- private $vVTDatenkategories;
+ #[ORM\OneToMany(targetEntity: VVTDatenkategorie::class, mappedBy: 'team')]
+ private Collection $vVTDatenkategories;
- /**
- * @ORM\OneToMany(targetEntity=VVTPersonen::class, mappedBy="team")
- */
- private $vVTPersonens;
+ #[ORM\OneToMany(targetEntity: VVTPersonen::class, mappedBy: 'team')]
+ private Collection $vVTPersonens;
- /**
- * @ORM\OneToMany(targetEntity=VVTRisiken::class, mappedBy="team")
- */
- private $vVTRisikens;
+ #[ORM\OneToMany(targetEntity: VVTRisiken::class, mappedBy: 'team')]
+ private Collection $vVTRisikens;
- /**
- * @ORM\OneToMany(targetEntity=VVTGrundlage::class, mappedBy="team")
- */
- private $vVTGrundlages;
+ #[ORM\OneToMany(targetEntity: VVTGrundlage::class, mappedBy: 'team')]
+ private Collection $vVTGrundlages;
- /**
- * @ORM\Column(type="text", nullable=true)
- */
+ #[ORM\Column(type: 'text', nullable: true)]
private $industry;
- /**
- * @ORM\Column(type="text", nullable=true)
- */
+ #[ORM\Column(type: 'text', nullable: true)]
private $specialty;
- /**
- * @ORM\OneToMany(targetEntity=VVTStatus::class, mappedBy="team")
- */
- private $vVTStatuses;
+ #[ORM\OneToMany(targetEntity: VVTStatus::class, mappedBy: 'team')]
+ private Collection $vVTStatuses;
- /**
- * @ORM\OneToMany(targetEntity=DatenweitergabeGrundlagen::class, mappedBy="team")
- */
- private $datenweitergabeGrundlagens;
+ #[ORM\OneToMany(targetEntity: DatenweitergabeGrundlagen::class, mappedBy: 'team')]
+ private Collection $datenweitergabeGrundlagens;
- /**
- * @ORM\OneToMany(targetEntity=DatenweitergabeStand::class, mappedBy="team")
- */
- private $datenweitergabeStands;
-
- /**
- * @ORM\OneToMany(targetEntity=Loeschkonzept::class, mappedBy="team")
- */
- private $loeschkonzepts;
+ #[ORM\OneToMany(targetEntity: DatenweitergabeStand::class, mappedBy: 'team')]
+ private Collection $datenweitergabeStands;
+ #[ORM\OneToMany(targetEntity: Loeschkonzept::class, mappedBy: 'team')]
+ private Collection $loeschkonzepts;
+
+ #[ORM\OneToMany(targetEntity: Questionnaire::class, mappedBy: 'team')]
+ private Collection $questionnaires;
public function __construct()
{
@@ -288,9 +206,10 @@ public function __construct()
$this->datenweitergabeGrundlagens = new ArrayCollection();
$this->datenweitergabeStands = new ArrayCollection();
$this->loeschkonzepts = new ArrayCollection();
+ $this->questionnaires = new ArrayCollection();
}
- public function __toString(): ?string
+ public function __toString(): string
{
return $this->name;
}
@@ -313,6 +232,18 @@ public function setName(string $name): self
return $this;
}
+ public function getKeycloakGroup(): ?string
+ {
+ return $this->keycloakGroup ? : $this->name;
+ }
+
+ public function setKeycloakGroup(?string $keycloakGroup): self
+ {
+ $this->keycloakGroup = $keycloakGroup;
+
+ return $this;
+ }
+
public function getActiv(): ?bool
{
return $this->activ;
@@ -337,7 +268,7 @@ public function addMember(User $member): self
{
if (!$this->members->contains($member)) {
$this->members[] = $member;
- $member->setTeam($this);
+ $member->addTeam($this);
}
return $this;
@@ -348,9 +279,7 @@ public function removeMember(User $member): self
if ($this->members->contains($member)) {
$this->members->removeElement($member);
// set the owning side to null (unless already changed)
- if ($member->getTeam() === $this) {
- $member->setTeam(null);
- }
+ $member->removeTeam($this);
}
return $this;
@@ -709,7 +638,6 @@ public function addAdmin(User $admin): self
{
if (!$this->admins->contains($admin)) {
$this->admins[] = $admin;
- $admin->setAdminUser($this);
}
return $this;
@@ -719,10 +647,6 @@ public function removeAdmin(User $admin): self
{
if ($this->admins->contains($admin)) {
$this->admins->removeElement($admin);
- // set the owning side to null (unless already changed)
- if ($admin->getAdminUser() === $this) {
- $admin->setAdminUser(null);
- }
}
return $this;
@@ -1331,4 +1255,67 @@ public function removeLoeschkonzept(Loeschkonzept $loeschkonzept): self
return $this;
}
+ /**
+ * @return Collection
+ */
+ public function getQuestionnaires(): Collection
+ {
+ return $this->questionnaires;
+ }
+
+ public function addQuestionnaire(Questionnaire $questionnaire): self
+ {
+ if (!$this->questionnaires->contains($questionnaire)) {
+ $this->questionnaires[] = $questionnaire;
+ $questionnaire->setTeam($this);
+ }
+
+ return $this;
+ }
+
+ public function removeQuestionnaire(Questionnaire $questionnaire): self
+ {
+ if ($this->questionnaires->removeElement($questionnaire)) {
+ // set the owning side to null (unless already changed)
+ if ($questionnaire->getTeam() === $this) {
+ $questionnaire->setTeam(null);
+ }
+ }
+
+ return $this;
+ }
+
+ /**
+ * returns list of elements that prevent team deletion
+ * @return array
+ */
+ public function getDeleteBlockers(): array
+ {
+ $blockers = [];
+ if (count($this->ziele)) $blockers[] = 'auditGoals';
+ if (count($this->abteilungen)) $blockers[] = 'departments';
+ if (count($this->auditToms)) $blockers[] = 'audits';
+ if (count($this->kontakte)) $blockers[] = 'contacts';
+ if (count($this->vvts)) $blockers[] = 'processingActivities';
+ if (count($this->datenweitergaben)) $blockers[] = 'dataTransfers';
+ if (count($this->kurse)) $blockers[] = 'academyCourses';
+ if (count($this->akademieUsers)) $blockers[] = 'academyUsers';
+ if (count($this->toms)) $blockers[] = 'toms';
+ if (count($this->vorfalls)) $blockers[] = 'incidents';
+ if (count($this->produktes)) $blockers[] = 'products';
+ if (count($this->forms)) $blockers[] = 'forms';
+ if (count($this->policies)) $blockers[] = 'policies';
+ if (count($this->software)) $blockers[] = 'software';
+ if (count($this->tasks)) $blockers[] = 'tasks';
+ if (count($this->clientRequests)) $blockers[] = 'clientRequests';
+ if (count($this->reports)) $blockers[] = 'reports';
+ if (count($this->vVTDatenkategories)) $blockers[] = 'dataCategories';
+ if (count($this->vVTPersonens)) $blockers[] = 'groupsOfPeople';
+ if (count($this->vVTRisikens)) $blockers[] = 'processingRisks';
+ if (count($this->vVTGrundlages)) $blockers[] = 'dataTransferBases';
+ if (count($this->vVTStatuses)) $blockers[] = 'processingStatuses';
+ if (count($this->datenweitergabeStands)) $blockers[] = 'dataTransferStatuses';
+ if (count($this->loeschkonzepts)) $blockers[] = 'deleteConcepts';
+ return $blockers;
+ }
}
diff --git a/src/Entity/Templates/EntityWithTimestamps.php b/src/Entity/Templates/EntityWithTimestamps.php
new file mode 100644
index 00000000..90721d5c
--- /dev/null
+++ b/src/Entity/Templates/EntityWithTimestamps.php
@@ -0,0 +1,57 @@
+id ?? null;
+ }
+
+ #[ORM\PrePersist]
+ public function setCreatedAt(): self
+ {
+ if(!isset($this->createdAt)){
+ $this->createdAt = new DateTimeImmutable();
+ }
+
+ return $this;
+ }
+
+ public function getCreatedAt(): DateTimeImmutable
+ {
+ return $this->createdAt;
+ }
+
+ #[ORM\PrePersist]
+ public function setUpdatedAt(): self
+ {
+ if(!isset($this->updatedAt)){
+ $this->updatedAt = new DateTimeImmutable();
+ }
+
+ return $this;
+ }
+
+ public function getUpdatedAt(): DateTimeImmutable
+ {
+ return $this->updatedAt;
+ }
+}
\ No newline at end of file
diff --git a/src/Entity/Tom.php b/src/Entity/Tom.php
index 49b32bac..aec452bc 100644
--- a/src/Entity/Tom.php
+++ b/src/Entity/Tom.php
@@ -9,187 +9,167 @@
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
-/**
- * @ORM\Entity(repositoryClass=TomRepository::class)
- */
+#[ORM\Entity(repositoryClass: TomRepository::class)]
class Tom
{
- /**
- * @ORM\Id()
- * @ORM\GeneratedValue()
- * @ORM\Column(type="integer")
- */
+ #[ORM\Id]
+ #[ORM\GeneratedValue]
+ #[ORM\Column(type: 'integer')]
private $id;
- /**
- * @ORM\ManyToOne(targetEntity=Team::class, inversedBy="toms")
- * @ORM\JoinColumn(nullable=false)
- * @Assert\NotBlank()
- */
+ #[ORM\ManyToOne(targetEntity: Team::class, inversedBy: 'toms')]
+ #[ORM\JoinColumn(nullable: false)]
+ #[Assert\NotBlank]
private $team;
- /**
- * @ORM\ManyToOne(targetEntity=User::class, inversedBy="toms")
- * @ORM\JoinColumn(nullable=false)
- * @Assert\NotBlank()
- */
+ #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'toms')]
+ #[ORM\JoinColumn(nullable: false)]
+ #[Assert\NotBlank]
private $user;
- /**
- * @ORM\Column(type="datetime")
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'datetime')]
+ #[Assert\NotBlank]
private $createdAt;
- /**
- * @ORM\OneToMany(targetEntity=VVT::class, mappedBy="tomLink")
- */
+ #[ORM\OneToMany(targetEntity: VVT::class, mappedBy: 'tomLink')]
private $vvts;
- /**
- * @ORM\Column(type="integer")
- */
+ #[ORM\Column(type: 'integer')]
private $activ;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $tomPseudo;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $tomZutrittskontrolle;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $tomZugangskontrolle;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $tomZugriffskontrolle;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $tomBenutzerkontrolle;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $tomSpeicherkontrolle;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $tomTrennbarkeit;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $tomDatenintegritaet;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $tomTransportkontrolle;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $tomUebertragungskontrolle;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $tomZuverlaessigkeit;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $tomAuftragskontrolle;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $tomVerfuegbarkeitskontrolle;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $tomWiederherstellbarkeit;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $tomAudit;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $tomEingabekontrolle;
- /**
- * @ORM\OneToOne(targetEntity=Tom::class, cascade={"persist", "remove"})
- */
+ #[ORM\OneToOne(targetEntity: Tom::class, cascade: ['persist', 'remove'])]
private $previous;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $beschreibung;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $titel;
- /**
- * @ORM\Column(type="boolean", nullable=true)
- */
+ #[ORM\Column(type: 'boolean', nullable: true)]
private $approved;
- /**
- * @ORM\ManyToOne(targetEntity=User::class)
- */
+ #[ORM\ManyToOne(targetEntity: User::class)]
private $approvedBy;
public function __construct()
diff --git a/src/Entity/Upload.php b/src/Entity/Upload.php
index d088b434..9f787cc0 100644
--- a/src/Entity/Upload.php
+++ b/src/Entity/Upload.php
@@ -9,46 +9,36 @@
use Vich\UploaderBundle\Mapping\Annotation as Vich;
/**
- * @ORM\Entity(repositoryClass=FileRepository::class)
* @Vich\Uploadable
*/
+#[ORM\Entity(repositoryClass: FileRepository::class)]
class Upload
{
- /**
- * @ORM\Id()
- * @ORM\GeneratedValue()
- * @ORM\Column(type="integer")
- */
+ #[ORM\Id]
+ #[ORM\GeneratedValue]
+ #[ORM\Column(type: 'integer')]
private $id;
/**
- * @ORM\Column(type="string", length=255,nullable=true)
* @var string
*/
+ #[ORM\Column(type: 'string', length: 255, nullable: true)]
private $file;
/**
- * @Assert\File(
- * maxSize="2M",
- * mimeTypes={"text/plain"})
* @Vich\UploadableField(mapping="profil_picture", fileNameProperty="file")
* @var File
*/
+ #[Assert\File(maxSize: '2M', mimeTypes: ['text/plain'])]
private $fileFile;
- /**
- * @ORM\Column(type="datetime")
- */
+ #[ORM\Column(type: 'datetime')]
private $updatedAt;
- /**
- * @ORM\Column(type="string", length=50)
- */
+ #[ORM\Column(type: 'string', length: 50)]
private $UId;
- /**
- * @ORM\Column(type="integer")
- */
+ #[ORM\Column(type: 'integer')]
private $amount;
public function getId(): ?int
diff --git a/src/Entity/User.php b/src/Entity/User.php
index d499f623..2feaf810 100644
--- a/src/Entity/User.php
+++ b/src/Entity/User.php
@@ -6,215 +6,130 @@
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
-use App\Entity\UserBase as BaseUser;
-use Symfony\Component\Validator\Constraints as Assert;
-
-/**
- * @ORM\Entity
- * @ORM\Table(name="fos_user")
- */
-class User extends BaseUser
+use Symfony\Component\Security\Core\User\UserInterface;
+
+#[ORM\Table(name: 'user')]
+#[ORM\Entity]
+class User implements UserInterface
{
- /**
- * @ORM\Id
- * @ORM\Column(type="integer")
- * @ORM\GeneratedValue(strategy="AUTO")
- */
+ #[ORM\Id]
+ #[ORM\Column(type: 'integer')]
+ #[ORM\GeneratedValue(strategy: 'AUTO')]
protected $id;
- /**
- * @Assert\NotBlank(message="fos_user.password.blank", groups={"Registration", "ResetPassword", "ChangePassword"})
- * @Assert\Length(min=8,
- * minMessage="fos_user.password.short",
- * groups={"Registration", "Profile", "ResetPassword", "ChangePassword"})
- */
- protected $plainPassword;
-
- /**
- * @ORM\ManyToOne(targetEntity=Team::class, inversedBy="members")
- */
- private $team;
-
- /**
- * @ORM\OneToMany(targetEntity=Datenweitergabe::class, mappedBy="user")
- */
- private $datenweitergabes;
-
- /**
- * @ORM\OneToMany(targetEntity=VVT::class, mappedBy="user")
- */
- private $vVTs;
-
- /**
- * @ORM\OneToMany(targetEntity=AuditTom::class, mappedBy="user")
- */
- private $auditToms;
-
- /**
- * @ORM\OneToMany(targetEntity=VVTDsfa::class, mappedBy="user")
- */
- private $vVTDsfas;
-
- /**
- * @ORM\ManyToOne(targetEntity=Team::class, inversedBy="akademieUsers")
- */
- private $akademieUser;
-
- /**
- * @ORM\ManyToOne(targetEntity=Team::class, inversedBy="admins")
- */
- private $adminUser;
-
- /**
- * @ORM\OneToMany(targetEntity=VVT::class, mappedBy="userContract")
- */
- private $myVvts;
-
- /**
- * @ORM\OneToMany(targetEntity=Tom::class, mappedBy="user")
- */
- private $toms;
-
- /**
- * @ORM\OneToMany(targetEntity=Vorfall::class, mappedBy="user")
- */
- private $vorfalls;
-
- /**
- * @ORM\OneToMany(targetEntity=AkademieKurse::class, mappedBy="user")
- */
- private $akademieKurses;
-
- /**
- * @ORM\OneToMany(targetEntity=VVT::class, mappedBy="assignedUser")
- */
- private $assignedVvts;
-
- /**
- * @ORM\OneToMany(targetEntity=AuditTom::class, mappedBy="assignedUser")
- */
- private $assignedAudits;
-
- /**
- * @ORM\OneToMany(targetEntity=Datenweitergabe::class, mappedBy="assignedUser")
- */
- private $assignedDatenweitergaben;
-
- /**
- * @ORM\OneToMany(targetEntity=VVTDsfa::class, mappedBy="assignedUser")
- */
- private $assignedDsfa;
-
- /**
- * @ORM\OneToMany(targetEntity=Forms::class, mappedBy="user")
- */
- private $forms;
-
- /**
- * @ORM\OneToMany(targetEntity=Policies::class, mappedBy="user")
- */
- private $policies;
-
- /**
- * @ORM\OneToMany(targetEntity=Policies::class, mappedBy="person")
- */
- private $policiesResponsible;
-
- /**
- * @ORM\OneToMany(targetEntity=Policies::class, mappedBy="assignedUser")
- */
- private $assignedPolicies;
-
- /**
- * @ORM\OneToMany(targetEntity=Forms::class, mappedBy="assignedUser")
- */
- private $assignedForms;
-
- /**
- * @ORM\OneToMany(targetEntity=Software::class, mappedBy="user")
- */
- private $software;
-
- /**
- * @ORM\OneToMany(targetEntity=Software::class, mappedBy="assignedUser")
- */
- private $assignedSoftware;
-
- /**
- * @ORM\OneToMany(targetEntity=Vorfall::class, mappedBy="assignedUser")
- */
- private $assignedVorfalls;
-
- /**
- * @ORM\OneToMany(targetEntity=Task::class, mappedBy="assignedUser")
- */
- private $tasks;
-
- /**
- * @ORM\OneToMany(targetEntity=ClientRequest::class, mappedBy="user")
- */
- private $clientRequests;
-
- /**
- * @ORM\OneToMany(targetEntity=ClientRequest::class, mappedBy="assignedUser")
- */
- private $assignedRequests;
-
- /**
- * @ORM\OneToMany(targetEntity=Team::class, mappedBy="dsbUser")
- */
- private $teamDsb;
-
- /**
- * @ORM\Column(type="text")
- */
- private $email;
-
- /**
- * @ORM\Column(type="text", nullable=true)
- */
- private $keycloakId;
-
- /**
- * @ORM\Column(type="datetime",nullable=true)
- */
- private $createdAt;
-
- /**
- * @ORM\Column(type="text", nullable=true)
- */
- private $username;
-
- /**
- * @ORM\Column(type="datetime", nullable=true)
- */
- private $lastLogin;
-
- /**
- * @ORM\Column(type="text", nullable=true)
- */
- private $firstName;
-
- /**
- * @ORM\Column(type="text", nullable=true)
- */
- private $lastName;
-
- /**
- * @ORM\Column(type="text", nullable=true)
- */
- private $registerId;
-
- /**
- * @ORM\OneToMany(targetEntity=Loeschkonzept::class, mappedBy="user")
- */
- private $loeschkonzepts;
-
- /**
- * @ORM\OneToMany(targetEntity=VVTDatenkategorie::class, mappedBy="user")
- */
- private $vVTDatenkategories;
+ #[ORM\ManyToMany(targetEntity: Team::class, inversedBy: 'members')]
+ private Collection $teams;
+
+ #[ORM\OneToMany(mappedBy: 'user', targetEntity: Datenweitergabe::class)]
+ private Collection $datenweitergabes;
+
+ #[ORM\OneToMany(mappedBy: 'user', targetEntity: VVT::class)]
+ private Collection $vVTs;
+
+ #[ORM\OneToMany(mappedBy: 'user', targetEntity: AuditTom::class)]
+ private Collection $auditToms;
+
+ #[ORM\OneToMany(mappedBy: 'user', targetEntity: VVTDsfa::class)]
+ private Collection $vVTDsfas;
+
+ #[ORM\ManyToOne(targetEntity: Team::class, inversedBy: 'akademieUsers')]
+ private ?Team $akademieUser;
+
+ #[ORM\ManyToMany(targetEntity: Team::class, mappedBy: 'admins')]
+ private $adminRoles;
+
+ #[ORM\OneToMany(mappedBy: 'userContract', targetEntity: VVT::class)]
+ private Collection $myVvts;
+
+ #[ORM\OneToMany(mappedBy: 'user', targetEntity: Tom::class)]
+ private Collection $toms;
+
+ #[ORM\OneToMany(mappedBy: 'user', targetEntity: Vorfall::class)]
+ private Collection $vorfalls;
+
+ #[ORM\OneToMany(mappedBy: 'user', targetEntity: AkademieKurse::class)]
+ private Collection $akademieKurses;
+
+ #[ORM\OneToMany(mappedBy: 'assignedUser', targetEntity: VVT::class)]
+ private Collection $assignedVvts;
+
+ #[ORM\OneToMany(mappedBy: 'assignedUser', targetEntity: AuditTom::class)]
+ private Collection $assignedAudits;
+
+ #[ORM\OneToMany(mappedBy: 'assignedUser', targetEntity: Datenweitergabe::class)]
+ private Collection $assignedDatenweitergaben;
+
+ #[ORM\OneToMany(mappedBy: 'assignedUser', targetEntity: VVTDsfa::class)]
+ private Collection $assignedDsfa;
+
+ #[ORM\OneToMany(mappedBy: 'user', targetEntity: Forms::class)]
+ private Collection $forms;
+
+ #[ORM\OneToMany(mappedBy: 'user', targetEntity: Policies::class)]
+ private Collection $policies;
+
+ #[ORM\OneToMany(mappedBy: 'person', targetEntity: Policies::class)]
+ private Collection $policiesResponsible;
+
+ #[ORM\OneToMany(mappedBy: 'assignedUser', targetEntity: Policies::class)]
+ private Collection $assignedPolicies;
+
+ #[ORM\OneToMany(mappedBy: 'assignedUser', targetEntity: Forms::class)]
+ private Collection $assignedForms;
+
+ #[ORM\OneToMany(mappedBy: 'user', targetEntity: Software::class)]
+ private Collection $software;
+
+ #[ORM\OneToMany(mappedBy: 'assignedUser', targetEntity: Software::class)]
+ private Collection $assignedSoftware;
+
+ #[ORM\OneToMany(mappedBy: 'assignedUser', targetEntity: Vorfall::class)]
+ private Collection $assignedVorfalls;
+
+ #[ORM\OneToMany(mappedBy: 'assignedUser', targetEntity: Task::class)]
+ private Collection $tasks;
+
+ #[ORM\OneToMany(mappedBy: 'user', targetEntity: ClientRequest::class)]
+ private Collection $clientRequests;
+
+ #[ORM\OneToMany(mappedBy: 'assignedUser', targetEntity: ClientRequest::class)]
+ private Collection $assignedRequests;
+
+ #[ORM\OneToMany(mappedBy: 'dsbUser', targetEntity: Team::class)]
+ private Collection $teamDsb;
+
+ #[ORM\Column(type: 'text')]
+ private ?string $email;
+
+ #[ORM\Column(type: 'text', nullable: true)]
+ private ?string $keycloakId;
+
+ #[ORM\Column(type: 'datetime', nullable: true)]
+ private ?\DateTimeInterface $createdAt;
+
+ #[ORM\Column(type: 'text', nullable: true)]
+ private string $username;
+
+ #[ORM\Column(type: 'datetime', nullable: true)]
+ private ?\DateTimeInterface $lastLogin;
+
+ #[ORM\Column(type: 'text', nullable: true)]
+ private ?string $firstName;
+
+ #[ORM\Column(type: 'text', nullable: true)]
+ private ?string $lastName;
+
+ #[ORM\Column(type: 'text', nullable: true)]
+ private ?string $registerId;
+
+ #[ORM\OneToMany(mappedBy: 'user', targetEntity: Loeschkonzept::class)]
+ private Collection $loeschkonzepts;
+
+ #[ORM\OneToMany(mappedBy: 'user', targetEntity: VVTDatenkategorie::class)]
+ private Collection $vVTDatenkategories;
+ #[ORM\Column(type: 'json', nullable: true)]
+ private array $roles;
public function __construct()
{
@@ -246,21 +161,50 @@ public function __construct()
$this->vVTDatenkategories = new ArrayCollection();
}
- public function getTeam(): ?Team
+ public function getId(): ?int
{
- return $this->team;
+ return $this->id;
}
- public function setTeam(?Team $team): self
+ public function getTeams(): Collection
{
- $this->team = $team;
+ $allTeams = array_merge($this->teams->toArray(), $this->adminRoles->toArray());
+ return new ArrayCollection(array_unique($allTeams));
+ }
+
+ public function setTeams(Collection $teams): self
+ {
+ $this->teams = $teams;
+
+ return $this;
+ }
+
+ public function addTeam(Team $team): self
+ {
+ if(!$this->teams->contains($team)) {
+ $this->teams[] = $team;
+ }
return $this;
}
- /**
- * @return Collection|Datenweitergabe[]
- */
+ public function removeTeam(Team $team): self
+ {
+ if ($this->teams->contains($team)) {
+ $this->teams->removeElement($team);
+ }
+
+ return $this;
+ }
+
+ public function hasTeam(Team $team = null): bool
+ {
+ if ($team) {
+ return $this->getTeams()->contains($team);
+ }
+ return count($this->getTeams()) > 0;
+ }
+
public function getDatenweitergabes(): Collection
{
return $this->datenweitergabes;
@@ -289,9 +233,6 @@ public function removeDatenweitergabe(Datenweitergabe $datenweitergabe): self
return $this;
}
- /**
- * @return Collection|VVT[]
- */
public function getVVTs(): Collection
{
return $this->vVTs;
@@ -320,9 +261,6 @@ public function removeVVT(VVT $vVT): self
return $this;
}
- /**
- * @return Collection|AuditTom[]
- */
public function getAuditToms(): Collection
{
return $this->auditToms;
@@ -351,9 +289,6 @@ public function removeAuditTom(AuditTom $auditTom): self
return $this;
}
- /**
- * @return Collection|VVTDsfa[]
- */
public function getVVTDsfas(): Collection
{
return $this->vVTDsfas;
@@ -394,21 +329,19 @@ public function setAkademieUser(?Team $akademieUser): self
return $this;
}
- public function getAdminUser(): ?Team
+ public function getAdminRoles(): Collection
{
- return $this->adminUser;
+ return $this->adminRoles;
}
- public function setAdminUser(?Team $adminUser): self
+ public function hasAdminRole(Team $team = null): bool
{
- $this->adminUser = $adminUser;
-
- return $this;
+ if ($team && $this->adminRoles) {
+ return $this->adminRoles->contains($team);
+ }
+ return count($this->adminRoles) > 0;
}
- /**
- * @return Collection|VVT[]
- */
public function getMyVvts(): Collection
{
return $this->myVvts;
@@ -437,9 +370,6 @@ public function removeMyVvt(VVT $myVvt): self
return $this;
}
- /**
- * @return Collection|Tom[]
- */
public function getToms(): Collection
{
return $this->toms;
@@ -468,9 +398,6 @@ public function removeTom(Tom $tom): self
return $this;
}
- /**
- * @return Collection|Vorfall[]
- */
public function getVorfalls(): Collection
{
return $this->vorfalls;
@@ -499,9 +426,6 @@ public function removeVorfall(Vorfall $vorfall): self
return $this;
}
- /**
- * @return Collection|AkademieKurse[]
- */
public function getAkademieKurses(): Collection
{
return $this->akademieKurses;
@@ -530,9 +454,6 @@ public function removeAkademieKurse(AkademieKurse $akademieKurse): self
return $this;
}
- /**
- * @return Collection|VVT[]
- */
public function getAssignedVvts(): Collection
{
return $this->assignedVvts;
@@ -561,9 +482,6 @@ public function removeAssignedVvt(VVT $assignedVvt): self
return $this;
}
- /**
- * @return Collection|AuditTom[]
- */
public function getAssignedAudits(): Collection
{
return $this->assignedAudits;
@@ -592,9 +510,6 @@ public function removeAssignedAudit(AuditTom $assignedAudit): self
return $this;
}
- /**
- * @return Collection|Datenweitergabe[]
- */
public function getAssignedDatenweitergaben(): Collection
{
return $this->assignedDatenweitergaben;
@@ -610,6 +525,7 @@ public function addAssignedDatenweitergaben(Datenweitergabe $assignedDatenweiter
return $this;
}
+
public function removeAssignedDatenweitergaben(Datenweitergabe $assignedDatenweitergaben): self
{
if ($this->assignedDatenweitergaben->contains($assignedDatenweitergaben)) {
@@ -623,9 +539,6 @@ public function removeAssignedDatenweitergaben(Datenweitergabe $assignedDatenwei
return $this;
}
- /**
- * @return Collection|VVTDsfa[]
- */
public function getAssignedDsfa(): Collection
{
return $this->assignedDsfa;
@@ -654,9 +567,6 @@ public function removeAssignedDsfa(VVTDsfa $assignedDsfa): self
return $this;
}
- /**
- * @return Collection|Forms[]
- */
public function getForms(): Collection
{
return $this->forms;
@@ -685,9 +595,6 @@ public function removeForm(Forms $form): self
return $this;
}
- /**
- * @return Collection|Policies[]
- */
public function getPolicies(): Collection
{
return $this->policies;
@@ -716,9 +623,6 @@ public function removePolicy(Policies $policy): self
return $this;
}
- /**
- * @return Collection|Policies[]
- */
public function getPoliciesResponsible(): Collection
{
return $this->policiesResponsible;
@@ -747,9 +651,6 @@ public function removePoliciesResponsible(Policies $policiesResponsible): self
return $this;
}
- /**
- * @return Collection|Policies[]
- */
public function getAssignedPolicies(): Collection
{
return $this->assignedPolicies;
@@ -778,9 +679,6 @@ public function removeAssignedPolicy(Policies $assignedPolicy): self
return $this;
}
- /**
- * @return Collection|Forms[]
- */
public function getAssignedForms(): Collection
{
return $this->assignedForms;
@@ -809,9 +707,6 @@ public function removeAssignedForm(Forms $assignedForm): self
return $this;
}
- /**
- * @return Collection|Software[]
- */
public function getSoftware(): Collection
{
return $this->software;
@@ -840,9 +735,6 @@ public function removeSoftware(Software $software): self
return $this;
}
- /**
- * @return Collection|Software[]
- */
public function getAssignedSoftware(): Collection
{
return $this->assignedSoftware;
@@ -871,9 +763,6 @@ public function removeAssignedSoftware(Software $assignedSoftware): self
return $this;
}
- /**
- * @return Collection|Vorfall[]
- */
public function getAssignedVorfalls(): Collection
{
return $this->assignedVorfalls;
@@ -902,9 +791,6 @@ public function removeAssignedVorfall(Vorfall $assignedVorfall): self
return $this;
}
- /**
- * @return Collection|Task[]
- */
public function getTasks(): Collection
{
return $this->tasks;
@@ -933,9 +819,6 @@ public function removeTask(Task $task): self
return $this;
}
- /**
- * @return Collection|ClientRequest[]
- */
public function getClientRequests(): Collection
{
return $this->clientRequests;
@@ -964,9 +847,6 @@ public function removeClientRequest(ClientRequest $clientRequest): self
return $this;
}
- /**
- * @return Collection|ClientRequest[]
- */
public function getAssignedRequests(): Collection
{
return $this->assignedRequests;
@@ -995,9 +875,6 @@ public function removeAssignedRequest(ClientRequest $assignedRequest): self
return $this;
}
- /**
- * @return Collection|Team[]
- */
public function getTeamDsb(): Collection
{
return $this->teamDsb;
@@ -1062,6 +939,11 @@ public function setCreatedAt(\DateTimeInterface $createdAt): self
return $this;
}
+ public function getUsername(): string
+ {
+ return $this->username;
+ }
+
public function setUsername(?string $username): self
{
$this->username = $username;
@@ -1117,9 +999,6 @@ public function setRegisterId(?string $registerId): self
return $this;
}
- /**
- * @return Collection
- */
public function getLoeschkonzepts(): Collection
{
return $this->loeschkonzepts;
@@ -1147,9 +1026,6 @@ public function removeLoeschkonzept(Loeschkonzept $loeschkonzept): self
return $this;
}
- /**
- * @return Collection
- */
public function getVVTDatenkategories(): Collection
{
return $this->vVTDatenkategories;
@@ -1177,4 +1053,26 @@ public function removeVVTDatenkategory(VVTDatenkategorie $vVTDatenkategory): sel
return $this;
}
+ public function getRoles(): array
+ {
+ $roles = $this->roles ?? [];
+ $roles[] = 'ROLE_USER';
+ return array_unique($roles);
+ }
+
+ public function setRoles(array $roles): void
+ {
+ $this->roles = $roles;
+ }
+
+ public function eraseCredentials()
+ {
+ // If you store any temporary, sensitive data on the user, clear it here
+ // $this->plainPassword = null;
+ }
+
+ public function getUserIdentifier(): string
+ {
+ return $this->getUsername();
+ }
}
diff --git a/src/Entity/UserBase.php b/src/Entity/UserBase.php
deleted file mode 100644
index c1db5974..00000000
--- a/src/Entity/UserBase.php
+++ /dev/null
@@ -1,106 +0,0 @@
-id;
- }
-
- public function getUuid(): ?string
- {
- return $this->uuid;
- }
-
- public function setUuid(string $uuid): self
- {
- $this->uuid = $uuid;
-
- return $this;
- }
-
- /**
- * A visual identifier that represents this user.
- *
- * @see UserInterface
- */
- public function getUsername(): string
- {
- return (string) $this->uuid;
- }
-
- /**
- * @see UserInterface
- */
- public function getRoles(): array
- {
- $roles = $this->roles;
- // guarantee every user at least has ROLE_USER
- $roles[] = 'ROLE_USER';
-
- return array_unique($roles);
- }
-
- public function setRoles(array $roles): self
- {
- $this->roles = $roles;
-
- return $this;
- }
-
- /**
- * @see UserInterface
- */
- public function getPassword(): string
- {
- return (string) $this->password;
- }
-
- public function setPassword(string $password): self
- {
- $this->password = $password;
-
- return $this;
- }
-
- /**
- * @see UserInterface
- */
- public function getSalt()
- {
- // not needed when using the "bcrypt" algorithm in security.yaml
- }
-
- /**
- * @see UserInterface
- */
- public function eraseCredentials()
- {
- // If you store any temporary, sensitive data on the user, clear it here
- // $this->plainPassword = null;
- }
-}
diff --git a/src/Entity/VVT.php b/src/Entity/VVT.php
index 96f34ae3..c741f382 100644
--- a/src/Entity/VVT.php
+++ b/src/Entity/VVT.php
@@ -15,228 +15,162 @@
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
-/**
- * @ORM\Entity(repositoryClass=VVTRepository::class)
- */
+#[ORM\Entity(repositoryClass: VVTRepository::class)]
class VVT
{
- /**
- * @ORM\Id()
- * @ORM\GeneratedValue()
- * @ORM\Column(type="integer")
- */
+ #[ORM\Id]
+ #[ORM\GeneratedValue]
+ #[ORM\Column(type: 'integer')]
private $id;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $name;
- /**
- * @ORM\Column(type="text", nullable=true)
- */
+ #[ORM\Column(type: 'text', nullable: true)]
private $verantwortlich;
- /**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $zweck;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $jointControl = false;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $auftragsverarbeitung = false;
- /**
- * @ORM\Column(type="text",nullable=true)
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'text', nullable: true)]
+ #[Assert\NotBlank]
private $speicherung;
- /**
- * @ORM\ManyToMany(targetEntity=VVTGrundlage::class)
- * @Assert\NotBlank()
- */
+ #[ORM\ManyToMany(targetEntity: VVTGrundlage::class)]
+ #[Assert\NotBlank]
private $grundlage;
- /**
- * @ORM\ManyToMany(targetEntity=VVTPersonen::class)
- * @Assert\NotBlank()
- */
+ #[ORM\ManyToMany(targetEntity: VVTPersonen::class)]
+ #[Assert\NotBlank]
private $personengruppen;
- /**
- * @ORM\ManyToMany(targetEntity=VVTDatenkategorie::class, cascade={"persist", "remove"})
- * @Assert\NotBlank()
- */
+ #[ORM\ManyToMany(targetEntity: VVTDatenkategorie::class, cascade: ['persist', 'remove'])]
+ #[Assert\NotBlank]
private $kategorien;
- /**
- * @ORM\Column(type="text", nullable=true)
- */
+ #[ORM\Column(type: 'text', nullable: true)]
private $weitergabe;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $eu = false;
/**
- * @ORM\Column(type="text", nullable=true)
* @Encrypted()
*/
+ #[ORM\Column(type: 'text', nullable: true)]
private $tom;
- /**
- * @ORM\ManyToMany(targetEntity=VVTRisiken::class)
- * @Assert\NotBlank()
- */
+ #[ORM\ManyToMany(targetEntity: VVTRisiken::class)]
+ #[Assert\NotBlank]
private $risiko;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $nummer;
- /**
- * @ORM\ManyToOne(targetEntity=VVTStatus::class)
- * @ORM\JoinColumn(nullable=false)
- * @Assert\NotBlank()
- */
+ #[ORM\ManyToOne(targetEntity: VVTStatus::class)]
+ #[ORM\JoinColumn(nullable: false)]
+ #[Assert\NotBlank]
private $status;
- /**
- * @ORM\ManyToOne(targetEntity=Team::class, inversedBy="vvts")
- * @ORM\JoinColumn(nullable=false)
- * @Assert\NotBlank()
- */
+ #[ORM\ManyToOne(targetEntity: Team::class, inversedBy: 'vvts')]
+ #[ORM\JoinColumn(nullable: false)]
+ #[Assert\NotBlank]
private $team;
- /**
- * @ORM\Column(type="integer")
- */
+ #[ORM\Column(type: 'integer')]
private $activ;
- /**
- * @ORM\Column(type="datetime")
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'datetime')]
+ #[Assert\NotBlank]
private $CreatedAt;
- /**
- * @ORM\OneToOne(targetEntity=VVT::class, cascade={"persist", "remove"})
- */
+ #[ORM\OneToOne(targetEntity: VVT::class, cascade: ['persist', 'remove'])]
private $previous;
- /**
- * @ORM\OneToMany(targetEntity=VVTDsfa::class, mappedBy="vvt")
- */
+ #[ORM\OneToMany(targetEntity: VVTDsfa::class, mappedBy: 'vvt')]
private $dsfa;
- /**
- * @ORM\ManyToOne(targetEntity=User::class, inversedBy="vVTs")
- * @ORM\JoinColumn(nullable=false)
- */
+ #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'vVTs')]
+ #[ORM\JoinColumn(nullable: false)]
private $user;
/**
- * @ORM\Column(type="text", nullable=true)
* @Encrypted()
*/
+ #[ORM\Column(type: 'text', nullable: true)]
private $informationspflicht;
/**
- * @ORM\Column(type="text", nullable=true)
* @Encrypted()
*/
+ #[ORM\Column(type: 'text', nullable: true)]
private $dsb;
- /**
- * @ORM\Column(type="integer")
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'integer')]
+ #[Assert\NotBlank]
private $beurteilungEintritt;
- /**
- * @ORM\Column(type="integer")
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'integer')]
+ #[Assert\NotBlank]
private $beurteilungSchaden;
- /**
- * @ORM\ManyToOne(targetEntity=User::class, inversedBy="myVvts")
- * @ORM\JoinColumn(nullable=false)
- */
+ #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'myVvts')]
+ #[ORM\JoinColumn(nullable: false)]
private $userContract;
- /**
- * @ORM\ManyToMany(targetEntity=Datenweitergabe::class, inversedBy="verfahren")
- */
+ #[ORM\ManyToMany(targetEntity: Datenweitergabe::class, inversedBy: 'verfahren')]
private $datenweitergaben;
- /**
- * @ORM\ManyToOne(targetEntity=Tom::class, inversedBy="vvts")
- */
+ #[ORM\ManyToOne(targetEntity: Tom::class, inversedBy: 'vvts')]
private $tomLink;
- /**
- * @ORM\ManyToOne(targetEntity=AuditTomAbteilung::class, inversedBy="vVTs")
- */
+ #[ORM\ManyToOne(targetEntity: AuditTomAbteilung::class, inversedBy: 'vVTs')]
private $abteilung;
- /**
- * @ORM\ManyToMany(targetEntity=Produkte::class, inversedBy="Vvts")
- */
+ #[ORM\ManyToMany(targetEntity: Produkte::class, inversedBy: 'Vvts')]
private $produkt;
private $beurteilungEintrittString;
private $beurteilungSchadenString;
- /**
- * @ORM\ManyToOne(targetEntity=User::class, inversedBy="assignedVvts")
- */
+ #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'assignedVvts')]
private $assignedUser;
- /**
- * @ORM\ManyToMany(targetEntity=Policies::class, mappedBy="processes")
- */
+ #[ORM\ManyToMany(targetEntity: Policies::class, mappedBy: 'processes')]
private $policies;
- /**
- * @ORM\ManyToMany(targetEntity=Software::class, mappedBy="vvts")
- */
+ #[ORM\ManyToMany(targetEntity: Software::class, mappedBy: 'vvts')]
private $software;
- /**
- * @ORM\Column(type="boolean", nullable=true)
- */
+ #[ORM\Column(type: 'boolean', nullable: true)]
private $approved;
- /**
- * @ORM\ManyToOne(targetEntity=User::class)
- */
+ #[ORM\ManyToOne(targetEntity: User::class)]
private $approvedBy;
- /**
- * @ORM\Column(type="text", nullable=true)
- */
+ #[ORM\Column(type: 'text', nullable: true)]
private $source;
/**
- * @ORM\Column(type="text", nullable=true)
* @Encrypted()
- */
+ */
+ #[ORM\Column(type: 'text', nullable: true)]
private $loeschfrist;
public function __construct()
diff --git a/src/Entity/VVTDatenkategorie.php b/src/Entity/VVTDatenkategorie.php
index 9a7b135a..0b80f783 100644
--- a/src/Entity/VVTDatenkategorie.php
+++ b/src/Entity/VVTDatenkategorie.php
@@ -14,70 +14,46 @@
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
-/**
- * @ORM\Entity(repositoryClass=VVTDatenkategorieRepository::class)
- */
+#[ORM\Entity(repositoryClass: VVTDatenkategorieRepository::class)]
class VVTDatenkategorie
{
- /**
- * @ORM\Id()
- * @ORM\GeneratedValue()
- * @ORM\Column(type="integer")
- */
+ #[ORM\Id]
+ #[ORM\GeneratedValue]
+ #[ORM\Column(type: 'integer')]
private $id;
- /**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $name;
- /**
- * @ORM\ManyToOne(targetEntity=Team::class, inversedBy="vVTDatenkategories")
- */
+ #[ORM\ManyToOne(targetEntity: Team::class, inversedBy: 'vVTDatenkategories')]
private $team;
- /**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
- */
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $datenarten;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $activ;
- /**
- * @ORM\ManyToMany(targetEntity=Loeschkonzept::class, mappedBy="vvtdatenkategories",cascade={"persist", "remove"})
- */
+ #[ORM\ManyToMany(targetEntity: Loeschkonzept::class, mappedBy: 'vvtdatenkategories', cascade: ['persist', 'remove'])]
private $loeschkonzept;
- /**
- * @ORM\OneToOne(targetEntity=VVTDatenkategorie::class, cascade={"persist", "remove"})
- */
+ #[ORM\OneToOne(targetEntity: VVTDatenkategorie::class, cascade: ['persist', 'remove'])]
private $previous;
- /**
- * @ORM\Column(type="datetime_immutable", nullable = true)
- */
+ #[ORM\Column(type: 'datetime_immutable', nullable: true)]
private $CreatedAt;
- /**
- * @ORM\ManyToOne(targetEntity=User::class, inversedBy="vVTDatenkategories")
- * @ORM\JoinColumn(nullable=true)
- */
+ #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'vVTDatenkategories')]
+ #[ORM\JoinColumn(nullable: true)]
private $user;
- /**
- * @ORM\ManyToOne(targetEntity=VVTDatenkategorie::class, inversedBy="parentOf")
- */
+ #[ORM\ManyToOne(targetEntity: VVTDatenkategorie::class, inversedBy: 'parentOf')]
private $cloneOf;
- /**
- * @ORM\OneToMany(targetEntity=VVTDatenkategorie::class, mappedBy="cloneOf")
- */
+ #[ORM\OneToMany(targetEntity: VVTDatenkategorie::class, mappedBy: 'cloneOf')]
private $parentOf;
public function __construct()
@@ -86,7 +62,7 @@ public function __construct()
$this->parentOf = new ArrayCollection();
}
- public function __toString(): ?string
+ public function __toString(): string
{
if ($this->getLoeschkonzept())
{
diff --git a/src/Entity/VVTDsfa.php b/src/Entity/VVTDsfa.php
index a4f07ce2..158e8814 100644
--- a/src/Entity/VVTDsfa.php
+++ b/src/Entity/VVTDsfa.php
@@ -7,96 +7,80 @@
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
-/**
- * @ORM\Entity(repositoryClass=VVTDsfaRepository::class)
- */
+#[ORM\Entity(repositoryClass: VVTDsfaRepository::class)]
class VVTDsfa
{
- /**
- * @ORM\Id()
- * @ORM\GeneratedValue()
- * @ORM\Column(type="integer")
- */
+ #[ORM\Id]
+ #[ORM\GeneratedValue]
+ #[ORM\Column(type: 'integer')]
private $id;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $beschreibung;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $notwendigkeit;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $risiko;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $abhilfe;
/**
- * @ORM\Column(type="text")
- * @Assert\NotBlank()
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
+ #[Assert\NotBlank]
private $standpunkt;
/**
- * @ORM\Column(type="text", nullable=true)
* @Encrypted()
*/
+ #[ORM\Column(type: 'text', nullable: true)]
private $dsb;
/**
- * @ORM\Column(type="text", nullable=true)
* @Encrypted()
*/
+ #[ORM\Column(type: 'text', nullable: true)]
private $ergebnis;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $activ;
- /**
- * @ORM\OneToOne(targetEntity=VVTDsfa::class, cascade={"persist", "remove"})
- */
+ #[ORM\OneToOne(targetEntity: VVTDsfa::class, cascade: ['persist', 'remove'])]
private $previous;
- /**
- * @ORM\Column(type="datetime")
- */
+ #[ORM\Column(type: 'datetime')]
private $CreatedAt;
- /**
- * @ORM\ManyToOne(targetEntity=VVT::class, inversedBy="dsfa")
- * @ORM\JoinColumn(nullable=false)
- * @Assert\NotBlank()
- */
+ #[ORM\ManyToOne(targetEntity: VVT::class, inversedBy: 'dsfa')]
+ #[ORM\JoinColumn(nullable: false)]
+ #[Assert\NotBlank]
private $vvt;
- /**
- * @ORM\ManyToOne(targetEntity=User::class, inversedBy="vVTDsfas")
- * @ORM\JoinColumn(nullable=false)
- */
+ #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'vVTDsfas')]
+ #[ORM\JoinColumn(nullable: false)]
private $user;
- /**
- * @ORM\ManyToOne(targetEntity=User::class, inversedBy="assignedDsfa")
- */
+ #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'assignedDsfa')]
private $assignedUser;
diff --git a/src/Entity/VVTGrundlage.php b/src/Entity/VVTGrundlage.php
index 6d957c24..0a4abfa2 100644
--- a/src/Entity/VVTGrundlage.php
+++ b/src/Entity/VVTGrundlage.php
@@ -5,31 +5,21 @@
use App\Repository\VVTGrundlageRepository;
use Doctrine\ORM\Mapping as ORM;
-/**
- * @ORM\Entity(repositoryClass=VVTGrundlageRepository::class)
- */
+#[ORM\Entity(repositoryClass: VVTGrundlageRepository::class)]
class VVTGrundlage
{
- /**
- * @ORM\Id()
- * @ORM\GeneratedValue()
- * @ORM\Column(type="integer")
- */
+ #[ORM\Id]
+ #[ORM\GeneratedValue]
+ #[ORM\Column(type: 'integer')]
private $id;
- /**
- * @ORM\Column(type="text")
- */
+ #[ORM\Column(type: 'text')]
private $name;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $activ;
- /**
- * @ORM\ManyToOne(targetEntity=Team::class, inversedBy="vVTGrundlages")
- */
+ #[ORM\ManyToOne(targetEntity: Team::class, inversedBy: 'vVTGrundlages')]
private $team;
public function getId(): ?int
diff --git a/src/Entity/VVTPersonen.php b/src/Entity/VVTPersonen.php
index 1765216e..a951177a 100644
--- a/src/Entity/VVTPersonen.php
+++ b/src/Entity/VVTPersonen.php
@@ -5,31 +5,21 @@
use App\Repository\VVTPersonenRepository;
use Doctrine\ORM\Mapping as ORM;
-/**
- * @ORM\Entity(repositoryClass=VVTPersonenRepository::class)
- */
+#[ORM\Entity(repositoryClass: VVTPersonenRepository::class)]
class VVTPersonen
{
- /**
- * @ORM\Id()
- * @ORM\GeneratedValue()
- * @ORM\Column(type="integer")
- */
+ #[ORM\Id]
+ #[ORM\GeneratedValue]
+ #[ORM\Column(type: 'integer')]
private $id;
- /**
- * @ORM\Column(type="text")
- */
+ #[ORM\Column(type: 'text')]
private $name;
- /**
- * @ORM\ManyToOne(targetEntity=Team::class, inversedBy="vVTPersonens")
- */
+ #[ORM\ManyToOne(targetEntity: Team::class, inversedBy: 'vVTPersonens')]
private $team;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $activ;
public function getId(): ?int
diff --git a/src/Entity/VVTRisiken.php b/src/Entity/VVTRisiken.php
index 2c179fd6..52895b8c 100644
--- a/src/Entity/VVTRisiken.php
+++ b/src/Entity/VVTRisiken.php
@@ -5,31 +5,21 @@
use App\Repository\VVTRisikenRepository;
use Doctrine\ORM\Mapping as ORM;
-/**
- * @ORM\Entity(repositoryClass=VVTRisikenRepository::class)
- */
+#[ORM\Entity(repositoryClass: VVTRisikenRepository::class)]
class VVTRisiken
{
- /**
- * @ORM\Id()
- * @ORM\GeneratedValue()
- * @ORM\Column(type="integer")
- */
+ #[ORM\Id]
+ #[ORM\GeneratedValue]
+ #[ORM\Column(type: 'integer')]
private $id;
- /**
- * @ORM\Column(type="text")
- */
+ #[ORM\Column(type: 'text')]
private $name;
- /**
- * @ORM\ManyToOne(targetEntity=Team::class, inversedBy="vVTRisikens")
- */
+ #[ORM\ManyToOne(targetEntity: Team::class, inversedBy: 'vVTRisikens')]
private $team;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $activ;
public function getId(): ?int
diff --git a/src/Entity/VVTStatus.php b/src/Entity/VVTStatus.php
index b6f305a1..7b863278 100644
--- a/src/Entity/VVTStatus.php
+++ b/src/Entity/VVTStatus.php
@@ -5,41 +5,27 @@
use App\Repository\VVTStatusRepository;
use Doctrine\ORM\Mapping as ORM;
-/**
- * @ORM\Entity(repositoryClass=VVTStatusRepository::class)
- */
+#[ORM\Entity(repositoryClass: VVTStatusRepository::class)]
class VVTStatus
{
- /**
- * @ORM\Id()
- * @ORM\GeneratedValue()
- * @ORM\Column(type="integer")
- */
+ #[ORM\Id]
+ #[ORM\GeneratedValue]
+ #[ORM\Column(type: 'integer')]
private $id;
- /**
- * @ORM\Column(type="text")
- */
+ #[ORM\Column(type: 'text')]
private $name;
- /**
- * @ORM\Column(type="text", nullable=true)
- */
+ #[ORM\Column(type: 'text', nullable: true)]
private $color;
- /**
- * @ORM\Column(type="boolean", nullable=true)
- */
+ #[ORM\Column(type: 'boolean', nullable: true)]
private $network;
- /**
- * @ORM\ManyToOne(targetEntity=Team::class, inversedBy="vVTStatuses")
- */
+ #[ORM\ManyToOne(targetEntity: Team::class, inversedBy: 'vVTStatuses')]
private $team;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $activ = true;
public function getId(): ?int
diff --git a/src/Entity/Vorfall.php b/src/Entity/Vorfall.php
index cce87ef3..c2d2c476 100644
--- a/src/Entity/Vorfall.php
+++ b/src/Entity/Vorfall.php
@@ -8,112 +8,80 @@
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
-/**
- * @ORM\Entity(repositoryClass=VorfallRepository::class)
- */
+#[ORM\Entity(repositoryClass: VorfallRepository::class)]
class Vorfall
{
- /**
- * @ORM\Id()
- * @ORM\GeneratedValue()
- * @ORM\Column(type="integer")
- */
+ #[ORM\Id]
+ #[ORM\GeneratedValue]
+ #[ORM\Column(type: 'integer')]
private $id;
/**
- * @ORM\Column(type="text")
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
private $fakten;
/**
- * @ORM\Column(type="text")
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
private $auswirkung;
/**
- * @ORM\Column(type="text")
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
private $massnahmen;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $activ;
- /**
- * @ORM\Column(type="datetime")
- */
+ #[ORM\Column(type: 'datetime')]
private $createdAt;
- /**
- * @ORM\Column(type="datetime")
- */
+ #[ORM\Column(type: 'datetime')]
private $datum;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $gemeldet;
- /**
- * @ORM\ManyToOne(targetEntity=Team::class, inversedBy="vorfalls")
- * @ORM\JoinColumn(nullable=false)
- */
+ #[ORM\ManyToOne(targetEntity: Team::class, inversedBy: 'vorfalls')]
+ #[ORM\JoinColumn(nullable: false)]
private $team;
- /**
- * @ORM\ManyToOne(targetEntity=User::class, inversedBy="vorfalls")
- * @ORM\JoinColumn(nullable=false)
- */
+ #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'vorfalls')]
+ #[ORM\JoinColumn(nullable: false)]
private $user;
- /**
- * @ORM\OneToOne(targetEntity=Vorfall::class, cascade={"persist", "remove"})
- */
+ #[ORM\OneToOne(targetEntity: Vorfall::class, cascade: ['persist', 'remove'])]
private $previous;
/**
- * @ORM\Column(type="text")
* @Encrypted()
*/
+ #[ORM\Column(type: 'text')]
private $nummer;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $betroffeneGemeldet;
- /**
- * @ORM\Column(type="boolean")
- */
+ #[ORM\Column(type: 'boolean')]
private $auftraggeberGemeldet;
- /**
- * @ORM\ManyToMany(targetEntity=VVTPersonen::class)
- */
+ #[ORM\ManyToMany(targetEntity: VVTPersonen::class)]
private $personen;
- /**
- * @ORM\ManyToMany(targetEntity=VVTDatenkategorie::class)
- */
+ #[ORM\ManyToMany(targetEntity: VVTDatenkategorie::class)]
private $daten;
- /**
- * @ORM\Column(type="boolean", nullable=true)
- */
+ #[ORM\Column(type: 'boolean', nullable: true)]
private $approved;
- /**
- * @ORM\ManyToOne(targetEntity=User::class)
- */
+ #[ORM\ManyToOne(targetEntity: User::class)]
private $approvedBy;
- /**
- * @ORM\ManyToOne(targetEntity=User::class, inversedBy="assignedVorfalls")
- */
+ #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'assignedVorfalls')]
private $assignedUser;
public function __construct()
diff --git a/src/Form/Type/AbteilungType.php b/src/Form/Type/AbteilungType.php
index d8fa1e4b..49c9c0ea 100644
--- a/src/Form/Type/AbteilungType.php
+++ b/src/Form/Type/AbteilungType.php
@@ -21,8 +21,8 @@ public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
- ->add('name', TextType::class, ['label' => 'Neues Abteilung hinzufügen', 'required' => true, 'translation_domain' => 'form'])
- ->add('save', SubmitType::class, ['attr' => array('class' => 'btn btn-primary'),'label' => 'Speichern', 'translation_domain' => 'form']);
+ ->add('name', TextType::class, ['label' => 'newDepartment', 'required' => true, 'translation_domain' => 'form'])
+ ->add('save', SubmitType::class, ['attr' => array('class' => 'btn btn-primary'),'label' => 'save', 'translation_domain' => 'form']);
}
public function configureOptions(OptionsResolver $resolver)
diff --git a/src/Form/Type/AssignType.php b/src/Form/Type/AssignType.php
index ed012196..b75e1019 100644
--- a/src/Form/Type/AssignType.php
+++ b/src/Form/Type/AssignType.php
@@ -30,7 +30,7 @@ public function buildForm(FormBuilderInterface $builder, array $options)
'multiple' => false,
'required' => false
])
- ->add('submit', SubmitType::class, ['attr' => array('class' => 'btn btn-primary btn-sm'), 'label' => 'Zuweisen', 'translation_domain' => 'form']);
+ ->add('submit', SubmitType::class, ['attr' => array('class' => 'btn btn-primary btn-sm'), 'label' => 'assign', 'translation_domain' => 'form']);
}
public function configureOptions(OptionsResolver $resolver)
diff --git a/src/Form/Type/AuditTomType.php b/src/Form/Type/AuditTomType.php
index df4aa91b..92ab9407 100644
--- a/src/Form/Type/AuditTomType.php
+++ b/src/Form/Type/AuditTomType.php
@@ -27,15 +27,15 @@ public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
- ->add('frage', TextType::class, ['label' => 'Fragestellung', 'required' => true, 'translation_domain' => 'form'])
- ->add('nummer', TextType::class, ['label' => 'AuditTom Nummer', 'required' => true, 'translation_domain' => 'form'])
- ->add('bemerkung', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'Bemerkung', 'required' => true, 'translation_domain' => 'form'])
- ->add('empfehlung', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'Empfehlung', 'required' => true, 'translation_domain' => 'form'])
+ ->add('frage', TextType::class, ['label' => 'question', 'required' => true, 'translation_domain' => 'form'])
+ ->add('nummer', TextType::class, ['label' => 'auditTomNumber', 'required' => true, 'translation_domain' => 'form'])
+ ->add('bemerkung', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'comment', 'required' => true, 'translation_domain' => 'form'])
+ ->add('empfehlung', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'recommendation', 'required' => true, 'translation_domain' => 'form'])
->add('ziele', EntityType::class, [
'choice_label' => 'name',
'class' => AuditTomZiele::class,
'choices' => $options['ziele'],
- 'label' => 'Schutzziele',
+ 'label' => 'auditGoals',
'translation_domain' => 'form',
'multiple' => true,
'attr' => [
@@ -47,7 +47,7 @@ public function buildForm(FormBuilderInterface $builder, array $options)
'choice_label' => 'name',
'class' => AuditTomAbteilung::class,
'choices' => $options['abteilungen'],
- 'label' => 'Abteilungen',
+ 'label' => 'departments',
'translation_domain' => 'form',
'multiple' => true,
'attr' => [
@@ -59,7 +59,7 @@ public function buildForm(FormBuilderInterface $builder, array $options)
'choice_label' => 'name',
'class' => AuditTomStatus::class,
'choices' => $options['status'],
- 'label' => 'Status',
+ 'label' => 'status',
'translation_domain' => 'form',
'multiple' => false,
'attr' => [
@@ -67,28 +67,28 @@ public function buildForm(FormBuilderInterface $builder, array $options)
'data-live-search' => 'true'
],
])
- ->add('tomAttribut', TextType::class, ['label' => 'Attribut für die globale TOM', 'required' => false, 'translation_domain' => 'form'])
+ ->add('tomAttribut', TextType::class, ['label' => 'globalTomAttribute', 'required' => false, 'translation_domain' => 'form'])
->add('tomZiel', ChoiceType::class, [
'choices' => [
- 'Bitte auswählen (Nicht in der TOM darstellen)' => null,
- 'Pseudonymisierung Verschlüsselung' => 1,
- 'Zutrittskontrolle' => 2,
- 'Zugangskontrolle' => 3,
- 'Zugriffskontrolle' => 4,
- 'Benutzerkontrolle' => 5,
- 'Speicherkontrolle' => 6,
- 'Trennbarkeit' => 7,
- 'Datenintegrität' => 8,
- 'Transportkontrolle ' => 9,
- 'Übertragungskontrolle' => 10,
- 'Eingabekontrolle' => 11,
- 'Zuverlässigkeit' => 12,
- 'Auftragskontrolle' => 13,
- 'Verfügbarkeitskontrolle' => 14,
- 'Wiederherstellbarkeit' => 15,
- 'Evaluierung' => 16,
+ 'nothingSelectedTomView' => null,
+ 'encryption' => 1,
+ 'physicalAccessControl' => 2,
+ 'authenticatedAccessControl' => 3,
+ 'privilegedAccessControl' => 4,
+ 'userControl' => 5,
+ 'storageControl' => 6,
+ 'separability' => 7,
+ 'dataIntegrity' => 8,
+ 'transportControl' => 9,
+ 'transferControl' => 10,
+ 'inputControl' => 11,
+ 'reliability' => 12,
+ 'assignmentControl' => 13,
+ 'availabilityControl' => 14,
+ 'recoverability' => 15,
+ 'evaluation' => 16,
],
- 'label' => 'TOM Possition des Attributes',
+ 'label' => 'globalTomPosition',
'translation_domain' => 'form',
'required' => false,
'multiple' => false,
@@ -99,34 +99,34 @@ public function buildForm(FormBuilderInterface $builder, array $options)
])
->add('kategorie', ChoiceType::class, [
'choices' => [
- 'Bitte auswählen' => '',
- 'Datenschutzmanagement' => 'Datenschutzmanagement',
- 'Verbindliche Vorlagen Datenschutz' => 'Verbindliche Vorlagen Datenschutz',
- 'Arbeitsanweisungen' => 'Arbeitsanweisungen',
- 'Notfallplanung und Dokumentation' => 'Notfallplanung und Dokumentation',
- 'Bauliche Sicherheit' => 'Bauliche Sicherheit',
- 'Video' => 'Video',
- 'Authentifizierungen' => 'Authentifizierungen',
- 'Berechtigungen' => 'Berechtigungen',
- 'Logs' => 'Logs',
- 'Backups' => 'Backups',
- 'Datenvernichtung/ Löschen' => 'Datenvernichtung/ Löschen',
- 'Übermittlung/ Transport' => 'Übermittlung/ Transport',
- 'Fernwartung' => 'Fernwartung',
- 'Mobile Geräte' => 'Mobile Geräte',
- 'WLAN' => 'WLAN',
- 'Marketing' => 'Marketing',
- 'Cloud' => 'Cloud',
- 'Archiv' => 'Archiv',
- 'IT Sicherheit' => 'IT Sicherheit',
+ 'nothingSelected' => '',
+ 'privacyManagement' => 'privacyManagement',
+ 'privacyTemplates' => 'privacyTemplates',
+ 'instructions' => 'instructions',
+ 'emergencyPlanAndDocumentation' => 'emergencyPlanAndDocumentation',
+ 'structuralSafety' => 'structuralSafety',
+ 'video' => 'video',
+ 'authentications' => 'authentications',
+ 'privileges' => 'privileges',
+ 'logs' => 'logs',
+ 'backups' => 'backups',
+ 'deletion' => 'deletion',
+ 'transfer' => 'transfer',
+ 'remoteMaintenance' => 'remoteMaintenance',
+ 'mobileDevices' => 'mobileDevices',
+ 'wlan' => 'wlan',
+ 'marketing' => 'marketing',
+ 'cloud' => 'cloud',
+ 'archive' => 'archive',
+ 'ITSec' => 'ITSec',
'MFC' => 'MFC',
- 'Serverraum' => 'Serverraum',
- 'Mandantenfähigkeit' => 'Mandantenfähigkeit',
- 'Compliance' => 'Compliance',
+ 'serverRoom' => 'serverRoom',
+ 'clientCapability' => 'clientCapability',
+ 'compliance' => 'compliance',
'GoBD' => 'GoBD',
- 'Sonstiges' => 'Sonstiges',
+ 'other' => 'other',
],
- 'label' => 'Kategorie',
+ 'label' => 'category',
'translation_domain' => 'form',
'required' => true,
'multiple' => false,
@@ -136,7 +136,7 @@ public function buildForm(FormBuilderInterface $builder, array $options)
],
])
- ->add('save', SubmitType::class, ['attr' => array('class' => 'btn btn-primary'),'label' => 'Speichern', 'translation_domain' => 'form']);
+ ->add('save', SubmitType::class, ['attr' => array('class' => 'btn btn-primary'),'label' => 'save', 'translation_domain' => 'form']);
}
public function configureOptions(OptionsResolver $resolver)
diff --git a/src/Form/Type/ClientRequesCommentType.php b/src/Form/Type/ClientRequesCommentType.php
index 182baf79..49e4c175 100644
--- a/src/Form/Type/ClientRequesCommentType.php
+++ b/src/Form/Type/ClientRequesCommentType.php
@@ -20,8 +20,8 @@ public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
- ->add('comment', TextareaType::class, ['label' => 'Nachricht', 'required' => true, 'translation_domain' => 'form'])
- ->add('save', SubmitType::class, ['attr' => array('class' => 'btn btn-primary btn-block mt-3'), 'label' => 'Senden', 'translation_domain' => 'form']);
+ ->add('comment', TextareaType::class, ['label' => 'message', 'required' => true, 'translation_domain' => 'form'])
+ ->add('save', SubmitType::class, ['attr' => array('class' => 'btn btn-primary btn-block mt-3'), 'label' => 'send', 'translation_domain' => 'form']);
}
public function configureOptions(OptionsResolver $resolver)
diff --git a/src/Form/Type/ClientRequestInternalNoteType.php b/src/Form/Type/ClientRequestInternalNoteType.php
index b89289e0..e5f370b2 100644
--- a/src/Form/Type/ClientRequestInternalNoteType.php
+++ b/src/Form/Type/ClientRequestInternalNoteType.php
@@ -21,8 +21,8 @@ public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
- ->add('notes', TextareaType::class, ['attr' => ['class' => 'summernote'], 'label' => 'Interne Bemerkungen', 'required' => false, 'translation_domain' => 'form'])
- ->add('save', SubmitType::class, ['attr' => array('class' => 'btn btn-primary btn-block mt-3'), 'label' => 'Speichern', 'translation_domain' => 'form']);
+ ->add('notes', TextareaType::class, ['attr' => ['class' => 'summernote'], 'label' => 'internalComment', 'required' => false, 'translation_domain' => 'form'])
+ ->add('save', SubmitType::class, ['attr' => array('class' => 'btn btn-primary btn-block mt-3'), 'label' => 'save', 'translation_domain' => 'form']);
}
public function configureOptions(OptionsResolver $resolver)
diff --git a/src/Form/Type/DatenweitergabeType.php b/src/Form/Type/DatenweitergabeType.php
index b0ea5d6b..a0063213 100644
--- a/src/Form/Type/DatenweitergabeType.php
+++ b/src/Form/Type/DatenweitergabeType.php
@@ -31,30 +31,30 @@ public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
- ->add('gegenstand', TextareaType::class, ['attr' => ['rows' => 8], 'label' => 'Vertragsgegenstand', 'required' => true, 'translation_domain' => 'form', 'help' => 'Geben Sie hier den Gegenstand der Datenweitergabe oder Auftragsverarbeitung an. Der Gegenstand ist in den meisten Verträgen bereits in einem der ersten Paragraphen beschreiben und muss nur übernommen werden.'])
- ->add('notes', TextareaType::class, ['attr' => ['class' => 'summernote'], 'label' => 'Bemerkungen', 'required' => false, 'translation_domain' => 'form'])
- ->add('nummer', TextType::class, ['label' => 'Nummer der Datenweitergabe', 'required' => true, 'translation_domain' => 'form'])
- ->add('verantwortlich', TextType::class, ['label' => 'Verantwortlich für die Datenweitergabe (Intern)', 'required' => true, 'translation_domain' => 'form'])
- ->add('vertragsform', TextType::class, ['label' => 'Vertragsform', 'required' => true, 'translation_domain' => 'form'])
- ->add('reference', TextType::class, ['label' => 'Aktenzeichen', 'required' => false, 'translation_domain' => 'form', 'help' => 'Hängen Sie den original Vertrag in einem Ordner ab. Geben Sie hier den Pfad zu diesem Lagerort oder das Aktenziech an, damit Sie das Dokument später wieder finden können.'])
- ->add('zeichnungsdatum', DateType::class, ['label' => 'Zeichnungsdatum', 'required' => true, 'translation_domain' => 'form', 'widget' => 'single_text', 'help' => 'Ab wann ist die Datenweitergabe oder Auftragsverarbeitung unterschrieben. Geben Sie hier das Datum der Unterschrift an.'])
- ->add('checkItems', CheckboxType::class, ['label' => 'Gegenstand und Dauer der Verarbeitung, Art und Zweck der Verarbeitung', 'required' => false, 'translation_domain' => 'form'])
- ->add('checkPeople', CheckboxType::class, ['label' => 'Art der personenbezogenen Daten', 'required' => false, 'translation_domain' => 'form'])
- ->add('checkData', CheckboxType::class, ['label' => 'Kategorien betroffener Personen', 'required' => false, 'translation_domain' => 'form'])
- ->add('checkDocumentation', CheckboxType::class, ['label' => 'Verarbeitung auf dokumentierte Weisung des Verantwortlichen', 'required' => false, 'translation_domain' => 'form'])
- ->add('checkTom', CheckboxType::class, ['label' => 'Ergreifen erforderlicher technischer und organisatorischer Maßnahmen', 'required' => false, 'translation_domain' => 'form'])
- ->add('checkSubcontractor', CheckboxType::class, ['label' => 'Inanspruchnahme von Unterauftragnehmern nach Art. Art. 28 Abs. 2 und Abs. 4 DSGVO', 'required' => false, 'translation_domain' => 'form'])
- ->add('checkTrust', CheckboxType::class, ['label' => 'Vertraulichkeitsverpflichtung', 'required' => false, 'translation_domain' => 'form'])
- ->add('checkSupport', CheckboxType::class, ['label' => 'Unterstützung des Verantwortlichen bei der Beantwortung von Betroffenenanfragen', 'required' => false, 'translation_domain' => 'form'])
- ->add('checkSupport3236', CheckboxType::class, ['label' => 'Unterstützung des Verantwortlichen bei den Pflichten nach Art. 32 – 36 DSGVO', 'required' => false, 'translation_domain' => 'form'])
- ->add('checkNotes', CheckboxType::class, ['label' => 'Hinweispflicht', 'required' => false, 'translation_domain' => 'form'])
- ->add('checkEnding', CheckboxType::class, ['label' => 'Umgang mit personenbezogenen Daten nach Beendigung der Auftragsverarbeitung', 'required' => false, 'translation_domain' => 'form'])
- ->add('checkAudit', CheckboxType::class, ['label' => 'Zurverfügungstellung von Informationen und Ermöglichung von Überprüfungen', 'required' => false, 'translation_domain' => 'form'])
+ ->add('gegenstand', TextareaType::class, ['attr' => ['rows' => 8], 'label' => 'contractObject', 'required' => true, 'translation_domain' => 'form', 'help' => 'contractObjectHelp'])
+ ->add('notes', TextareaType::class, ['attr' => ['class' => 'summernote'], 'label' => 'comments', 'required' => false, 'translation_domain' => 'form'])
+ ->add('nummer', TextType::class, ['label' => 'dataTransferNumber', 'required' => true, 'translation_domain' => 'form'])
+ ->add('verantwortlich', TextType::class, ['label' => 'responsibleParty', 'required' => true, 'translation_domain' => 'form'])
+ ->add('vertragsform', TextType::class, ['label' => 'contractType', 'required' => true, 'translation_domain' => 'form'])
+ ->add('reference', TextType::class, ['label' => 'reference', 'required' => false, 'translation_domain' => 'form', 'help' => 'referenceHelp'])
+ ->add('zeichnungsdatum', DateType::class, ['label' => 'signDate', 'required' => true, 'translation_domain' => 'form', 'widget' => 'single_text', 'help' => 'signDateHelp'])
+ ->add('checkItems', CheckboxType::class, ['label' => 'dataTransferParameters', 'required' => false, 'translation_domain' => 'form'])
+ ->add('checkPeople', CheckboxType::class, ['label' => 'personalDataType', 'required' => false, 'translation_domain' => 'form'])
+ ->add('checkData', CheckboxType::class, ['label' => 'affectedPersons', 'required' => false, 'translation_domain' => 'form'])
+ ->add('checkDocumentation', CheckboxType::class, ['label' => 'documentedInstructions', 'required' => false, 'translation_domain' => 'form'])
+ ->add('checkTom', CheckboxType::class, ['label' => 'technicalAndOrganisationalMeasures', 'required' => false, 'translation_domain' => 'form'])
+ ->add('checkSubcontractor', CheckboxType::class, ['label' => 'subcontractors', 'required' => false, 'translation_domain' => 'form'])
+ ->add('checkTrust', CheckboxType::class, ['label' => 'privacyObligation', 'required' => false, 'translation_domain' => 'form'])
+ ->add('checkSupport', CheckboxType::class, ['label' => 'supportWithInquiries', 'required' => false, 'translation_domain' => 'form'])
+ ->add('checkSupport3236', CheckboxType::class, ['label' => 'supportWithObligations', 'required' => false, 'translation_domain' => 'form'])
+ ->add('checkNotes', CheckboxType::class, ['label' => 'dutyToInform', 'required' => false, 'translation_domain' => 'form'])
+ ->add('checkEnding', CheckboxType::class, ['label' => 'handlingOfDataAfterProcessing', 'required' => false, 'translation_domain' => 'form'])
+ ->add('checkAudit', CheckboxType::class, ['label' => 'resources', 'required' => false, 'translation_domain' => 'form'])
->add('kontakt', EntityType::class, [
'choice_label' => 'firma',
'class' => Kontakte::class,
'choices' => $options['kontakt'],
- 'label' => 'Kontakt',
+ 'label' => 'contact',
'translation_domain' => 'form',
'multiple' => false,
'attr' => [
@@ -66,7 +66,7 @@ public function buildForm(FormBuilderInterface $builder, array $options)
'choice_label' => 'name',
'class' => VVT::class,
'choices' => $options['verfahren'],
- 'label' => 'Zugehörige Verarbeitungstätigkeit',
+ 'label' => 'relatedprocedure',
'translation_domain' => 'form',
'multiple' => true,
'required' => false,
@@ -74,13 +74,13 @@ public function buildForm(FormBuilderInterface $builder, array $options)
'class' => 'selectpicker',
'data-live-search' => 'true'
],
- 'help' => 'Zu jeder Datenweitergabe und Auftragsverarbeitung muss mindestens eine Verarbeitung eingetragen werden, da die Datenweitergabe und Auftragsverarbeitung sonst kein Funktion erfüllt oder keine Verarbeitung nach der DSGVO darstellt.'
+ 'help' => 'relatedprocedureHelp'
])
->add('stand', EntityType::class, [
'choice_label' => 'name',
'class' => DatenweitergabeStand::class,
'choices' => $options['stand'],
- 'label' => 'Status',
+ 'label' => 'status',
'translation_domain' => 'form',
'multiple' => false,
'attr' => [
@@ -91,20 +91,20 @@ public function buildForm(FormBuilderInterface $builder, array $options)
'choice_label' => 'name',
'class' => DatenweitergabeGrundlagen::class,
'choices' => $options['grundlage'],
- 'label' => 'Grundlage für die Verarbeitung',
+ 'label' => 'dataTransferBasis',
'translation_domain' => 'form',
'multiple' => false,
'attr' => [
'class' => 'selectpicker',
'data-live-search' => 'true'
],
- 'help' => 'Auf welcher Grundlage wird der Vertrag abgeschlossen. Nach der DSGVO stehen unterschiedliche Möglichkeiten zur Verfügung, die unterschiedlich betrachtet und bewertet werden müssen.'
+ 'help' => 'dataTransferBasisHelp'
])
->add('software', EntityType::class, [
'choice_label' => 'name',
'class' => Software::class,
'choices' => $options['software'],
- 'label' => 'Software, die in der Weitergabe involviert ist',
+ 'label' => 'relatedSoftware',
'translation_domain' => 'form',
'multiple' => true,
'required' => false,
@@ -116,12 +116,12 @@ public function buildForm(FormBuilderInterface $builder, array $options)
->add('uploadFile', VichImageType::class, [
'required' => false,
'allow_delete' => false,
- 'delete_label' => 'Löschen',
- 'label' => 'Dokument zur Datenweitergabe hochladen',
+ 'delete_label' => 'delete',
+ 'label' => 'dataTransferDocument',
'translation_domain' => 'form',
'download_label' => false
])
- ->add('save', SubmitType::class, ['attr' => array('class' => 'btn btn-primary btn-block'), 'label' => 'Speichern', 'translation_domain' => 'form']);
+ ->add('save', SubmitType::class, ['attr' => array('class' => 'btn btn-primary btn-block'), 'label' => 'save', 'translation_domain' => 'form']);
}
public function configureOptions(OptionsResolver $resolver)
diff --git a/src/Form/Type/DeleteTeamType.php b/src/Form/Type/DeleteTeamType.php
new file mode 100644
index 00000000..4b035439
--- /dev/null
+++ b/src/Form/Type/DeleteTeamType.php
@@ -0,0 +1,35 @@
+add('teamName',TextType::class,['required' => false, 'label' => 'confirmTeamName', 'help'=> 'confirmTeamNameHelp','translation_domain' => 'form'])
+ ->add('submit', SubmitType::class, ['attr' => array('class' => 'btn btn-danger'), 'label' => 'deleteTeam', 'translation_domain' => 'form']);
+ }
+
+ public function configureOptions(OptionsResolver $resolver)
+ {
+ $resolver->setDefaults([
+
+ ]);
+
+ }
+}
diff --git a/src/Form/Type/DsbType.php b/src/Form/Type/DsbType.php
index 847c84bc..2202612d 100644
--- a/src/Form/Type/DsbType.php
+++ b/src/Form/Type/DsbType.php
@@ -21,8 +21,8 @@ public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
- ->add('dsb', TextType::class, ['required' => false, 'label' => 'E-Mail Adresse des DSB angeben', 'help' => 'Wenn die E-Mail Adresse im diesem Datenschutzcenter noch nicht vorhanden ist, wird ein neues Konto angelegt und der Empfänger wird per E-Mail darüber informiert.', 'translation_domain' => 'form'])
- ->add('submit', SubmitType::class, ['attr' => array('class' => 'btn btn-outline-primary'), 'label' => 'Ernennen', 'translation_domain' => 'form']);
+ ->add('dsb', TextType::class, ['required' => false, 'label' => 'dpoEmail', 'help' => 'dpoEmailHelp', 'translation_domain' => 'form'])
+ ->add('submit', SubmitType::class, ['attr' => array('class' => 'btn btn-outline-primary'), 'label' => 'appoint', 'translation_domain' => 'form']);
}
public function configureOptions(OptionsResolver $resolver)
diff --git a/src/Form/Type/FormsType.php b/src/Form/Type/FormsType.php
index e2386a3a..1c4e4ed4 100644
--- a/src/Form/Type/FormsType.php
+++ b/src/Form/Type/FormsType.php
@@ -27,14 +27,14 @@ public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
- ->add('title', TextType::class, ['label' => 'Titel', 'required' => true, 'translation_domain' => 'form'])
- ->add('description', TextareaType::class, ['label' => 'Beschreibung', 'required' => false, 'translation_domain' => 'form'])
- ->add('version', TextType::class, ['label' => 'Version', 'required' => true, 'translation_domain' => 'form'])
+ ->add('title', TextType::class, ['label' => 'title', 'required' => true, 'translation_domain' => 'form'])
+ ->add('description', TextareaType::class, ['label' => 'description', 'required' => false, 'translation_domain' => 'form'])
+ ->add('version', TextType::class, ['label' => 'version', 'required' => true, 'translation_domain' => 'form'])
->add('departments', EntityType::class, [
'choice_label' => 'name',
'class' => AuditTomAbteilung::class,
'choices' => $options['departments'],
- 'label' => 'Zugeordnete Abteilungen',
+ 'label' => 'relatedDepartments',
'translation_domain' => 'form',
'multiple' => true,
'required' => true,
@@ -47,7 +47,7 @@ public function buildForm(FormBuilderInterface $builder, array $options)
'choice_label' => 'name',
'class' => Produkte::class,
'choices' => $options['products'],
- 'label' => 'Zugeordnete Produkte/Dienstleistungen',
+ 'label' => 'relatedProducts',
'translation_domain' => 'form',
'multiple' => true,
'required' => true,
@@ -60,18 +60,18 @@ public function buildForm(FormBuilderInterface $builder, array $options)
'required' => false,
'allow_delete' => false,
'delete_label' => 'Löschen',
- 'label' => 'Formular hochladen',
+ 'label' => 'uploadForm',
'translation_domain' => 'form',
'download_label' => false
])
->add('status', ChoiceType::class, [
'choices' => [
- 'Angelegt' => 0,
- 'In Bearbeitung' => 1,
- 'Prüfung' => 2,
- 'Zur Freigabe vorgelegt' => 3,
- 'Veraltet' => 4,],
- 'label' => 'Status',
+ 'created' => 0,
+ 'inProgress' => 1,
+ 'inReview' => 2,
+ 'submitted' => 3,
+ 'outdated' => 4,],
+ 'label' => 'status',
'translation_domain' => 'form',
'multiple' => false,
'attr' => [
@@ -79,7 +79,7 @@ public function buildForm(FormBuilderInterface $builder, array $options)
'data-live-search' => 'true'
]
])
- ->add('save', SubmitType::class, ['attr' => array('class' => 'btn btn-primary btn-block mt-3'), 'label' => 'Speichern', 'translation_domain' => 'form']);
+ ->add('save', SubmitType::class, ['attr' => array('class' => 'btn btn-primary btn-block mt-3'), 'label' => 'save', 'translation_domain' => 'form']);
}
public function configureOptions(OptionsResolver $resolver)
diff --git a/src/Form/Type/KontaktType.php b/src/Form/Type/KontaktType.php
index 520b7dc7..32fab5ed 100644
--- a/src/Form/Type/KontaktType.php
+++ b/src/Form/Type/KontaktType.php
@@ -27,24 +27,24 @@ public function buildForm(FormBuilderInterface $builder, array $options)
$builder
->add('art', ChoiceType::class, [
'choices' => [
- 'Auftraggeber' => 1,
- 'Auftragnehmer' => 2,],
- 'label'=>'Funktion des Kontakts',
+ 'client' => 1,
+ 'contractor' => 2,],
+ 'label'=>'contactFunction',
'translation_domain' => 'form',
'multiple' =>false,
])
- ->add('firma', TextType::class, ['label' => 'Firma', 'required' => true, 'translation_domain' => 'form'])
- ->add('nummer', TextType::class, ['label' => 'Nummer', 'required' => false, 'translation_domain' => 'form'])
- ->add('anrede', TextType::class, ['label' => 'Anrede', 'required' => false, 'translation_domain' => 'form'])
- ->add('vorname', TextType::class, ['label' => 'Vorname', 'required' => false, 'translation_domain' => 'form'])
- ->add('nachname', TextType::class, ['label' => 'Nachname', 'required' => true, 'translation_domain' => 'form'])
- ->add('strase', TextType::class, ['label' => 'Straße', 'required' => true, 'translation_domain' => 'form'])
- ->add('plz', TextType::class, ['label' => 'PLZ', 'required' => true, 'translation_domain' => 'form'])
- ->add('ort', TextType::class, ['label' => 'Ort', 'required' => true, 'translation_domain' => 'form'])
- ->add('email', TextType::class, ['label' => 'E-Mail', 'required' => false, 'translation_domain' => 'form'])
- ->add('telefon', TextType::class, ['label' => 'Telefon', 'required' => false, 'translation_domain' => 'form'])
- ->add('bemerkung', TextareaType::class, ['label' => 'Bemerkung', 'required' => false, 'translation_domain' => 'form'])
- ->add('save', SubmitType::class, ['attr' => array('class' => 'btn btn-primary'),'label' => 'Speichern', 'translation_domain' => 'form']);
+ ->add('firma', TextType::class, ['label' => 'company', 'required' => true, 'translation_domain' => 'form'])
+ ->add('nummer', TextType::class, ['label' => 'number', 'required' => false, 'translation_domain' => 'form'])
+ ->add('anrede', TextType::class, ['label' => 'salutation', 'required' => false, 'translation_domain' => 'form'])
+ ->add('vorname', TextType::class, ['label' => 'firstName', 'required' => false, 'translation_domain' => 'form'])
+ ->add('nachname', TextType::class, ['label' => 'lastName', 'required' => true, 'translation_domain' => 'form'])
+ ->add('strase', TextType::class, ['label' => 'street', 'required' => true, 'translation_domain' => 'form'])
+ ->add('plz', TextType::class, ['label' => 'postcode', 'required' => true, 'translation_domain' => 'form'])
+ ->add('ort', TextType::class, ['label' => 'city', 'required' => true, 'translation_domain' => 'form'])
+ ->add('email', TextType::class, ['label' => 'email', 'required' => false, 'translation_domain' => 'form'])
+ ->add('telefon', TextType::class, ['label' => 'phone', 'required' => false, 'translation_domain' => 'form'])
+ ->add('bemerkung', TextareaType::class, ['label' => 'comment', 'required' => false, 'translation_domain' => 'form'])
+ ->add('save', SubmitType::class, ['attr' => array('class' => 'btn btn-primary'),'label' => 'save', 'translation_domain' => 'form']);
}
public function configureOptions(OptionsResolver $resolver)
diff --git a/src/Form/Type/KursType.php b/src/Form/Type/KursType.php
index d51600b4..c1e116c8 100644
--- a/src/Form/Type/KursType.php
+++ b/src/Form/Type/KursType.php
@@ -9,42 +9,103 @@
namespace App\Form\Type;
use App\Entity\AkademieKurse;
+use App\Entity\Questionnaire;
+use App\Entity\Team;
+use App\Form\Type\Template\BaseType;
+use App\Repository\QuestionnaireRepository;
+use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface;
+use Symfony\Component\OptionsResolver\Options;
use Symfony\Component\OptionsResolver\OptionsResolver;
-class KursType extends AbstractType
+class KursType extends BaseType
{
+ private static string $TRANSLATION_DOMAIN = 'academy';
+ private static string $BASE_LABEL = 'lesson.';
+
public function buildForm(FormBuilderInterface $builder, array $options)
{
+ $builder->add(
+ 'title',
+ TextType::class,
+ $this->getOptions('title', domain: 'general'),
+ );
+ $builder->add(
+ 'video',
+ TextType::class,
+ $this->getOptions(self::$BASE_LABEL . 'video.link'),
+ );
- $builder
- ->add('title', TextType::class, ['label' => 'Titel', 'required' => true, 'translation_domain' => 'form'])
- ->add('video', TextType::class, ['label' => 'Videolink', 'required' => true, 'translation_domain' => 'form'])
- ->add('type', ChoiceType::class, [
- 'choices' => [
- 'Lokal/Cloud Storage oder CDN' => 0,
- 'Vimeo' => 1,],
- 'label' => 'Videotyp angeben',
- 'translation_domain' => 'form',
- 'multiple' => false,
- 'required' => true,
- 'attr' => [
- 'class' => 'selectpicker',
+ $builder->add(
+ 'type',
+ ChoiceType::class,
+ $this->getOptions(
+ label: self::$BASE_LABEL . 'video.type',
+ additionalOptions: [
+ 'choices' => [
+ 'Lokal/Cloud Storage oder CDN' => 0,
+ 'Vimeo' => 1,
+ ],
+ 'multiple' => false,
+ 'attr' => [
+ 'class' => 'selectpicker',
+ ],
+ ],
+ ),
+ );
+ $builder->add(
+ 'beschreibung',
+ TextareaType::class,
+ $this->getOptions(
+ label: 'description',
+ domain: 'general',
+ additionalOptions: [
+ 'attr' => ['rows' => 12],
],
- ])
- ->add('beschreibung', TextareaType::class, ['attr' => ['rows' => 12], 'label' => 'Beschreibung', 'required' => true, 'translation_domain' => 'form'])
- ->add('save', SubmitType::class, ['attr' => array('class' => 'btn btn-primary'),'label' => 'Speichern', 'translation_domain' => 'form']);
+ ),
+ );
+ $builder->add(
+ 'questionnaire',
+ EntityType::class,
+ $this->getOptions(
+ label: 'questionnaire.word',
+ additionalOptions: [
+ 'class' => Questionnaire::class,
+ 'choice_label' => 'label',
+ 'query_builder' => function (QuestionnaireRepository $repo) use ($options) {
+ return $repo->createQueryBuilder('q')
+ ->where('q.team = :team')
+ ->setParameter('team', $options['data']->getTeam());
+ }
+ ]
+ ),
+ );
+ $builder->add(
+ 'save',
+ SubmitType::class,
+ [
+ 'label' => 'save',
+ 'translation_domain' => 'general',
+ 'attr' => ['class' => 'btn btn-primary'],
+ ],
+ );
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => AkademieKurse::class,
+ 'team' => new Team(),
]);
}
+
+ protected function getDefaultDomain(): string
+ {
+ return self::$TRANSLATION_DOMAIN;
+ }
}
diff --git a/src/Form/Type/LoeschkonzeptType.php b/src/Form/Type/LoeschkonzeptType.php
index d230b45d..14b410c7 100644
--- a/src/Form/Type/LoeschkonzeptType.php
+++ b/src/Form/Type/LoeschkonzeptType.php
@@ -26,7 +26,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void
->add('vvtdatenkategories', EntityType::class, [
'class' => VVTDatenkategorie::class,
'choices' => $options['vvtdatenkategories'],
- 'label' => 'Datenkategorien',
+ 'label' => 'dataCategories',
'multiple' => true,
'required' => false,
'translation_domain' => 'form',
@@ -37,35 +37,35 @@ public function buildForm(FormBuilderInterface $builder, array $options): void
])
->add('standartlf', TextareaType::class, [
- 'label' => 'Standard Löschfrist',
+ 'label' => 'standardDeleteDeadline',
'required' => true,
'translation_domain' => 'form',
- 'help' => 'Hier wird die Löschfrist eingetragen, die unternehmensintern für die ausgewählten Datenkategorien festgelegt wurde. Sie kann kürzer sein, als es das Gesetz fordert, darf die gesetzlichen Frist aber nicht überschreiten. Gibt es eine gesetzliche Mindest-Speicherdauer, darf die Standard Löschfrsit diese nicht unterschreiten. Existiert keine gesetzliche Vorgabe wird unternehmensintern eine Löschfrist festgelegt. Diese Löschfrist wird auch an anderen Stellen angezeigt.'
+ 'help' => 'standardDeleteDeadline'
])
->add('loeschfrist', TextareaType::class, [
- 'label' => 'gesetzliche Löschfrist',
+ 'label' => 'legalDeleteDeadline',
'required' => false,
'translation_domain' => 'form',
- 'help' => 'Sollte es eine gesetzliche Grundlage zur maximalen oder minimalen Speicherdauer geben, ist diese maximale oder minimale Löschfrist hier einzutragen.'
+ 'help' => 'legalDeleteDeadlineHelp'
])
->add('speicherorte', TextareaType::class, [
- 'label' => 'Speicherorte',
+ 'label' => 'dataStorageLocations',
'required' => true,
'translation_domain' => 'form',
- 'help' => 'Hier sind alle Orte, an denen Daten der betroffenen Kategorien gespeichert sind, anzugeben. Auch Auftragsverarbeiter können hier als Speicherort mit eingetragen werden.'
+ 'help' => 'dataStorageLocationsHelp'
])
->add('loeschbeauftragter', TextareaType::class, [
- 'label' => 'Löschbeauftragter',
+ 'label' => 'deleteOfficial',
'required' => true,
'translation_domain' => 'form',
- 'help' => 'Hier kann eine Löschbeauftragter namentlich benannt oder eine Gruppe/Abteilung als Verantwortlicher eingetragen werden'
+ 'help' => 'deleteOfficialHelp'
])
->add('beschreibung', TextareaType::class, [
'attr' => ['rows' => 10],
- 'label' => 'Beschreibung',
+ 'label' => 'deleteDescription',
'required' => false,
'translation_domain' => 'form',
- 'help' => 'Die Beschreibung soll zur Dokumentation von Löschabläufen, Frist-Begründungen, Ausnahmen, Spezialfällen und weiteren Informationsdokumentationen dienen.'
+ 'help' => 'deleteDescriptionHelp'
])
;
}
diff --git a/src/Form/Type/NewMemberType.php b/src/Form/Type/NewMemberType.php
index 1dd29c26..a5e0b545 100644
--- a/src/Form/Type/NewMemberType.php
+++ b/src/Form/Type/NewMemberType.php
@@ -12,7 +12,6 @@
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
-use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
@@ -22,8 +21,8 @@ public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
- ->add('member',TextareaType::class,['required' => false, 'label' => 'E-Mail Adresse von neuem Teammitglied eingeben', 'help'=> 'Es können mehrere Mitglieder auf einmal hinzugefügt werden. Jede E-Mail Adresse muss in eine neue Zeile schreiben. Wenn die E-Mail Adresse im diesem Datenschutzcenter noch nicht vorhanden ist, wird ein neues Konto angelegt und der Empfänger wird per E-Mail darüber informiert.','translation_domain' => 'form'])
- ->add('submit', SubmitType::class, ['attr' => array('class' => 'btn btn-outline-primary'), 'label' => 'Mitglied(er) Hinzufügen', 'translation_domain' => 'form']);
+ ->add('member',TextareaType::class,['required' => false, 'label' => 'newMemberEmail', 'help'=> 'newMemberEmailHelp','translation_domain' => 'form'])
+ ->add('submit', SubmitType::class, ['attr' => array('class' => 'btn btn-outline-primary'), 'label' => 'addMembers', 'translation_domain' => 'form']);
}
public function configureOptions(OptionsResolver $resolver)
diff --git a/src/Form/Type/NewType.php b/src/Form/Type/NewType.php
index 4b65ef58..260e6564 100644
--- a/src/Form/Type/NewType.php
+++ b/src/Form/Type/NewType.php
@@ -21,8 +21,8 @@ public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
- ->add('name', TextType::class, ['label' => 'Neu', 'required' => true, 'translation_domain' => 'form'])
- ->add('save', SubmitType::class, ['attr' => array('class' => 'btn btn-primary'), 'label' => 'Speichern', 'translation_domain' => 'form']);
+ ->add('name', TextType::class, ['label' => 'new', 'required' => true, 'translation_domain' => 'form'])
+ ->add('save', SubmitType::class, ['attr' => array('class' => 'btn btn-primary'), 'label' => 'save', 'translation_domain' => 'form']);
}
public function configureOptions(OptionsResolver $resolver)
diff --git a/src/Form/Type/PolicyType.php b/src/Form/Type/PolicyType.php
index 3a79689c..47d7a523 100644
--- a/src/Form/Type/PolicyType.php
+++ b/src/Form/Type/PolicyType.php
@@ -29,16 +29,16 @@ public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
- ->add('title', TextType::class, ['label' => 'Name der Richtlinie', 'required' => true, 'translation_domain' => 'form'])
- ->add('scope', TextareaType::class, ['attr' => ['class' => 'summernote'], 'label' => 'Festlegung des Geltungsbereiches', 'required' => true, 'translation_domain' => 'form'])
- ->add('risk', TextareaType::class, ['attr' => ['class' => 'summernote'], 'label' => 'Abzuwehrende IT-Risiken, bestehende Gefahren und mögliche Konsequenzen (wichtig für die Motivation!)', 'required' => true, 'translation_domain' => 'form'])
- ->add('foundation', TextareaType::class, ['attr' => ['class' => 'summernote'], 'label' => 'Bezug zu Gesetzen, Verordnungen und Standards', 'required' => true, 'translation_domain' => 'form'])
- ->add('reference', TextType::class, ['label' => 'Aktenzeichen', 'required' => false, 'translation_domain' => 'form'])
+ ->add('title', TextType::class, ['label' => 'policyName', 'required' => true, 'translation_domain' => 'form'])
+ ->add('scope', TextareaType::class, ['attr' => ['class' => 'summernote'], 'label' => 'policyScope', 'required' => true, 'translation_domain' => 'form'])
+ ->add('risk', TextareaType::class, ['attr' => ['class' => 'summernote'], 'label' => 'policyPotentialDangers', 'required' => true, 'translation_domain' => 'form'])
+ ->add('foundation', TextareaType::class, ['attr' => ['class' => 'summernote'], 'label' => 'policyLegislation', 'required' => true, 'translation_domain' => 'form'])
+ ->add('reference', TextType::class, ['label' => 'fileNumber', 'required' => false, 'translation_domain' => 'form'])
->add('processes', EntityType::class, [
'choice_label' => 'name',
'class' => VVT::class,
'choices' => $options['processes'],
- 'label' => 'Betroffene Arbeitsvorgänge und Fachverfahren',
+ 'label' => 'affectedProcesses',
'translation_domain' => 'form',
'multiple' => true,
'required' => true,
@@ -48,15 +48,15 @@ public function buildForm(FormBuilderInterface $builder, array $options)
'data-live-search' => 'true'
]
])
- ->add('protection', TextareaType::class, ['attr' => ['class' => 'summernote'], 'label' => 'Zu ergreifende Schutzmaßnahmen in kurzer, verständlicher Form', 'required' => false, 'translation_domain' => 'form'])
- ->add('notes', TextareaType::class, ['attr' => ['class' => 'summernote'], 'label' => 'Hinweis auf Schulungsangebotet', 'required' => false, 'translation_domain' => 'form'])
- ->add('consequences', TextareaType::class, ['attr' => ['class' => 'summernote'], 'label' => 'Konsequenzen bei Nichtbeachtung der Sicherheitsrichtlinie', 'required' => false, 'translation_domain' => 'form'])
- ->add('contact', TextareaType::class, ['attr' => ['row' => 5], 'label' => 'Kontaktdaten von IT-Sicherheitsverantwortlichen und Datenschutzbeauftragten', 'required' => false, 'translation_domain' => 'form'])
+ ->add('protection', TextareaType::class, ['attr' => ['class' => 'summernote'], 'label' => 'policySafetyMeasures', 'required' => false, 'translation_domain' => 'form'])
+ ->add('notes', TextareaType::class, ['attr' => ['class' => 'summernote'], 'label' => 'policyTrainingOffer', 'required' => false, 'translation_domain' => 'form'])
+ ->add('consequences', TextareaType::class, ['attr' => ['class' => 'summernote'], 'label' => 'policyNoncomplianceConsequences', 'required' => false, 'translation_domain' => 'form'])
+ ->add('contact', TextareaType::class, ['attr' => ['row' => 5], 'label' => 'policyContacts', 'required' => false, 'translation_domain' => 'form'])
->add('people', EntityType::class, [
'choice_label' => 'name',
'class' => VVTPersonen::class,
'choices' => $options['personen'],
- 'label' => 'Die Daten welcher Personen werden verarbeitet?',
+ 'label' => 'affectedPersons',
'translation_domain' => 'form',
'multiple' => true,
'expanded' => false,
@@ -69,7 +69,7 @@ public function buildForm(FormBuilderInterface $builder, array $options)
'choice_label' => 'name',
'class' => VVTDatenkategorie::class,
'choices' => $options['kategorien'],
- 'label' => 'Betroffene Datenkategorien sind betroffen',
+ 'label' => 'affectedDataCategories',
'translation_domain' => 'form',
'multiple' => true,
'expanded' => false,
@@ -82,7 +82,7 @@ public function buildForm(FormBuilderInterface $builder, array $options)
'choice_label' => 'email',
'class' => User::class,
'choices' => $options['user'],
- 'label' => 'Konkrete Verantwortlichkeiten für die Schutzmaßnahmen',
+ 'label' => 'responsibilitiesForSafetyMeasures',
'translation_domain' => 'form',
'multiple' => false,
'attr' => [
@@ -92,12 +92,12 @@ public function buildForm(FormBuilderInterface $builder, array $options)
])
->add('status', ChoiceType::class, [
'choices' => [
- 'Angelegt' => 0,
- 'In Bearbeitung' => 1,
- 'Prüfung' => 2,
- 'Zur Freigabe vorgelegt' => 3,
- 'Veraltet' => 4,],
- 'label' => 'Status',
+ 'created' => 0,
+ 'inProgress' => 1,
+ 'inReview' => 2,
+ 'submitted' => 3,
+ 'outdated' => 4,],
+ 'label' => 'status',
'translation_domain' => 'form',
'multiple' => false,
'attr' => [
@@ -108,12 +108,12 @@ public function buildForm(FormBuilderInterface $builder, array $options)
->add('uploadFile', VichImageType::class, [
'required' => false,
'allow_delete' => false,
- 'delete_label' => 'Löschen',
- 'label' => 'Dokument zur Richtlinie hochladen',
+ 'delete_label' => 'delete',
+ 'label' => 'policyDocument',
'translation_domain' => 'form',
'download_label' => false
])
- ->add('save', SubmitType::class, ['attr' => array('class' => 'btn btn-primary'), 'label' => 'Speichern', 'translation_domain' => 'form']);
+ ->add('save', SubmitType::class, ['attr' => array('class' => 'btn btn-primary'), 'label' => 'save', 'translation_domain' => 'form']);
}
public function configureOptions(OptionsResolver $resolver)
diff --git a/src/Form/Type/Questionnaire/AnswerType.php b/src/Form/Type/Questionnaire/AnswerType.php
new file mode 100644
index 00000000..37331b2f
--- /dev/null
+++ b/src/Form/Type/Questionnaire/AnswerType.php
@@ -0,0 +1,46 @@
+add(
+ 'label',
+ TextType::class,
+ $this->getOptions(self::$BASE_LABEL . 'label'),
+ );
+
+ $builder->add(
+ 'isCorrect',
+ CheckboxType::class,
+ $this->getOptions(self::$BASE_LABEL . 'isCorrect', false),
+ );
+ }
+
+ public function configureOptions(OptionsResolver $resolver)
+ {
+ $resolver->setDefaults(
+ [
+ 'data_class' => Answer::class,
+ ],
+ );
+ }
+
+ protected function getDefaultDomain(): string
+ {
+ return self::$TRANSLATION_DOMAIN;
+ }
+}
\ No newline at end of file
diff --git a/src/Form/Type/Questionnaire/Question/DynamicQuestionType.php b/src/Form/Type/Questionnaire/Question/DynamicQuestionType.php
new file mode 100644
index 00000000..55684eae
--- /dev/null
+++ b/src/Form/Type/Questionnaire/Question/DynamicQuestionType.php
@@ -0,0 +1,63 @@
+getAnswers()->toArray();
+ shuffle($answers);
+
+
+ $builder->add(
+ (string)$question->getId(),
+ ChoiceType::class,
+ [
+ 'label' => $question->getHint() ?? false,
+ 'required' => true,
+ 'expanded' => true,
+ 'choices' => $answers,
+ 'choice_value' => 'id',
+ 'choice_label' => 'label',
+ 'multiple' => $question->getType() === QuestionTypes::CHECKBOX,
+ ],
+ );
+
+ $builder->add(
+ 'continue',
+ SubmitType::class,
+ [
+ 'attr' => [
+ 'class' => 'btn btn-primary'
+ ],
+ 'label' => 'continue',
+ 'translation_domain' => 'general',
+ ]
+ );
+ }
+
+ public function configureOptions(OptionsResolver $resolver)
+ {
+ $resolver->setDefaults(
+ [
+ 'question' => new Question(),
+ ],
+ );
+ }
+}
\ No newline at end of file
diff --git a/src/Form/Type/Questionnaire/QuestionType.php b/src/Form/Type/Questionnaire/QuestionType.php
new file mode 100644
index 00000000..b94fedb6
--- /dev/null
+++ b/src/Form/Type/Questionnaire/QuestionType.php
@@ -0,0 +1,106 @@
+add(
+ 'label',
+ TextType::class,
+ $this->getOptions(self::$BASE_LABEL . 'label'),
+ );
+
+ $builder->add(
+ 'evalValue',
+ PercentType::class,
+ $this->getOptions(self::$BASE_LABEL . 'evaluationValue'),
+ );
+
+ $builder->add(
+ 'hint',
+ TextType::class,
+ $this->getOptions(self::$BASE_LABEL . 'hint', false),
+ );
+
+ $builder->add(
+ 'type',
+ ChoiceType::class,
+ $this->getOptions(
+ self::$BASE_LABEL . 'type.word',
+ additionalOptions: [
+ 'choices' => [
+ $this->translator->trans(
+ self::$BASE_LABEL . 'type.checkbox',
+ domain: self::$TRANSLATION_DOMAIN
+ ) => QuestionTypes::CHECKBOX,
+ $this->translator->trans(
+ self::$BASE_LABEL . 'type.radio',
+ domain: self::$TRANSLATION_DOMAIN
+ ) => QuestionTypes::RADIO,
+ ]
+ ]
+ )
+ );
+
+ $builder->add(
+ 'answers',
+ CollectionType::class,
+ options: [
+ 'label' => false,
+ 'entry_type' => AnswerType::class,
+ 'entry_options' => ['label' => false],
+ 'allow_add' => true,
+ 'allow_delete' => true,
+ 'by_reference' => false,
+ ]
+ );
+
+ $builder->add(
+ 'save',
+ SubmitType::class,
+ [
+ 'attr' => [
+ 'class' => 'btn btn-primary'
+ ],
+ 'label' => 'save.word',
+ 'translation_domain' => 'general',
+ ]
+ );
+ }
+
+ public function configureOptions(OptionsResolver $resolver): void
+ {
+ $resolver->setDefaults(
+ [
+ 'data_class' => Question::class,
+ ],
+ );
+ }
+
+ protected function getDefaultDomain(): string
+ {
+ return self::$TRANSLATION_DOMAIN;
+ }
+}
\ No newline at end of file
diff --git a/src/Form/Type/Questionnaire/QuestionnaireType.php b/src/Form/Type/Questionnaire/QuestionnaireType.php
new file mode 100644
index 00000000..9c1ae278
--- /dev/null
+++ b/src/Form/Type/Questionnaire/QuestionnaireType.php
@@ -0,0 +1,70 @@
+add(
+ 'label',
+ TextType::class,
+ $this->getOptions(self::$BASE_LABEL.'label'),
+ );
+
+ $builder->add(
+ 'description',
+ TextareaType::class,
+ $this->getOptions(
+ self::$BASE_LABEL.'description',
+ false,
+ ),
+ );
+
+ $builder->add(
+ 'percentageToPass',
+ PercentType::class,
+ $this->getOptions(self::$BASE_LABEL.'percentageToPass')
+ );
+
+ $builder->add(
+ 'save',
+ SubmitType::class,
+ [
+ 'attr' => [
+ 'class' => 'btn btn-primary'
+ ],
+ 'label' => 'save.word',
+ 'translation_domain' => 'general',
+ ]
+ );
+ }
+
+ public function configureOptions(OptionsResolver $resolver)
+ {
+ $resolver->setDefaults(
+ [
+ 'data_class' => Questionnaire::class,
+ ],
+ );
+ }
+
+ protected function getDefaultDomain(): string
+ {
+ return self::$TRANSLATION_DOMAIN;
+ }
+}
\ No newline at end of file
diff --git a/src/Form/Type/ReportType.php b/src/Form/Type/ReportType.php
index 082cbc65..40f91478 100644
--- a/src/Form/Type/ReportType.php
+++ b/src/Form/Type/ReportType.php
@@ -27,12 +27,12 @@ public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
- ->add('description', TextareaType::class, ['attr' => ['rows' => 12], 'label' => 'Beschreibung', 'required' => true, 'translation_domain' => 'form'])
+ ->add('description', TextareaType::class, ['attr' => ['rows' => 12], 'label' => 'description', 'required' => true, 'translation_domain' => 'form'])
->add('user', EntityType::class, [
'choice_label' => 'email',
'class' => User::class,
'choices' => $options['user'],
- 'label' => 'User',
+ 'label' => 'user',
'translation_domain' => 'form',
'multiple' => false,
'required' => true,
@@ -41,14 +41,14 @@ public function buildForm(FormBuilderInterface $builder, array $options)
'data-live-search' => 'true'
],
])
- ->add('date', DateType::class, ['label' => 'Datum', 'widget' => 'single_text', 'required' => true, 'translation_domain' => 'form'])
- ->add('start', TimeType::class, ['label' => 'Startzeit', 'required' => true, 'translation_domain' => 'form'])
- ->add('end', TimeType::class, ['label' => 'Endzeit', 'required' => true, 'translation_domain' => 'form'])
- ->add('calcTime', TextType::class, ['label' => 'Abrechenbare Zeit in Minuten', 'required' => true, 'translation_domain' => 'form'])
- ->add('invoice', CheckboxType::class, ['label' => 'Abgerechnet', 'required' => false, 'translation_domain' => 'form'])
- ->add('inReport', CheckboxType::class, ['label' => 'Im Report anzeigen', 'required' => false, 'translation_domain' => 'form'])
- ->add('onsite', CheckboxType::class, ['label' => 'Vor Ort', 'required' => false, 'translation_domain' => 'form'])
- ->add('save', SubmitType::class, ['attr' => array('class' => 'btn btn-primary btn-block mt-3'), 'label' => 'Speichern', 'translation_domain' => 'form']);
+ ->add('date', DateType::class, ['label' => 'date', 'widget' => 'single_text', 'required' => true, 'translation_domain' => 'form'])
+ ->add('start', TimeType::class, ['label' => 'startTime', 'required' => true, 'translation_domain' => 'form'])
+ ->add('end', TimeType::class, ['label' => 'endTime', 'required' => true, 'translation_domain' => 'form'])
+ ->add('calcTime', TextType::class, ['label' => 'billableTime', 'required' => true, 'translation_domain' => 'form'])
+ ->add('invoice', CheckboxType::class, ['label' => 'billed', 'required' => false, 'translation_domain' => 'form'])
+ ->add('inReport', CheckboxType::class, ['label' => 'showInReport', 'required' => false, 'translation_domain' => 'form'])
+ ->add('onsite', CheckboxType::class, ['label' => 'onSite', 'required' => false, 'translation_domain' => 'form'])
+ ->add('save', SubmitType::class, ['attr' => array('class' => 'btn btn-primary btn-block mt-3'), 'label' => 'save', 'translation_domain' => 'form']);
}
public function configureOptions(OptionsResolver $resolver)
diff --git a/src/Form/Type/SettingsType.php b/src/Form/Type/SettingsType.php
new file mode 100644
index 00000000..3f852801
--- /dev/null
+++ b/src/Form/Type/SettingsType.php
@@ -0,0 +1,41 @@
+add('useKeycloakGroups', CheckboxType::class, ['label' => 'useKeycloakGroups', 'help'=> 'useKeycloakGroupsHelp', 'required' => false, 'translation_domain' => 'form'])
+ ->add('save', SubmitType::class, ['attr' => array('class' => 'btn btn-primary'),'label' => 'save', 'translation_domain' => 'form']);
+ }
+
+ public function configureOptions(OptionsResolver $resolver)
+ {
+ $resolver->setDefaults([
+ 'data_class' => Settings::class
+ ]);
+ }
+}
diff --git a/src/Form/Type/SoftwareType.php b/src/Form/Type/SoftwareType.php
index 5d75db8a..754752c4 100644
--- a/src/Form/Type/SoftwareType.php
+++ b/src/Form/Type/SoftwareType.php
@@ -27,32 +27,32 @@ public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
- ->add('name', TextType::class, ['label' => 'Name der Software', 'required' => true, 'translation_domain' => 'form'])
- ->add('nummer', TextType::class, ['label' => 'Software Nummer', 'required' => false, 'translation_domain' => 'form'])
- ->add('description', TextareaType::class, ['attr' => ['rows' => 8], 'label' => 'Beschreibung der Software', 'required' => true, 'translation_domain' => 'form'])
+ ->add('name', TextType::class, ['label' => 'softwareName', 'required' => true, 'translation_domain' => 'form'])
+ ->add('nummer', TextType::class, ['label' => 'softwareNumber', 'required' => false, 'translation_domain' => 'form'])
+ ->add('description', TextareaType::class, ['attr' => ['rows' => 8], 'label' => 'softwareDescription', 'required' => true, 'translation_domain' => 'form'])
->add('licenseType', ChoiceType::class, [
'choices' => [
- 'Keine Angabe' => 0,
- 'Free and Open Source (FOSS)' => 10,
- 'Kostenlos/Closed Source' => 20,
- 'Benutzerlizenzen' => 30,
- 'Gerätelizenzen' => 40,
- 'Serverlizenzen' => 50,
- 'Managed Service' => 60,
- 'Misch-Lizenzen' => 70,
- 'Andere Lizenz' => 90,],
- 'label' => 'Lizenz Typ',
+ 'notSpecified' => 0,
+ 'openSource' => 10,
+ 'closedSource' => 20,
+ 'userLicence' => 30,
+ 'deviceLicence' => 40,
+ 'serverLicence' => 50,
+ 'managedService' => 60,
+ 'mixedLicence' => 70,
+ 'otherLicence' => 90,],
+ 'label' => 'licenceType',
'translation_domain' => 'form',
'multiple' => false,
])
- ->add('license', TextareaType::class, ['attr' => ['rows' => 8], 'label' => 'Lizenzbeschreibung', 'required' => false, 'translation_domain' => 'form'])
- ->add('licenseExpiration', DateType::class, ['label' => 'Lizenzablaufsdatum', 'required' => false, 'translation_domain' => 'form', 'widget' => 'single_text'])
- ->add('reference', TextType::class, ['label' => 'Aktenzeichen', 'required' => false, 'translation_domain' => 'form'])
+ ->add('license', TextareaType::class, ['attr' => ['rows' => 8], 'label' => 'licenceDescription', 'required' => false, 'translation_domain' => 'form'])
+ ->add('licenseExpiration', DateType::class, ['label' => 'expirationDate', 'required' => false, 'translation_domain' => 'form', 'widget' => 'single_text'])
+ ->add('reference', TextType::class, ['label' => 'softwareReference', 'required' => false, 'translation_domain' => 'form'])
->add('vvts', EntityType::class, [
'choice_label' => 'name',
'class' => VVT::class,
'choices' => $options['processes'],
- 'label' => 'Mit dieser Software verbundene Verarbeitungen',
+ 'label' => 'relatedProcesses',
'translation_domain' => 'form',
'multiple' => true,
'required' => false,
@@ -65,7 +65,7 @@ public function buildForm(FormBuilderInterface $builder, array $options)
'choice_label' => 'gegenstand',
'class' => Datenweitergabe::class,
'choices' => $options['datenweitergabe'],
- 'label' => 'Mit dieser Software verbundene Datenweitergaben',
+ 'label' => 'relatedDataTransfers',
'translation_domain' => 'form',
'multiple' => true,
'required' => false,
@@ -74,25 +74,25 @@ public function buildForm(FormBuilderInterface $builder, array $options)
'data-live-search' => 'true'
],
])
- ->add('purchase', DateType::class, ['label' => 'Kaufdatum/Anschaffungsdatum', 'required' => false, 'translation_domain' => 'form', 'widget' => 'single_text'])
- ->add('build', TextType::class, ['label' => 'Version', 'required' => true, 'translation_domain' => 'form'])
+ ->add('purchase', DateType::class, ['label' => 'purchaseDate', 'required' => false, 'translation_domain' => 'form', 'widget' => 'single_text'])
+ ->add('build', TextType::class, ['label' => 'version', 'required' => true, 'translation_domain' => 'form'])
->add('status', ChoiceType::class, [
'choices' => [
- 'Angelegt' => 0,
- 'In Bearbeitung' => 10,
- 'In Prüfung' => 20,
- 'Zur Freigegebe vorgelegt' => 30,
- 'Inaktiv' => 60,],
- 'label' => 'Status',
+ 'created' => 0,
+ 'inProgress' => 10,
+ 'inReview' => 20,
+ 'submitted' => 30,
+ 'inactive' => 60,],
+ 'label' => 'status',
'translation_domain' => 'form',
'multiple' => false,
- 'help' => 'Software mit dem Status Inaktiv wird nicht mehr auf dem Datenflussplan angezeigt.'
+ 'help' => 'softwareStatusHelp'
])
- ->add('location', TextType::class, ['label' => 'Standort der Software', 'required' => false, 'translation_domain' => 'form'])
- ->add('archiving', TextareaType::class, ['attr' => ['rows' => 8], 'label' => 'Archivierungskonzept/Backup', 'required' => false, 'translation_domain' => 'form', 'help' => 'Das Archivierungskonzept kann ausgefüllt werden, um zu dokumentieren, wie, wo und nach welchem Vorgehen die Daten archiviert werden. Es handelt sich bei dem Archivierungskonzept nicht um das Löschkonzept. Die Angabe ist vor allem für ein vollständiges Informationsmanagmeentsystem wichtig.'])
- ->add('recovery', TextareaType::class, ['attr' => ['rows' => 8], 'label' => 'Notfallplanung und Widerherstellungskonzept', 'required' => false, 'translation_domain' => 'form', 'help' => 'Der Notfallplan ist die Dokumentation der Backup und Wiederherstellungsschritte im Falle eines Notfalls. Die Angabe ist vor allem für ein vollständiges Informationsmanagmeentsystem wichtig.'])
- ->add('permissions', TextareaType::class, ['attr' => ['rows' => 8], 'label' => 'Berechtigungskonzept', 'required' => false, 'translation_domain' => 'form', 'help' => 'Im Berechtigungskonzept kann dokumentiert werden, wie die Berechtigungen vergeben und kontrolliert werden und wie die Berechtigungsstruktur aufgebaut ist. Je nach Anwendung kann beschrieben werden wo die Benutzer gespeichert werden. Die Angabe ist vor allem für ein vollständiges Informationsmanagmeentsystem wichtig.'])
- ->add('save', SubmitType::class, ['attr' => array('class' => 'btn btn-primary'), 'label' => 'Speichern', 'translation_domain' => 'form']);
+ ->add('location', TextType::class, ['label' => 'softwareLocation', 'required' => false, 'translation_domain' => 'form'])
+ ->add('archiving', TextareaType::class, ['attr' => ['rows' => 8], 'label' => 'backupPolicy', 'required' => false, 'translation_domain' => 'form', 'help' => 'backupPolicyHelp'])
+ ->add('recovery', TextareaType::class, ['attr' => ['rows' => 8], 'label' => 'emergencyPlan', 'required' => false, 'translation_domain' => 'form', 'help' => 'emergencyPlanHelp'])
+ ->add('permissions', TextareaType::class, ['attr' => ['rows' => 8], 'label' => 'privilegePolicy', 'required' => false, 'translation_domain' => 'form', 'help' => 'privilegePolicyHelp'])
+ ->add('save', SubmitType::class, ['attr' => array('class' => 'btn btn-primary'), 'label' => 'save', 'translation_domain' => 'form']);
}
public function configureOptions(OptionsResolver $resolver)
diff --git a/src/Form/Type/TasksType.php b/src/Form/Type/TasksType.php
index 632979f0..fdbdb5d3 100644
--- a/src/Form/Type/TasksType.php
+++ b/src/Form/Type/TasksType.php
@@ -26,17 +26,17 @@ public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
- ->add('title', TextType::class, ['label' => 'Titel', 'required' => true, 'translation_domain' => 'form'])
- ->add('task', TextareaType::class, ['attr' => ['class' => 'summernote'], 'label' => 'Beschreibung der Aufgabe', 'required' => true, 'translation_domain' => 'form'])
- ->add('endDate', DateType::class, ['label' => 'Enddatum', 'widget' => 'single_text', 'required' => false, 'translation_domain' => 'form'])
+ ->add('title', TextType::class, ['label' => 'title', 'required' => true, 'translation_domain' => 'form'])
+ ->add('task', TextareaType::class, ['attr' => ['class' => 'summernote'], 'label' => 'taskDescription', 'required' => true, 'translation_domain' => 'form'])
+ ->add('endDate', DateType::class, ['label' => 'endDate', 'widget' => 'single_text', 'required' => false, 'translation_domain' => 'form'])
->add('prio', ChoiceType::class, [
'choices' => [
- 'Ohne Priorität' => 0,
- 'Wenig Wichtig' => 1,
- 'Normal' => 2,
- 'Wichtig' => 3,
- 'Sehr wichtig' => 4,],
- 'label' => 'Priorität',
+ 'noPriority' => 0,
+ 'lowPriority' => 1,
+ 'normalPriority' => 2,
+ 'highPriority' => 3,
+ 'veryHighPriority' => 4,],
+ 'label' => 'priority',
'translation_domain' => 'form',
'multiple' => false,
'attr' => [
@@ -47,7 +47,7 @@ public function buildForm(FormBuilderInterface $builder, array $options)
'choice_label' => 'email',
'class' => User::class,
'choices' => $options['user'],
- 'label' => 'Aufgabe zuweisen',
+ 'label' => 'assignTask',
'translation_domain' => 'form',
'multiple' => false,
'required' => false,
@@ -56,7 +56,7 @@ public function buildForm(FormBuilderInterface $builder, array $options)
'data-live-search' => 'true'
],
])
- ->add('save', SubmitType::class, ['attr' => array('class' => 'btn btn-primary btn-block mt-3'), 'label' => 'Speichern', 'translation_domain' => 'form']);
+ ->add('save', SubmitType::class, ['attr' => array('class' => 'btn btn-primary btn-block mt-3'), 'label' => 'save', 'translation_domain' => 'form']);
}
public function configureOptions(OptionsResolver $resolver)
diff --git a/src/Form/Type/TeamType.php b/src/Form/Type/TeamType.php
index 1fc0069c..4e490cda 100644
--- a/src/Form/Type/TeamType.php
+++ b/src/Form/Type/TeamType.php
@@ -9,6 +9,7 @@
namespace App\Form\Type;
use App\Entity\Team;
+use App\Repository\SettingsRepository;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
@@ -18,25 +19,37 @@
class TeamType extends AbstractType
{
+ private $settings;
+
+ public function __construct(SettingsRepository $settingsRepository)
+ {
+ $this->settings = $settingsRepository->findOne();
+ }
+
public function buildForm(FormBuilderInterface $builder, array $options)
{
+ $builder->add('name', TextType::class, ['label' => 'teamName', 'required' => true, 'translation_domain' => 'form']);
+
+ if ($this->settings && $this->settings->getUseKeycloakGroups()) {
+ $builder->add('keycloakGroup', TextType::class, ['label' => 'keycloakGroup', 'help' => 'keycloakGroupHelp', 'required' => false, 'translation_domain' => 'form']);
+ }
+
$builder
- ->add('name', TextType::class, ['label' => 'Teamname', 'required' => true, 'translation_domain' => 'form'])
- ->add('strasse', TextType::class, ['label' => 'Straße', 'required' => true, 'translation_domain' => 'form'])
- ->add('plz', TextType::class, ['label' => 'PLZ', 'required' => true, 'translation_domain' => 'form'])
- ->add('stadt', TextType::class, ['label' => 'Stadt', 'required' => true, 'translation_domain' => 'form'])
- ->add('email', TextType::class, ['label' => 'E-Mail', 'required' => true, 'translation_domain' => 'form'])
- ->add('telefon', TextType::class, ['label' => 'Telefon', 'required' => true, 'translation_domain' => 'form'])
- ->add('dsb', TextType::class, ['label' => 'Datenschutzbeauftragter', 'required' => false, 'translation_domain' => 'form'])
- ->add('ceo', TextType::class, ['label' => 'Geschäftsführung', 'required' => true, 'translation_domain' => 'form'])
- ->add('industry', TextType::class, ['label' => 'Branche', 'required' => false, 'translation_domain' => 'form'])
- ->add('specialty', TextType::class, ['label' => 'Spezialisierung', 'required' => false, 'translation_domain' => 'form'])
- ->add('signature', TextareaType::class, ['attr' => ['rows' => 8], 'label' => 'Email Signatur', 'required' => false, 'translation_domain' => 'form'])
- ->add('slug', TextType::class, ['label' => 'Slug für Kundenplattform (Darf keine Leerzeichen oder Sonderzeichen enthalten)', 'required' => false, 'translation_domain' => 'form', 'help' => 'Im ODC gibt es die Möglichkeit, ein Kundenportal für Betroffenenanfragen einzurichten. Damit das Protal von extern verfügbar ist, muss erst ein Slug ausgewählt werden. Der Slug kann der Mandantenname oder eine zufälle Kombination von Zeichen sein.'])
- ->add('externalLink', TextType::class, ['label' => 'Externer Link zu Kommunikationplattform', 'required' => false, 'translation_domain' => 'form', 'help' => 'Hier können Sie eine externe Seite in den ODC einbinden, z.B. Wiki oder Intranet. Diese Seite ist danach über die Navigation -> External aufrufbar.'])
- ->add('video', TextType::class, ['label' => 'Externer Link zur internen Jitsi Installation', 'required' => false, 'translation_domain' => 'form', 'help' => 'Hier können Sie Ihre eigene oder eine externe Jitsi Installation in den ODC einbinden. Jitsi Meet ist eine datenschutzfreundliche Alternative für zoom und Microsoft Teams.'])
- ->add('save', SubmitType::class, ['attr' => array('class' => 'btn btn-primary'),'label' => 'Speichern', 'translation_domain' => 'form']);
+ ->add('strasse', TextType::class, ['label' => 'street', 'required' => true, 'translation_domain' => 'form'])
+ ->add('plz', TextType::class, ['label' => 'postcode', 'required' => true, 'translation_domain' => 'form'])
+ ->add('stadt', TextType::class, ['label' => 'city', 'required' => true, 'translation_domain' => 'form'])
+ ->add('email', TextType::class, ['label' => 'email', 'required' => true, 'translation_domain' => 'form'])
+ ->add('telefon', TextType::class, ['label' => 'phone', 'required' => true, 'translation_domain' => 'form'])
+ ->add('dsb', TextType::class, ['label' => 'dsb', 'required' => false, 'translation_domain' => 'form'])
+ ->add('ceo', TextType::class, ['label' => 'ceo', 'required' => true, 'translation_domain' => 'form'])
+ ->add('industry', TextType::class, ['label' => 'industry', 'required' => false, 'translation_domain' => 'form'])
+ ->add('specialty', TextType::class, ['label' => 'specialty', 'required' => false, 'translation_domain' => 'form'])
+ ->add('signature', TextareaType::class, ['attr' => ['rows' => 8], 'label' => 'signature', 'required' => false, 'translation_domain' => 'form'])
+ ->add('slug', TextType::class, ['label' => 'slug', 'required' => false, 'translation_domain' => 'form', 'help' => 'slugHelp'])
+ ->add('externalLink', TextType::class, ['label' => 'externalLink', 'required' => false, 'translation_domain' => 'form', 'help' => 'externalLinkHelp'])
+ ->add('video', TextType::class, ['label' => 'jitsiLink', 'required' => false, 'translation_domain' => 'form', 'help' => 'jitsiLinkHelp'])
+ ->add('save', SubmitType::class, ['attr' => array('class' => 'btn btn-primary'),'label' => 'save', 'translation_domain' => 'form']);
}
public function configureOptions(OptionsResolver $resolver)
diff --git a/src/Form/Type/Template/BaseType.php b/src/Form/Type/Template/BaseType.php
new file mode 100644
index 00000000..e9cb3bb4
--- /dev/null
+++ b/src/Form/Type/Template/BaseType.php
@@ -0,0 +1,28 @@
+ $label,
+ 'translation_domain' => $domain ?? $this->getDefaultDomain(),
+ 'required' => $required,
+ ],
+ $additionalOptions,
+ );
+ }
+}
\ No newline at end of file
diff --git a/src/Form/Type/TomType.php b/src/Form/Type/TomType.php
index 7336e508..1489d72e 100644
--- a/src/Form/Type/TomType.php
+++ b/src/Form/Type/TomType.php
@@ -29,26 +29,26 @@ public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
- ->add('titel', TextType::class, ['attr' => ['rows' => 8],'label' => 'Title, Anwendung, Verarbeitung', 'required' => true, 'translation_domain' => 'form'])
- ->add('beschreibung', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'Beschreibung der technischen und organisatorischen Maßnahmen', 'required' => true, 'translation_domain' => 'form'])
- ->add('tomPseudo', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'Pseudonymisierung Verschlüsselung (Art. 32 Abs. 1 lit. a) DSGVO)', 'required' => true, 'translation_domain' => 'form'])
- ->add('tomZutrittskontrolle', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'Zutrittskontrolle -> Vertraulichkeit (Art. 32 Abs. 1 lit. b) DSGVO)', 'required' => true, 'translation_domain' => 'form'])
- ->add('tomZugangskontrolle', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'Zugangskontrolle -> Vertraulichkeit (Art. 32 Abs. 1 lit. b) DSGVO)', 'required' => true, 'translation_domain' => 'form'])
- ->add('tomZugriffskontrolle', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'Zugriffskontrolle -> Vertraulichkeit (Art. 32 Abs. 1 lit. b) DSGVO)', 'required' => true, 'translation_domain' => 'form'])
- ->add('tomBenutzerkontrolle', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'Benutzerkontrolle -> Vertraulichkeit (Art. 32 Abs. 1 lit. b) DSGVO)', 'required' => true, 'translation_domain' => 'form'])
- ->add('tomSpeicherkontrolle', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'Speicherkontrolle -> Vertraulichkeit (Art. 32 Abs. 1 lit. b) DSGVO)', 'required' => true, 'translation_domain' => 'form'])
- ->add('tomTrennbarkeit', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'Trennbarkeit -> Vertraulichkeit (Art. 32 Abs. 1 lit. b) DSGVO)', 'required' => true, 'translation_domain' => 'form'])
- ->add('tomDatenintegritaet', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'Datenintegrität -> Integrität (Art. 32 Abs. 1 lit. c) DSGVO)', 'required' => true, 'translation_domain' => 'form'])
- ->add('tomTransportkontrolle', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'Transportkontrolle -> Integrität (Art. 32 Abs. 1 lit. c) DSGVO)', 'required' => true, 'translation_domain' => 'form'])
- ->add('tomUebertragungskontrolle', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'Übertragungskontrolle -> Integrität (Art. 32 Abs. 1 lit. c) DSGVO)', 'required' => true, 'translation_domain' => 'form'])
- ->add('tomEingabekontrolle', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'Eingabekontrolle -> Integrität (Art. 32 Abs. 1 lit. c) DSGVO)', 'required' => true, 'translation_domain' => 'form'])
- ->add('tomZuverlaessigkeit', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'Zuverlässigkeit -> Integrität (Art. 32 Abs. 1 lit. c) DSGVO)', 'required' => true, 'translation_domain' => 'form'])
- ->add('tomAuftragskontrolle', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'Auftragskontrolle -> Integrität (Art. 32 Abs. 1 lit. c) DSGVO)', 'required' => true, 'translation_domain' => 'form'])
- ->add('tomVerfuegbarkeitskontrolle', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'Verfügbarkeitskontrolle -> Verfügbarkeit und Belastbarkeit (Art. 32 Abs. 1 lit. c) DSGVO)', 'required' => true, 'translation_domain' => 'form'])
- ->add('tomWiederherstellbarkeit', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'Wiederherstellbarkeit -> Verfügbarkeit und Belastbarkeit (Art. 32 Abs. 1 lit. c) DSGVO)', 'required' => true, 'translation_domain' => 'form'])
- ->add('tomAudit', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'Verfahren zur regelmässigen Überprüfung, Bewertung und Evaluierung (Art. 32 Abs. 1 lit. c) DSGVO)', 'required' => true, 'translation_domain' => 'form'])
+ ->add('titel', TextType::class, ['attr' => ['rows' => 8],'label' => 'tomTitle', 'required' => true, 'translation_domain' => 'form'])
+ ->add('beschreibung', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'descriptionOfMeasures', 'required' => true, 'translation_domain' => 'form'])
+ ->add('tomPseudo', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'tomEncryption', 'required' => true, 'translation_domain' => 'form'])
+ ->add('tomZutrittskontrolle', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'tomPhysicalAccess', 'required' => true, 'translation_domain' => 'form'])
+ ->add('tomZugangskontrolle', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'tomAuthenticatedAccess', 'required' => true, 'translation_domain' => 'form'])
+ ->add('tomZugriffskontrolle', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'tomPrivilegedAccess', 'required' => true, 'translation_domain' => 'form'])
+ ->add('tomBenutzerkontrolle', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'tomUserControl', 'required' => true, 'translation_domain' => 'form'])
+ ->add('tomSpeicherkontrolle', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'tomStorageControl', 'required' => true, 'translation_domain' => 'form'])
+ ->add('tomTrennbarkeit', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'tomSeparability', 'required' => true, 'translation_domain' => 'form'])
+ ->add('tomDatenintegritaet', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'tomDataIntegrity', 'required' => true, 'translation_domain' => 'form'])
+ ->add('tomTransportkontrolle', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'tomTransportControl', 'required' => true, 'translation_domain' => 'form'])
+ ->add('tomUebertragungskontrolle', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'tomTransferControl', 'required' => true, 'translation_domain' => 'form'])
+ ->add('tomEingabekontrolle', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'tomInputControl', 'required' => true, 'translation_domain' => 'form'])
+ ->add('tomZuverlaessigkeit', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'tomReliability', 'required' => true, 'translation_domain' => 'form'])
+ ->add('tomAuftragskontrolle', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'tomAssignmentControl', 'required' => true, 'translation_domain' => 'form'])
+ ->add('tomVerfuegbarkeitskontrolle', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'tomAvailabilityControl', 'required' => true, 'translation_domain' => 'form'])
+ ->add('tomWiederherstellbarkeit', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'tomRecoverability', 'required' => true, 'translation_domain' => 'form'])
+ ->add('tomAudit', TextareaType::class, ['attr' => ['rows' => 8],'label' => 'tomAuditProcedure', 'required' => true, 'translation_domain' => 'form'])
- ->add('save', SubmitType::class, ['attr' => array('class' => 'btn btn-primary'),'label' => 'Speichern', 'translation_domain' => 'form']);
+ ->add('save', SubmitType::class, ['attr' => array('class' => 'btn btn-primary'),'label' => 'save', 'translation_domain' => 'form']);
}
public function configureOptions(OptionsResolver $resolver)
diff --git a/src/Form/Type/UploadTyp.php b/src/Form/Type/UploadTyp.php
index 2b4e424d..276c82cb 100644
--- a/src/Form/Type/UploadTyp.php
+++ b/src/Form/Type/UploadTyp.php
@@ -25,11 +25,11 @@ public function buildForm(FormBuilderInterface $builder, array $options)
->add('fileFile', VichFileType::class, [
'required' => false,
'allow_delete' => false,
- 'label' => 'Import File',
+ 'label' => 'importFile',
'translation_domain' => 'form',
'download_label' => false
])
- ->add('save', SubmitType::class, ['attr' => array('class' => 'btn btn-primary'),'label' => 'Hochladen', 'translation_domain' => 'form']);
+ ->add('save', SubmitType::class, ['attr' => array('class' => 'btn btn-primary'),'label' => 'uploadFile', 'translation_domain' => 'form']);
}
public function configureOptions(OptionsResolver $resolver)
diff --git a/src/Form/Type/VVTDatenkategorieType.php b/src/Form/Type/VVTDatenkategorieType.php
index 5c204397..b63a65fb 100644
--- a/src/Form/Type/VVTDatenkategorieType.php
+++ b/src/Form/Type/VVTDatenkategorieType.php
@@ -22,18 +22,18 @@ public function buildForm(FormBuilderInterface $builder, array $options): void
{
$builder
->add('name', TextareaType::class, [
- 'label' => 'Name',
+ 'label' => 'dataCategoryName',
'empty_data' => '',
'required' => true,
'translation_domain' => 'form',
- 'help' => 'Der Name bezeichnet die Datenkategorie, unter der die dazugehörigen Datenarten zusammengefasst werden sollen.'
+ 'help' => 'dataCategoryNameHelp'
])
->add('datenarten', TextareaType::class, [
- 'label' => 'Datenarten',
+ 'label' => 'dataTypes',
'empty_data' => '',
'required' => true,
'translation_domain' => 'form',
- 'help' => 'Hier sollen alle Datenarten eingetragen werden, die sich auf die oben benannte Datenkategorie beziehen.'
+ 'help' => 'dataTypesHelp'
])
;
}
diff --git a/src/Form/Type/VVTType.php b/src/Form/Type/VVTType.php
index bf107071..50c34bb3 100644
--- a/src/Form/Type/VVTType.php
+++ b/src/Form/Type/VVTType.php
@@ -42,14 +42,22 @@ public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
- ->add('nummer', TextType::class, ['label' => 'Nummer der Verarbeitung', 'required' => true, 'translation_domain' => 'form'])
- ->add('name', TextType::class, ['label' => 'Bezeichung der Verarbeitung', 'required' => true, 'translation_domain' => 'form'])
- ->add('verantwortlich', TextareaType::class, ['label' => 'Verantwortliche Person (weitere)', 'required' => false, 'translation_domain' => 'form'])
+ ->add('nummer', TextType::class, [
+ 'label' => 'procedureNumber',
+ 'required' => true,
+ 'translation_domain' => 'form'
+ ])
+ ->add('name', TextType::class, [
+ 'label' => 'procedureDenomination',
+ 'required' => true,
+ 'translation_domain' => 'form'
+ ])
+ ->add('verantwortlich', TextareaType::class, ['label' => 'furtherResponsibleParties', 'required' => false, 'translation_domain' => 'form'])
->add('userContract', EntityType::class, [
'choice_label' => 'email',
'class' => User::class,
'choices' => $options['user'],
- 'label' => 'Verantwortliche Person intern',
+ 'label' => 'internalResponsibleParty',
'translation_domain' => 'form',
'multiple' => false,
'required' => true,
@@ -57,13 +65,13 @@ public function buildForm(FormBuilderInterface $builder, array $options)
'class' => 'selectpicker',
'data-live-search' => 'true'
],
- 'help' => 'Wählen Sie hier den zuständigen Benutzer für diese Verarbeitung aus dem Datenschutzcenter. zu jeder Verarbeitung muss mindestens eine verantwortliche Person eingetragen werden.'
+ 'help' => 'internalResponsiblePartyHelp'
])
->add('software', EntityType::class, [
'choice_label' => 'name',
'class' => Software::class,
'choices' => $options['software'],
- 'label' => 'Verwendete Software in dieser Verarbeitung',
+ 'label' => 'procedureUsedSoftware',
'translation_domain' => 'form',
'multiple' => true,
'required' => false,
@@ -71,19 +79,53 @@ public function buildForm(FormBuilderInterface $builder, array $options)
'class' => 'selectpicker',
'data-live-search' => 'true'
],
- 'help' => 'Bei Bedarf können Sie hier die Software auswählen, die in dieser Verarbeitung eingesetzt werden. Diese Angabe ist für die Analyse der Informationssicherheit und zur Umsetzung der technischen Maßnahmen wichtig. Mit getrückter "STRG" Taste können mehrere Optionen ausgewählt werden.'
+ 'help' => 'procedureUsedSOftwareHelp'
+ ])
+ ->add('zweck', TextareaType::class, [
+ 'attr' => ['class' => 'summernote'],
+ 'label' => 'procedurePurpose',
+ 'required' => true,
+ 'translation_domain' => 'form',
+ 'help' => 'procedurePurposeHelp'
+ ])
+ ->add('jointControl', CheckboxType::class, [
+ 'label' => 'jointControl',
+ 'required' => false,
+ 'translation_domain' => 'form',
+ 'help' => 'jointControlHelp'
+ ])
+ ->add('auftragsverarbeitung', CheckboxType::class, [
+ 'label' => 'isContract',
+ 'required' => false,
+ 'translation_domain' => 'form',
+ 'help' => 'isContractHelp'
+ ])
+ ->add('speicherung', TextareaType::class, [
+ 'attr' => ['class' => 'summernote'],
+ 'label' => 'procedureDataStorage',
+ 'required' => true,
+ 'translation_domain' => 'form',
+ 'help' => 'procedureDataStorage'
+ ])
+ ->add('loeschfrist', TextareaType::class, [
+ 'attr' => ['readonly'=>true, 'class' => 'summernote summernote-disable'],
+ 'label' => 'deleteDeadline',
+ 'required' => false,
+ 'translation_domain' => 'form',
+ 'help' => 'deleteDeadlineHelp'
+ ])
+ ->add('weitergabe', TextareaType::class, [
+ 'attr' => ['class' => 'summernote'],
+ 'label' => 'procedureDataTransferPartners',
+ 'required' => false,
+ 'translation_domain' => 'form',
+ 'help' => 'procedureDataTransferPartners'
])
- ->add('zweck', TextareaType::class, ['attr' => ['class' => 'summernote'], 'label' => 'Zweck der Verarbeitung', 'required' => true, 'translation_domain' => 'form', 'help' => 'Geben Sie hier den Zweck der Verarbeitung und eine Beschreibung der Verarbeitung an. Wenn möglich beschreiben Sie hier zusätzlich den Nutzen der Verarbeitung mit Fokus auf Ihre Unternehmenstätigkeit.'])
- ->add('jointControl', CheckboxType::class, ['label' => 'Ja, es handelt sich um eine Joint Control Verarbeitung (gemeinsame Verarbeitung)', 'required' => false, 'translation_domain' => 'form', 'help' => 'Gemeinsame Verarbeitung bedeutet, dass Ihr Unternehmen zusammen mit einer anderen Organisation die Dienstleistung anbietet und dafür Daten erfasst und verarbeitet, z.B. Facebook ist ein typisches Beispiel für eine gemeinsame Verarbeitung. In dieser Verabreitung werden Daten von Ihrer Organisation generiert, an Facebook weitergegeben und auch selber intern verarbeitet.'])
- ->add('auftragsverarbeitung', CheckboxType::class, ['label' => 'Ja, es handelt es sich um eine Verarbeitung im Auftrag einer weiteren Organisation', 'required' => false, 'translation_domain' => 'form', 'help' => 'Auftragsverarbeitung bedeutet, dass Ihre Organisation für eine weitere Organisation die Daten verarbeitet, meist in Form einer Dienstleistung. Ihre Organisation nutzt die Daten nur im Namen des Auftraggebers und nicht für eigene Zwecke.'])
- ->add('speicherung', TextareaType::class, ['attr' => ['class' => 'summernote'], 'label' => 'Wo werden die Daten gespeichert/abgelegt', 'required' => true, 'translation_domain' => 'form', 'help' => 'Geben Sie hier an wo und wie die Daten gespeichert werden. Die Speicherung ist eine wichtige Teilverarbeitung und sollte daher zusätzliche dokumentiert werden. Es ist auch im nachhinein einfacher den Datenfluss nachzuverfolgen, wenn die Speicherorte genau dokumentiert wurden.'])
- ->add('loeschfrist', TextareaType::class, ['attr' => ['readonly'=>true, 'class' => 'summernote summernote-disable'], 'label' => 'Löschfrist', 'required' => false, 'translation_domain' => 'form', 'help' => 'Alte Löschfristen. Bitte in Löschkonzepte umziehen.'])
- ->add('weitergabe', TextareaType::class, ['attr' => ['class' => 'summernote'], 'label' => 'An folgende Unternehmen/Stellen/Funktionen werden die Daten weitergegeben', 'required' => false, 'translation_domain' => 'form', 'help' => 'Beschrieben Sie hier in Form einer Matrix/ Tabelle an welche Unternehmen oder Stellen Sie die Daten in Rahmen dieser Verarbeitung weitergeben. Nutzen Sie dafür die Angaben aus den vorherigen Felder "Personengruppen und Datenkategorien".'])
->add('grundlage', EntityType::class, [
'choice_label' => 'name',
'class' => VVTGrundlage::class,
'choices' => $options['grundlage'],
- 'label' => 'Beschreiben Sie, weshalb die Datenverarbeitung erforderlich ist? (Zweck und Grundlage)',
+ 'label' => 'procedureBasis',
'translation_domain' => 'form',
'multiple' => true,
'required' => true,
@@ -96,7 +138,7 @@ public function buildForm(FormBuilderInterface $builder, array $options)
'choice_label' => 'name',
'class' => VVTPersonen::class,
'choices' => $options['personen'],
- 'label' => 'Die Daten welcher Personen werden verarbeitet?',
+ 'label' => 'procedurePeople',
'translation_domain' => 'form',
'multiple' => true,
'attr' => [
@@ -108,7 +150,7 @@ public function buildForm(FormBuilderInterface $builder, array $options)
'choice_label' => 'gegenstand',
'class' => Datenweitergabe::class,
'choices' => $options['daten'],
- 'label' => 'Welche Datenweitergaben werden dieser Verarbeitung zuordnen?',
+ 'label' => 'procedureDataTransfers',
'translation_domain' => 'form',
'multiple' => true,
'required' => false,
@@ -120,21 +162,26 @@ public function buildForm(FormBuilderInterface $builder, array $options)
->add('kategorien', EntityType::class, [
'class' => VVTDatenkategorie::class,
'choices' => $options['kategorien'],
- 'label' => 'Welche Datenkategorien (Löschfristen) werden verarbeitet?',
+ 'label' => 'procedureCategories',
'translation_domain' => 'form',
'multiple' => true,
'attr' => [
'class' => 'selectpicker',
'data-live-search' => 'true'
],
- 'help' => 'Das Dropdown-Menü zeigt die Datenkategorien mit den zugeordneten Standard Löschfristen aus den Löschkonzepten, sofern die Datenkategorien einem Löschkonztept zugeordnet wurden.'
+ 'help' => 'procedureCategoriesHelp'
+ ])
+ ->add('eu', CheckboxType::class, [
+ 'label' => 'procedureDataTransferOutsideEU',
+ 'required' => false,
+ 'translation_domain' => 'form',
+ 'help' => 'procedureDataTransferOutsideEuHelp'
])
- ->add('eu', CheckboxType::class, ['label' => 'Ja, Daten werden außerhalb der EU verarbeitet', 'required' => false, 'translation_domain' => 'form', 'help' => 'Wenn Daten außerhalb der EU verarbeitet (gespeichert, erfasst, gelöscht) werden, müssen zusätzliche Vorsichtsmaßnahmen getroffen werden um die Daten nach der DSGVo zu schützen. Setzen Sie diesen Hacken, wenn Sie oder ein Auftragsverarbeiter die Daten die Daten im EU Außland verarbeitet.'])
->add('tomLink', EntityType::class, [
'choice_label' => 'titel',
'class' => Tom::class,
'choices' => $options['tom'],
- 'label' => 'Welche TOM wird für diese Verarbeitung verwendet?',
+ 'label' => 'procedureTOM',
'translation_domain' => 'form',
'multiple' => false,
'required' => false,
@@ -142,39 +189,45 @@ public function buildForm(FormBuilderInterface $builder, array $options)
'class' => 'selectpicker',
'data-live-search' => 'true'
],
- 'help' => 'Wenn Sie bereits ein TOM Dokument im Datenschutzcenter angelegt haben, können Sie diese bei Bedarf der Verarbeitung zuweisen. Die Verknüpfung wird soäter auch im Dashboard und Datenflussplan angezeigt.'
+ 'help' => 'procedureTOM'
+ ])
+ ->add('tom', TextareaType::class, [
+ 'attr' => ['class' => 'summernote'],
+ 'label' => 'procedureFurtherMeasures',
+ 'required' => false,
+ 'translation_domain' => 'form',
+ 'help' => 'procedureFurtherMeasuresHelp'
])
- ->add('tom', TextareaType::class, ['attr' => ['class' => 'summernote'], 'label' => 'Weitere Hinweise zur TOM', 'required' => false, 'translation_domain' => 'form', 'help' => 'Geben Sie hier bei Bedarf weitere technische und organisatorische Maßnahmen an, die nur diese Verarbeitung betreffen.'])
->add('risiko', EntityType::class, [
'choice_label' => 'name',
'class' => VVTRisiken::class,
'choices' => $options['risiken'],
- 'label' => 'Mögliche Risko-Quellen',
+ 'label' => 'procedureRiskSources',
'translation_domain' => 'form',
'multiple' => true,
'attr' => [
'class' => 'selectpicker',
'data-live-search' => 'true'
],
- 'help' => 'Geben Sie hier alle möglichen Risiken an die in dieser Verarbeitung auftreten können. Die Risiken können direkt, indirekt, technisch oder organisatorisch mit der Verarbeitung zusammenhängen.'
+ 'help' => 'procedureRiskSourcesHelp'
])
->add('status', EntityType::class, [
'choice_label' => 'name',
'class' => VVTStatus::class,
'choices' => $options['status'],
- 'label' => 'Status',
+ 'label' => 'status',
'translation_domain' => 'form',
'multiple' => false,
'attr' => [
'class' => 'selectpicker',
],
- 'help' => 'Im Status Inaktiv wird die Verarbeitung nicht im Datenflussplan auf dem Dashboard angezeigt.'
+ 'help' => 'procedureStatusHelp'
])
->add('abteilung', EntityType::class, [
'choice_label' => 'name',
'class' => AuditTomAbteilung::class,
'choices' => $options['abteilung'],
- 'label' => 'Zugeordnete Abteilung',
+ 'label' => 'procedureDepartment',
'translation_domain' => 'form',
'multiple' => false,
'required' => false,
@@ -182,51 +235,69 @@ public function buildForm(FormBuilderInterface $builder, array $options)
'class' => 'selectpicker',
'data-live-search' => 'true'
],
- 'help' => 'Hier können Sie eine Abteilung zu der Verarbeitung hinzufügen. Die Abteilung ist hilfreich um den Datenflussplan filtern zu können und gleiche Verarbeitungen in unterschiedlichen Abteilungen eindeutig zu unterteilen.'
+ 'help' => 'procedureDepartment'
+ ])
+ ->add('source', TextareaType::class, [
+ 'attr' => ['row' => 8],
+ 'label' => 'procedureDataCollection',
+ 'required' => false,
+ 'translation_domain' => 'form',
+ 'help' => 'procedureDataCollectionHelp'
+ ])
+ ->add('informationspflicht', TextareaType::class, [
+ 'attr' => ['class' => 'summernote'],
+ 'label' => 'informationObligation',
+ 'required' => false,
+ 'translation_domain' => 'form',
+ 'help' => 'informationObligationHelp'
+ ])
+ ->add('dsb', TextareaType::class, [
+ 'attr' => ['class' => 'summernote'],
+ 'label' => 'dsbComment',
+ 'required' => false,
+ 'translation_domain' => 'form',
+ 'help' => 'dsbCommentHelp'
])
- ->add('source', TextareaType::class, ['attr' => ['row' => 8], 'label' => 'Wie und wo werden die Daten erhoben?', 'required' => false, 'translation_domain' => 'form', 'help' => 'Die Daten können auf unterschiedliche Art und Weisen erfasst werden. Direkterhebung ist die bekannteste und kommt z.B. bei einem Newsletter auf der eigenen Webseite vor. Die Erhebung durch Dritte (z.B. durch Adresshändler) ist eine weitere Methode der Datenerhebung.'])
- ->add('informationspflicht', TextareaType::class, ['attr' => ['class' => 'summernote'], 'label' => 'Informationspflicht', 'required' => false, 'translation_domain' => 'form', 'help' => 'Es sollte je Verfahren dokumentiert werden, wo und wie den Informationspflichten jeweils nachgekommen wird. Dies kann bspw. durch Verweis auf Datenschutzhinweise, Vertragsbestandteile, Disclaimer in Formularen, bei Mitarbeiterdaten z.B. auch durch Verweise bei Erhebung auf intern bekanntgemachte Betriebsvereinbarung etc. erfolgen.'])
- ->add('dsb', TextareaType::class, ['attr' => ['class' => 'summernote'], 'label' => 'Kommentar des Datenschutzbeauftragten', 'required' => false, 'translation_domain' => 'form', 'help' => 'Neben der verpflichtenden Erfassung des Verarbeitungszwecks sollte zur Erfüllung der Rechenschaftpflichten gem. Art. 5 auch die Rechtsgrundlage mitsamt ggfs. erforderlicher Abwägungen, Einwilligungsklauseln und Prüfvermerken, ob bspw. die Anforderungen an Widerspruchsmöglichkeiten oder die automatisierte Einzelentscheidung berücksichtigt wurden.'])
->add('beurteilungEintritt', ChoiceType::class, [
'choices' => [
- 'Bitte auswählen' => 0,
- 'Vernachlässigbar' => 1,
- 'Eingeschränkt möglich' => 2,
- 'Signifikant' => 3,
- 'Sehr wahrscheinlich' => 4,
+ 'nothingSelected' => 0,
+ 'lowRisk' => 1,
+ 'someRisk' => 2,
+ 'significantRisk' => 3,
+ 'highRisk' => 4,
],
- 'label' => 'Risiko: Eintrittswahrscheinlichkeit',
+ 'label' => 'procedureRiskProbability',
'translation_domain' => 'form',
'required' => true,
'multiple' => false,
'attr' => [
'class' => 'selectpicker',
],
- 'help' => 'Für jede Verarbeitung muss auf Grundlage der ISO 27001 die Eintrittswahrscheinlichkeit dokumentiert werden. Dabei muss die Eintrittswahrscheinlichkeit festgelegt werden. Die Wahrscheinlichkeit lässt sich in vier Level unterteilen.'
+ 'help' => 'procedureRiskProbabilityHelp'
])
->add('beurteilungSchaden', ChoiceType::class, [
'choices' => [
- 'Bitte auswählen' => 0,
- 'Gering (kaum Auswirkung)' => 1,
- 'Eingeschränkt vorhanden' => 2,
- 'Signifikant' => 3,
- 'Hoch (schwerwiegend bis existenzbedrohend)' => 4,
+ 'nothingSelected' => 0,
+ 'littleDamage' => 1,
+ 'someDamage' => 2,
+ 'significantDamage' => 3,
+ 'criticalDamage' => 4,
],
- 'label' => 'Risiko: Schadenspotenzial',
+ 'label' => 'procedureRiskDamage',
'translation_domain' => 'form',
'required' => true,
'multiple' => false,
'attr' => [
'class' => 'selectpicker',
],
- 'help' => 'Für jede Verarbeitung muss auf Grundlage der ISO 27001 das Schadenspotenzial dokumentiert werden.'
+ 'help' => 'procedureRiskDamageHelp'
])
->add('produkt', EntityType::class, [
'choice_label' => 'name',
'class' => Produkte::class,
'choices' => $options['produkte'],
- 'label' => 'Zugeordnete Produkte',
- 'help' => 'Mit gedrückter "STRG" Taste können mehrere Produkte ausgewählt werden',
+ 'label' => 'procedureProducts',
+ 'help' => 'procedureProductsHelp',
'translation_domain' => 'form',
'multiple' => true,
'required' => false,
@@ -235,7 +306,11 @@ public function buildForm(FormBuilderInterface $builder, array $options)
'data-live-search' => 'true'
],
])
- ->add('save', SubmitType::class, ['attr' => array('class' => 'btn btn-primary btn-block'), 'label' => 'Speichern', 'translation_domain' => 'form']);
+ ->add('save', SubmitType::class, [
+ 'attr' => array('class' => 'btn btn-primary btn-block'),
+ 'label' => 'save',
+ 'translation_domain' => 'form'
+ ]);
}
public function configureOptions(OptionsResolver $resolver)
diff --git a/src/Form/Type/VorfallType.php b/src/Form/Type/VorfallType.php
index 89cc074a..a155662f 100644
--- a/src/Form/Type/VorfallType.php
+++ b/src/Form/Type/VorfallType.php
@@ -26,19 +26,19 @@ public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
- ->add('gemeldet', CheckboxType::class, ['label' => 'Datenschutzvorfall der Landesdatenschutzbehörde gemeldet. Wenn ja, die meldende Person in getroffene Maßnahmen eintragen', 'required' => false, 'translation_domain' => 'form'])
- ->add('betroffeneGemeldet', CheckboxType::class, ['label' => 'Datenschutzvorfall an die betroffenen Personen gemeldet', 'required' => false, 'translation_domain' => 'form'])
- ->add('auftraggeberGemeldet', CheckboxType::class, ['label' => 'Datenschutzvorfall an die Auftraggeber gemeldet', 'required' => false, 'translation_domain' => 'form'])
- ->add('fakten', TextareaType::class, ['attr' => ['rows' => 8], 'label' => 'Fakten zum Datenschutzvorfall', 'required' => true, 'translation_domain' => 'form'])
- ->add('auswirkung', TextareaType::class, ['attr' => ['rows' => 8], 'label' => 'Auswirkungen und Folgen der Datenschutzverletzung', 'required' => true, 'translation_domain' => 'form'])
- ->add('massnahmen', TextareaType::class, ['attr' => ['rows' => 8], 'label' => 'Getroffene Maßnahmen', 'required' => true, 'translation_domain' => 'form'])
- ->add('datum', DateTimeType::class, ['label' => 'Datenschutzvorfall bemerkt', 'required' => true, 'translation_domain' => 'form', 'widget' => 'single_text'])
- ->add('save', SubmitType::class, ['attr' => array('class' => 'btn btn-primary'), 'label' => 'Speichern', 'translation_domain' => 'form'])
+ ->add('gemeldet', CheckboxType::class, ['label' => 'incidentReportedToStateAgency', 'required' => false, 'translation_domain' => 'form'])
+ ->add('betroffeneGemeldet', CheckboxType::class, ['label' => 'incidentReportedToAffectedPersons', 'required' => false, 'translation_domain' => 'form'])
+ ->add('auftraggeberGemeldet', CheckboxType::class, ['label' => 'incidentReportedToClients', 'required' => false, 'translation_domain' => 'form'])
+ ->add('fakten', TextareaType::class, ['attr' => ['rows' => 8], 'label' => 'incidentFacts', 'required' => true, 'translation_domain' => 'form'])
+ ->add('auswirkung', TextareaType::class, ['attr' => ['rows' => 8], 'label' => 'incidentConsequences', 'required' => true, 'translation_domain' => 'form'])
+ ->add('massnahmen', TextareaType::class, ['attr' => ['rows' => 8], 'label' => 'incidentMeasures', 'required' => true, 'translation_domain' => 'form'])
+ ->add('datum', DateTimeType::class, ['label' => 'incidentDiscovered', 'required' => true, 'translation_domain' => 'form', 'widget' => 'single_text'])
+ ->add('save', SubmitType::class, ['attr' => array('class' => 'btn btn-primary'), 'label' => 'save', 'translation_domain' => 'form'])
->add('personen', EntityType::class, [
'choice_label' => 'name',
'class' => VVTPersonen::class,
'choices' => $options['personen'],
- 'label' => 'Betroffene Personenkategorien',
+ 'label' => 'affectedPersons',
'translation_domain' => 'form',
'multiple' => true,
'attr' => [
@@ -50,7 +50,7 @@ public function buildForm(FormBuilderInterface $builder, array $options)
'choice_label' => 'name',
'class' => VVTDatenkategorie::class,
'choices' => $options['daten'],
- 'label' => 'Betroffene Datenkategorien',
+ 'label' => 'affectedDataCategories',
'translation_domain' => 'form',
'multiple' => true,
'attr' => [
diff --git a/src/Kernel.php b/src/Kernel.php
index 1cd05726..54b472ea 100644
--- a/src/Kernel.php
+++ b/src/Kernel.php
@@ -13,42 +13,4 @@ class Kernel extends BaseKernel
{
use MicroKernelTrait;
- private const CONFIG_EXTS = '.{php,xml,yaml,yml}';
-
- public function registerBundles(): iterable
- {
- $contents = require $this->getProjectDir().'/config/bundles.php';
- foreach ($contents as $class => $envs) {
- if ($envs[$this->environment] ?? $envs['all'] ?? false) {
- yield new $class();
- }
- }
- }
-
- public function getProjectDir(): string
- {
- return \dirname(__DIR__);
- }
-
- protected function configureContainer(ContainerBuilder $container, LoaderInterface $loader): void
- {
- $container->addResource(new FileResource($this->getProjectDir().'/config/bundles.php'));
- $container->setParameter('container.dumper.inline_class_loader', \PHP_VERSION_ID < 70400 || $this->debug);
- $container->setParameter('container.dumper.inline_factories', true);
- $confDir = $this->getProjectDir().'/config';
-
- $loader->load($confDir.'/{packages}/*'.self::CONFIG_EXTS, 'glob');
- $loader->load($confDir.'/{packages}/'.$this->environment.'/*'.self::CONFIG_EXTS, 'glob');
- $loader->load($confDir.'/{services}'.self::CONFIG_EXTS, 'glob');
- $loader->load($confDir.'/{services}_'.$this->environment.self::CONFIG_EXTS, 'glob');
- }
-
- protected function configureRoutes(RouteCollectionBuilder $routes): void
- {
- $confDir = $this->getProjectDir().'/config';
-
- $routes->import($confDir.'/{routes}/'.$this->environment.'/*'.self::CONFIG_EXTS, '/', 'glob');
- $routes->import($confDir.'/{routes}/*'.self::CONFIG_EXTS, '/', 'glob');
- $routes->import($confDir.'/{routes}'.self::CONFIG_EXTS, '/', 'glob');
- }
}
diff --git a/src/Migrations/Templates/CreateTable.php b/src/Migrations/Templates/CreateTable.php
new file mode 100644
index 00000000..dc5ced89
--- /dev/null
+++ b/src/Migrations/Templates/CreateTable.php
@@ -0,0 +1,35 @@
+createTable($tableName);
+
+ $table->addColumn(self::$FIELD_ID, Types::INTEGER)
+ ->setNotnull(true)
+ ->setAutoincrement(true);
+
+ foreach([self::$FIELD_CREATED_AT, self::$FIELD_UPDATED_AT] as $field){
+ $table->addColumn($field, Types::DATETIME_IMMUTABLE)
+ ->setNotnull(true);
+ }
+
+ $table->setPrimaryKey([self::$FIELD_ID], $tableName.'_PK');
+
+ return $table;
+ }
+}
\ No newline at end of file
diff --git a/src/Migrations/Templates/RelationColumn.php b/src/Migrations/Templates/RelationColumn.php
new file mode 100644
index 00000000..298e4c55
--- /dev/null
+++ b/src/Migrations/Templates/RelationColumn.php
@@ -0,0 +1,38 @@
+getName() . '_' . $targetColumn;
+
+ $table->addColumn($columnName, Types::INTEGER)
+ ->setNotnull(!$nullable);
+
+ $table->addForeignKeyConstraint(
+ foreignTable: $targetTable,
+ localColumnNames: [$columnName],
+ foreignColumnNames: [$targetColumn],
+ name: sprintf(self::$INDEX_FORMAT, $table->getName(), $targetTable->getName()),
+ );
+ }
+
+ /** @throws SchemaException */
+ public static function dropRelation(Table $table, Table $targetTable, string $targetColumn = 'id'): void
+ {
+ $columnName = $targetTable->getName() . '_' . $targetColumn;
+
+ $table->dropIndex(sprintf(self::$INDEX_FORMAT, $table->getName(), $targetTable->getName()));
+ $table->dropColumn($columnName);
+ }
+}
\ No newline at end of file
diff --git a/src/Migrations/Util/RelationConverter.php b/src/Migrations/Util/RelationConverter.php
new file mode 100644
index 00000000..9a3bfbad
--- /dev/null
+++ b/src/Migrations/Util/RelationConverter.php
@@ -0,0 +1,92 @@
+createQueryBuilder()
+ ->select('t.*')
+ ->from('`'.$sourceTable->getName().'`', 't')
+ ->fetchAllAssociative();
+
+ foreach ($sourceEntities as $sourceEntity) {
+ $foreignKey = $sourceEntity[$sourceColumn->getName()];
+ $identifier = $sourceEntity[$identifierColumn->getName()];
+
+ if($foreignKey === null || $identifier === null){
+ continue;
+ }
+
+ $connection->createQueryBuilder()
+ ->insert($mappingTableName)
+ ->setValue(
+ column: $sourceColumnName,
+ value: $identifier
+ )
+ ->setValue(
+ column: $targetColumnName,
+ value: $foreignKey,
+ )
+ ->executeQuery();
+ }
+ }
+
+ public static function createManyToManyMappingTable(
+ Schema $schema,
+ Table $sourceTable,
+ Table $targetTable,
+ string $mappingTableName,
+ ?string $sourceColumnName = null,
+ ?string $targetColumnName = null,
+ ): Table
+ {
+ $sourceColumnName = $sourceColumnName ?? $sourceTable->getName() . '_id';
+ $targetColumnName = $targetColumnName ?? $targetTable->getName() . '_id';
+
+ $mappingTable = $schema->createTable($mappingTableName);
+ $mappingTable->addColumn('id', Types::INTEGER)
+ ->setNotnull(true)
+ ->setAutoincrement(true);
+
+ $mappingTable->addUniqueIndex(['id'], $mappingTable->getName() . '_IdX');
+ $mappingTable->setPrimaryKey(['id'], $mappingTable->getName() . '_Id');
+
+ $sourceColumn = $mappingTable->addColumn($sourceColumnName, Types::INTEGER)
+ ->setNotnull(true);
+
+ $targetColumn = $mappingTable->addColumn($targetColumnName, Types::INTEGER)
+ ->setNotnull(true);
+
+ $mappingTable->addForeignKeyConstraint(
+ foreignTable: $sourceTable,
+ foreignColumnNames: $sourceTable->getPrimaryKey()->getColumns(),
+ localColumnNames: [$sourceColumnName],
+ name: 'RFX_' . $sourceColumn->getName() . '_' . $mappingTableName.'_'. uniqid(),
+ );
+
+ $mappingTable->addForeignKeyConstraint(
+ foreignTable: $targetTable,
+ foreignColumnNames: $targetTable->getPrimaryKey()->getColumns(),
+ localColumnNames: [$targetColumnName],
+ name: 'RFX_' . $targetColumn->getName() . '_' . $mappingTableName.'_'.uniqid(),
+ );
+
+ return $mappingTable;
+ }
+}
\ No newline at end of file
diff --git a/src/Migrations/Util/Tables.php b/src/Migrations/Util/Tables.php
new file mode 100644
index 00000000..f6556e2d
--- /dev/null
+++ b/src/Migrations/Util/Tables.php
@@ -0,0 +1,18 @@
+addSql('ALTER TABLE fos_user RENAME TO user');
+ }
+
+ public function down(Schema $schema): void
+ {
+ $this->addSql('ALTER TABLE user RENAME TO fos_user');
+ }
+}
diff --git a/src/Migrations/Version20230508085407.php b/src/Migrations/Version20230508085407.php
new file mode 100644
index 00000000..48fde06b
--- /dev/null
+++ b/src/Migrations/Version20230508085407.php
@@ -0,0 +1,41 @@
+getTable('team');
+ $team->getColumn('`name`')
+ ->setType(Type::getType(Types::STRING))
+ ->setLength(255);
+ $team->addColumn('display_name', Types::TEXT);
+
+ $team->addUniqueIndex(['name'], 'UNQ_team_name');
+ }
+
+ public function down(Schema $schema): void
+ {
+ $team = $schema->getTable('team');
+ echo json_encode($team->getUniqueConstraints());
+ $team->dropIndex('UNQ_team_name');
+ $team->getColumn('`name`')
+ ->setType(Type::getType(Types::TEXT));
+ }
+}
diff --git a/src/Migrations/Version20230508094645.php b/src/Migrations/Version20230508094645.php
new file mode 100644
index 00000000..08e62520
--- /dev/null
+++ b/src/Migrations/Version20230508094645.php
@@ -0,0 +1,33 @@
+addSql('CREATE TABLE settings (id INT AUTO_INCREMENT NOT NULL, use_keycloak_groups TINYINT(1) DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
+ $this->addSql('ALTER TABLE team CHANGE display_name keycloak_group LONGTEXT DEFAULT NULL');
+ }
+
+ public function down(Schema $schema): void
+ {
+ // this down() migration is auto-generated, please modify it to your needs
+ $this->addSql('DROP TABLE settings');
+ $this->addSql('ALTER TABLE team CHANGE keycloak_group display_name LONGTEXT DEFAULT NULL');
+ }
+}
diff --git a/src/Migrations/Version20230508112840.php b/src/Migrations/Version20230508112840.php
new file mode 100644
index 00000000..15b0d786
--- /dev/null
+++ b/src/Migrations/Version20230508112840.php
@@ -0,0 +1,49 @@
+getTable('user');
+ $team = $schema->getTable('team');
+
+ RelationConverter::createManyToManyMappingTable(
+ $schema,
+ $user,
+ $team,
+ 'user_team',
+ );
+
+ RelationConverter::createManyToManyMappingTable(
+ $schema,
+ $user,
+ $team,
+ 'team_admin',
+ );
+
+ $user->removeForeignKey('FK_957A6479296CD8AE');
+ $user->removeForeignKey('FK_957A64796352511C');
+ }
+
+ public function down(Schema $schema): void
+ {
+ // this down() migration is auto-generated, please modify it to your needs
+
+ }
+}
diff --git a/src/Migrations/Version20230508120952.php b/src/Migrations/Version20230508120952.php
new file mode 100644
index 00000000..48dd489a
--- /dev/null
+++ b/src/Migrations/Version20230508120952.php
@@ -0,0 +1,51 @@
+getTable('user');
+
+ RelationConverter::convert(
+ $this->connection,
+ $user,
+ $user->getColumn('id'),
+ $user->getColumn('team_id'),
+ 'user_team',
+ 'user_id',
+ 'team_id',
+ );
+
+ RelationConverter::convert(
+ $this->connection,
+ $user,
+ $user->getColumn('id'),
+ $user->getColumn('admin_user_id'),
+ 'team_admin',
+ 'user_id',
+ 'team_id',
+ );
+ }
+
+ public function down(Schema $schema): void
+ {
+ // this down() migration is auto-generated, please modify it to your needs
+
+ }
+}
diff --git a/src/Migrations/Version20230508140755.php b/src/Migrations/Version20230508140755.php
new file mode 100644
index 00000000..9532ce50
--- /dev/null
+++ b/src/Migrations/Version20230508140755.php
@@ -0,0 +1,38 @@
+getTable('user')
+ ->dropColumn('team_id')
+ ->dropColumn('admin_user_id');
+ }
+
+ public function down(Schema $schema): void
+ {
+ $schema->getTable('user')
+ ->addColumn('team_id', Types::INTEGER)
+ ->setNotnull(false);
+
+ $schema->getTable('user')
+ ->addColumn('admin_user_id', Types::INTEGER)
+ ->setNotnull(false);
+ }
+}
diff --git a/src/Migrations/Version20230515081952.php b/src/Migrations/Version20230515081952.php
new file mode 100644
index 00000000..a9a1f868
--- /dev/null
+++ b/src/Migrations/Version20230515081952.php
@@ -0,0 +1,51 @@
+addColumn(self::FIELD_LABEL, Types::STRING)
+ ->setLength(255)
+ ->setNotnull(true);
+
+ $table->addColumn(self::FIELD_HINT, Types::STRING)
+ ->setLength(255)
+ ->setNotnull(false);
+
+ $table->addColumn(self::FIELD_EVAL_VALUE, Types::FLOAT)
+ ->setNotnull(true)
+ ->setDefault(1);
+
+ $table->addColumn(self::FIELD_TYPE, Types::STRING)
+ ->setLength(255)
+ ->setNotnull(true);
+ }
+
+ public function down(Schema $schema): void
+ {
+ // this down() migration is auto-generated, please modify it to your needs
+ $schema->dropTable(Tables::$QUESTION);
+ }
+}
diff --git a/src/Migrations/Version20230515103631.php b/src/Migrations/Version20230515103631.php
new file mode 100644
index 00000000..0170aa51
--- /dev/null
+++ b/src/Migrations/Version20230515103631.php
@@ -0,0 +1,49 @@
+addColumn(self::FIELD_LABEL, Types::STRING)
+ ->setLength(255)
+ ->setNotnull(true);
+
+ $table->addColumn(self::FIELD_IS_CORRECT, Types::BOOLEAN)
+ ->setNotnull(true);
+
+ RelationColumn::addRelation(
+ table: $table,
+ targetTable: $schema->getTable(Tables::$QUESTION)
+ );
+ }
+
+ public function down(Schema $schema): void
+ {
+ foreach($schema->getTable(Tables::$QUESTIONNAIRE_QUESTION)->getIndexes() as $index) {
+ $schema->getTable(Tables::$QUESTIONNAIRE_QUESTION)->dropIndex($index->getName());
+ }
+
+ $schema->dropTable(Tables::$ANSWER);
+ }
+}
diff --git a/src/Migrations/Version20230515105533.php b/src/Migrations/Version20230515105533.php
new file mode 100644
index 00000000..dea3c1ec
--- /dev/null
+++ b/src/Migrations/Version20230515105533.php
@@ -0,0 +1,55 @@
+addColumn(self::FIELD_LABEL, Types::STRING)
+ ->setLength(255)
+ ->setNotnull(true);
+
+ $table->addColumn(self::FIELD_DESCRIPTION, Types::STRING)
+ ->setLength(255)
+ ->setNotnull(false);
+
+ $table->addColumn(self::FIELD_PERCENTAGE_TO_PASS, Types::FLOAT)
+ ->setnotnull(true);
+
+ RelationColumn::addRelation(
+ table: $table,
+ targetTable: $schema->getTable(Tables::$TEAM),
+ nullable: false,
+ );
+ }
+
+ public function down(Schema $schema): void
+ {
+ foreach($schema->getTable(Tables::$QUESTIONNAIRE)->getIndexes() as $index){
+ $schema->getTable(Tables::$QUESTIONNAIRE)->dropIndex($index->getName());
+ }
+
+ $schema->dropTable(Tables::$QUESTIONNAIRE);
+ }
+}
diff --git a/src/Migrations/Version20230515112211.php b/src/Migrations/Version20230515112211.php
new file mode 100644
index 00000000..4d726426
--- /dev/null
+++ b/src/Migrations/Version20230515112211.php
@@ -0,0 +1,47 @@
+addColumn(self::FIELD_STEP, Types::INTEGER)
+ ->setNotnull(true);
+
+ foreach ([Tables::$QUESTION, Tables::$QUESTIONNAIRE] as $targetTableName) {
+ RelationColumn::addRelation(
+ table: $table,
+ targetTable: $schema->getTable($targetTableName),
+ nullable: false,
+ );
+ }
+ }
+
+ public function down(Schema $schema): void
+ {
+ foreach($schema->getTable(Tables::$QUESTIONNAIRE_QUESTION)->getIndexes() as $index) {
+ $schema->getTable(Tables::$QUESTIONNAIRE_QUESTION)->dropIndex($index->getName());
+ }
+
+ $schema->dropTable(Tables::$QUESTIONNAIRE_QUESTION);
+ }
+}
diff --git a/src/Migrations/Version20230515123533.php b/src/Migrations/Version20230515123533.php
new file mode 100644
index 00000000..fd14d3b7
--- /dev/null
+++ b/src/Migrations/Version20230515123533.php
@@ -0,0 +1,61 @@
+addColumn(self::FIELD_PASSED, Types::BOOLEAN)
+ ->setNotnull(false);
+
+ $table->addColumn(self::FIELD_STATE, Types::STRING)
+ ->setNotnull(true)
+ ->setDefault('assigned');
+
+ $table->addColumn(self::FIELD_COMPLETED_AT, Types::DATETIME_IMMUTABLE)
+ ->setNotnull(false)
+ ->setDefault(null);
+
+ RelationColumn::addRelation(
+ table: $table,
+ targetTable: $schema->getTable(Tables::$ACADEMY_BILLING),
+ nullable: false,
+ );
+
+ RelationColumn::addRelation(
+ table: $table,
+ targetTable: $schema->getTable(Tables::$QUESTIONNAIRE),
+ nullable: false,
+ );
+ }
+
+ public function down(Schema $schema): void
+ {
+ foreach($schema->getTable(Tables::$PARTICIPATION)->getIndexes() as $index) {
+ $schema->getTable(Tables::$PARTICIPATION)->dropIndex($index->getName());
+ }
+
+ $schema->dropTable(Tables::$PARTICIPATION);
+ }
+}
diff --git a/src/Migrations/Version20230515132941.php b/src/Migrations/Version20230515132941.php
new file mode 100644
index 00000000..de48f2cd
--- /dev/null
+++ b/src/Migrations/Version20230515132941.php
@@ -0,0 +1,46 @@
+getTable($targetTableName),
+ );
+ }
+ }
+
+ public function down(Schema $schema): void
+ {
+ foreach($schema->getTable(Tables::$PARTICIPATION_ANSWER)->getIndexes() as $index) {
+ $schema->getTable(Tables::$PARTICIPATION_ANSWER)->dropIndex($index->getName());
+ }
+
+ $schema->dropTable(Tables::$PARTICIPATION_ANSWER);
+ }
+}
diff --git a/src/Migrations/Version20230517065940.php b/src/Migrations/Version20230517065940.php
new file mode 100644
index 00000000..fac7acdb
--- /dev/null
+++ b/src/Migrations/Version20230517065940.php
@@ -0,0 +1,31 @@
+getTable(Tables::$AKADEMIE_KURS),
+ targetTable: $schema->getTable(Tables::$QUESTIONNAIRE),
+ );
+ }
+
+ public function down(Schema $schema): void
+ {
+
+ }
+}
diff --git a/src/Migrations/Version20230518145342.php b/src/Migrations/Version20230518145342.php
new file mode 100644
index 00000000..7975f177
--- /dev/null
+++ b/src/Migrations/Version20230518145342.php
@@ -0,0 +1,34 @@
+getTable('user');
+ $table->addColumn('roles', Types::JSON)
+ ->setNotnull(false)
+ ->setDefault(null);
+ }
+
+ public function down(Schema $schema): void
+ {
+ $table = $schema->getTable('user');
+ $table->dropColumn('roles');
+ }
+}
diff --git a/src/Repository/AkademieBuchungenRepository.php b/src/Repository/AkademieBuchungenRepository.php
index bf3a0e2f..08eb0a4a 100644
--- a/src/Repository/AkademieBuchungenRepository.php
+++ b/src/Repository/AkademieBuchungenRepository.php
@@ -20,36 +20,8 @@ public function __construct(ManagerRegistry $registry)
parent::__construct($registry, AkademieBuchungen::class);
}
- // /**
- // * @return AkademieBuchungen[] Returns an array of AkademieBuchungen objects
- // */
- /*
- public function findByExampleField($value)
- {
- return $this->createQueryBuilder('a')
- ->andWhere('a.exampleField = :val')
- ->setParameter('val', $value)
- ->orderBy('a.id', 'ASC')
- ->setMaxResults(10)
- ->getQuery()
- ->getResult()
- ;
- }
- */
-
- /*
- public function findOneBySomeField($value): ?AkademieBuchungen
- {
- return $this->createQueryBuilder('a')
- ->andWhere('a.exampleField = :val')
- ->setParameter('val', $value)
- ->getQuery()
- ->getOneOrNullResult()
- ;
- }
- */
-
- public function findMyBuchungenByUser($value)
+ /** @return AkademieBuchungen[] */
+ public function findMyBuchungenByUser($value): array
{
return $this->createQueryBuilder('a')
->andWhere('a.user = :user')
@@ -58,7 +30,7 @@ public function findMyBuchungenByUser($value)
->getResult();
}
- public function findActivBuchungenByUser(User $user)
+ public function findActiveByUser(User $user)
{
return $this->createQueryBuilder('a')
->andWhere('a.user = :user')
diff --git a/src/Repository/AnswerRepository.php b/src/Repository/AnswerRepository.php
new file mode 100644
index 00000000..dd26641b
--- /dev/null
+++ b/src/Repository/AnswerRepository.php
@@ -0,0 +1,22 @@
+createQueryBuilder('a')
- ->andWhere('a.exampleField = :val')
- ->setParameter('val', $value)
- ->orderBy('a.id', 'ASC')
- ->setMaxResults(10)
- ->getQuery()
- ->getResult()
- ;
- }
- */
-
- /*
- public function findOneBySomeField($value): ?AuditTom
- {
- return $this->createQueryBuilder('a')
- ->andWhere('a.exampleField = :val')
- ->setParameter('val', $value)
- ->getQuery()
- ->getOneOrNullResult()
- ;
- }
- */
-
public function findAllByTeam($value)
{
return $this->createQueryBuilder('a')
@@ -83,4 +54,29 @@ public function findOpenByTeam(Team $team)
->getResult()
;
}
+
+ public function findCriticalByTeam(Team $team)
+ {
+ return $this->createQueryBuilder('audit')
+ ->andWhere('audit.team = :team')
+ ->andWhere('audit.activ = 1')
+ ->andWhere('audit.status = 5 OR audit.status = 6')
+ ->orderBy('audit.createdAt', 'DESC')
+ ->setParameter('team', $team)
+ ->getQuery()
+ ->getResult();
+ }
+
+ public function findActiveByTeamAndUser($team, $user)
+ {
+ return $this->createQueryBuilder('a')
+ ->andWhere('a.team = :team')
+ ->andWhere('a.assignedUser = :user')
+ ->andWhere('a.activ = 1')
+ ->setParameter('team', $team)
+ ->setParameter('user', $user)
+ ->orderBy('a.createdAt', 'DESC')
+ ->getQuery()
+ ->getResult();
+ }
}
diff --git a/src/Repository/AuditTomZieleRepository.php b/src/Repository/AuditTomZieleRepository.php
index 8bc38a96..c1088894 100644
--- a/src/Repository/AuditTomZieleRepository.php
+++ b/src/Repository/AuditTomZieleRepository.php
@@ -57,7 +57,7 @@ public function findByTeam($value)
->getResult();
}
- public function findActivByTeam($value)
+ public function findActiveByTeam($value)
{
return $this->createQueryBuilder('a')
->andWhere('a.team = :val')
diff --git a/src/Repository/ClientRequestRepository.php b/src/Repository/ClientRequestRepository.php
index dac38a3e..acaa09aa 100644
--- a/src/Repository/ClientRequestRepository.php
+++ b/src/Repository/ClientRequestRepository.php
@@ -48,7 +48,7 @@ public function findOneBySomeField($value): ?ClientRequest
}
*/
- public function findActivByTeam($value)
+ public function findActiveByTeam($value)
{
return $this->createQueryBuilder('a')
->andWhere('a.team = :val')
diff --git a/src/Repository/DatenweitergabeGrundlagenRepository.php b/src/Repository/DatenweitergabeGrundlagenRepository.php
index 0839349e..8ee927f1 100644
--- a/src/Repository/DatenweitergabeGrundlagenRepository.php
+++ b/src/Repository/DatenweitergabeGrundlagenRepository.php
@@ -48,7 +48,7 @@ public function findOneBySomeField($value): ?DatenweitergabeGrundlagen
}
*/
- public function findActivByTeam($value)
+ public function findActiveByTeam($value)
{
return $this->createQueryBuilder('a')
->where('a.team is null OR a.team = :val')
diff --git a/src/Repository/DatenweitergabeRepository.php b/src/Repository/DatenweitergabeRepository.php
index ff7aadc9..636ea589 100644
--- a/src/Repository/DatenweitergabeRepository.php
+++ b/src/Repository/DatenweitergabeRepository.php
@@ -19,43 +19,61 @@ public function __construct(ManagerRegistry $registry)
parent::__construct($registry, Datenweitergabe::class);
}
- // /**
- // * @return Datenweitergabe[] Returns an array of Datenweitergabe objects
- // */
- /*
- public function findByExampleField($value)
+ public function findActiveByTeam($value)
{
- return $this->createQueryBuilder('d')
- ->andWhere('d.exampleField = :val')
+ return $this->createQueryBuilder('a')
+ ->andWhere('a.team = :val')
+ ->andWhere('a.activ = 1')
->setParameter('val', $value)
- ->orderBy('d.id', 'ASC')
- ->setMaxResults(10)
->getQuery()
->getResult()
- ;
+ ;
}
- */
- /*
- public function findOneBySomeField($value): ?Datenweitergabe
+ /**
+ * @param $value
+ * @return int|mixed|string
+ * find transfers of type Datenweitergabe
+ */
+ public function findActiveTransfersByTeam($value)
{
- return $this->createQueryBuilder('d')
- ->andWhere('d.exampleField = :val')
+ return $this->createQueryBuilder('a')
+ ->andWhere('a.team = :val')
+ ->andWhere('a.activ = 1')
+ ->andWhere('a.art = 1')
->setParameter('val', $value)
->getQuery()
- ->getOneOrNullResult()
- ;
+ ->getResult()
+ ;
}
- */
- public function findActivByTeam($value)
+ /**
+ * @param $value
+ * @return int|mixed|string
+ * find transfers of type Auftragsverarbeitung
+ */
+ public function findActiveOrderProcessingsByTeam($value)
{
return $this->createQueryBuilder('a')
->andWhere('a.team = :val')
->andWhere('a.activ = 1')
+ ->andWhere('a.art = 2')
->setParameter('val', $value)
->getQuery()
->getResult()
;
}
+
+ public function findActiveByTeamAndUser($team, $user)
+ {
+ return $this->createQueryBuilder('a')
+ ->andWhere('a.team = :team')
+ ->andWhere('a.assignedUser = :user')
+ ->andWhere('a.activ = 1')
+ ->setParameter('team', $team)
+ ->setParameter('user', $user)
+ ->orderBy('a.createdAt', 'DESC')
+ ->getQuery()
+ ->getResult();
+ }
}
diff --git a/src/Repository/DatenweitergabeStandRepository.php b/src/Repository/DatenweitergabeStandRepository.php
index 12617f8d..cedbf47f 100644
--- a/src/Repository/DatenweitergabeStandRepository.php
+++ b/src/Repository/DatenweitergabeStandRepository.php
@@ -48,7 +48,7 @@ public function findOneBySomeField($value): ?DatenweitergabeStand
}
*/
- public function findActivByTeam($value)
+ public function findActiveByTeam($value)
{
return $this->createQueryBuilder('a')
->where('a.team is null OR a.team = :val')
diff --git a/src/Repository/FormsRepository.php b/src/Repository/FormsRepository.php
index a68818c1..cab12838 100644
--- a/src/Repository/FormsRepository.php
+++ b/src/Repository/FormsRepository.php
@@ -19,51 +19,36 @@ public function __construct(ManagerRegistry $registry)
parent::__construct($registry, Forms::class);
}
- // /**
- // * @return Forms[] Returns an array of Forms objects
- // */
- /*
- public function findByExampleField($value)
+ public function findActiveByTeam($value)
{
- return $this->createQueryBuilder('f')
- ->andWhere('f.exampleField = :val')
+ return $this->createQueryBuilder('a')
+ ->andWhere('a.team = :val')
+ ->andWhere('a.activ = 1')
->setParameter('val', $value)
- ->orderBy('f.id', 'ASC')
- ->setMaxResults(10)
->getQuery()
- ->getResult()
- ;
+ ->getResult();
}
- */
- /*
- public function findOneBySomeField($value): ?Forms
- {
- return $this->createQueryBuilder('f')
- ->andWhere('f.exampleField = :val')
- ->setParameter('val', $value)
- ->getQuery()
- ->getOneOrNullResult()
- ;
- }
- */
- public function findActivByTeam($value)
+ public function findPublicByTeam($value)
{
return $this->createQueryBuilder('a')
->andWhere('a.team = :val')
->andWhere('a.activ = 1')
+ ->andWhere('a.status != 4')
->setParameter('val', $value)
->getQuery()
->getResult();
}
- public function findPublicByTeam($value)
+ public function findActiveByTeamAndUser($team, $user)
{
return $this->createQueryBuilder('a')
- ->andWhere('a.team = :val')
+ ->andWhere('a.team = :team')
+ ->andWhere('a.assignedUser = :user')
->andWhere('a.activ = 1')
- ->andWhere('a.status != 4')
- ->setParameter('val', $value)
+ ->setParameter('team', $team)
+ ->setParameter('user', $user)
+ ->orderBy('a.createdAt', 'DESC')
->getQuery()
->getResult();
}
diff --git a/src/Repository/KontakteRepository.php b/src/Repository/KontakteRepository.php
index 45cfd01a..060a0cda 100644
--- a/src/Repository/KontakteRepository.php
+++ b/src/Repository/KontakteRepository.php
@@ -48,7 +48,7 @@ public function findOneBySomeField($value): ?Kontakte
}
*/
- public function findActivByTeam($value)
+ public function findActiveByTeam($value)
{
return $this->createQueryBuilder('a')
->andWhere('a.team = :val')
diff --git a/src/Repository/ParticipationAnswerRepository.php b/src/Repository/ParticipationAnswerRepository.php
new file mode 100644
index 00000000..deb5cd56
--- /dev/null
+++ b/src/Repository/ParticipationAnswerRepository.php
@@ -0,0 +1,66 @@
+
+ *
+ * @method ParticipationAnswer|null find($id, $lockMode = null, $lockVersion = null)
+ * @method ParticipationAnswer|null findOneBy(array $criteria, array $orderBy = null)
+ * @method ParticipationAnswer[] findAll()
+ * @method ParticipationAnswer[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
+ */
+class ParticipationAnswerRepository extends ServiceEntityRepository
+{
+ public function __construct(ManagerRegistry $registry)
+ {
+ parent::__construct($registry, ParticipationAnswer::class);
+ }
+
+ public function save(ParticipationAnswer $entity, bool $flush = false): void
+ {
+ $this->getEntityManager()->persist($entity);
+
+ if ($flush) {
+ $this->getEntityManager()->flush();
+ }
+ }
+
+ public function remove(ParticipationAnswer $entity, bool $flush = false): void
+ {
+ $this->getEntityManager()->remove($entity);
+
+ if ($flush) {
+ $this->getEntityManager()->flush();
+ }
+ }
+
+// /**
+// * @return ParticipationAnswer[] Returns an array of ParticipationAnswer objects
+// */
+// public function findByExampleField($value): array
+// {
+// return $this->createQueryBuilder('p')
+// ->andWhere('p.exampleField = :val')
+// ->setParameter('val', $value)
+// ->orderBy('p.id', 'ASC')
+// ->setMaxResults(10)
+// ->getQuery()
+// ->getResult()
+// ;
+// }
+
+// public function findOneBySomeField($value): ?ParticipationAnswer
+// {
+// return $this->createQueryBuilder('p')
+// ->andWhere('p.exampleField = :val')
+// ->setParameter('val', $value)
+// ->getQuery()
+// ->getOneOrNullResult()
+// ;
+// }
+}
diff --git a/src/Repository/ParticipationRepository.php b/src/Repository/ParticipationRepository.php
new file mode 100644
index 00000000..5baf9fba
--- /dev/null
+++ b/src/Repository/ParticipationRepository.php
@@ -0,0 +1,66 @@
+
+ *
+ * @method Participation|null find($id, $lockMode = null, $lockVersion = null)
+ * @method Participation|null findOneBy(array $criteria, array $orderBy = null)
+ * @method Participation[] findAll()
+ * @method Participation[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
+ */
+class ParticipationRepository extends ServiceEntityRepository
+{
+ public function __construct(ManagerRegistry $registry)
+ {
+ parent::__construct($registry, Participation::class);
+ }
+
+ public function save(Participation $entity, bool $flush = false): void
+ {
+ $this->getEntityManager()->persist($entity);
+
+ if ($flush) {
+ $this->getEntityManager()->flush();
+ }
+ }
+
+ public function remove(Participation $entity, bool $flush = false): void
+ {
+ $this->getEntityManager()->remove($entity);
+
+ if ($flush) {
+ $this->getEntityManager()->flush();
+ }
+ }
+
+// /**
+// * @return Participation[] Returns an array of Participation objects
+// */
+// public function findByExampleField($value): array
+// {
+// return $this->createQueryBuilder('p')
+// ->andWhere('p.exampleField = :val')
+// ->setParameter('val', $value)
+// ->orderBy('p.id', 'ASC')
+// ->setMaxResults(10)
+// ->getQuery()
+// ->getResult()
+// ;
+// }
+
+// public function findOneBySomeField($value): ?Participation
+// {
+// return $this->createQueryBuilder('p')
+// ->andWhere('p.exampleField = :val')
+// ->setParameter('val', $value)
+// ->getQuery()
+// ->getOneOrNullResult()
+// ;
+// }
+}
diff --git a/src/Repository/PoliciesRepository.php b/src/Repository/PoliciesRepository.php
index 14cbb079..ab88ce81 100644
--- a/src/Repository/PoliciesRepository.php
+++ b/src/Repository/PoliciesRepository.php
@@ -19,52 +19,36 @@ public function __construct(ManagerRegistry $registry)
parent::__construct($registry, Policies::class);
}
- // /**
- // * @return Policies[] Returns an array of Policies objects
- // */
- /*
- public function findByExampleField($value)
+ public function findActiveByTeam($value)
{
- return $this->createQueryBuilder('p')
- ->andWhere('p.exampleField = :val')
- ->setParameter('val', $value)
- ->orderBy('p.id', 'ASC')
- ->setMaxResults(10)
- ->getQuery()
- ->getResult()
- ;
- }
- */
-
- /*
- public function findOneBySomeField($value): ?Policies
- {
- return $this->createQueryBuilder('p')
- ->andWhere('p.exampleField = :val')
+ return $this->createQueryBuilder('a')
+ ->andWhere('a.team = :val')
+ ->andWhere('a.activ = 1')
->setParameter('val', $value)
->getQuery()
- ->getOneOrNullResult()
- ;
+ ->getResult();
}
- */
- public function findActivByTeam($value)
+ public function findPublicByTeam($value)
{
return $this->createQueryBuilder('a')
->andWhere('a.team = :val')
->andWhere('a.activ = 1')
+ ->andWhere('a.status != 4')
->setParameter('val', $value)
->getQuery()
->getResult();
}
- public function findPublicByTeam($value)
+ public function findActiveByTeamAndUser($team, $user)
{
return $this->createQueryBuilder('a')
- ->andWhere('a.team = :val')
+ ->andWhere('a.team = :team')
+ ->andWhere('a.assignedUser = :user')
->andWhere('a.activ = 1')
- ->andWhere('a.status != 4')
- ->setParameter('val', $value)
+ ->setParameter('team', $team)
+ ->setParameter('user', $user)
+ ->orderBy('a.createdAt', 'DESC')
->getQuery()
->getResult();
}
diff --git a/src/Repository/ProdukteRepository.php b/src/Repository/ProdukteRepository.php
index b224d448..274206a3 100644
--- a/src/Repository/ProdukteRepository.php
+++ b/src/Repository/ProdukteRepository.php
@@ -48,7 +48,7 @@ public function findOneBySomeField($value): ?Produkte
}
*/
- public function findActivByTeam($value)
+ public function findActiveByTeam($value)
{
return $this->createQueryBuilder('a')
->andWhere('a.team = :val')
diff --git a/src/Repository/QuestionRepository.php b/src/Repository/QuestionRepository.php
new file mode 100644
index 00000000..74290e01
--- /dev/null
+++ b/src/Repository/QuestionRepository.php
@@ -0,0 +1,22 @@
+
+ *
+ * @method QuestionnaireQuestion|null find($id, $lockMode = null, $lockVersion = null)
+ * @method QuestionnaireQuestion|null findOneBy(array $criteria, array $orderBy = null)
+ * @method QuestionnaireQuestion[] findAll()
+ * @method QuestionnaireQuestion[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
+ */
+class QuestionnaireQuestionRepository extends ServiceEntityRepository
+{
+ public function __construct(ManagerRegistry $registry)
+ {
+ parent::__construct($registry, QuestionnaireQuestion::class);
+ }
+
+ public function save(QuestionnaireQuestion $entity, bool $flush = false): void
+ {
+ $this->getEntityManager()->persist($entity);
+
+ if ($flush) {
+ $this->getEntityManager()->flush();
+ }
+ }
+
+ public function remove(QuestionnaireQuestion $entity, bool $flush = false): void
+ {
+ $this->getEntityManager()->remove($entity);
+
+ if ($flush) {
+ $this->getEntityManager()->flush();
+ }
+ }
+
+// /**
+// * @return QuestionnaireQuestion[] Returns an array of QuestionnaireQuestion objects
+// */
+// public function findByExampleField($value): array
+// {
+// return $this->createQueryBuilder('q')
+// ->andWhere('q.exampleField = :val')
+// ->setParameter('val', $value)
+// ->orderBy('q.id', 'ASC')
+// ->setMaxResults(10)
+// ->getQuery()
+// ->getResult()
+// ;
+// }
+
+// public function findOneBySomeField($value): ?QuestionnaireQuestion
+// {
+// return $this->createQueryBuilder('q')
+// ->andWhere('q.exampleField = :val')
+// ->setParameter('val', $value)
+// ->getQuery()
+// ->getOneOrNullResult()
+// ;
+// }
+}
diff --git a/src/Repository/QuestionnaireRepository.php b/src/Repository/QuestionnaireRepository.php
new file mode 100644
index 00000000..864b3ac3
--- /dev/null
+++ b/src/Repository/QuestionnaireRepository.php
@@ -0,0 +1,74 @@
+
+ *
+ * @method Questionnaire|null find($id, $lockMode = null, $lockVersion = null)
+ * @method Questionnaire|null findOneBy(array $criteria, array $orderBy = null)
+ * @method Questionnaire[] findAll()
+ * @method Questionnaire[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
+ */
+class QuestionnaireRepository extends ServiceEntityRepository
+{
+ public function __construct(ManagerRegistry $registry)
+ {
+ parent::__construct($registry, Questionnaire::class);
+ }
+
+ public function save(Questionnaire $entity, bool $flush = false): void
+ {
+ $this->getEntityManager()->persist($entity);
+
+ if ($flush) {
+ $this->getEntityManager()->flush();
+ }
+ }
+
+ public function remove(Questionnaire $entity, bool $flush = false): void
+ {
+ $this->getEntityManager()->remove($entity);
+
+ if ($flush) {
+ $this->getEntityManager()->flush();
+ }
+ }
+
+ public function findByTeam(Team $team): array {
+ return $this->createQueryBuilder('q')
+ ->where('q.team = :team')
+ ->setParameter('team', $team)
+ ->getQuery()
+ ->getResult();
+ }
+// /**
+// * @return Questionnaire[] Returns an array of Questionnaire objects
+// */
+// public function findByExampleField($value): array
+// {
+// return $this->createQueryBuilder('q')
+// ->andWhere('q.exampleField = :val')
+// ->setParameter('val', $value)
+// ->orderBy('q.id', 'ASC')
+// ->setMaxResults(10)
+// ->getQuery()
+// ->getResult()
+// ;
+// }
+
+// public function findOneBySomeField($value): ?Questionnaire
+// {
+// return $this->createQueryBuilder('q')
+// ->andWhere('q.exampleField = :val')
+// ->setParameter('val', $value)
+// ->getQuery()
+// ->getOneOrNullResult()
+// ;
+// }
+}
diff --git a/src/Repository/ReportRepository.php b/src/Repository/ReportRepository.php
index afd7c771..4d36d713 100644
--- a/src/Repository/ReportRepository.php
+++ b/src/Repository/ReportRepository.php
@@ -48,7 +48,7 @@ public function findOneBySomeField($value): ?Report
}
*/
- public function findActivByTeam($value)
+ public function findActiveByTeam($value)
{
return $this->createQueryBuilder('a')
->andWhere('a.team = :val AND a.activ = 1')
diff --git a/src/Repository/SettingsRepository.php b/src/Repository/SettingsRepository.php
new file mode 100644
index 00000000..7f1c99e3
--- /dev/null
+++ b/src/Repository/SettingsRepository.php
@@ -0,0 +1,23 @@
+findAll() ? $this->findAll()[0] : null;
+ }
+}
diff --git a/src/Repository/SoftwareRepository.php b/src/Repository/SoftwareRepository.php
index 8043ab41..1e77ac4a 100644
--- a/src/Repository/SoftwareRepository.php
+++ b/src/Repository/SoftwareRepository.php
@@ -19,41 +19,25 @@ public function __construct(ManagerRegistry $registry)
parent::__construct($registry, Software::class);
}
- // /**
- // * @return Software[] Returns an array of Software objects
- // */
- /*
- public function findByExampleField($value)
+ public function findActiveByTeam($value)
{
- return $this->createQueryBuilder('s')
- ->andWhere('s.exampleField = :val')
- ->setParameter('val', $value)
- ->orderBy('s.id', 'ASC')
- ->setMaxResults(10)
- ->getQuery()
- ->getResult()
- ;
- }
- */
-
- /*
- public function findOneBySomeField($value): ?Software
- {
- return $this->createQueryBuilder('s')
- ->andWhere('s.exampleField = :val')
+ return $this->createQueryBuilder('a')
+ ->andWhere('a.team = :val')
+ ->andWhere('a.activ = 1')
->setParameter('val', $value)
->getQuery()
- ->getOneOrNullResult()
- ;
+ ->getResult();
}
- */
- public function findActivByTeam($value)
+ public function findActiveByTeamAndUser($team, $user)
{
return $this->createQueryBuilder('a')
- ->andWhere('a.team = :val')
+ ->andWhere('a.team = :team')
+ ->andWhere('a.assignedUser = :user')
->andWhere('a.activ = 1')
- ->setParameter('val', $value)
+ ->setParameter('team', $team)
+ ->setParameter('user', $user)
+ ->orderBy('a.createdAt', 'DESC')
->getQuery()
->getResult();
}
diff --git a/src/Repository/TaskRepository.php b/src/Repository/TaskRepository.php
index 1893908c..9eb9e731 100644
--- a/src/Repository/TaskRepository.php
+++ b/src/Repository/TaskRepository.php
@@ -20,46 +20,42 @@ public function __construct(ManagerRegistry $registry)
parent::__construct($registry, Task::class);
}
- // /**
- // * @return Task[] Returns an array of Task objects
- // */
- /*
- public function findByExampleField($value)
+ public function findActiveByTeamAndUser($team, $user)
{
- return $this->createQueryBuilder('t')
- ->andWhere('t.exampleField = :val')
- ->setParameter('val', $value)
- ->orderBy('t.id', 'ASC')
- ->setMaxResults(10)
+ return $this->createQueryBuilder('a')
+ ->andWhere('a.team = :team')
+ ->andWhere('a.assignedUser = :user')
+ ->andWhere('a.activ = 1')
+ ->setParameter('team', $team)
+ ->setParameter('user', $user)
+ ->orderBy('a.createdAt', 'DESC')
->getQuery()
- ->getResult()
- ;
+ ->getResult();
}
- */
- /*
- public function findOneBySomeField($value): ?Task
+ public function findActiveByTeam($value)
{
- return $this->createQueryBuilder('t')
- ->andWhere('t.exampleField = :val')
+ return $this->createQueryBuilder('a')
+ ->andWhere('a.team = :val AND a.activ = 1')
->setParameter('val', $value)
+ ->orderBy('a.createdAt', 'DESC')
->getQuery()
- ->getOneOrNullResult()
- ;
+ ->getResult();
}
- */
- public function findActivByTeam($value)
+ public function findActiveAndOpenByTeam($team)
{
return $this->createQueryBuilder('a')
- ->andWhere('a.team = :val AND a.activ = 1')
- ->setParameter('val', $value)
+ ->andWhere('a.team = :team')
+ ->andWhere('a.activ = 1')
+ ->andWhere('a.done = false')
+ ->setParameter('team', $team)
->orderBy('a.createdAt', 'DESC')
->getQuery()
->getResult();
}
- public function findActivByUser(User $user)
+ public function findActiveByUser(User $user)
{
return $this->createQueryBuilder('a')
->andWhere('a.assignedUser = :user')
diff --git a/src/Repository/TomRepository.php b/src/Repository/TomRepository.php
index 7cb5ddbc..6b96bb51 100644
--- a/src/Repository/TomRepository.php
+++ b/src/Repository/TomRepository.php
@@ -48,7 +48,7 @@ public function findOneBySomeField($value): ?Tom
}
*/
- public function findActivByTeam($value)
+ public function findActiveByTeam($value)
{
return $this->createQueryBuilder('a')
->andWhere('a.team = :val AND a.activ = 1')
diff --git a/src/Repository/UserRepository.php b/src/Repository/UserRepository.php
new file mode 100644
index 00000000..6068cd0c
--- /dev/null
+++ b/src/Repository/UserRepository.php
@@ -0,0 +1,27 @@
+createQueryBuilder('a')
+ ->andWhere('a.team = :val')
+ ->setParameter('val', $value)
+ ->getQuery()
+ ->getResult()
+ ;
+ }
+}
diff --git a/src/Repository/VVTDsfaRepository.php b/src/Repository/VVTDsfaRepository.php
index ec74c561..05bad980 100644
--- a/src/Repository/VVTDsfaRepository.php
+++ b/src/Repository/VVTDsfaRepository.php
@@ -19,45 +19,44 @@ public function __construct(ManagerRegistry $registry)
parent::__construct($registry, VVTDsfa::class);
}
- // /**
- // * @return VVTDsfa[] Returns an array of VVTDsfa objects
- // */
- /*
- public function findByExampleField($value)
+ public function findActiveByTeam($value)
{
- return $this->createQueryBuilder('v')
- ->andWhere('v.exampleField = :val')
+ return $this->createQueryBuilder('a')
+ ->innerJoin('a.vvt', 'v')
+ ->andWhere('a.activ = 1')
+ ->andWhere('v.team = :val')
+ ->andWhere('v.activ = 1')
->setParameter('val', $value)
- ->orderBy('v.id', 'ASC')
- ->setMaxResults(10)
->getQuery()
->getResult()
- ;
+ ;
}
- */
- /*
- public function findOneBySomeField($value): ?VVTDsfa
- {
- return $this->createQueryBuilder('v')
- ->andWhere('v.exampleField = :val')
- ->setParameter('val', $value)
+ public function findActiveAndOpenByTeam($team) {
+ return $this->createQueryBuilder('dsfa')
+ ->innerJoin('dsfa.vvt', 'vvt')
+ ->andWhere('vvt.activ = 1')
+ ->andWhere('dsfa.activ = 1')
+ ->andWhere('dsfa.dsb IS NULL OR dsfa.ergebnis IS NULL')
+ ->andWhere('vvt.team = :team')
+ ->setParameter('team', $team)
->getQuery()
- ->getOneOrNullResult()
- ;
+ ->getResult();
}
- */
- public function findActivByTeam($value)
+ public function findActiveByTeamAndUser($team, $user)
{
- return $this->createQueryBuilder('a')
- ->innerJoin('a.vvt', 'v')
- ->andWhere('a.activ = 1')
- ->andWhere('v.team = :val')
- ->andWhere('v.activ = 1')
- ->setParameter('val', $value)
+ $query = $this->createQueryBuilder('dsfa')
+ ->innerJoin('dsfa.vvt', 'vvt')
+ ->andWhere('dsfa.assignedUser = :user')
+ ->andWhere('vvt.team = :team')
+ ->andWhere('vvt.activ = 1')
+ ->andWhere('dsfa.activ = 1')
+ ->setParameter('user', $user)
+ ->setParameter('team', $team)
->getQuery()
- ->getResult()
- ;
+ ->getResult();
+
+ return $query;
}
}
diff --git a/src/Repository/VVTRepository.php b/src/Repository/VVTRepository.php
index ea04f03f..8ec2b9a6 100644
--- a/src/Repository/VVTRepository.php
+++ b/src/Repository/VVTRepository.php
@@ -2,6 +2,7 @@
namespace App\Repository;
+use App\Entity\Team;
use App\Entity\VVT;
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
use Doctrine\Persistence\ManagerRegistry;
@@ -19,44 +20,38 @@ public function __construct(ManagerRegistry $registry)
parent::__construct($registry, VVT::class);
}
- // /**
- // * @return VVT[] Returns an array of VVT objects
- // */
- /*
- public function findByExampleField($value)
+ public function findActiveByTeam($value)
{
- return $this->createQueryBuilder('v')
- ->andWhere('v.exampleField = :val')
+ return $this->createQueryBuilder('a')
+ ->andWhere('a.team = :val')
+ ->andWhere('a.activ = 1')
->setParameter('val', $value)
- ->orderBy('v.id', 'ASC')
- ->setMaxResults(10)
+ ->orderBy('a.CreatedAt', 'DESC')
->getQuery()
->getResult()
- ;
+ ;
}
- */
- /*
- public function findOneBySomeField($value): ?VVT
- {
- return $this->createQueryBuilder('v')
- ->andWhere('v.exampleField = :val')
- ->setParameter('val', $value)
+ public function findCriticalByTeam(Team $team) {
+ return $this->createQueryBuilder('vvt')
+ ->andWhere('vvt.team = :team')
+ ->andWhere('vvt.activ = 1')
+ ->andWhere('vvt.status = 3')
+ ->orderBy('vvt.CreatedAt', 'DESC')
+ ->setParameter('team', $team)
->getQuery()
- ->getOneOrNullResult()
- ;
+ ->getResult();
}
- */
- public function findActivByTeam($value)
+ public function findActiveByTeamAndUser($team, $user)
{
return $this->createQueryBuilder('a')
- ->andWhere('a.team = :val')
+ ->andWhere('a.team = :team')
+ ->andWhere('a.assignedUser = :user')
->andWhere('a.activ = 1')
- ->setParameter('val', $value)
- ->orderBy('a.CreatedAt', 'DESC')
+ ->setParameter('team', $team)
+ ->setParameter('user', $user)
->getQuery()
- ->getResult()
- ;
+ ->getResult();
}
}
diff --git a/src/Repository/VVTStatusRepository.php b/src/Repository/VVTStatusRepository.php
index 9b748121..70af473c 100644
--- a/src/Repository/VVTStatusRepository.php
+++ b/src/Repository/VVTStatusRepository.php
@@ -48,7 +48,7 @@ public function findOneBySomeField($value): ?VVTStatus
}
*/
- public function findActivByTeam($value)
+ public function findActiveByTeam($value)
{
return $this->createQueryBuilder('a')
->where('a.team is null OR a.team = :val')
diff --git a/src/Security/GuardServiceKeycloak.php b/src/Security/GuardServiceKeycloak.php
deleted file mode 100644
index 8045b2f0..00000000
--- a/src/Security/GuardServiceKeycloak.php
+++ /dev/null
@@ -1,147 +0,0 @@
-clientRegistry = $clientRegistry;
- $this->em = $em;
- $this->router = $router;
- $this->tokenStorage = $tokenStorage;
- }
-
- public function supports(Request $request)
- {
- // continue ONLY if the current ROUTE matches the check ROUTE
- return $request->attributes->get('_route') === 'connect_keycloak_check';
- }
-
- public function getCredentials(Request $request)
- {
-
- return $this->fetchAccessToken($this->getauth0Client());
- }
-
- public function getUser($credentials, UserProviderInterface $userProvider)
- {
-
- /** @var KeycloakUser $keycloakUser */
- $keycloakUser = $this->getauth0Client()->fetchUserFromToken($credentials);
- $email = $keycloakUser->getEmail();
- $id = $keycloakUser->getId();
- $firstName = $keycloakUser->toArray()['given_name'];
- $lastName = $keycloakUser->toArray()['family_name'];
- // 1) have they logged in with keycloak befor then login the user
- $existingUser = $this->em->getRepository(User::class)->findOneBy(array('keycloakId' => $id));
- if ($existingUser) {
- $existingUser->setLastLogin(new \DateTime());
- $existingUser->setEmail($email);
- $existingUser->setFirstName($firstName);
- $existingUser->setLastName($lastName);
- $existingUser->setUsername($email);
- $this->em->persist($existingUser);
- $this->em->flush();
- return $existingUser;
- }
-
- // 1) it is an old USer from FOS USer time never loged in from keycloak
- $existingUser = null;
- $existingUser = $this->em->getRepository(User::class)->findOneBy(array('email' => $email));
- if ($existingUser) {
- $existingUser->setKeycloakId($id);
- $existingUser->setLastLogin(new \DateTime());
- $existingUser->setEmail($email);
- $existingUser->setFirstName($firstName);
- $existingUser->setLastName($lastName);
- $existingUser->setUsername($email);
- $this->em->persist($existingUser);
- $this->em->flush();
- return $existingUser;
- }
-
- // the user never logged in with this email adress or keycloak
- $newUser = new User();
- $newUser->setPassword('123')
- ->setFirstName($firstName)
- ->setLastName($lastName)
- ->setUuid($email)
- ->setEmail($email)
- ->setCreatedAt(new \DateTime())
- ->setLastLogin(new \DateTime())
- ->setKeycloakId($id)
- ->setUsername($email);
- $this->em->persist($newUser);
- $this->em->flush();
- return $newUser;
-
- }
-
- /**
- * @return KeycloakClient
- */
- private function getauth0Client()
- {
- return $this->clientRegistry
- ->getClient('keycloak_main');
- }
-
- public function onAuthenticationSuccess(Request $request, TokenInterface $token, $providerKey)
- {
-
- // change "app_homepage" to some route in your app
- $targetUrl = $this->getTargetPath($request->getSession(), 'main');
- if (!$targetUrl) {
- $targetUrl = $this->router->generate('dashboard');
- }
-
- return new RedirectResponse($targetUrl);
-
- }
-
- public function onAuthenticationFailure(Request $request, AuthenticationException $exception)
- {
- return new RedirectResponse($this->router->generate('no_team'));
- }
-
- /**
- * Called when authentication is needed, but it's not sent.
- * This redirects to the 'login'.
- */
- public function start(Request $request, AuthenticationException $authException = null)
- {
- $targetUrl = $this->router->generate('login_keycloak');
- return new RedirectResponse($targetUrl);
- }
-
-}
-
-
-
diff --git a/src/Security/KeycloakAuthenticator.php b/src/Security/KeycloakAuthenticator.php
new file mode 100644
index 00000000..a5840106
--- /dev/null
+++ b/src/Security/KeycloakAuthenticator.php
@@ -0,0 +1,191 @@
+attributes->get('_route') === 'connect_keycloak_check';
+ }
+
+ public function authenticate(Request $request): Passport
+ {
+ $client = $this->clientRegistry->getClient('keycloak_main');
+ $accessToken = $this->fetchAccessToken($client);
+ $request->getSession()->set('id_token', $accessToken->getValues()['id_token']);
+ $passport = new SelfValidatingPassport(
+ new UserBadge($accessToken->getToken(), function () use ($accessToken, $client,) {
+ $keycloakUser = $client->fetchUserFromToken(accessToken: $accessToken);
+ $user = $this->getUserForKeycloakUser(keycloakUser: $keycloakUser);
+ $this->persistUser(user: $user, keycloakUser: $keycloakUser);
+ return $user;
+ }
+ )
+ );
+ $passport->setAttribute('id_token', 'null');
+ $passport->setAttribute('scope', 'openid');
+
+ return $passport;
+ }
+
+ public function onAuthenticationSuccess(
+ Request $request,
+ TokenInterface $token,
+ string $firewallName,
+ ): ?Response
+ {
+ $targetUrl = $this->getTargetPath($request->getSession(), 'main');
+ if (!$targetUrl) {
+ $targetUrl = $this->router->generate('dashboard');
+ }
+ return new RedirectResponse($targetUrl);
+ }
+
+ public function onAuthenticationFailure(
+ Request $request,
+ AuthenticationException $exception,
+ ): ?Response
+ {
+ return new RedirectResponse($this->router->generate('no_team'));
+ }
+
+ /*
+ * Called when authentication is needed, but it's not sent.
+ * This redirects to the 'login'.
+ */
+ public function start(
+ Request $request,
+ AuthenticationException $authException = null,
+ ): RedirectResponse
+ {
+ $targetUrl = $this->router->generate('login_keycloak');
+ return new RedirectResponse($targetUrl);
+ }
+
+ private function getTeamsFromKeycloakGroups(ResourceOwnerInterface $keycloakUser): ArrayCollection
+ {
+ $userTeams = new ArrayCollection();
+ $settings = $this->em->getRepository(Settings::class)->findOne();
+
+ if (isset($keycloakUser->toArray()['groups']) && $settings && $settings->getUseKeycloakGroups()) {
+ $groups = $keycloakUser->toArray()['groups'];
+ $teams = $this->teamRepository->findAll();
+
+ foreach ($groups as $keycloakGroup) {
+ foreach ($teams as $team) {
+ if ($team->getKeycloakGroup() === $keycloakGroup) {
+ $userTeams->add($team);
+ }
+ }
+ }
+ }
+ return $userTeams;
+ }
+
+ private function getEmailForKeycloakUser(ResourceOwnerInterface $keycloakUser): string {
+ try {
+ return $keycloakUser->getEmail();
+ } catch (\Exception $e) {
+ try {
+ return $keycloakUser->toArray()['preferred_username'];
+ } catch (\Exception $e) {
+ }
+ }
+ }
+
+ private function getRolesForKeycloakUser(ResourceOwnerInterface $keycloakUser): array
+ {
+ $clientId = $this->parameterBag->get('KEYCLOAK_ID'); // name of keycloak client
+ $this->parameterBag->get('superAdminRole'); // name of super admin role in keycloak
+
+ $roles = [];
+
+ $clientData = $keycloakUser->toArray()['resource_access'][$clientId] ?? null;
+
+ if ($clientData && isset($clientData['roles'])) {
+ $superAdminRole = $this->parameterBag->get('superAdminRole');
+ if (in_array($superAdminRole, $clientData['roles'])) {
+ $roles [] = 'ROLE_ADMIN';
+ }
+ }
+
+ return $roles;
+ }
+
+ private function getUserForKeycloakUser(ResourceOwnerInterface $keycloakUser): User
+ {
+ $email = $this->getEmailForKeycloakUser(keycloakUser: $keycloakUser);
+ $id = $keycloakUser->getId();
+
+ // 1) the user has logged in with keycloak before
+ $user = $this->em->getRepository(User::class)->findOneBy(array('keycloakId' => $id));
+
+ // 2) it is an old user who has never logged in from keycloak
+ if (!$user) {
+ $user = $this->em->getRepository(User::class)->findOneBy(array('email' => $email));
+ }
+
+ // 3) the user has never logged in with this email address or keycloak
+ if (!$user) {
+ $user = new User();
+ $user->setCreatedAt(createdAt: new \DateTime());
+ }
+
+ return $user;
+ }
+
+ private function persistUser(User $user, ResourceOwnerInterface $keycloakUser): User
+ {
+ $email = $this->getEmailForKeycloakUser(keycloakUser: $keycloakUser);
+ $user->setLastLogin(new \DateTime());
+ $user->setEmail(email: $email);
+ $user->setUsername(username: $email);
+ $user->setKeycloakId(keycloakId: $keycloakUser->getId());
+ $user->setFirstName(firstName: $keycloakUser->toArray()['given_name'] ?? '');
+ $user->setLastName(lastName: $keycloakUser->toArray()['family_name'] ?? '');
+ $user->setTeams(teams: $this->getTeamsFromKeycloakGroups(keycloakUser: $keycloakUser));
+ $user->setRoles(roles: $this->getRolesForKeycloakUser(keycloakUser: $keycloakUser));
+ $this->em->persist($user);
+ $this->em->flush();
+ return $user;
+ }
+}
diff --git a/src/Security/UserProvider.php b/src/Security/UserProvider.php
deleted file mode 100644
index a8713c44..00000000
--- a/src/Security/UserProvider.php
+++ /dev/null
@@ -1,86 +0,0 @@
-entityManager = $entityManager;
- }
-
- /**
- * Loads the user for the given username.
- *
- * This method must throw UsernameNotFoundException if the user is not
- * found.
- *
- * @param string $username The username
- *
- * @return UserInterface
- *
- * @throws \Doctrine\ORM\NonUniqueResultException
- */
- public function loadUserByUsername($username)
- {
- return $this->entityManager->createQueryBuilder('u')
- ->where('u.email = :email')
- ->setParameter('email', $username)
- ->getQuery()
- ->getOneOrNullResult();
- }
-
- /**
- * Refreshes the user.
- *
- * It is up to the implementation to decide if the user data should be
- * totally reloaded (e.g. from the database), or if the UserInterface
- * object can just be merged into some internal array of users/identity
- * map.
- *
- * @param UserInterface $user
- * @return UserInterface
- *
- */
- public function refreshUser(UserInterface $user)
- {
- if (!$user instanceof User) {
- throw new UnsupportedUserException(
- sprintf('Instances of "%s" are not supported.', get_class($user))
- );
- }
- return $user;
- }
-
- /**
- * Whether this provider supports the given user class.
- *
- * @param string $class
- *
- * @return bool
- */
- public function supportsClass($class)
- {
- return $class === 'App\Security\User';
- }
-}
\ No newline at end of file
diff --git a/src/Service/AkademieService.php b/src/Service/AkademieService.php
index 52801ede..e406ea10 100644
--- a/src/Service/AkademieService.php
+++ b/src/Service/AkademieService.php
@@ -8,34 +8,38 @@
namespace App\Service;
-
+use App\DataTypes\ParticipationStateTypes;
use App\Entity\AkademieBuchungen;
use App\Entity\AkademieKurse;
+use App\Entity\Participation;
use App\Entity\Team;
use Doctrine\ORM\EntityManagerInterface;
-use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
use Twig\Environment;
-
class AkademieService
{
- private $em;
- private $mailer;
- private $twig;
- private $parameterbag;
- private $notificationService;
- public function __construct(Environment $engine, EntityManagerInterface $entityManager, MailerService $mailerService, ParameterBagInterface $parameterBag, NotificationService $notificationService)
+ private CurrentTeamService $currentTeamService;
+ private NotificationService $notificationService;
+ private Environment $twig;
+
+ public function __construct(
+ Environment $engine,
+ EntityManagerInterface $entityManager,
+ NotificationService $notificationService,
+ CurrentTeamService $currentTeamService)
{
$this->em = $entityManager;
- $this->mailer = $mailerService;
$this->twig = $engine;
- $this->parameterbag = $parameterBag;
$this->notificationService = $notificationService;
+ $this->currentTeamService = $currentTeamService;
}
- function addUser(AkademieKurse $kurs, $daten)
+ public function addUser(AkademieKurse $kurs, $daten): void
{
+ $participation = (new Participation())
+ ->setState(ParticipationStateTypes::$ASSIGNED)
+ ->setQuestionnaire($kurs->getQuestionnaire());
$buchung = new AkademieBuchungen();
$buchung->setKurs($kurs);
@@ -43,13 +47,17 @@ function addUser(AkademieKurse $kurs, $daten)
$buchung->setVorlage($daten['wiedervorlage']);
$buchung->setZugewiesen($daten['zugewiesen']);
$buchung->setInvitation(false);
+ $buchung->addParticipation($participation);
+
+ $this->em->persist($participation);
foreach ($daten['user'] as $user) {
$buchung->setUser($user);
$this->em->persist($buchung);
$this->em->flush();
if ($daten['invite'] === true) {
- $content = $this->twig->render('email/neuerKurs.html.twig', ['buchung' => $buchung, 'team' => $user->getTeam()]);
+ $team = $this->currentTeamService->getTeamFromSession($user);
+ $content = $this->twig->render('email/neuerKurs.html.twig', ['buchung' => $buchung, 'team' => $team]);
$buchung->setInvitation(true);
$this->notificationService->sendNotificationAkademie($buchung, $content);
}
@@ -59,7 +67,7 @@ function addUser(AkademieKurse $kurs, $daten)
}
- function removeKurs(Team $team, AkademieKurse $kurs)
+ public function removeKurs(Team $team, AkademieKurse $kurs): bool
{
$buchungen = $this->em->getRepository(AkademieBuchungen::class)->findBuchungenByTeam($team, $kurs);
diff --git a/src/Service/ApproveService.php b/src/Service/ApproveService.php
index 5092d163..17b30f30 100644
--- a/src/Service/ApproveService.php
+++ b/src/Service/ApproveService.php
@@ -8,22 +8,26 @@
namespace App\Service;
-
use App\Entity\User;
use Doctrine\ORM\EntityManagerInterface;
+use Exception;
use Symfony\Component\Form\FormFactoryInterface;
-
+use Symfony\Contracts\Translation\TranslatorInterface;
class ApproveService
{
private $em;
- public function __construct(EntityManagerInterface $entityManager, FormFactoryInterface $formBuilder)
+ public function __construct(
+ EntityManagerInterface $entityManager,
+ FormFactoryInterface $formBuilder,
+ private TranslatorInterface $translator,
+ )
{
$this->em = $entityManager;
}
- function approve($data, User $user)
+ public function approve($data, User $user): array
{
$status = array();
$status['data'] = $data->getId();
@@ -41,21 +45,21 @@ function approve($data, User $user)
$this->em->flush();
$status['status'] = true;
- $status['snack'] = 'Freigabe entfernt und neue Version angelegt';
+ $status['snack'] = $this->translator->trans(id: 'element.unpublished', domain: 'service');
$status['data'] = $newdata->getId();
$status['clone'] = true;
} else {
$data->setApproved(true);
$data->setApprovedBy($user);
$status['status'] = true;
- $status['snack'] = 'Element freigegeben';
+ $status['snack'] = $this->translator->trans(id: 'element.published', domain: 'service');
$this->em->persist($data);
$this->em->flush();
}
- } catch (\Exception $e) {
+ } catch (Exception $e) {
$status['status'] = false;
- $status['snack'] = 'FEHLER: Element konnte nicht freigegeben werden. Versuchen Sie es noch einmal.';
+ $status['snack'] = $this->translator->trans(id: 'element.error');
}
return $status;
diff --git a/src/Service/AssignService.php b/src/Service/AssignService.php
index 137ac00f..38302b50 100644
--- a/src/Service/AssignService.php
+++ b/src/Service/AssignService.php
@@ -8,7 +8,6 @@
namespace App\Service;
-
use App\Entity\AuditTom;
use App\Entity\Datenweitergabe;
use App\Entity\Forms;
@@ -23,29 +22,32 @@
use App\Form\Type\AssignType;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\EntityManagerInterface;
+use Exception;
use Symfony\Component\Form\FormFactoryInterface;
-use Symfony\Component\Routing\RouterInterface;
+use Symfony\Component\Form\FormInterface;
use Twig\Environment;
-
class AssignService
{
- private $em;
- private $formBuilder;
- private $router;
- private $notificationService;
- private $twig;
- public function __construct(EntityManagerInterface $entityManager, FormFactoryInterface $formBuilder, RouterInterface $router, NotificationService $notificationService, Environment $engine)
+ private FormFactoryInterface $formBuilder;
+ private NotificationService $notificationService;
+ private Environment $twig;
+
+ public function __construct(
+ EntityManagerInterface $entityManager,
+ FormFactoryInterface $formBuilder,
+ NotificationService $notificationService,
+ Environment $engine,
+ )
{
$this->em = $entityManager;
$this->formBuilder = $formBuilder;
- $this->router = $router;
$this->notificationService = $notificationService;
$this->twig = $engine;
}
- function assign($request, User $user)
+ public function assign($request, User $user): ArrayCollection|array
{
$assignDatenweitergabe = $user->getAssignedDatenweitergaben()->toarray();
$assignVvt = $user->getAssignedVvts()->toarray();
@@ -70,63 +72,25 @@ function assign($request, User $user)
$assign = new ArrayCollection(array_merge($assignAudit, $assignVvt, $assignDsfa, $assignDatenweitergabe));
return $assign;
-
- } catch (\Exception $exception) {
+ } catch (Exception $exception) {
return $assign;
}
}
- function createForm($data, Team $team)
- {
- if (count($team->getMembers()) > 0) {
- $teamMembers = $team->getMembers();
- if (!in_array($team->getDsbUser(), $teamMembers->toArray())) {
- if ($team->getDsbUser()) {
- $teamMembers->add($team->getDsbUser());
- }
- }
- } else {
- $teamMembers = array();
- }
- $form = $this->formBuilder->create(AssignType::class, $data, ['user' => $teamMembers]);
- return $form;
- }
-
- function assignVvt($request, VVT $vvt)
- {
- try {
-
- if ($vvt->getAssignedUser() == null) {
- $data = $request->get('assign');
- $user = $this->em->getRepository(User::class)->find($data['user']);
- if ($user && $vvt->getTeam() === $user->getTeam()) {
- $vvt->setAssignedUser($user);
- $content = $this->twig->render('email/assignementVvt.html.twig', ['assign' => $vvt->getName(), 'data' => $vvt, 'team' => $user->getTeam()]);
- $this->notificationService->sendNotificationAssign($content, $user);
- }
- } else {
- $vvt->setAssignedUser(null);
- }
- $this->em->persist($vvt);
- $this->em->flush();
-
-
- return true;
- } catch (\Exception $exception) {
- return false;
- }
- }
-
- function assignAudit($request, AuditTom $audit)
+ public function assignAudit($request, AuditTom $audit): bool
{
try {
if ($audit->getAssignedUser() == null) {
$data = $request->get('assign');
$user = $this->em->getRepository(User::class)->find($data['user']);
- if ($user && $audit->getTeam() === $user->getTeam()) {
+ if ($user && $user->hasTeam($audit->getTeam())) {
$audit->setAssignedUser($user);
- $content = $this->twig->render('email/assignementAudit.html.twig', ['assign' => $audit->getFrage(), 'data' => $audit, 'team' => $user->getTeam()]);
+ $content = $this->twig->render('email/assignementAudit.html.twig', [
+ 'assign' => $audit->getFrage(),
+ 'data' => $audit,
+ 'team' => $audit->getTeam(),
+ ]);
$this->notificationService->sendNotificationAssign($content, $user);
}
} else {
@@ -136,20 +100,24 @@ function assignAudit($request, AuditTom $audit)
$this->em->flush();
return true;
- } catch (\Exception $exception) {
+ } catch (Exception $exception) {
return false;
}
}
- function assignDatenweitergabe($request, Datenweitergabe $datenweitergabe)
+ public function assignDatenweitergabe($request, Datenweitergabe $datenweitergabe): bool
{
try {
if ($datenweitergabe->getAssignedUser() == null) {
$data = $request->get('assign');
$user = $this->em->getRepository(User::class)->find($data['user']);
- if ($user && $datenweitergabe->getTeam() === $user->getTeam()) {
+ if ($user && $user->hasTeam($datenweitergabe->getTeam())) {
$datenweitergabe->setAssignedUser($user);
- $content = $this->twig->render('email/assignementDatenweitergabe.html.twig', ['assign' => $datenweitergabe->getGegenstand(), 'data' => $datenweitergabe, 'team' => $user->getTeam()]);
+ $content = $this->twig->render('email/assignementDatenweitergabe.html.twig', [
+ 'assign' => $datenweitergabe->getGegenstand(),
+ 'data' => $datenweitergabe,
+ 'team' => $datenweitergabe->getTeam(),
+ ]);
$this->notificationService->sendNotificationAssign($content, $user);
}
} else {
@@ -159,45 +127,49 @@ function assignDatenweitergabe($request, Datenweitergabe $datenweitergabe)
$this->em->flush();
return true;
- } catch (\Exception $exception) {
+ } catch (Exception $exception) {
return false;
}
}
- function assignDsfa($request, VVTDsfa $dsfa)
+ public function assignDsfa($request, VVTDsfa $dsfa): bool
{
try {
-
- if ($dsfa->getAssignedUser() == null) {
- $data = $request->get('assign');
- $user = $this->em->getRepository(User::class)->find($data['user']);
- if ($user && $dsfa->getVvt()->getTeam() === $user->getTeam()) {
- $dsfa->setAssignedUser($user);
- $content = $this->twig->render('email/assignementDsfa.html.twig', ['assign' => $dsfa->getVvt()->getName(), 'data' => $dsfa, 'team' => $user->getTeam()]);
- $this->notificationService->sendNotificationAssign($content, $user);
- }
- } else {
- $dsfa->setAssignedUser(null);
+ $data = $request->get('assign');
+ $user = $this->em->getRepository(User::class)->find($data['user']);
+ $team = $dsfa->getVvt()->getTeam();
+ if ($user && $user->hasTeam($team)) {
+ $dsfa->setAssignedUser($user);
+ $user->addAssignedDsfa($dsfa);
+ $content = $this->twig->render('email/assignementDsfa.html.twig', [
+ 'assign' => $dsfa->getVvt()->getName(),
+ 'data' => $dsfa,
+ 'team' => $team,
+ ]);
+ $this->notificationService->sendNotificationAssign($content, $user);
}
$this->em->persist($dsfa);
+ $this->em->persist($dsfa);
$this->em->flush();
-
return true;
- } catch (\Exception $exception) {
+ } catch (Exception $exception) {
return false;
}
}
- function assignForm($request, Forms $forms)
+ public function assignForm($request, Forms $forms): bool
{
try {
-
if ($forms->getAssignedUser() == null) {
$data = $request->get('assign');
$user = $this->em->getRepository(User::class)->find($data['user']);
- if ($user && $forms->getTeam() === $user->getTeam()) {
+ if ($user && $user->hasTeam($forms->getTeam())) {
$forms->setAssignedUser($user);
- $content = $this->twig->render('email/assignementForm.html.twig', ['assign' => $forms->getTitle(), 'data' => $forms, 'team' => $user->getTeam()]);
+ $content = $this->twig->render('email/assignementForm.html.twig', [
+ 'assign' => $forms->getTitle(),
+ 'data' => $forms,
+ 'team' => $forms->getTeam(),
+ ]);
$this->notificationService->sendNotificationAssign($content, $user);
}
} else {
@@ -207,21 +179,25 @@ function assignForm($request, Forms $forms)
$this->em->flush();
return true;
- } catch (\Exception $exception) {
+ } catch (Exception $exception) {
return false;
}
}
- function assignPolicy($request, Policies $policies)
+ public function assignPolicy($request, Policies $policies): bool
{
try {
if ($policies->getAssignedUser() == null) {
$data = $request->get('assign');
$user = $this->em->getRepository(User::class)->find($data['user']);
- if ($user && $policies->getTeam() === $user->getTeam()) {
+ if ($user && $user->hasTeam($policies->getTeam())) {
$policies->setAssignedUser($user);
- $content = $this->twig->render('email/assignementPolicy.html.twig', ['assign' => $policies->getScope(), 'data' => $policies, 'team' => $user->getTeam()]);
+ $content = $this->twig->render('email/assignementPolicy.html.twig', [
+ 'assign' => $policies->getScope(),
+ 'data' => $policies,
+ 'team' => $policies->getTeam(),
+ ]);
$this->notificationService->sendNotificationAssign($content, $user);
}
} else {
@@ -231,21 +207,25 @@ function assignPolicy($request, Policies $policies)
$this->em->flush();
return true;
- } catch (\Exception $exception) {
+ } catch (Exception $exception) {
return false;
}
}
- function assignSoftware($request, Software $software)
+ public function assignSoftware($request, Software $software): bool
{
try {
if ($software->getAssignedUser() == null) {
$data = $request->get('assign');
$user = $this->em->getRepository(User::class)->find($data['user']);
- if ($user && $software->getTeam() === $user->getTeam()) {
+ if ($user && $user->hasTeam($software->getTeam())) {
$software->setAssignedUser($user);
- $content = $this->twig->render('email/assignementSoftware.html.twig', ['assign' => $software->getName(), 'data' => $software, 'team' => $user->getTeam()]);
+ $content = $this->twig->render('email/assignementSoftware.html.twig', [
+ 'assign' => $software->getName(),
+ 'data' => $software,
+ 'team' => $software->getTeam()
+ ]);
$this->notificationService->sendNotificationAssign($content, $user);
}
} else {
@@ -255,21 +235,55 @@ function assignSoftware($request, Software $software)
$this->em->flush();
return true;
- } catch (\Exception $exception) {
+ } catch (Exception $exception) {
return false;
}
}
- function assignVorfall($request, Vorfall $vorfall)
+ public function assignTask($request, Task $task): bool
+ {
+ try {
+ if ($task->getAssignedUser() == null) {
+ $data = $request->get('assign');
+ $user = $this->em->getRepository(User::class)->find($data['user']);
+ if ($user && $user->hasTeam($task->getTeam())) {
+ $task->setAssignedUser($user);
+ $content = $this->twig->render(
+ 'email/assignementTask.html.twig',
+ [
+ 'assign' => $task->getTitle(),
+ 'data' => $task,
+ 'team' => $task->getTeam(),
+ ],
+ );
+ $this->notificationService->sendNotificationAssign($content, $user);
+ }
+ } else {
+ $task->setAssignedUser(null);
+ }
+ $this->em->persist($task);
+ $this->em->flush();
+
+ return true;
+ } catch (Exception $exception) {
+ return false;
+ }
+ }
+
+ public function assignVorfall($request, Vorfall $vorfall): bool
{
try {
if ($vorfall->getAssignedUser() == null) {
$data = $request->get('assign');
$user = $this->em->getRepository(User::class)->find($data['user']);
- if ($user && $vorfall->getTeam() === $user->getTeam()) {
+ if ($user && $user->hasTeam($vorfall->getTeam())) {
$vorfall->setAssignedUser($user);
- $content = $this->twig->render('email/assignementVorfall.html.twig', ['assign' => $vorfall->getFakten(), 'data' => $vorfall, 'team' => $user->getTeam()]);
+ $content = $this->twig->render('email/assignementVorfall.html.twig', [
+ 'assign' => $vorfall->getFakten(),
+ 'data' => $vorfall,
+ 'team' => $vorfall->getTeam()
+ ]);
$this->notificationService->sendNotificationAssign($content, $user);
}
} else {
@@ -279,32 +293,51 @@ function assignVorfall($request, Vorfall $vorfall)
$this->em->flush();
return true;
- } catch (\Exception $exception) {
+ } catch (Exception $exception) {
return false;
}
}
- function assignTask($request, Task $task)
+ public function assignVvt($request, VVT $vvt): bool
{
try {
-
- if ($task->getAssignedUser() == null) {
+ if ($vvt->getAssignedUser() == null) {
$data = $request->get('assign');
$user = $this->em->getRepository(User::class)->find($data['user']);
- if ($user && $task->getTeam() === $user->getTeam()) {
- $task->setAssignedUser($user);
- $content = $this->twig->render('email/assignementTask.html.twig', ['assign' => $task->getTitle(), 'data' => $task, 'team' => $user->getTeam()]);
+ if ($user && $user->hasTeam($vvt->getTeam())) {
+ $vvt->setAssignedUser($user);
+ $content = $this->twig->render('email/assignementVvt.html.twig', [
+ 'assign' => $vvt->getName(),
+ 'data' => $vvt,
+ 'team' => $vvt->getTeam(),
+ ]);
$this->notificationService->sendNotificationAssign($content, $user);
}
} else {
- $task->setAssignedUser(null);
+ $vvt->setAssignedUser(null);
}
- $this->em->persist($task);
+ $this->em->persist($vvt);
$this->em->flush();
return true;
- } catch (\Exception $exception) {
+ } catch (Exception $exception) {
return false;
}
}
+
+ public function createForm($data, Team $team): FormInterface
+ {
+ if (count($team->getMembers()) > 0) {
+ $teamMembers = $team->getMembers();
+ if (!in_array($team->getDsbUser(), $teamMembers->toArray())) {
+ if ($team->getDsbUser()) {
+ $teamMembers->add($team->getDsbUser());
+ }
+ }
+ } else {
+ $teamMembers = array();
+ }
+ $form = $this->formBuilder->create(AssignType::class, $data, ['user' => $teamMembers]);
+ return $form;
+ }
}
diff --git a/src/Service/AssistantService.php b/src/Service/AssistantService.php
new file mode 100644
index 00000000..5cfd63ff
--- /dev/null
+++ b/src/Service/AssistantService.php
@@ -0,0 +1,205 @@
+locate('assistant.yaml', null, false)[0];
+ $values = Yaml::parse(file_get_contents($stepsFile));
+ if (array_key_exists('steps', $values)) {
+ $this->steps = $values['steps'];
+ }
+ }
+
+ public function saveToSession(int $step, string $id): void
+ {
+ $session = $this->requestStack->getSession();
+ $key = 'step_' . $step;
+ $session->set($key, $id);
+ }
+
+ public function getFromSession(int $step): ?string {
+ $session = $this->requestStack->getSession();
+ $key = 'step_' . $step;
+ return $session->get($key);
+ }
+
+ public function getPropertyForStep(int $step, string $key): int|string|bool|Kontakte|VVT|Software|null {
+ if (array_key_exists($step, $this->steps) && array_key_exists($key, $this->steps[$step])) {
+ $value = $this->steps[$step][$key];
+ return match($key) {
+ self::PROPERTY_CONTACT => $this->getContactFromStep($value),
+ self::PROPERTY_PROCEDURE => $this->getProcedureFromStep($value),
+ self::PROPERTY_SOFTWARE => $this->getSoftwareFromStep($value),
+ self::PROPERTY_TITLE, self::PROPERTY_INFO, self::PROPERTY_NEW
+ => $this->translator->trans(id: $value, domain: 'assistant'),
+ default => $value
+ };
+ }
+ return null;
+ }
+
+ private function getContactFromStep(int $step): ?Kontakte {
+ $contactId = $this->getFromSession($step);
+ return $contactId ? $this->contactRepository->find($contactId): null;
+ }
+
+ private function getProcedureFromStep(int $step): ?VVT {
+ $procedureId = $this->getFromSession($step);
+ return $procedureId ? $this->vvtRepository->find($procedureId): null;
+ }
+
+ private function getSoftwareFromStep(int $step): ?Software {
+ $softwareId = $this->getFromSession($step);
+ return $softwareId ? $this->softwareRepository->find($softwareId): null;
+ }
+
+ public function getStepCount(): int {
+ return count($this->steps);
+ }
+
+ public function setStep(int $step): void {
+ $session = $this->requestStack->getSession();
+ $session->set('step', $step);
+ }
+
+ public function getStep(): int {
+ $session = $this->requestStack->getSession();
+ $id = $session->get('step');
+ return $id ? : 0;
+ }
+
+ public function clear(): void {
+ $session = $this->requestStack->getSession();
+ $session->set('step', 0);
+
+ for ($i = 0; $i < count($this->steps); $i++) {
+ $session->remove('step_' . $i);
+ }
+ }
+
+ public function createElementForStep(int $step, User $user, Team $team): Software|Kontakte|VVT|Datenweitergabe|null
+ {
+ $item = null;
+
+ switch ($this->getPropertyForStep($step, self::PROPERTY_TYPE)) {
+ case SoftwareType::class:
+ $item = $this->softwareService->newSoftware($team, $user);
+ break;
+ case KontaktType::class:
+ $item = new Kontakte();
+ $item->setTeam($team);
+ $item->setActiv(1);
+ break;
+ case DatenweitergabeType::class:
+ if (array_key_exists(self::PROPERTY_TRANSFER_TYPE, $this->steps[$step])) {
+ $item = $this->dataTransferService->newDatenweitergabe($user, 2);
+ } else {
+ $item = $this->dataTransferService->newDatenweitergabe($user, 1);
+ }
+ $this->addDependenciesToDatenweitergabe($item, $step);
+ break;
+ case VVTType::class:
+ $item = $this->vvtService->newVvt($team, $user);
+ $this->addDependenciesToProcedure($item, $step);
+ }
+ return $item;
+ }
+
+ public function getSelectDataForStep(int $step, Team $team): array {
+ $select = [];
+ switch ($this->getPropertyForStep($step, self::PROPERTY_TYPE)) {
+ case KontaktType::class:
+ $select['selected'] = $this->getFromSession($step);
+ $select['label'] = $this->translator->trans(id: 'select.contact', domain: 'assistant');
+ $select['items'] = $this->contactRepository->findActiveByTeam($team);
+ $select['multiple'] = false;
+ break;
+ case SoftwareType::class:
+ $select['selected'] = $this->getFromSession($step);
+ $select['label'] = $this->translator->trans(id: 'select.software', domain: 'assistant');
+ $select['items'] = $this->softwareRepository->findActiveByTeam($team);
+ $select['multiple'] = true;
+ break;
+ case VVTType::class:
+ $select['selected'] = $this->getFromSession($step);
+ $select['label'] = $this->translator->trans(id: 'select.procedure', domain: 'assistant');
+ $select['items'] = $this->vvtRepository->findActiveByTeam($team);
+ $select['multiple'] = true;
+ break;
+ }
+ return $select;
+ }
+
+ public function createForm($type, $newItem, Team $team) {
+ return match ($type) {
+ DatenweitergabeType::class => $this->dataTransferService->createForm($newItem, $team),
+ VVTType::class => $this->vvtService->createForm($newItem, $team),
+ default => $this->formBuilder->create($type, $newItem)
+ };
+ }
+
+ private function addDependenciesToDatenweitergabe(Datenweitergabe $item, $step): void {
+ $contact = $this->getPropertyForStep(step: $step, key: self::PROPERTY_CONTACT);
+ $item->setKontakt($contact);
+ $software = $this->getPropertyForStep(step: $step, key: self::PROPERTY_SOFTWARE);
+ if ($software) {
+ $item->addSoftware($software);
+ }
+ $procedure = $this->getPropertyForStep(step: $step, key: self::PROPERTY_PROCEDURE);
+ $item->addVerfahren($procedure);
+ }
+
+ private function addDependenciesToProcedure(VVT $procedure, $step): void {
+ $software = $this->getPropertyForStep(step: $step, key: self::PROPERTY_SOFTWARE);
+ if ($software) {
+ $procedure->addSoftware($software);
+ }
+ }
+}
diff --git a/src/Service/ClientRequestService.php b/src/Service/ClientRequestService.php
index 2867d993..fe2fc153 100644
--- a/src/Service/ClientRequestService.php
+++ b/src/Service/ClientRequestService.php
@@ -8,48 +8,45 @@
namespace App\Service;
-
use App\Entity\ClientComment;
use App\Entity\ClientRequest;
use App\Form\Type\ClientRequestType;
+use DateTime;
use Doctrine\ORM\EntityManagerInterface;
+use Exception;
use Symfony\Component\Form\FormFactoryInterface;
-use Symfony\Component\Routing\RouterInterface;
+use Symfony\Component\Form\FormInterface;
+use Symfony\Contracts\Translation\TranslatorInterface;
use Twig\Environment;
-
class ClientRequestService
{
- private $em;
- private $formBuilder;
- private $router;
- private $notificationService;
- private $twig;
-
- public function __construct(EntityManagerInterface $entityManager, FormFactoryInterface $formBuilder, RouterInterface $router, NotificationService $notificationService, Environment $engine)
+ public function __construct(
+ private EntityManagerInterface $em,
+ private FormFactoryInterface $formBuilder,
+ private NotificationService $notificationService,
+ private Environment $twig,
+ private CurrentTeamService $currentTeamService,
+ private TranslatorInterface $translator,
+ )
{
- $this->em = $entityManager;
- $this->formBuilder = $formBuilder;
- $this->router = $router;
- $this->notificationService = $notificationService;
- $this->twig = $engine;
}
- function userValid(ClientRequest $clientRequest, $user)
+ public function closeRequest(ClientRequest $clientRequest, $user)
{
try {
if ($clientRequest) {
- if ($clientRequest->getValiduser()) {
- $clientRequest->setValidUser(false);
- $clientRequest->setUserValidBy(null);
- $comment = 'Die Nutzervalidierung wurde wieder entfernt.';
+ if ($clientRequest->getActiv()) {
+ $clientRequest->setActiv(false);
+ $comment = $this->translator->trans(id: 'request.closed', domain: 'client_request');
} else {
- $clientRequest->setValidUser(true);
- $clientRequest->setUserValidBy($user);
- $comment = 'Der Nutzer wurde als validiert markiert.';
+ $clientRequest->setActiv(true);
+ $clientRequest->setOpen(true);
+ $comment = $this->translator->trans(id: 'request.reopened', domain: 'client_request');
}
- $this->newComment($clientRequest, $comment, $user->getTeam()->getName() . ' > ' . $user->getUsername(), 1);
+ $team = $this->currentTeamService->getTeamFromSession($user);
+ $this->newComment($clientRequest, $comment, $team->getKeycloakGroup() . ' > ' . $user->getUsername(), 1);
$this->em->persist($clientRequest);
$this->em->flush();
@@ -57,12 +54,35 @@ function userValid(ClientRequest $clientRequest, $user)
return true;
}
} catch
- (\Exception $exception) {
+ (Exception $exception) {
return false;
}
}
- function newComment(ClientRequest $clientRequest, $comment, $user, $type)
+ public function interalRequest(ClientRequest $clientRequest): bool
+ {
+ try {
+ if ($clientRequest) {
+ if (!$clientRequest->getActiv()) {
+ if ($clientRequest->getOpen()) {
+ $clientRequest->setOpen(false);
+ } else {
+ $clientRequest->setOpen(true);
+ }
+ }
+
+ $this->em->persist($clientRequest);
+ $this->em->flush();
+
+ return true;
+ }
+ } catch
+ (Exception $exception) {
+ }
+ return false;
+ }
+
+ public function newComment(ClientRequest $clientRequest, $comment, $user, $type): bool
{
try {
@@ -72,100 +92,103 @@ function newComment(ClientRequest $clientRequest, $comment, $user, $type)
$clientComment->setComment($comment);
$clientComment->setClientRequest($clientRequest);
- $clientComment->setCreatedAt(new \DateTime());
+ $clientComment->setCreatedAt(new DateTime());
if ($type) {
if ($clientRequest->getPgp()) {
- $content = $this->twig->render('email/client/notificationCommentEncrypt.html.twig', ['data' => $clientRequest, 'comment' => $clientComment]);
- $this->notificationService->sendEncrypt($clientRequest->getPgp(), $content, $clientRequest->getEmail(), 'Neue Nachricht vorhanden');
+ $content = $this->twig->render(
+ 'email/client/notificationCommentEncrypt.html.twig',
+ [
+ 'data' => $clientRequest,
+ 'comment' => $clientComment,
+ ],
+ );
+ $this->notificationService->sendEncrypt(
+ $clientRequest->getPgp(),
+ $content,
+ $clientRequest->getEmail(),
+ $this->translator->trans(id: 'notification.new.message.available', domain: 'service'),
+ );
} else {
- $content = $this->twig->render('email/client/notificationComment.html.twig', ['data' => $clientRequest, 'title' => $clientRequest->getTitle(), 'team' => $clientRequest->getTeam()]);
+ $content = $this->twig->render(
+ 'email/client/notificationComment.html.twig',
+ [
+ 'data' => $clientRequest,
+ 'title' => $clientRequest->getTitle(),
+ 'team' => $clientRequest->getTeam(),
+ ],
+ );
$this->notificationService->sendNotificationRequest($content, $clientRequest->getEmail());
}
} else {
foreach ($clientRequest->getTeam()->getAdmins() as $admins) {
- $content = $this->twig->render('email/client/notificationCommentInternal.html.twig', ['data' => $clientRequest, 'title' => $clientRequest->getTitle(), 'team' => $clientRequest->getTeam()]);
+ $content = $this->twig->render(
+ 'email/client/notificationCommentInternal.html.twig',
+ [
+ 'data' => $clientRequest,
+ 'title' => $clientRequest->getTitle(),
+ 'team' => $clientRequest->getTeam(),
+ ],
+ );
$this->notificationService->sendNotificationRequest($content, $admins->getEmail());
}
}
-
$this->em->persist($clientComment);
$this->em->flush();
return true;
- } catch (\Exception $exception) {
+ } catch (Exception) {
return false;
}
}
- function closeRequest(ClientRequest $clientRequest, $user)
+ public function newRequest($team): bool|FormInterface
{
try {
- if ($clientRequest) {
- if ($clientRequest->getActiv()) {
- $clientRequest->setActiv(false);
- $comment = 'Diese Anfrage wurde geschlossen.';
- } else {
- $clientRequest->setActiv(true);
- $clientRequest->setOpen(true);
- $comment = 'Diese Anfrage wurde wieder geöffnet.';
- }
-
- $this->newComment($clientRequest, $comment, $user->getTeam()->getName() . ' > ' . $user->getUsername(), 1);
-
- $this->em->persist($clientRequest);
- $this->em->flush();
+ $clientRequest = new ClientRequest();
+ $clientRequest->setUuid(uniqid('', true));
+ $clientRequest->setOpen(true);
+ $clientRequest->setCreatedAt(new DateTime());
+ $clientRequest->setEmailValid(false);
+ $clientRequest->setToken(uniqid(bin2hex(random_bytes(150)), true));
+ $clientRequest->setTeam($team);
+ $clientRequest->setActiv(true);
+ $clientRequest->setValidUser(false);
- return true;
- }
+ $form = $this->formBuilder->create(ClientRequestType::class, $clientRequest);
+ return $form;
} catch
- (\Exception $exception) {
+ (Exception $exception) {
return false;
}
}
- function interalRequest(ClientRequest $clientRequest)
+ public function userValid(ClientRequest $clientRequest, $user)
{
try {
if ($clientRequest) {
- if (!$clientRequest->getActiv()) {
- if ($clientRequest->getOpen()) {
- $clientRequest->setOpen(false);
- } else {
- $clientRequest->setOpen(true);
- }
+ if ($clientRequest->getValiduser()) {
+ $clientRequest->setValidUser(false);
+ $clientRequest->setUserValidBy(null);
+ $comment = $this->translator->trans(id: 'user.comment.validation.removed', domain: 'client_request');
+ } else {
+ $clientRequest->setValidUser(true);
+ $clientRequest->setUserValidBy($user);
+ $comment = $this->translator->trans(id: 'user.comment.validation.success', domain: 'client_reqeust');
}
+ $team = $this->currentTeamService->getTeamFromSession($user);
+ $this->newComment($clientRequest, $comment, $team->getKeycloakGroup() . ' > ' . $user->getUsername(), 1);
+
$this->em->persist($clientRequest);
$this->em->flush();
return true;
}
} catch
- (\Exception $exception) {
- return false;
- }
- }
-
- function newRequest($team)
- {
- try {
- $clientRequest = new ClientRequest();
- $clientRequest->setUuid(uniqid('', true));
- $clientRequest->setOpen(true);
- $clientRequest->setCreatedAt(new \DateTime());
- $clientRequest->setEmailValid(false);
- $clientRequest->setToken(uniqid(bin2hex(random_bytes(150)), true));
- $clientRequest->setTeam($team);
- $clientRequest->setActiv(true);
- $clientRequest->setValidUser(false);
-
- $form = $this->formBuilder->create(ClientRequestType::class, $clientRequest);
- return $form;
- } catch
- (\Exception $exception) {
+ (Exception $exception) {
return false;
}
}
diff --git a/src/Service/ConnectDefaultToTeamsService.php b/src/Service/ConnectDefaultToTeamsService.php
index 73e96a95..08a430a0 100644
--- a/src/Service/ConnectDefaultToTeamsService.php
+++ b/src/Service/ConnectDefaultToTeamsService.php
@@ -22,23 +22,21 @@
class ConnectDefaultToTeamsService
{
- private $em;
- private $team;
private $output;
private $progress;
+ private $team;
- public function __construct(EntityManagerInterface $entityManager)
+ public function __construct(private EntityManagerInterface $em)
{
- $this->em = $entityManager;
}
- public function connectDefault(Team $team, Output $output = null)
+ public function connectDefault(Team $team, Output $output = null): void
{
$this->team = $team;
$this->output = $output;
- if ($output){
- $this->progress = new ProgressBar($this->output, 1);
- }else{
+ if ($output) {
+ $this->progress = new ProgressBar($this->output, 1);
+ } else {
$this->progress = null;
}
$this->personenGruppen();
@@ -52,60 +50,63 @@ public function connectDefault(Team $team, Output $output = null)
$this->finishProgress();
}
- private function personenGruppen()
+ private function advanceProgress(): void
{
- $tmp = array();
+ if ($this->progress) {
+ $this->progress->advance();
+ }
+ }
- $personenGruppen = $this->em->getRepository(VVTPersonen::class)->findBy(array('team' => null));
- $this->increaseProgress(sizeof($personenGruppen));
- foreach ($personenGruppen as $data) {
- $pG = clone $data;
- $pG->setTeam($this->team)->setActiv(true);
- $this->em->persist($pG);
- $tmp[$data->getId()] = $pG;
+ private function datenGruppen(): void
+ {
+ $tmp = array();
+ $datenkategorie = $this->em->getRepository(VVTDatenkategorie::class)->findBy(array('team' => null));
+ $this->increaseProgress(sizeof($datenkategorie));
+ foreach ($datenkategorie as $data) {
+ $dK = clone $data;
+ $dK->setTeam($this->team)->setActiv(true);
+ $this->em->persist($dK);
+ $tmp[$data->getId()] = $dK;
$data->setActiv(false);
$this->em->persist($data);
$this->advanceProgress();
-
}
$this->em->flush();
$risiken = $this->em->getRepository(Policies::class)->findBy(array('team' => $this->team));
$this->increaseProgress(sizeof($risiken));
+
foreach ($risiken as $data) {
- foreach ($data->getPeople() as $data2) {
+ foreach ($data->getCategories() as $data2) {
if (isset($tmp[$data2->getId()])) {
- $data->addPerson($tmp[$data2->getId()]);
- $data->removePerson($data2);
+ $data->addCategory($tmp[$data2->getId()]);
+ $data->removeCategory($data2);
$this->em->persist($data);
}
-
}
$this->advanceProgress();
}
$this->em->flush();
-
$vvt = $this->em->getRepository(VVT::class)->findBy(array('team' => $this->team));
$this->increaseProgress(sizeof($vvt));
foreach ($vvt as $data) {
- foreach ($data->getPersonengruppen() as $data2) {
+ foreach ($data->getKategorien() as $data2) {
if (isset($tmp[$data2->getId()])) {
- $data->addPersonengruppen($tmp[$data2->getId()]);
- $data->removePersonengruppen($data2);
+ $data->addKategorien($tmp[$data2->getId()]);
+ $data->removeKategorien($data2);
$this->em->persist($data);
}
}
$this->advanceProgress();
}
$this->em->flush();
-
$vorfall = $this->em->getRepository(Vorfall::class)->findBy(array('team' => $this->team));
$this->increaseProgress(sizeof($vorfall));
foreach ($vorfall as $data) {
- foreach ($data->getPersonen() as $data2) {
+ foreach ($data->getDaten() as $data2) {
if (isset($tmp[$data2->getId()])) {
- $data->addPersonen($tmp[$data2->getId()]);
- $data->removePersonen($data2);
+ $data->addDaten($tmp[$data2->getId()]);
+ $data->removeDaten($data2);
$this->em->persist($data);
}
}
@@ -115,29 +116,36 @@ private function personenGruppen()
}
+ private function finishProgress(): void
+ {
+ if ($this->progress) {
+ $this->progress->finish();
+ }
+ }
- private function risikoGruppen()
+ private function gesetzlicheGrundlagen(): void
{
$tmp = array();
- $risikoGruppen = $this->em->getRepository(VVTRisiken::class)->findBy(array('team' => null));
- $this->increaseProgress(sizeof($risikoGruppen));
- foreach ($risikoGruppen as $data) {
- $rG = clone $data;
- $rG->setTeam($this->team)->setActiv(true);
- $this->em->persist($rG);
- $tmp[$data->getId()] = $rG;
+ $grundlagen = $this->em->getRepository(VVTGrundlage::class)->findBy(array('team' => null));
+ $this->increaseProgress(sizeof($grundlagen));
+ foreach ($grundlagen as $data) {
+ $new = clone $data;
+ $new->setTeam($this->team)->setActiv(true);
+ $this->em->persist($new);
+ $tmp[$data->getId()] = $new;
$data->setActiv(false);
$this->em->persist($data);
$this->advanceProgress();
}
$this->em->flush();
+
$vvt = $this->em->getRepository(VVT::class)->findBy(array('team' => $this->team));
$this->increaseProgress(sizeof($vvt));
foreach ($vvt as $data) {
- foreach ($data->getRisiko() as $data2) {
+ foreach ($data->getGrundlage() as $data2) {
if (isset($tmp[$data2->getId()])) {
- $data->addRisiko($tmp[$data2->getId()]);
- $data->removeRisiko($data2);
+ $data->addGrundlage($tmp[$data2->getId()]);
+ $data->removeGrundlage($data2);
$this->em->persist($data);
}
}
@@ -147,56 +155,96 @@ private function risikoGruppen()
}
- private function datenGruppen()
+ private function grundlagenDatenweitergabe(): void
{
$tmp = array();
- $datenkategorie = $this->em->getRepository(VVTDatenkategorie::class)->findBy(array('team' => null));
- $this->increaseProgress(sizeof($datenkategorie));
- foreach ($datenkategorie as $data) {
- $dK = clone $data;
- $dK->setTeam($this->team)->setActiv(true);
- $this->em->persist($dK);
- $tmp[$data->getId()] = $dK;
+ $grundlagenDatenweitergabe = $this->em->getRepository(DatenweitergabeGrundlagen::class)->findBy(array('team' => null));
+ $this->increaseProgress(sizeof($grundlagenDatenweitergabe));
+ foreach ($grundlagenDatenweitergabe as $data) {
+ $new = clone $data;
+ $new->setTeam($this->team)->setActiv(true);
+ $this->em->persist($new);
+ $tmp[$data->getId()] = $new;
$data->setActiv(false);
$this->em->persist($data);
$this->advanceProgress();
}
$this->em->flush();
+ $datenweitergabe = $this->em->getRepository(Datenweitergabe::class)->findBy(array('team' => $this->team));
+ $this->increaseProgress(sizeof($datenweitergabe));
+ foreach ($datenweitergabe as $data) {
+ if (isset($tmp[$data->getGrundlage()->getId()])) {
+ $data->setGrundlage($tmp[$data->getGrundlage()->getId()]);
+ $this->em->persist($data);
+ }
+ $this->advanceProgress();
+ }
+ $this->em->flush();
+
+ }
+
+ private function increaseProgress($steps): void
+ {
+ if ($this->progress) {
+ $this->progress->setMaxSteps($this->progress->getMaxSteps() + $steps);
+ }
+ }
+
+ private function personenGruppen(): void
+ {
+ $tmp = array();
+
+ $personenGruppen = $this->em->getRepository(VVTPersonen::class)->findBy(array('team' => null));
+ $this->increaseProgress(sizeof($personenGruppen));
+ foreach ($personenGruppen as $data) {
+ $pG = clone $data;
+ $pG->setTeam($this->team)->setActiv(true);
+ $this->em->persist($pG);
+ $tmp[$data->getId()] = $pG;
+ $data->setActiv(false);
+ $this->em->persist($data);
+ $this->advanceProgress();
+
+ }
+ $this->em->flush();
+
$risiken = $this->em->getRepository(Policies::class)->findBy(array('team' => $this->team));
$this->increaseProgress(sizeof($risiken));
-
foreach ($risiken as $data) {
- foreach ($data->getCategories() as $data2) {
+ foreach ($data->getPeople() as $data2) {
if (isset($tmp[$data2->getId()])) {
- $data->addCategory($tmp[$data2->getId()]);
- $data->removeCategory($data2);
+ $data->addPerson($tmp[$data2->getId()]);
+ $data->removePerson($data2);
$this->em->persist($data);
}
+
}
$this->advanceProgress();
}
$this->em->flush();
+
$vvt = $this->em->getRepository(VVT::class)->findBy(array('team' => $this->team));
$this->increaseProgress(sizeof($vvt));
foreach ($vvt as $data) {
- foreach ($data->getKategorien() as $data2) {
+ foreach ($data->getPersonengruppen() as $data2) {
if (isset($tmp[$data2->getId()])) {
- $data->addKategorien($tmp[$data2->getId()]);
- $data->removeKategorien($data2);
+ $data->addPersonengruppen($tmp[$data2->getId()]);
+ $data->removePersonengruppen($data2);
$this->em->persist($data);
}
}
$this->advanceProgress();
}
$this->em->flush();
+
$vorfall = $this->em->getRepository(Vorfall::class)->findBy(array('team' => $this->team));
$this->increaseProgress(sizeof($vorfall));
foreach ($vorfall as $data) {
- foreach ($data->getDaten() as $data2) {
+ foreach ($data->getPersonen() as $data2) {
if (isset($tmp[$data2->getId()])) {
- $data->addDaten($tmp[$data2->getId()]);
- $data->removeDaten($data2);
+ $data->addPersonen($tmp[$data2->getId()]);
+ $data->removePersonen($data2);
$this->em->persist($data);
}
}
@@ -206,29 +254,28 @@ private function datenGruppen()
}
- private function gesetzlicheGrundlagen()
+ private function risikoGruppen(): void
{
$tmp = array();
- $grundlagen = $this->em->getRepository(VVTGrundlage::class)->findBy(array('team' => null));
- $this->increaseProgress(sizeof($grundlagen));
- foreach ($grundlagen as $data) {
- $new = clone $data;
- $new->setTeam($this->team)->setActiv(true);
- $this->em->persist($new);
- $tmp[$data->getId()] = $new;
+ $risikoGruppen = $this->em->getRepository(VVTRisiken::class)->findBy(array('team' => null));
+ $this->increaseProgress(sizeof($risikoGruppen));
+ foreach ($risikoGruppen as $data) {
+ $rG = clone $data;
+ $rG->setTeam($this->team)->setActiv(true);
+ $this->em->persist($rG);
+ $tmp[$data->getId()] = $rG;
$data->setActiv(false);
$this->em->persist($data);
$this->advanceProgress();
}
$this->em->flush();
-
$vvt = $this->em->getRepository(VVT::class)->findBy(array('team' => $this->team));
$this->increaseProgress(sizeof($vvt));
foreach ($vvt as $data) {
- foreach ($data->getGrundlage() as $data2) {
+ foreach ($data->getRisiko() as $data2) {
if (isset($tmp[$data2->getId()])) {
- $data->addGrundlage($tmp[$data2->getId()]);
- $data->removeGrundlage($data2);
+ $data->addRisiko($tmp[$data2->getId()]);
+ $data->removeRisiko($data2);
$this->em->persist($data);
}
}
@@ -238,41 +285,12 @@ private function gesetzlicheGrundlagen()
}
- private function status()
- {
- $tmp = array();
- $status = $this->em->getRepository(VVTStatus::class)->findBy(array('team' => null));
- $this->increaseProgress(sizeof($status));
- foreach ($status as $data) {
- $new = clone $data;
- $new->setTeam($this->team)->setActiv(true);
- $this->em->persist($new);
- $tmp[$data->getId()] = $new;
- $data->setActiv(false);
- $this->em->persist($data);
- $this->advanceProgress();
- }
- $this->em->flush();
-
- $vvt = $this->em->getRepository(VVT::class)->findBy(array('team' => $this->team));
- $this->increaseProgress(sizeof($vvt));
- foreach ($vvt as $data) {
- if (isset($tmp[$data->getStatus()->getId()])) {
- $data->setStatus($tmp[$data->getStatus()->getId()]);
- $this->em->persist($data);
- }
- $this->advanceProgress();
- }
- $this->em->flush();
-
- }
-
- private function grundlagenDatenweitergabe()
+ private function schutzZiele(): void
{
$tmp = array();
- $grundlagenDatenweitergabe = $this->em->getRepository(DatenweitergabeGrundlagen::class)->findBy(array('team' => null));
- $this->increaseProgress(sizeof($grundlagenDatenweitergabe));
- foreach ($grundlagenDatenweitergabe as $data) {
+ $defaultValue = $this->em->getRepository(AuditTomZiele::class)->findBy(array('team' => null));
+ $this->increaseProgress(sizeof($defaultValue));
+ foreach ($defaultValue as $data) {
$new = clone $data;
$new->setTeam($this->team)->setActiv(true);
$this->em->persist($new);
@@ -282,13 +300,15 @@ private function grundlagenDatenweitergabe()
$this->advanceProgress();
}
$this->em->flush();
-
- $datenweitergabe = $this->em->getRepository(Datenweitergabe::class)->findBy(array('team' => $this->team));
- $this->increaseProgress(sizeof($datenweitergabe));
- foreach ($datenweitergabe as $data) {
- if (isset($tmp[$data->getGrundlage()->getId()])) {
- $data->setGrundlage($tmp[$data->getGrundlage()->getId()]);
- $this->em->persist($data);
+ $auditTom = $this->em->getRepository(AuditTom::class)->findBy(array('team' => $this->team));
+ $this->increaseProgress(sizeof($auditTom));
+ foreach ($auditTom as $data) {
+ foreach ($data->getZiele() as $data2) {
+ if (isset($tmp[$data2->getId()])) {
+ $data->addZiele($tmp[$data2->getId()]);
+ $data->removeZiele($data2);
+ $this->em->persist($data);
+ }
}
$this->advanceProgress();
}
@@ -296,7 +316,7 @@ private function grundlagenDatenweitergabe()
}
- private function standDatenweitergabe()
+ private function standDatenweitergabe(): void
{
$tmp = array();
$defaultValue = $this->em->getRepository(DatenweitergabeStand::class)->findBy(array('team' => null));
@@ -324,12 +344,12 @@ private function standDatenweitergabe()
}
- private function schutzZiele()
+ private function status(): void
{
$tmp = array();
- $defaultValue = $this->em->getRepository(AuditTomZiele::class)->findBy(array('team' => null));
- $this->increaseProgress(sizeof($defaultValue));
- foreach ($defaultValue as $data) {
+ $status = $this->em->getRepository(VVTStatus::class)->findBy(array('team' => null));
+ $this->increaseProgress(sizeof($status));
+ foreach ($status as $data) {
$new = clone $data;
$new->setTeam($this->team)->setActiv(true);
$this->em->persist($new);
@@ -339,38 +359,17 @@ private function schutzZiele()
$this->advanceProgress();
}
$this->em->flush();
- $auditTom = $this->em->getRepository(AuditTom::class)->findBy(array('team' => $this->team));
- $this->increaseProgress(sizeof($auditTom));
- foreach ($auditTom as $data) {
- foreach ($data->getZiele() as $data2) {
- if (isset($tmp[$data2->getId()])) {
- $data->addZiele($tmp[$data2->getId()]);
- $data->removeZiele($data2);
- $this->em->persist($data);
- }
+
+ $vvt = $this->em->getRepository(VVT::class)->findBy(array('team' => $this->team));
+ $this->increaseProgress(sizeof($vvt));
+ foreach ($vvt as $data) {
+ if (isset($tmp[$data->getStatus()->getId()])) {
+ $data->setStatus($tmp[$data->getStatus()->getId()]);
+ $this->em->persist($data);
}
$this->advanceProgress();
}
$this->em->flush();
}
-
- private function increaseProgress($steps)
- {
- if ($this->progress) {
- $this->progress->setMaxSteps($this->progress->getMaxSteps() + $steps);
- }
- }
-
- private function advanceProgress()
- {
- if ($this->progress) {
- $this->progress->advance();
- }
- }
- private function finishProgress(){
- if ($this->progress){
- $this->progress->finish();
- }
- }
-}
\ No newline at end of file
+}
diff --git a/src/Service/CronService.php b/src/Service/CronService.php
index 74cd043a..b3c50b3a 100644
--- a/src/Service/CronService.php
+++ b/src/Service/CronService.php
@@ -12,18 +12,18 @@
use Doctrine\ORM\EntityManagerInterface;
use Psr\Log\LoggerInterface;
use Symfony\Component\Form\FormFactoryInterface;
+use Symfony\Contracts\Translation\TranslatorInterface;
class CronService
{
- private $em;
- private $logger;
-
- public function __construct(EntityManagerInterface $entityManager, FormFactoryInterface $formBuilder, LoggerInterface $logger)
+ public function __construct(
+ private EntityManagerInterface $em,
+ FormFactoryInterface $formBuilder,
+ private LoggerInterface $logger,
+ private TranslatorInterface $translator,
+ )
{
- $this->em = $entityManager;
- $this->logger = $logger;
-
}
function check($request)
@@ -31,12 +31,22 @@ function check($request)
$message = false;
if ($request->get('token') !== $this->getParameter('cronToken')) {
- $message = ['error' => true, 'hinweis' => 'Token fehlerhaft', 'token' => $request->get('token'), 'ip' => $request->getClientIp()];
+ $message =
+ [
+ 'error' => true,
+ 'hinweis' => $this->translator->trans(id: 'cron.token.invalid', domain: 'service'),
+ 'token' => $request->get('token'),
+ 'ip' => $request->getClientIp(),
+ ];
$this->logger->error($message['hinweis'], $message);
}
if ($this->getParameter('cronIPAdress') !== $request->getClientIp()) {
- $message = ['error' => true, 'hinweis' => 'IP Adresse fuer Cron Jobs nicht zugelassen', 'ip' => $request->getClientIp()];
+ $message = [
+ 'error' => true,
+ 'hinweis' => $this->translator->trans(id: 'cron.ip.unauthorized', domain: 'service'),
+ 'ip' => $request->getClientIp(),
+ ];
$this->logger->error($message['hinweis'], $message);
}
diff --git a/src/Service/CurrentTeamService.php b/src/Service/CurrentTeamService.php
new file mode 100644
index 00000000..5c4fa786
--- /dev/null
+++ b/src/Service/CurrentTeamService.php
@@ -0,0 +1,49 @@
+requestStack = $requestStack;
+ }
+
+ public function getCurrentAdminTeam(User $user): Team
+ {
+ return $this->findTeam($user->getAdminRoles());
+ }
+
+ public function getTeamFromSession(User $user): ?Team
+ {
+ return $this->findTeam($user->getTeams());
+ }
+
+ public function switchToTeam($team): void
+ {
+ $session = $this->requestStack->getSession();
+ $session->set('team', $team);
+ }
+
+ private function findTeam(Collection $teams): ?Team
+ {
+ $session = $this->requestStack->getSession();
+ $teamName = $session->get('team');
+
+ if ($teamName) {
+ foreach ($teams as $team) {
+ if ($team->getName() === $teamName) {
+ return $team;
+ }
+ }
+ }
+ return $teams->get(0);
+ }
+}
diff --git a/src/Service/DatenweitergabeService.php b/src/Service/DatenweitergabeService.php
index dd838fc4..0fdc2059 100644
--- a/src/Service/DatenweitergabeService.php
+++ b/src/Service/DatenweitergabeService.php
@@ -18,48 +18,52 @@
use App\Entity\VVT;
use App\Entity\VVTDsfa;
use App\Form\Type\DatenweitergabeType;
+use DateTime;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\Form\FormFactoryInterface;
+use Symfony\Component\Form\FormInterface;
class DatenweitergabeService
{
- private $em;
- private $formBuilder;
+ const PREFIX_PROCESSING = 'AVV-';
+ const PREFIX_TRANSFER = 'DW-';
- public function __construct(EntityManagerInterface $entityManager, FormFactoryInterface $formBuilder)
- {
- $this->em = $entityManager;
- $this->formBuilder = $formBuilder;
- }
+ public function __construct(
+ private EntityManagerInterface $em,
+ private FormFactoryInterface $formBuilder,
+ private CurrentTeamService $currentTeamService,
- function newDatenweitergabe(User $user, $type, $prefix)
+ )
{
- $daten = new Datenweitergabe();
- $daten->setTeam($user->getTeam());
- $daten->setNummer($prefix . hexdec(uniqid()));
- $daten->setActiv(true);
- $daten->setCreatedAt(new \DateTime());
- $daten->setArt($type);
- $daten->setUser($user);
-
- return $daten;
}
- function cloneDatenweitergabe(Datenweitergabe $datenweitergabe, User $user)
+ function cloneDatenweitergabe(Datenweitergabe $datenweitergabe, User $user): Datenweitergabe
{
$newDaten = clone $datenweitergabe;
$newDaten->setPrevious($datenweitergabe);
- $newDaten->setCreatedAt(new \DateTime());
- $newDaten->setUpdatedAt(new \DateTime());
+ $newDaten->setCreatedAt(new DateTime());
+ $newDaten->setUpdatedAt(new DateTime());
$newDaten->setUser($user);
return $newDaten;
}
- function createForm(Datenweitergabe $datenweitergabe, Team $team)
+ function cloneDsfa(VVTDsfa $dsfa, User $user): VVTDsfa
{
- $stand = $this->em->getRepository(DatenweitergabeStand::class)->findActivByTeam($team);
- $grundlagen = $this->em->getRepository(DatenweitergabeGrundlagen::class)->findActivByTeam($team);
+ $newDsfa = clone $dsfa;
+ $newDsfa->setPrevious($dsfa);
+ $newDsfa->setVvt($dsfa->getVvt());
+ $newDsfa->setActiv(true);
+ $newDsfa->setCreatedAt(new DateTime());
+ $newDsfa->setUser($user);
+
+ return $newDsfa;
+ }
+
+ function createForm(Datenweitergabe $datenweitergabe, Team $team): FormInterface
+ {
+ $stand = $this->em->getRepository(DatenweitergabeStand::class)->findActiveByTeam($team);
+ $grundlagen = $this->em->getRepository(DatenweitergabeGrundlagen::class)->findActiveByTeam($team);
$verfahren = $this->em->getRepository(VVT::class)->findBy(array('team' => $team, 'activ' => true));
$software = $this->em->getRepository(Software::class)->findBy(array('team' => $team, 'activ' => true));
@@ -68,26 +72,28 @@ function createForm(Datenweitergabe $datenweitergabe, Team $team)
return $form;
}
- function newDsfa(Team $team, User $user, VVT $vvt)
+ function newDatenweitergabe(User $user, $type): Datenweitergabe
+ {
+ $data = new Datenweitergabe();
+ $prefix = $type === 1 ? self::PREFIX_TRANSFER : self::PREFIX_PROCESSING;
+ $data->setTeam($this->currentTeamService->getTeamFromSession($user));
+ $data->setNummer($prefix . hexdec(uniqid()));
+ $data->setActiv(true);
+ $data->setCreatedAt(new DateTime());
+ $data->setArt($type);
+ $data->setUser($user);
+
+ return $data;
+ }
+
+ function newDsfa(Team $team, User $user, VVT $vvt): VVTDsfa
{
$dsfa = new VVTDsfa();
$dsfa->setVvt($vvt);
- $dsfa->setCreatedAt(new \DateTime());
+ $dsfa->setCreatedAt(new DateTime());
$dsfa->setActiv(true);
$dsfa->setUser($user);
return $dsfa;
}
-
- function cloneDsfa(VVTDsfa $dsfa, User $user)
- {
- $newDsfa = clone $dsfa;
- $newDsfa->setPrevious($dsfa);
- $newDsfa->setVvt($dsfa->getVvt());
- $newDsfa->setActiv(true);
- $newDsfa->setCreatedAt(new \DateTime());
- $newDsfa->setUser($user);
-
- return $newDsfa;
- }
}
diff --git a/src/Service/DisableService.php b/src/Service/DisableService.php
index a5643053..d0afab60 100644
--- a/src/Service/DisableService.php
+++ b/src/Service/DisableService.php
@@ -11,15 +11,16 @@
use App\Entity\User;
use Doctrine\ORM\EntityManagerInterface;
+use Symfony\Contracts\Translation\TranslatorInterface;
class DisableService
{
- private $em;
-
- public function __construct(EntityManagerInterface $entityManager)
+ public function __construct(
+ private EntityManagerInterface $em,
+ private TranslatorInterface $translator,
+ )
{
- $this->em = $entityManager;
}
function disable($data, User $user)
@@ -30,12 +31,12 @@ function disable($data, User $user)
$data->setActiv(2);
$data->setApprovedBy($user);
$status['status'] = true;
- $status['snack'] = 'Gelöscht';
+ $status['snack'] = $this->translator->trans(id: 'deleted', domain: 'general');
} else {
$data->setActiv(1);
$data->setApprovedBy($user);
$status['status'] = true;
- $status['snack'] = 'Widerhergestellt';
+ $status['snack'] = $this->translator->trans(id: 'restored', domain: 'general');
}
$this->em->persist($data);
$this->em->flush();
diff --git a/src/Service/FormsService.php b/src/Service/FormsService.php
index 32885ac6..8e349fe3 100644
--- a/src/Service/FormsService.php
+++ b/src/Service/FormsService.php
@@ -15,34 +15,33 @@
use App\Entity\Team;
use App\Entity\User;
use App\Form\Type\FormsType;
+use DateTime;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\Form\FormFactoryInterface;
+use Symfony\Component\Form\FormInterface;
class FormsService
{
- private $em;
- private $formBuilder;
-
- public function __construct(EntityManagerInterface $entityManager, FormFactoryInterface $formBuilder)
+ public function __construct(
+ private EntityManagerInterface $em,
+ private FormFactoryInterface $formBuilder,
+ private CurrentTeamService $currentTeamService,
+ )
{
- $this->em = $entityManager;
- $this->formBuilder = $formBuilder;
}
- function newForm(User $user)
+ public function cloneForms(Forms $forms, User $user): Forms
{
- $form = new Forms();
- $form->setStatus(0);
- $form->setTeam($user->getTeam());
- $form->setActiv(true);
- $form->setCreatedAt(new \DateTime());
- $form->setUser($user);
-
- return $form;
+ $newForms = clone $forms;
+ $newForms->setPrevious($forms);
+ $newForms->setCreatedAt(new DateTime());
+ $newForms->setUpdatedAt(new DateTime());
+ $newForms->setUser($user);
+ return $newForms;
}
- function createForm(Forms $forms, Team $team)
+ public function createForm(Forms $forms, Team $team): FormInterface
{
$departments = $this->em->getRepository(AuditTomAbteilung::class)->findBy(array('team' => $team, 'activ' => true));
$products = $this->em->getRepository(Produkte::class)->findBy(array('team' => $team, 'activ' => true));
@@ -52,13 +51,15 @@ function createForm(Forms $forms, Team $team)
return $form;
}
- function cloneForms(Forms $forms, User $user)
+ public function newForm(User $user): Forms
{
- $newForms = clone $forms;
- $newForms->setPrevious($forms);
- $newForms->setCreatedAt(new \DateTime());
- $newForms->setUpdatedAt(new \DateTime());
- $newForms->setUser($user);
- return $newForms;
+ $form = new Forms();
+ $form->setStatus(0);
+ $form->setTeam($this->currentTeamService->getTeamFromSession($user));
+ $form->setActiv(true);
+ $form->setCreatedAt(new DateTime());
+ $form->setUser($user);
+
+ return $form;
}
}
diff --git a/src/Service/InviteService.php b/src/Service/InviteService.php
index 76afd661..040d24a2 100644
--- a/src/Service/InviteService.php
+++ b/src/Service/InviteService.php
@@ -9,42 +9,55 @@
namespace App\Service;
use App\Entity\User;
+use DateTime;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
use Symfony\Contracts\Translation\TranslatorInterface;
use Twig\Environment;
-
class InviteService
{
+ public function __construct(
+ private EntityManagerInterface $em,
+ private TranslatorInterface $translator,
+ private UrlGeneratorInterface $router,
+ private MailerService $mailer,
+ private ParameterBagInterface $parameterBag,
+ private Environment $twig,
+ )
+ {
+ }
-
- private $em;
- private $translator;
- private $router;
- private $mailer;
- private $parameterBag;
- private $twig;
-
- public function __construct(Environment $environment, ParameterBagInterface $parameterBag, MailerService $mailerService, EntityManagerInterface $entityManager, TranslatorInterface $translator, UrlGeneratorInterface $urlGenerator)
+ public function connectUserWithEmail(User $userfromregisterId, User $user)
{
- $this->translator = $translator;
- $this->em = $entityManager;
- $this->router = $urlGenerator;
- $this->mailer = $mailerService;
- $this->parameterBag = $parameterBag;
- $this->twig = $environment;
+ if ($user !== $userfromregisterId) {
+ foreach ($userfromregisterId->getTeams() as $team) {
+ $user->addTeam($team);
+ }
+ if (!$user->getAkademieUser()) {
+ $user->setAkademieUser($userfromregisterId->getAkademieUser());
+ }
+ foreach ($userfromregisterId->getTeamDsb() as $team) {
+ $user->addTeamDsb($team);
+ }
+ $this->em->remove($userfromregisterId);
+ }
+
+ $user->setRegisterId(null);
+ $this->em->persist($user);
+ $this->em->flush();
+ return $user;
}
- public function newUser($email)
+ public function newUser($email): User
{
$user = $this->em->getRepository(User::class)->findOneBy(array('email' => $email));
if (!$user) {
$user = new User();
$user->setLastName('')
->setFirstName('')
- ->setCreatedAt(new \DateTime())
+ ->setCreatedAt(new DateTime())
->setRegisterId(md5(uniqid('ksdjhfkhsdkjhjksd', true)))
->setUsername($email)
->setEmail($email)
@@ -62,29 +75,9 @@ public function newUser($email)
$this->parameterBag->get('defaultEmail'),
$this->parameterBag->get('defaultEmail'),
$email,
- $this->translator->trans('Einladung zum ODC'),
- $content);
- return $user;
- }
-
- public function connectUserWithEmail(User $userfromregisterId, User $user)
- {
- if ($user !== $userfromregisterId) {
- if (!$user->getTeam()) {
- $user->setTeam($userfromregisterId->getTeam());
- }
- if (!$user->getAkademieUser()) {
- $user->setAkademieUser($userfromregisterId->getAkademieUser());
- }
- foreach ($user->getTeamDsb() as $data) {
- $user->addTeamDsb($data);
- }
- $this->em->remove($userfromregisterId);
- }
-
- $user->setRegisterId(null);
- $this->em->persist($user);
- $this->em->flush();
+ $this->translator->trans(id: 'subject.invite', domain: 'email'),
+ $content
+ );
return $user;
}
diff --git a/src/Service/LoeschkonzeptService.php b/src/Service/LoeschkonzeptService.php
index bf46844c..75ce2a60 100644
--- a/src/Service/LoeschkonzeptService.php
+++ b/src/Service/LoeschkonzeptService.php
@@ -5,12 +5,14 @@
use App\Entity\Loeschkonzept;
-use App\Entity\VVTDatenkategorie;
use App\Entity\Team;
use App\Entity\User;
+use App\Entity\VVTDatenkategorie;
use App\Form\Type\LoeschkonzeptType;
+use DateTimeImmutable;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\Form\FormFactoryInterface;
+use Symfony\Component\Form\FormInterface;
class LoeschkonzeptService
@@ -24,7 +26,16 @@ public function __construct(EntityManagerInterface $entityManager, FormFactoryIn
$this->formBuilder = $formBuilder;
}
- function createForm(Loeschkonzept $loeschkonzept, Team $team)
+ function cloneLoeschkonzept(Loeschkonzept $loeschkonzept): Loeschkonzept
+ {
+ $newLoeschkonzept = clone $loeschkonzept;
+ $newLoeschkonzept->setPrevious($loeschkonzept);
+ $newLoeschkonzept->setCreateAt(new DateTimeImmutable());
+
+ return $newLoeschkonzept;
+ }
+
+ function createForm(Loeschkonzept $loeschkonzept, Team $team): FormInterface
{
$vvtdatenkategories = $this->em->getRepository(VVTDatenkategorie::class)->findByTeam($team);
@@ -33,24 +44,14 @@ function createForm(Loeschkonzept $loeschkonzept, Team $team)
return $form;
}
- function newLoeschkonzept(Team $team, User $user)
+ function newLoeschkonzept(Team $team, User $user): Loeschkonzept
{
$loeschkonzept = new Loeschkonzept();
$loeschkonzept->setTeam($team);
- $loeschkonzept->setCreateAt(new \DateTimeImmutable());
+ $loeschkonzept->setCreateAt(new DateTimeImmutable());
$loeschkonzept->setActiv(true);
$loeschkonzept->setUser($user);
return $loeschkonzept;
}
-
-
- function cloneLoeschkonzept(Loeschkonzept $loeschkonzept)
- {
- $newLoeschkonzept = clone $loeschkonzept;
- $newLoeschkonzept->setPrevious($loeschkonzept);
- $newLoeschkonzept->setCreateAt(new \DateTimeImmutable());
-
- return $newLoeschkonzept;
- }
-}
\ No newline at end of file
+}
diff --git a/src/Service/MailerService.php b/src/Service/MailerService.php
index ea4ed325..16bced94 100644
--- a/src/Service/MailerService.php
+++ b/src/Service/MailerService.php
@@ -12,19 +12,17 @@
use nicoSWD\GPG\GPG;
use nicoSWD\GPG\PublicKey;
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
-use Symfony\Component\Mailer\Transport\TransportInterface;
+use Symfony\Component\Mailer\MailerInterface;
+use Symfony\Component\Mime\Address;
+use Symfony\Component\Mime\Email;
class MailerService
{
- private $smtp;
- private $swift;
private $parameter;
- public function __construct(ParameterBagInterface $parameterBag, TransportInterface $smtp, \Swift_Mailer $swift_Mailer)
+ public function __construct(ParameterBagInterface $parameterBag, private MailerInterface $mailer)
{
- $this->smtp = $smtp;
- $this->swift = $swift_Mailer;
$this->parameter = $parameterBag;
}
@@ -33,34 +31,38 @@ public function sendEmail($sender, $from, $to, $betreff, $content, $attachment =
$this->sendViaSwiftMailer($sender, $from, $to, $betreff, $content, $attachment);
}
- private function sendViaSwiftMailer($sender, $from, $to, $betreff, $content, $attachment = array())
+ public function sendEncrypt($pgp, $sender, $from, $to, $betreff, $content, $attachment = array())
{
- $message = (new \Swift_Message($betreff))
- ->setFrom(array($from => $sender))
- ->setTo($to)
- ->setBody(
- $content
- , 'text/html'
- );
- foreach ($attachment as $data) {
- $message->attach(new \Swift_Attachment($data['body'], $data['filename'], $data['type']));
- };
- $this->swift->send($message);
- }
+ $message = (new Email())
+ ->subject($betreff)
+ ->from(new Address($from, $sender))
+ ->to($to);
- public function sendEncrypt($pgp, $sender, $from, $to, $betreff, $content, $attachment = array())
- {
- $message = (new \Swift_Message($betreff))
- ->setFrom(array($from => $sender))
- ->setTo($to);
foreach ($attachment as $data) {
- $message->attach(new \Swift_Attachment($data['body'], $data['filename'], $data['type']));
- };
+ $message->attach($data['body'], $data['filename'], $data['type']);
+ }
+
$gpg = new GPG();
$privat = new PublicKey($pgp);
$data = $gpg->encrypt($privat, $content);
- $message->setBody($data, 'text/plain');
- $this->swift->send($message);
+ $message->text($data);
+
+ $this->mailer->send($message);
+ }
+
+ private function sendViaSwiftMailer($sender, $from, $to, $betreff, $content, $attachment = array())
+ {
+ $message = (new Email())
+ ->subject($betreff)
+ ->from(new Address($from, $sender))
+ ->to($to)
+ ->html(
+ $content
+ );
+ foreach ($attachment as $data) {
+ $message->attach($data['body'], $data['filename'], $data['type']);
+ }
+ $this->mailer->send($message);
}
}
diff --git a/src/Service/NotificationService.php b/src/Service/NotificationService.php
index 635ef4c9..945c21fe 100644
--- a/src/Service/NotificationService.php
+++ b/src/Service/NotificationService.php
@@ -13,6 +13,7 @@
use App\Entity\User;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
+use Symfony\Contracts\Translation\TranslatorInterface;
class NotificationService
@@ -22,91 +23,94 @@ class NotificationService
private $parameterBag;
- public function __construct(EntityManagerInterface $entityManager, MailerService $mailerService, ParameterBagInterface $parameterBag)
+ public function __construct(
+ EntityManagerInterface $entityManager,
+ MailerService $mailerService,
+ ParameterBagInterface $parameterBag,
+ private TranslatorInterface $translator,
+ )
{
$this->em = $entityManager;
$this->mailer = $mailerService;
$this->parameterBag = $parameterBag;
}
-
- function sendNotificationAkademie(AkademieBuchungen $buchung, $content)
+ public function sendEncrypt($pgp, $content, $email, $betreff): bool
{
- $this->mailer->sendEmail(
- 'Akademie Datenschutzcenter',
- $this->parameterBag->get('akademieEmail'),
- $buchung->getUser()->getEmail(),
- 'Ihnen wurde ein neuer Kurs zugewiesen',
+ $this->mailer->sendEncrypt(
+ $pgp,
+ $this->translator->trans(id: 'notification.odc.sender', domain: 'service'),
+ $this->parameterBag->get('defaultEmail'),
+ $email,
+ $betreff,
$content
);
return true;
}
- function sendNotificationAssign($content, User $user)
+ public function sendNotificationAkademie(AkademieBuchungen $buchung, $content): bool
{
$this->mailer->sendEmail(
- 'Datenschutzcenter',
- $this->parameterBag->get('defaultEmail'),
- $user->getEmail(),
- 'Ihnen wurde ein Element zum Bearbeiten zugewiesen',
+ $this->translator->trans(id: 'notification.academy.sender', domain: 'service'),
+ $this->parameterBag->get('akademieEmail'),
+ $buchung->getUser()->getEmail(),
+ $this->translator->trans(id: 'notification.academy.lesson.assigned', domain: 'service'),
$content
);
return true;
}
- function sendNotificationRequest($content, $email)
+ public function sendNotificationAssign($content, User $user): bool
{
$this->mailer->sendEmail(
- 'Datenschutzcenter',
+ $this->translator->trans(id: 'notification.odc.sender', domain: 'service'),
$this->parameterBag->get('defaultEmail'),
- $email,
- 'Es ist eine neue Nachricht für Sie vorhanden',
- $content
+ $user->getEmail(),
+ $this->translator->trans(id: 'notification.odc.element.assign', domain: 'service'),
+ $content,
);
return true;
}
- function sendEncrypt($pgp, $content, $email, $betreff)
+ public function sendNotificationRequest($content, $email): bool
{
- $this->mailer->sendEncrypt(
- $pgp,
- 'Datenschutzcenter',
+ $this->mailer->sendEmail(
+ $this->translator->trans(id: 'notification.odc.sender', domain: 'service'),
$this->parameterBag->get('defaultEmail'),
$email,
- $betreff,
+ $this->translator->trans(id: 'notification.odc.new.message.available', domain: 'service'),
$content
);
return true;
}
- function sendRequestVerify($content, $email)
+ public function sendRequestNew($content, $email): bool
{
$this->mailer->sendEmail(
- 'Datenschutzcenter',
+ $this->translator->trans(id: 'notification.odc.sender', domain: 'service'),
$this->parameterBag->get('defaultEmail'),
$email,
- 'Bestätigen Sie Ihre Email Adresse',
+ $this->translator->trans(id: 'notification.odc.new.clientRequest', domain: 'service'),
$content
);
return true;
}
- function sendRequestNew($content, $email)
+ public function sendRequestVerify($content, $email): bool
{
$this->mailer->sendEmail(
- 'Datenschutzcenter',
+ $this->translator->trans(id: 'notification.odc.sender', domain: 'service'),
$this->parameterBag->get('defaultEmail'),
$email,
- 'Neue Kundenanfrage in Datenschutcenter',
+ $this->translator->trans(id: 'notification.odc.email.verify', domain: 'service'),
$content
);
return true;
}
-
}
diff --git a/src/Service/ParserService.php b/src/Service/ParserService.php
index 08cbf2c2..2c47e7da 100644
--- a/src/Service/ParserService.php
+++ b/src/Service/ParserService.php
@@ -22,7 +22,9 @@
use App\Entity\VVTPersonen;
use App\Entity\VVTRisiken;
use App\Entity\VVTStatus;
+use DateTime;
use Doctrine\ORM\EntityManagerInterface;
+use Exception;
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
@@ -76,14 +78,14 @@ function parseAudit($data, Team $team, User $user, Upload $upload)
$audit->addZiele($ziel);
}
$audit->setActiv(true);
- $audit->setCreatedAt(new \DateTime());
+ $audit->setCreatedAt(new DateTime());
$audit->setTeam($team);
$audit->setUser($user);
$this->em->persist($audit);
}
$this->em->flush();
return true;
- } catch (\Exception $e) {
+ } catch (Exception $e) {
return false;
}
@@ -163,7 +165,7 @@ function parseVVT($data, $team, User $user, Upload $upload)
$vvt->setInformationspflicht($e->informationspflicht);
$vvt->setActiv(true);
- $vvt->setCreatedAt(new \DateTime());
+ $vvt->setCreatedAt(new DateTime());
$vvt->setTeam($team);
$vvt->setUser($user);
$vvt->setSpeicherung($e->speicherung);
@@ -173,7 +175,7 @@ function parseVVT($data, $team, User $user, Upload $upload)
$vvt->setUserContract($user);
if ($e->nummer == null) {
$vvt->setNummer('VVT-' . hexdec(uniqid()));
- }else {
+ } else {
$vvt->setNummer($e->nummer);
}
@@ -190,7 +192,7 @@ function parseVVT($data, $team, User $user, Upload $upload)
$dsfa->setDsb($e->dsfaData->dsbKommentar);
$dsfa->setErgebnis($e->dsfaData->ergebnis);
$dsfa->setActiv(true);
- $dsfa->setCreatedAt(new \DateTime());
+ $dsfa->setCreatedAt(new DateTime());
$dsfa->setUser($user);
$dsfa->setVvt($vvt);
$this->em->persist($dsfa);
@@ -201,7 +203,7 @@ function parseVVT($data, $team, User $user, Upload $upload)
}
$this->em->flush();
return true;
- } catch (\Exception $e) {
+ } catch (Exception $e) {
return false;
}
}
@@ -220,7 +222,7 @@ function verify($json)
$signature = $json->signature;
$res = openssl_verify($data, hex2bin($signature), file_get_contents($this->parameterBag->get('projectRoot') . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'public.key'), OPENSSL_ALGO_SHA256);
return $res;
- } catch (\Exception $e) {
+ } catch (Exception $e) {
return 0;
}
diff --git a/src/Service/PoliciesService.php b/src/Service/PoliciesService.php
index 9fc8d97f..28d859a9 100644
--- a/src/Service/PoliciesService.php
+++ b/src/Service/PoliciesService.php
@@ -16,6 +16,7 @@
use App\Entity\VVTDatenkategorie;
use App\Entity\VVTPersonen;
use App\Form\Type\PolicyType;
+use DateTime;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\Form\FormFactoryInterface;
@@ -31,17 +32,6 @@ public function __construct(EntityManagerInterface $entityManager, FormFactoryIn
$this->formBuilder = $formBuilder;
}
- function newPolicy(Team $team, User $user)
- {
- $vvt = new Policies();
- $vvt->setTeam($team);
- $vvt->setCreatedAt(new \DateTime());
- $vvt->setActiv(true);
- $vvt->setUser($user);
-
- return $vvt;
- }
-
function clonePolicy(Policies $policy, User $user)
{
$newPolicy = clone $policy;
@@ -50,7 +40,7 @@ function clonePolicy(Policies $policy, User $user)
$newPolicy->setApprovedBy(null);
$newPolicy->setActiv(true);
$newPolicy->setUser($user);
- $newPolicy->setCreatedAt(new \DateTime());
+ $newPolicy->setCreatedAt(new DateTime());
return $newPolicy;
}
@@ -58,10 +48,21 @@ function createForm(Policies $policies, Team $team)
{
$personen = $this->em->getRepository(VVTPersonen::class)->findByTeam($team);
$kategorien = $this->em->getRepository(VVTDatenkategorie::class)->findByTeam($team);
- $processes = $this->em->getRepository(VVT::class)->findActivByTeam($team);
+ $processes = $this->em->getRepository(VVT::class)->findActiveByTeam($team);
$form = $this->formBuilder->create(PolicyType::class, $policies, ['personen' => $personen, 'kategorien' => $kategorien, 'user' => $team->getMembers(), 'processes' => $processes]);
return $form;
}
+
+ function newPolicy(Team $team, User $user)
+ {
+ $vvt = new Policies();
+ $vvt->setTeam($team);
+ $vvt->setCreatedAt(new DateTime());
+ $vvt->setActiv(true);
+ $vvt->setUser($user);
+
+ return $vvt;
+ }
}
diff --git a/src/Service/ReportService.php b/src/Service/ReportService.php
index 23ffd3a3..a5a931d5 100644
--- a/src/Service/ReportService.php
+++ b/src/Service/ReportService.php
@@ -11,6 +11,7 @@
use App\Entity\Report;
use App\Entity\Team;
+use DateTime;
use Doctrine\ORM\EntityManagerInterface;
@@ -27,9 +28,9 @@ function newReport(Team $team)
{
$report = new Report();
$report->setTeam($team);
- $report->setDate(new \DateTime());
+ $report->setDate(new DateTime());
$report->setActiv(true);
- $report->setCreatedAt(new \DateTime());
+ $report->setCreatedAt(new DateTime());
return $report;
}
diff --git a/src/Service/SecurityService.php b/src/Service/SecurityService.php
index 9b8bf80c..d379fb16 100644
--- a/src/Service/SecurityService.php
+++ b/src/Service/SecurityService.php
@@ -9,48 +9,83 @@
namespace App\Service;
+use App\Entity\Team;
+use App\Entity\User;
use Psr\Log\LoggerInterface;
+use Symfony\Contracts\Translation\TranslatorInterface;
class SecurityService
{
private $logger;
- public function __construct(LoggerInterface $logger)
+ public function __construct(LoggerInterface $logger, private TranslatorInterface $translator)
{
$this->logger = $logger;
}
- function teamArrayDataCheck($data, $team)
+ public function adminCheck(User $user, Team $team): bool
{
- //Sicherheitsfunktion, dass ein Team vorhanden ist
- if ($team === null) {
- $message = ['typ' => 'LOGIN', 'error' => true, 'hinweis' => 'Benutzer keinem Team zugewiesen'];
- $this->logger->error($message['typ'], $message);
+ if (!$this->teamCheck($team)) {
return false;
}
- //Sicherheitsfunktion, dass nur eigene Daten bearbeitet werden können
- if (!in_array($team, $data->getTeam()->toarray())) {
- $message = ['typ' => 'LOGIN', 'error' => true, 'hinweis' => 'Benutzer nicht in Array von Teams', 'user' => $this->getUser()->getUsername()];
- $this->logger->error($message['typ'], $message);
- return false;
+ // If user is super admin
+ if (in_array('ROLE_ADMIN', $user->getRoles())) {
+ return true;
}
- return true;
+ // If user has admin rights for this team
+ if ($user->hasAdminRole($team)) {
+ return true;
+ }
+
+ // Else
+ $message = [
+ 'typ' => 'LOGIN',
+ 'error' => true,
+ 'hinweis' => $this->translator->trans(id: 'error.userIsNotTeamAdministrator', domain: 'general'),
+ ];
+ $this->logger->error($message['typ'], $message);
+ return false;
}
- function teamDataCheck($data, $team)
+ public function superAdminCheck(User $user): bool
+ {
+ // If user is super admin
+ if (in_array('ROLE_ADMIN', $user->getRoles())) {
+ return true;
+ }
+
+ // else
+ $message = [
+ 'typ' => 'LOGIN',
+ 'error' => true,
+ 'hinweis' => $this->translator->trans(id: 'error.userNotAuthorizedToManageTeam', domain: 'general'),
+ ];
+ $this->logger->error($message['typ'], $message);
+ return false;
+ }
+
+ public function teamArrayDataCheck($data, $team): bool
{
//Sicherheitsfunktion, dass ein Team vorhanden ist
if ($team === null) {
- $message = ['typ' => 'LOGIN', 'error' => true, 'hinweis' => 'Benutzer keinem Team zugewiesen'];
+ $message = [
+ 'typ' => 'LOGIN',
+ 'error' => true,
+ 'hinweis' => $this->translator->trans(id: 'error.userWithoutTeam', domain: 'general'),
+ ];
$this->logger->error($message['typ'], $message);
return false;
}
//Sicherheitsfunktion, dass nur eigene Daten bearbeitet werden können
- if ($team !== $data->getTeam()) {
- $message = ['typ' => 'LOGIN', 'error' => true, 'hinweis' => 'Benutzer nicht in Team und nicht berechtigt', 'team' => $team->getName()];
+ if (!in_array($team, $data->getTeam()->toarray())) {
+ $message = [
+ 'typ' => 'LOGIN',
+ 'error' => true,
+ 'hinweis' => $this->translator->trans(id: 'error.userNotFoundInArray', domain: 'general'),
+ 'user' => $this->getUser()->getUsername()];
$this->logger->error($message['typ'], $message);
return false;
}
@@ -58,29 +93,46 @@ function teamDataCheck($data, $team)
return true;
}
- function teamCheck($team)
+ public function teamCheck($team): bool
{
//Sicherheitsfunktion, dass ein Team vorhanden ist
if ($team === null) {
- $message = ['typ' => 'LOGIN', 'error' => true, 'hinweis' => 'Benutzer keinem Team zugewiesen'];
+ $message = [
+ 'typ' => 'LOGIN',
+ 'error' => true,
+ 'hinweis' => $this->translator->trans(id: 'error.userWithoutTeam', domain: 'general'),
+ ];
$this->logger->error($message['typ'], $message);
return false;
}
return true;
}
- function adminCheck($user, $team)
+ public function teamDataCheck($data, $team): bool
{
- if (!$this->teamCheck($team)) {
+ //Sicherheitsfunktion, dass ein Team vorhanden ist
+ if ($team === null) {
+ $message = [
+ 'typ' => 'LOGIN',
+ 'error' => true,
+ 'hinweis' => $this->translator->trans(id: 'error.userWithoutTeam', domain: 'general'),
+ ];
+ $this->logger->error($message['typ'], $message);
return false;
}
- //Sicherheitsfunktion, dass Admin Team zu Team passt
- if ($user->getTeam() !== $user->getAdminUser()) {
- $message = ['typ' => 'LOGIN', 'error' => true, 'hinweis' => 'Benutzer Admin Team passt nicht zu Team'];
+ //Sicherheitsfunktion, dass nur eigene Daten bearbeitet werden können
+ if ($team !== $data->getTeam()) {
+ $message = [
+ 'typ' => 'LOGIN',
+ 'error' => true,
+ 'hinweis' => $this->translator->trans(id: 'error.userNotInTeamAccessDenied', domain: 'general'),
+ 'team' => $team->getName(),
+ ];
$this->logger->error($message['typ'], $message);
return false;
}
+
return true;
}
}
diff --git a/src/Service/SoftwareService.php b/src/Service/SoftwareService.php
index ecdfe09f..e72ecb47 100644
--- a/src/Service/SoftwareService.php
+++ b/src/Service/SoftwareService.php
@@ -17,8 +17,10 @@
use App\Entity\VVT;
use App\Form\Type\SoftwareConfigType;
use App\Form\Type\SoftwareType;
+use DateTime;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\Form\FormFactoryInterface;
+use Symfony\Component\Form\FormInterface;
class SoftwareService
@@ -32,31 +34,26 @@ public function __construct(EntityManagerInterface $entityManager, FormFactoryIn
$this->formBuilder = $formBuilder;
}
- function newSoftware(Team $team, User $user)
- {
- $software = new Software();
- $software->setTeam($team);
- $software->setCreatedAt(new \DateTime());
- $software->setPurchase(new \DateTime());
- $software->setActiv(true);
- $software->setUser($user);
-
- return $software;
- }
-
- function cloneSoftware(Software $software, User $user)
+ public function cloneSoftware(Software $software, User $user): Software
{
$newSoftware = clone $software;
$newSoftware->setPrevious($software);
$newSoftware->setActiv(true);
$newSoftware->setUser($user);
- $newSoftware->setCreatedAt(new \DateTime());
+ $newSoftware->setCreatedAt(new DateTime());
return $newSoftware;
}
- function createForm(Software $software, Team $team)
+ public function createConfigForm(SoftwareConfig $softwareConfig): FormInterface
+ {
+ $form = $this->formBuilder->create(SoftwareConfigType::class, $softwareConfig);
+
+ return $form;
+ }
+
+ public function createForm(Software $software, Team $team): FormInterface
{
- $processes = $this->em->getRepository(VVT::class)->findActivByTeam($team);
+ $processes = $this->em->getRepository(VVT::class)->findActiveByTeam($team);
$data = $this->em->getRepository(Datenweitergabe::class)->findBy(['team' => $team, 'activ' => true, 'art' => 1]);
$form = $this->formBuilder->create(SoftwareType::class, $software, ['processes' => $processes, 'datenweitergabe' => $data]);
@@ -64,20 +61,25 @@ function createForm(Software $software, Team $team)
return $form;
}
- function newConfig(Software $software)
+ public function newConfig(Software $software): SoftwareConfig
{
$config = new SoftwareConfig();
- $config->setCreatedAt(new \DateTime());
+ $config->setCreatedAt(new DateTime());
$config->setActiv(true);
$config->setSoftware($software);
return $config;
}
- function createConfigForm(SoftwareConfig $softwareConfig)
+ public function newSoftware(Team $team, User $user): Software
{
- $form = $this->formBuilder->create(SoftwareConfigType::class, $softwareConfig);
+ $software = new Software();
+ $software->setTeam($team);
+ $software->setCreatedAt(new DateTime());
+ $software->setPurchase(new DateTime());
+ $software->setActiv(true);
+ $software->setUser($user);
- return $form;
+ return $software;
}
}
diff --git a/src/Service/TaskService.php b/src/Service/TaskService.php
index a55caacf..43d8bfdc 100644
--- a/src/Service/TaskService.php
+++ b/src/Service/TaskService.php
@@ -12,6 +12,7 @@
use App\Entity\Task;
use App\Entity\Team;
use App\Entity\User;
+use DateTime;
use Doctrine\ORM\EntityManagerInterface;
@@ -29,7 +30,7 @@ function newTask(Team $team, User $user)
$task = new Task();
$task->setTeam($team);
$task->setActiv(true);
- $task->setCreatedAt(new \DateTime());
+ $task->setCreatedAt(new DateTime());
$task->setUser($user);
$task->setDone(false);
diff --git a/src/Service/TeamService.php b/src/Service/TeamService.php
index 13d8ea71..c693377b 100644
--- a/src/Service/TeamService.php
+++ b/src/Service/TeamService.php
@@ -37,16 +37,133 @@ public function __construct(EntityManagerInterface $entityManager, UrlGeneratorI
$this->translator = $translator;
}
- function show(Team $team)
+ public function create($type, $id, Team $team): object
+ {
+ switch ($type) {
+ case 1:
+ if ($id) {
+ $data1 = $this->em->getRepository(VVTPersonen::class)->find($id);
+ } else {
+ $data1 = new VVTPersonen();
+ }
+ break;
+ case 2:
+ if ($id) {
+ $data1 = $this->em->getRepository(VVTDatenkategorie::class)->find($id);
+ } else {
+ $data1 = new VVTDatenkategorie();
+ }
+ break;
+ case 3:
+ if ($id) {
+ $data1 = $this->em->getRepository(VVTRisiken::class)->find($id);
+ } else {
+ $data1 = new VVTRisiken();
+ }
+ break;
+ case 4:
+ if ($id) {
+ $data1 = $this->em->getRepository(VVTGrundlage::class)->find($id);
+ } else {
+ $data1 = new VVTGrundlage();
+ }
+ break;
+ case 5:
+ if ($id) {
+ $data1 = $this->em->getRepository(Produkte::class)->find($id);
+ } else {
+ $data1 = new Produkte();
+ }
+ break;
+ case 6:
+ if ($id) {
+ $data1 = $this->em->getRepository(VVTStatus::class)->find($id);
+ } else {
+ $data1 = new VVTStatus();
+ }
+ break;
+ case 11:
+ if ($id) {
+ $data1 = $this->em->getRepository(DatenweitergabeGrundlagen::class)->find($id);
+ } else {
+ $data1 = new DatenweitergabeGrundlagen();
+ }
+ break;
+ case 12:
+ if ($id) {
+ $data1 = $this->em->getRepository(DatenweitergabeStand::class)->find($id);
+ } else {
+ $data1 = new DatenweitergabeStand();
+ }
+ break;
+ case 21:
+ if ($id) {
+ $data1 = $this->em->getRepository(AuditTomZiele::class)->find($id);
+ } else {
+ $data1 = new AuditTomZiele();
+ }
+ break;
+ default:
+
+ break;
+
+ }
+
+ $data1->setActiv(true);
+ $data1->setTeam($team);
+
+ return $data1;
+ }
+
+ public function delete($type, $id): ?object
+ {
+ switch ($type) {
+ case 1:
+ $data = $this->em->getRepository(VVTPersonen::class)->findOneBy(array('id' => $id));
+ break;
+ case 2:
+ $data = $this->em->getRepository(VVTDatenkategorie::class)->findOneBy(array('id' => $id));
+ break;
+ case 3:
+ $data = $this->em->getRepository(VVTRisiken::class)->findOneBy(array('id' => $id));
+ break;
+ case 4:
+ $data = $this->em->getRepository(VVTGrundlage::class)->findOneBy(array('id' => $id));
+ break;
+ case 5:
+ $data = $this->em->getRepository(Produkte::class)->findOneBy(array('id' => $id));
+ break;
+ case 6:
+ $data = $this->em->getRepository(VVTStatus::class)->findOneBy(array('id' => $id));
+ break;
+ case 11:
+ $data = $this->em->getRepository(DatenweitergabeGrundlagen::class)->findOneBy(array('id' => $id));
+ break;
+ case 12:
+ $data = $this->em->getRepository(DatenweitergabeStand::class)->findOneBy(array('id' => $id));
+ break;
+ case 21:
+ $data = $this->em->getRepository(AuditTomZiele::class)->findOneBy(array('id' => $id));
+ break;
+
+ default:
+ break;
+
+ }
+
+ return $data;
+ }
+
+ public function show(Team $team): array
{
$data = array();
$id = 1;
$data1 = $this->em->getRepository(VVTPersonen::class)->findBy(array('activ' => true));
- $data[$id]['title'] = $this->translator->trans('Personengruppen');
- $data[$id]['titleNew'] = $this->translator->trans('Neues Personengruppe hinzufügen');
- $data[$id]['titleEdit'] = $this->translator->trans('Personengruppe bearbeiten');
+ $data[$id]['title'] = $this->translator->trans(id: 'groupOfPeople.word', domain: 'service');
+ $data[$id]['titleNew'] = $this->translator->trans(id: 'groupOfPeople.add', domain: 'service');
+ $data[$id]['titleEdit'] = $this->translator->trans(id: 'groupOfPeople.edit', domain: 'service');
$data[$id]['newLink'] = $this->router->generate('team_custom_create', ['title' => $data[$id]['titleNew'], 'type' => $id]);
$data[$id]['type'] = $id;
foreach ($data1 as $item) {
@@ -64,9 +181,9 @@ function show(Team $team)
$id = 3;
$data1 = $this->em->getRepository(VVTRisiken::class)->findBy(array('activ' => true));
- $data[$id]['title'] = $this->translator->trans('Risiken der Verarbeitung');
- $data[$id]['titleNew'] = $this->translator->trans('Neues Risiko hinzufügen');
- $data[$id]['titleEdit'] = $this->translator->trans('Risiko bearbeiten');
+ $data[$id]['title'] = $this->translator->trans(id: 'risk.processing', domain: 'service');
+ $data[$id]['titleNew'] = $this->translator->trans(id: 'risk.new', domain: 'service');
+ $data[$id]['titleEdit'] = $this->translator->trans(id: 'risk.edit', domain: 'service');
$data[$id]['newLink'] = $this->router->generate('team_custom_create', ['title' => $data[$id]['titleNew'], 'type' => $id]);
foreach ($data1 as $item) {
if ($item->getTeam() === $team || $item->getTeam() === null) {
@@ -83,9 +200,9 @@ function show(Team $team)
$id = 4;
$data1 = $this->em->getRepository(VVTGrundlage::class)->findBy(array('activ' => true));
- $data[$id]['title'] = $this->translator->trans('Gesetzliche Grundlagen für die Verarbeitungen');
- $data[$id]['titleNew'] = $this->translator->trans('Gesetzliche Grundlage hinzufügen');
- $data[$id]['titleEdit'] = $this->translator->trans('Gesetzliche Grundlage bearbeiten');
+ $data[$id]['title'] = $this->translator->trans(id: 'legalBase.word', domain: 'service');
+ $data[$id]['titleNew'] = $this->translator->trans(id: 'legalBase.add', domain: 'service');
+ $data[$id]['titleEdit'] = $this->translator->trans(id: 'legalBase.edit', domain: 'service');
$data[$id]['newLink'] = $this->router->generate('team_custom_create', ['title' => $data[$id]['titleNew'], 'type' => $id]);
foreach ($data1 as $item) {
if ($item->getTeam() === $team || $item->getTeam() === null) {
@@ -102,9 +219,9 @@ function show(Team $team)
$id = 5;
$data1 = $this->em->getRepository(Produkte::class)->findBy(array('activ' => true));
- $data[$id]['title'] = $this->translator->trans('Produkte /Projekte');
- $data[$id]['titleNew'] = $this->translator->trans('Produkt /Projekt hinzufügen');
- $data[$id]['titleEdit'] = $this->translator->trans('Produkt /Projekt bearbeiten');
+ $data[$id]['title'] = $this->translator->trans(id: 'product.word', domain: 'service');
+ $data[$id]['titleNew'] = $this->translator->trans(id: 'product.add', domain: 'service');
+ $data[$id]['titleEdit'] = $this->translator->trans(id: 'product.edit', domain: 'service');
$data[$id]['newLink'] = $this->router->generate('team_custom_create', ['title' => $data[$id]['titleNew'], 'type' => $id]);
foreach ($data1 as $item) {
if ($item->getTeam() === $team || $item->getTeam() === null) {
@@ -122,9 +239,9 @@ function show(Team $team)
$id = 6;
$data1 = $this->em->getRepository(VVTStatus::class)->findBy(array('activ' => true));
- $data[$id]['title'] = $this->translator->trans('VVT Status');
- $data[$id]['titleNew'] = $this->translator->trans('VVT Status hinzufügen');
- $data[$id]['titleEdit'] = $this->translator->trans('VVT Status bearbeiten');
+ $data[$id]['title'] = $this->translator->trans(id: 'processingState.word', domain: 'service');
+ $data[$id]['titleNew'] = $this->translator->trans(id: 'processingState.add', domain: 'service');
+ $data[$id]['titleEdit'] = $this->translator->trans(id: 'processingState.edit', domain: 'service');
$data[$id]['newLink'] = $this->router->generate('team_custom_create', ['title' => $data[$id]['titleNew'], 'type' => $id]);
foreach ($data1 as $item) {
if ($item->getTeam() === $team || $item->getTeam() === null) {
@@ -141,9 +258,9 @@ function show(Team $team)
$id = 11;
$data1 = $this->em->getRepository(DatenweitergabeGrundlagen::class)->findBy(array('activ' => true));
- $data[$id]['title'] = $this->translator->trans('Grundlage für Datenweitergaben');
- $data[$id]['titleNew'] = $this->translator->trans('Grundlage hinzufügen');
- $data[$id]['titleEdit'] = $this->translator->trans('Grundlage bearbeiten');
+ $data[$id]['title'] = $this->translator->trans(id: 'dataTransfer.base.word', domain: 'service');
+ $data[$id]['titleNew'] = $this->translator->trans(id: 'dataTransfer.base.add', domain: 'service');
+ $data[$id]['titleEdit'] = $this->translator->trans(id: 'dataTransfer.base.edit', domain: 'service');
$data[$id]['newLink'] = $this->router->generate('team_custom_create', ['title' => $data[$id]['titleNew'], 'type' => $id]);
foreach ($data1 as $item) {
if ($item->getTeam() === $team || $item->getTeam() === null) {
@@ -160,9 +277,9 @@ function show(Team $team)
$id = 12;
$data1 = $this->em->getRepository(DatenweitergabeStand::class)->findBy(array('activ' => true));
- $data[$id]['title'] = $this->translator->trans('Stände in Datenweitergaben');
- $data[$id]['titleNew'] = $this->translator->trans('Stand hinzufügen');
- $data[$id]['titleEdit'] = $this->translator->trans('Stand bearbeiten');
+ $data[$id]['title'] = $this->translator->trans(id: 'dataTransfer.state.word', domain: 'service');
+ $data[$id]['titleNew'] = $this->translator->trans(id: 'dataTransfer.state.add', domain: 'service');
+ $data[$id]['titleEdit'] = $this->translator->trans(id: 'dataTransfer.state.edit', domain: 'service');
$data[$id]['newLink'] = $this->router->generate('team_custom_create', ['title' => $data[$id]['titleNew'], 'type' => $id]);
foreach ($data1 as $item) {
if ($item->getTeam() === $team || $item->getTeam() === null) {
@@ -180,9 +297,9 @@ function show(Team $team)
$id = 21;
$data1 = $this->em->getRepository(AuditTomZiele::class)->findBy(array('activ' => true));
- $data[$id]['title'] = $this->translator->trans('Schutzziele für Audits');
- $data[$id]['titleNew'] = $this->translator->trans('Schutzziel hinzufügen');
- $data[$id]['titleEdit'] = $this->translator->trans('Schutzziel bearbeiten');
+ $data[$id]['title'] = $this->translator->trans(id: 'auditGoal.word', domain: 'service');
+ $data[$id]['titleNew'] = $this->translator->trans(id: 'auditGoal.add', domain: 'service');
+ $data[$id]['titleEdit'] = $this->translator->trans(id: 'auditGoal.edit', domain: 'service');
$data[$id]['newLink'] = $this->router->generate('team_custom_create', ['title' => $data[$id]['titleNew'], 'type' => $id]);
foreach ($data1 as $item) {
if ($item->getTeam() === $team || $item->getTeam() === null) {
@@ -198,124 +315,6 @@ function show(Team $team)
}
- return $data;
- }
-
- function create($type, $id, Team $team)
- {
- switch ($type) {
- case 1:
- if ($id) {
- $data1 = $this->em->getRepository(VVTPersonen::class)->find($id);
- } else {
- $data1 = new VVTPersonen();
- }
- break;
- case 2:
- if ($id) {
- $data1 = $this->em->getRepository(VVTDatenkategorie::class)->find($id);
- } else {
- $data1 = new VVTDatenkategorie();
- }
- break;
- case 3:
- if ($id) {
- $data1 = $this->em->getRepository(VVTRisiken::class)->find($id);
- } else {
- $data1 = new VVTRisiken();
- }
- break;
- case 4:
- if ($id) {
- $data1 = $this->em->getRepository(VVTGrundlage::class)->find($id);
- } else {
- $data1 = new VVTGrundlage();
- }
- break;
- case 5:
- if ($id) {
- $data1 = $this->em->getRepository(Produkte::class)->find($id);
- } else {
- $data1 = new Produkte();
- }
- break;
- case 6:
- if ($id) {
- $data1 = $this->em->getRepository(VVTStatus::class)->find($id);
- } else {
- $data1 = new VVTStatus();
- }
- break;
- case 11:
- if ($id) {
- $data1 = $this->em->getRepository(DatenweitergabeGrundlagen::class)->find($id);
- } else {
- $data1 = new DatenweitergabeGrundlagen();
- }
- break;
- case 12:
- if ($id) {
- $data1 = $this->em->getRepository(DatenweitergabeStand::class)->find($id);
- } else {
- $data1 = new DatenweitergabeStand();
- }
- break;
- case 21:
- if ($id) {
- $data1 = $this->em->getRepository(AuditTomZiele::class)->find($id);
- } else {
- $data1 = new AuditTomZiele();
- }
- break;
- default:
-
- break;
-
- }
-
- $data1->setActiv(true);
- $data1->setTeam($team);
-
- return $data1;
- }
-
-
- function delete($type, $id)
- {
- switch ($type) {
- case 1:
- $data = $this->em->getRepository(VVTPersonen::class)->findOneBy(array('id' => $id));
- break;
- case 2:
- $data = $this->em->getRepository(VVTDatenkategorie::class)->findOneBy(array('id' => $id));
- break;
- case 3:
- $data = $this->em->getRepository(VVTRisiken::class)->findOneBy(array('id' => $id));
- break;
- case 4:
- $data = $this->em->getRepository(VVTGrundlage::class)->findOneBy(array('id' => $id));
- break;
- case 5:
- $data = $this->em->getRepository(Produkte::class)->findOneBy(array('id' => $id));
- break;
- case 6:
- $data = $this->em->getRepository(VVTStatus::class)->findOneBy(array('id' => $id));
- break;
- case 11:
- $data = $this->em->getRepository(DatenweitergabeGrundlagen::class)->findOneBy(array('id' => $id));
- break;
- case 12:
- $data = $this->em->getRepository(DatenweitergabeStand::class)->findOneBy(array('id' => $id));
- break;
- case 21:
- $data = $this->em->getRepository(AuditTomZiele::class)->findOneBy(array('id' => $id));
- break;
-
- default:
- break;
-
- }
-
return $data;
}
}
diff --git a/src/Service/TomService.php b/src/Service/TomService.php
index ba7ef0b9..b9d4f8e5 100644
--- a/src/Service/TomService.php
+++ b/src/Service/TomService.php
@@ -12,6 +12,7 @@
use App\Entity\Team;
use App\Entity\Tom;
use App\Entity\User;
+use DateTime;
use Doctrine\ORM\EntityManagerInterface;
@@ -24,22 +25,11 @@ public function __construct(EntityManagerInterface $entityManager)
$this->em = $entityManager;
}
- function newTom(Team $team, User $user)
- {
- $tom = new Tom();
- $tom->setTeam($team);
- $tom->setActiv(true);
- $tom->setCreatedAt(new \DateTime());
- $tom->setUser($user);
-
- return $tom;
- }
-
function cloneTom(Tom $tom, User $user)
{
$newTom = clone $tom;
$newTom->setPrevious($tom);
- $newTom->setCreatedAt(new \DateTime());
+ $newTom->setCreatedAt(new DateTime());
$newTom->setUser($user);
foreach ($tom->getVvts() as $vvt) {
if ($vvt->getActiv()) {
@@ -49,4 +39,15 @@ function cloneTom(Tom $tom, User $user)
}
return $newTom;
}
+
+ function newTom(Team $team, User $user)
+ {
+ $tom = new Tom();
+ $tom->setTeam($team);
+ $tom->setActiv(true);
+ $tom->setCreatedAt(new DateTime());
+ $tom->setUser($user);
+
+ return $tom;
+ }
}
diff --git a/src/Service/VVTDatenkategorieService.php b/src/Service/VVTDatenkategorieService.php
index 8cee1c49..08e83cee 100644
--- a/src/Service/VVTDatenkategorieService.php
+++ b/src/Service/VVTDatenkategorieService.php
@@ -4,12 +4,12 @@
namespace App\Service;
-use App\Entity\VVT;
-use App\Entity\VVTDatenkategorie;
use App\Entity\Loeschkonzept;
use App\Entity\Team;
use App\Entity\User;
+use App\Entity\VVTDatenkategorie;
use App\Form\Type\VVTDatenkategorieType;
+use DateTimeImmutable;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\Form\FormFactoryInterface;
@@ -25,30 +25,11 @@ public function __construct(EntityManagerInterface $entityManager, FormFactoryIn
$this->formBuilder = $formBuilder;
}
- function createForm(VVTDatenkategorie $vVTDatenkategorie, Team $team)
- {
- $form = $this->formBuilder->create(VVTDatenkategorieType::class, $vVTDatenkategorie);
-
- return $form;
- }
-
- function newVVTDatenkategorie(Team $team, User $user)
- {
- $vVTDatenkategorie = new VVTDatenkategorie();
- $vVTDatenkategorie->setTeam($team);
- $vVTDatenkategorie->setCreatedAt(new \DateTimeImmutable());
- $vVTDatenkategorie->setActiv(true);
- $vVTDatenkategorie->setUser($user);
-
- return $vVTDatenkategorie;
- }
-
-
function cloneVVTDatenkategorie(VVTDatenkategorie $vVTDatenkategorie)
{
$newVVTDatenkategorie = clone $vVTDatenkategorie;
$newVVTDatenkategorie->setPrevious($vVTDatenkategorie);
- $newVVTDatenkategorie->setCreatedAt(new \DateTimeImmutable());
+ $newVVTDatenkategorie->setCreatedAt(new DateTimeImmutable());
$newVVTDatenkategorie->setActiv(true);
return $newVVTDatenkategorie;
}
@@ -58,7 +39,7 @@ function createChild(VVTDatenkategorie $vVTDatenkategorie)
//first we clone the datenkategorie
$childVVTDatenkategorie = new VVTDatenkategorie();
$childVVTDatenkategorie->setCloneOf($vVTDatenkategorie);
- $childVVTDatenkategorie->setCreatedAt(new \DateTimeImmutable())
+ $childVVTDatenkategorie->setCreatedAt(new DateTimeImmutable())
->setPrevious(null)
->setName($vVTDatenkategorie->getName())
->setDatenarten($vVTDatenkategorie->getDatenarten())
@@ -69,7 +50,7 @@ function createChild(VVTDatenkategorie $vVTDatenkategorie)
// we clone the löschkonzept
$loeschkonzept = $vVTDatenkategorie->getLastLoeschkonzept();
if ($loeschkonzept) {
- $childLoeschkonzept =new Loeschkonzept();
+ $childLoeschkonzept = new Loeschkonzept();
$childLoeschkonzept->setUser($loeschkonzept->getUser())
->setTeam($loeschkonzept->getTeam())
->setPrevious(null)
@@ -77,7 +58,7 @@ function createChild(VVTDatenkategorie $vVTDatenkategorie)
->setUser($loeschkonzept->getUser())
->setActiv(false)
->setBeschreibung($loeschkonzept->getBeschreibung())
- ->setCreateAt(new \DateTimeImmutable())
+ ->setCreateAt(new DateTimeImmutable())
->setLoeschbeauftragter($loeschkonzept->getLoeschbeauftragter())
->setLoeschfrist($loeschkonzept->getLoeschfrist())
->setSpeicherorte($loeschkonzept->getSpeicherorte())
@@ -88,6 +69,13 @@ function createChild(VVTDatenkategorie $vVTDatenkategorie)
return $childVVTDatenkategorie;
}
+ function createForm(VVTDatenkategorie $vVTDatenkategorie, Team $team)
+ {
+ $form = $this->formBuilder->create(VVTDatenkategorieType::class, $vVTDatenkategorie);
+
+ return $form;
+ }
+
function findLatestKategorie(VVTDatenkategorie $VVTDatenkategorie): ?VVTDatenkategorie
{
$act = $VVTDatenkategorie;
@@ -101,4 +89,15 @@ function findLatestKategorie(VVTDatenkategorie $VVTDatenkategorie): ?VVTDatenkat
}
-}
\ No newline at end of file
+ function newVVTDatenkategorie(Team $team, User $user)
+ {
+ $vVTDatenkategorie = new VVTDatenkategorie();
+ $vVTDatenkategorie->setTeam($team);
+ $vVTDatenkategorie->setCreatedAt(new DateTimeImmutable());
+ $vVTDatenkategorie->setActiv(true);
+ $vVTDatenkategorie->setUser($user);
+
+ return $vVTDatenkategorie;
+ }
+
+}
diff --git a/src/Service/VVTService.php b/src/Service/VVTService.php
index 87a5ad37..45d6194e 100644
--- a/src/Service/VVTService.php
+++ b/src/Service/VVTService.php
@@ -24,6 +24,7 @@
use App\Entity\VVTRisiken;
use App\Entity\VVTStatus;
use App\Form\Type\VVTType;
+use DateTime;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\Form\FormFactoryInterface;
@@ -39,16 +40,16 @@ public function __construct(EntityManagerInterface $entityManager, FormFactoryIn
$this->formBuilder = $formBuilder;
}
- function newVvt(Team $team, User $user)
+ function cloneDsfa(VVTDsfa $dsfa, User $user)
{
- $vvt = new VVT();
- $vvt->setTeam($team);
- $vvt->setNummer('VVT-' . hexdec(uniqid()));
- $vvt->setCreatedAt(new \DateTime());
- $vvt->setActiv(true);
- $vvt->setUser($user);
+ $newDsfa = clone $dsfa;
+ $newDsfa->setPrevious($dsfa);
+ $newDsfa->setVvt($dsfa->getVvt());
+ $newDsfa->setActiv(true);
+ $newDsfa->setCreatedAt(new DateTime());
+ $newDsfa->setUser($user);
- return $vvt;
+ return $newDsfa;
}
function cloneVvt(VVT $vvt, User $user)
@@ -57,13 +58,13 @@ function cloneVvt(VVT $vvt, User $user)
$newVvt->setPrevious($vvt);
$newVvt->setActiv(true);
$newVvt->setUser($user);
- $newVvt->setCreatedAt(new \DateTime());
+ $newVvt->setCreatedAt(new DateTime());
return $newVvt;
}
function createForm(VVT $VVT, Team $team)
{
- $status = $this->em->getRepository(VVTStatus::class)->findActivByTeam($team);
+ $status = $this->em->getRepository(VVTStatus::class)->findActiveByTeam($team);
$personen = $this->em->getRepository(VVTPersonen::class)->findByTeam($team);
$kategorien = $this->em->getRepository(VVTDatenkategorie::class)->findByTeam($team);
$risiken = $this->em->getRepository(VVTRisiken::class)->findByTeam($team);
@@ -71,10 +72,22 @@ function createForm(VVT $VVT, Team $team)
$daten = $this->em->getRepository(Datenweitergabe::class)->findBy(array('team' => $team, 'activ' => true));
$tom = $this->em->getRepository(Tom::class)->findBy(array('team' => $team, 'activ' => true));
$abteilung = $this->em->getRepository(AuditTomAbteilung::class)->findBy(array('team' => $team, 'activ' => true));
- $produkte = $this->em->getRepository(Produkte::class)->findActivByTeam($team);
- $software = $this->em->getRepository(Software::class)->findActivByTeam($team);
-
- $form = $this->formBuilder->create(VVTType::class, $VVT, ['personen' => $personen, 'kategorien' => $kategorien, 'risiken' => $risiken, 'status' => $status, 'grundlage' => $grundlagen, 'user' => $team->getMembers(), 'daten' => $daten, 'tom' => $tom, 'abteilung' => $abteilung, 'produkte' => $produkte, 'software' => $software]);
+ $produkte = $this->em->getRepository(Produkte::class)->findActiveByTeam($team);
+ $software = $this->em->getRepository(Software::class)->findActiveByTeam($team);
+
+ $form = $this->formBuilder->create(VVTType::class, $VVT, [
+ 'personen' => $personen,
+ 'kategorien' => $kategorien,
+ 'risiken' => $risiken,
+ 'status' => $status,
+ 'grundlage' => $grundlagen,
+ 'user' => $team->getMembers(),
+ 'daten' => $daten,
+ 'tom' => $tom,
+ 'abteilung' => $abteilung,
+ 'produkte' => $produkte,
+ 'software' => $software
+ ]);
return $form;
}
@@ -83,22 +96,22 @@ function newDsfa(Team $team, User $user, VVT $vvt)
{
$dsfa = new VVTDsfa();
$dsfa->setVvt($vvt);
- $dsfa->setCreatedAt(new \DateTime());
+ $dsfa->setCreatedAt(new DateTime());
$dsfa->setActiv(true);
$dsfa->setUser($user);
return $dsfa;
}
- function cloneDsfa(VVTDsfa $dsfa, User $user)
+ function newVvt(Team $team, User $user)
{
- $newDsfa = clone $dsfa;
- $newDsfa->setPrevious($dsfa);
- $newDsfa->setVvt($dsfa->getVvt());
- $newDsfa->setActiv(true);
- $newDsfa->setCreatedAt(new \DateTime());
- $newDsfa->setUser($user);
+ $vvt = new VVT();
+ $vvt->setTeam($team);
+ $vvt->setNummer('VVT-' . hexdec(uniqid()));
+ $vvt->setCreatedAt(new DateTime());
+ $vvt->setActiv(true);
+ $vvt->setUser($user);
- return $newDsfa;
+ return $vvt;
}
}
diff --git a/src/Service/VorfallService.php b/src/Service/VorfallService.php
index 409b2a36..32bc181e 100644
--- a/src/Service/VorfallService.php
+++ b/src/Service/VorfallService.php
@@ -15,6 +15,7 @@
use App\Entity\VVTDatenkategorie;
use App\Entity\VVTPersonen;
use App\Form\Type\VorfallType;
+use DateTime;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\Form\FormFactoryInterface;
@@ -30,26 +31,13 @@ public function __construct(EntityManagerInterface $entityManager, FormFactoryIn
$this->formBuilder = $formBuilder;
}
- function newVorfall(Team $team, User $user)
- {
- $vorfall = new Vorfall();
- $vorfall->setTeam($team);
- $vorfall->setActiv(true);
- $vorfall->setNummer(uniqid());
- $vorfall->setCreatedAt(new \DateTime());
- $vorfall->setUser($user);
- $vorfall->setDatum(new \DateTime());
-
- return $vorfall;
- }
-
function cloneVorfall(Vorfall $input, User $user)
{
$data = clone $input;
$data->setPrevious($input);
$data->setActiv(true);
$data->setUser($user);
- $data->setCreatedAt(new \DateTime());
+ $data->setCreatedAt(new DateTime());
return $data;
}
@@ -62,4 +50,17 @@ function createForm(Vorfall $vorfall, Team $team)
return $form;
}
+
+ function newVorfall(Team $team, User $user)
+ {
+ $vorfall = new Vorfall();
+ $vorfall->setTeam($team);
+ $vorfall->setActiv(true);
+ $vorfall->setNummer(uniqid());
+ $vorfall->setCreatedAt(new DateTime());
+ $vorfall->setUser($user);
+ $vorfall->setDatum(new DateTime());
+
+ return $vorfall;
+ }
}
diff --git a/symfony.lock b/symfony.lock
index 79a36ba1..bfd8884d 100644
--- a/symfony.lock
+++ b/symfony.lock
@@ -99,9 +99,6 @@
"guzzlehttp/psr7": {
"version": "1.7.0"
},
- "h2entwicklung/doctrine-encrypt-bundle": {
- "version": "4.0.6"
- },
"jms/metadata": {
"version": "2.1.0"
},
@@ -141,6 +138,9 @@
"lorenzo/pinky": {
"version": "1.0.5"
},
+ "michaeldegroot/doctrine-encrypt-bundle": {
+ "version": "v5.1.0"
+ },
"monolog/monolog": {
"version": "1.25.3"
},
@@ -174,18 +174,6 @@
"./config/packages/oneup_flysystem.yaml"
]
},
- "paragonie/constant_time_encoding": {
- "version": "v2.4.0"
- },
- "paragonie/halite": {
- "version": "v4.8.0"
- },
- "paragonie/hidden-string": {
- "version": "v2.0.0"
- },
- "paragonie/sodium_compat": {
- "version": "v1.17.0"
- },
"pclzip/pclzip": {
"version": "2.8.2"
},
@@ -583,9 +571,6 @@
"symfony/polyfill-php80": {
"version": "v1.17.0"
},
- "symfony/polyfill-php81": {
- "version": "v1.23.0"
- },
"symfony/process": {
"version": "v4.4.8"
},
diff --git a/templates/akademie/index.html.twig b/templates/akademie/index.html.twig
index 6441d52d..ffe871a8 100644
--- a/templates/akademie/index.html.twig
+++ b/templates/akademie/index.html.twig
@@ -1,30 +1,66 @@
{% extends 'base.html.twig' %}
+{% trans_default_domain 'academy' %}
{% block body %}
- Akademie Kurse
+ {% trans %}academyCourses{% endtrans %}
#
- Titel
- Zugewiesen
- Startdatum
- Abgeschlossen
+ {% trans from 'general' %}title{% endtrans %}
+ {% trans %}assigned{% endtrans %}
+ {% trans %}startDate{% endtrans %}
+ {% trans from 'general' %}state{% endtrans %}
+ {% trans from 'general' %}action.words{% endtrans %}
{% for b in buchungen %}
-
+
{{ b.id }}
- {% if b.zugewiesen > today %}Automatische Wiedervorlage noch nicht geöffnet{% else %}{{ b.kurs.title }} (id: {{ b.kurs.id }}){% endif %}
+
+ {% if b.zugewiesen > today %}
+ {% trans %}noAutomaticResubmission{% endtrans %}
+ {% else %}
+ {{ b.kurs.title }} (id: {{ b.kurs.id }})
+ {% endif %}
+
{{ b.zugewiesen|date('d.m.Y') }}
{{ b.start|date('d.m.Y') }}
- {% if b.abgeschlossen %}
- Zertifikat {% else %}Nein{% endif %}
+
+ {% if b.participations[0].state == 'finished' %}
+ {% if b.participations[0].passed %}
+
+ {% trans from 'questionnaire' %}passed{% endtrans %}
+
+ {% else %}
+
+ {% trans from 'questionnaire' %}retry{% endtrans %}
+
+ {% endif %}
+ {% else %}
+ {{ b.participations[0].state }}
+ {% endif %}
+
+
+ {% if b.participations[0].state == 'ongoing' %}
+ {% trans from 'general' %}continue{% endtrans %}
+ {% else %}
+ {% if b.zugewiesen < today and b.user.akademieUser in b.kurs.team and b.participations[0].state == 'assigned' %}
+
+ {% trans from 'general' %}start{% endtrans %}
+
+ {% else %}
+ {% trans from 'general' %}finished{% endtrans %}
+ {% endif %}
+ {% endif %}
+
{% endfor %}
diff --git a/templates/akademie/kurs.html.twig b/templates/akademie/kurs.html.twig
index ebc36c5e..53df647d 100644
--- a/templates/akademie/kurs.html.twig
+++ b/templates/akademie/kurs.html.twig
@@ -1,23 +1,23 @@
{% extends 'base.html.twig' %}
+{% trans_default_domain 'academy' %}
{% block body %}
{{ kurs.title }}
{% if kurs.type == 0 %}
- {% if not buchung.abgeschlossen %}
Dieses Video kann nicht gestoppt werden. Am
- Ende des Videos können Sie den Kurs als abgeschlossen markieren.
{% endif %}
+ {% if not buchung.abgeschlossen %}
{% trans %}video.uninterruptible{% endtrans %}
{% endif %}
- Ihr Browser kann dieses Video nicht wiedergeben.
+ {% trans %}video.browserError{% endtrans %}
{% elseif kurs.type == 1 %}
-
Dieses Video wird von Vimeo gestreamt.
+
{% trans %}video.vimeo{% endtrans %}
@@ -30,25 +30,23 @@
- Sie haben diesen Kurs komplett angeschaut. Klicken Sie auf den Button "Kurs
- abschließen" um Ihren Abschluss an Ihren Datenschutzbeauftragen zu melden.
+ {% trans %}lesson.disclaimer.finish{% endtrans %}
- Nach Anschluss des Kurses können Sie das Video erneut, diesmal mit Pausieren und
- Vorspulen, anschauen.
+ {% trans %}lesson.disclaimer.repeat{% endtrans %}
@@ -66,7 +64,7 @@
+
+
diff --git a/templates/base/__sidenav.html.twig b/templates/base/__sidenav.html.twig
index cc113e9b..eb035543 100644
--- a/templates/base/__sidenav.html.twig
+++ b/templates/base/__sidenav.html.twig
@@ -1,106 +1,131 @@
+{% trans_default_domain 'base' %}
+
- Technisch und organisatorische Massnahmen nach Art. 32 DSGVO, § 62 BDSG - {{ team.name }}
+ {% trans %}lawParagraph.technicalAndOrganizationalMeasures.title{% endtrans %} - {{ team.name }}
-
-
Technisch und organisatorische Massnahmen nach Art. 32 DSGVO, § 62 BDSG
+
{% trans %}lawParagraph.technicalAndOrganizationalMeasures.title{% endtrans %}
{{ team.name }} - {{ team.strasse }} - {{ team.plz }} {{ team.stadt }} -
- eMail: {{ team.email }} - Telefon: {{ team.telefon }}
+ {% trans from 'general' %}email{% endtrans %}:
{{ team.email }} -
+ {% trans from 'general' %}phone{% endtrans %}:
{{ team.telefon }}
+
- Im Folgenden werden die technischen und organisatorischen Maßnahmen zur Gewährleistung von Datenschutz
- und
- Datensicherheit festgelegt, die der Auftragnehmer mindestens einzurichten und laufend aufrecht zu
- erhalten
- hat.
+ {% trans %}lawParagraph.technicalAndOrganizationalMeasures.excerpt{% endtrans %}
{% for daten in datenAll %}
{% if not daten.activ %}
-
Historie
+
{% trans from 'general' %}history{% endtrans %}
{% endif %}
-
A. Pseudonymisierung Verschlüsselung (Art. 32 Abs. 1 lit. a) DSGVO)
+
{% trans %}lawParagraph.pseudo.title{% endtrans %}
- {{ include('bericht/__berichtTomItems.html.twig', {'item': daten.tomPseudo}) }}
-
-
B. Vertraulichkeit (Art. 32 Abs. 1 lit. b) DSGVO)
-
1. Zutrittskontrolle
-
Gewährleistung, dass der Zutritt zu den Betriebsarealen und deren Bereichen nur berechtigten Personen
- möglich
- sind:
- {{ include('bericht/__berichtTomItems.html.twig', {'item': daten.tomZutrittskontrolle}) }}
-
-
2. Zugangskontrolle
-
Gewährleistung, dass nur Mitarbeiter der verantwortlichen Stelle oder Arbeitskräfte, die im Rahmen einer
- Auftragsverarbeitung verpflichtet sind, in den hierfür vorgesehenen Aufgabenbereich dürfen und mit
- Benutzeridentifikation entsprechende Daten verarbeiten:
- {{ include('bericht/__berichtTomItems.html.twig', {'item': daten.tomZugangskontrolle}) }}
-
-
3. Zugriffskontrolle
-
Gewährleistung, dass die zur Benutzung eines automatisierten Verarbeitungssystems Berechtigten
- ausschließlich zu den von ihrer Zugangsberechtigung umfassten personenbezogenen Daten Zugriff haben:
- {{ include('bericht/__berichtTomItems.html.twig', {'item': daten.tomZugriffskontrolle}) }}
-
-
4. Benutzerkontrolle
-
Gewährleistung der Verhinderung der Nutzung automatisierter Verarbeitungssysteme mit Hilfe von
- Einrichtungen
- zur Datenübertragung durch Unbefugte:
- {{ include('bericht/__berichtTomItems.html.twig', {'item': daten.tomBenutzerkontrolle}) }}
-
-
5. Speicherkontrolle
-
Verhinderung der unbefugten Eingabe von personenbezogenen Daten sowie der unbefugten Kenntnisnahme,
- Veränderung und Löschung von gespeicherten personenbezogenen Daten:
- {{ include('bericht/__berichtTomItems.html.twig', {'item': daten.tomSpeicherkontrolle}) }}
-
-
6. Trennbarkeit
-
Gewährleistung, dass zu unterschiedlichen Zwecken erhobene personenbezogene Daten getrennt verarbeitet
- werden:
- {{ include('bericht/__berichtTomItems.html.twig', {'item': daten.tomTrennbarkeit}) }}
-
-
C. Integrität (Art. 32 Abs. 1 lit. c) DSGVO)
-
7. Datenintegrität
-
Gewährleistung, dass gespeicherte personenbezogene Daten nicht durch Fehlfunktionen des Systems
- beschädigt
- werden können:
- {{ include('bericht/__berichtTomItems.html.twig', {'item': daten.tomDatenintegritaet}) }}
-
-
8. Transportkontrolle
-
Gewährleistung, dass bei der Übermittlung personenbezogener Daten sowie beim Transport von Datenträgern
- die
- Vertraulichkeit und Integrität der Daten geschützt werden:
- {{ include('bericht/__berichtTomItems.html.twig', {'item': daten.tomtransportkontrolle}) }}
-
-
9. Übertragungskontrolle
-
Gewährleistung, dass überprüft und festgestellt werden kann, an welche Stellen personenbezogene Daten mit
- Hilfe von Einrichtungen zur Datenübertragung übermittelt oder zur Verfügung gestellt wurden oder werden
- können.
- {{ include('bericht/__berichtTomItems.html.twig', {'item': daten.tomUebertragungskontrolle}) }}
-
-
10. Eingabekontrolle
-
Gewährleistung, dass nachträglich überprüft und festgestellt werden kann, welche personenbezogenen Daten
- zu
- welcher Zeit und von wem in automatisierte Verarbeitungssysteme eingegeben oder verändert worden
- sind:
- {{ include('bericht/__berichtTomItems.html.twig', {'item': daten.tomEingabekontrolle}) }}
-
-
11. Zuverlässigkeit
-
Gewährleistung, dass alle Funktionen des Systems zur Verfügung stehen und auftretende Fehlfunktionen
- gemeldet
- werden:
- {{ include('bericht/__berichtTomItems.html.twig', {'item': daten.tomZuverlaessigkeit}) }}
-
-
12. Auftragskontrolle
-
Gewährleistung, dass personenbezogene Daten, die im Auftrag verarbeitet werden, nur entsprechend den
- Weisungen des Auftraggebers verarbeitet werden können:
- {{ include('bericht/__berichtTomItems.html.twig', {'item': daten.tomAuftragskontrolle}) }}
-
-
D. Verfügbarkeit und Belastbarkeit (Art. 32 Abs. 1 lit. c) DSGVO)
-
13. Verfügbarkeitskontrolle
-
Gewährleistung, dass personenbezogene Daten gegen Zerstörung oder Verlust geschützt sind:
- {{ include('bericht/__berichtTomItems.html.twig', {'item': daten.tomVerfuegbarkeitskontrolle}) }}
-
-
14. Wiederherstellbarkeit
-
Gewährleistung, dass eingesetzte Systeme im Störungsfall wiederhergestellt werden können:
- {{ include('bericht/__berichtTomItems.html.twig', {'item': daten.tomWiederherstellbarkeit}) }}
-
-
E. Verfahren zur regelmässigen Überprüfung, Bewertung und Evaluierung (Art. 32 Abs. 1 lit. c)
- DSGVO)
- {{ include('bericht/__berichtTomItems.html.twig', {'item': daten.tomAudit}) }}
+ {{ include('bericht/__berichtTomItems.html.twig', {'item': 1}) }}
+
+
{% trans %}lawParagraph.confidentiality.title{% endtrans %}
+
{% trans %}lawParagraph.entryControl.title{% endtrans %}
+
{% trans %}lawParagraph.entryControl.excerpt{% endtrans %}:
+ {{ include('bericht/__berichtTomItems.html.twig', {'item': 2}) }}
+
+
{% trans %}lawParagraph.entranceControl.title{% endtrans %}
+
{% trans %}lawParagraph.entranceControl.excerpt{% endtrans %}:
+ {{ include('bericht/__berichtTomItems.html.twig', {'item': 3}) }}
+
+
{% trans %}lawParagraph.accessControl.title{% endtrans %}
+
{% trans %}lawParagraph.accessControl.excerpt{% endtrans %}:
+ {{ include('bericht/__berichtTomItems.html.twig', {'item': 4}) }}
+
+
{% trans %}lawParagraph.userControl.title{% endtrans %}
+
{% trans %}lawParagraph.userControl.excerpt{% endtrans %}:
+ {{ include('bericht/__berichtTomItems.html.twig', {'item': 5}) }}
+
+
{% trans %}lawParagraph.saveControl.title{% endtrans %}
+
{% trans %}lawParagraph.saveControl.excerpt{% endtrans %}:
+ {{ include('bericht/__berichtTomItems.html.twig', {'item': 6}) }}
+
+
{% trans %}lawParagraph.separability.title{% endtrans %}
+
{% trans %}lawParagraph.separability.excerpt{% endtrans %}:
+ {{ include('bericht/__berichtTomItems.html.twig', {'item': 7}) }}
+
+
{% trans %}lawParagraph.integrity.title{% endtrans %}
+
{% trans %}lawParagraph.dataIntegrity.title{% endtrans %}
+
{% trans %}lawParagraph.dataIntegrity.excerpt{% endtrans %}:
+ {{ include('bericht/__berichtTomItems.html.twig', {'item': 8}) }}
+
+
{% trans %}lawParagraph.transportControl.title{% endtrans %}
+
{% trans %}lawParagraph.transportControl.excerpt{% endtrans %}:
+ {{ include('bericht/__berichtTomItems.html.twig', {'item': 9}) }}
+
+
{% trans %}lawParagraph.transmissionControl.title{% endtrans %}
+
{% trans %}lawParagraph.transmissionControl.excerpt{% endtrans %}:
+ {{ include('bericht/__berichtTomItems.html.twig', {'item': 10}) }}
+
+
{% trans %}lawParagraph.inputControl.title{% endtrans %}
+
{% trans %}lawParagraph.inputControl.excerpt{% endtrans %}:
+ {{ include('bericht/__berichtTomItems.html.twig', {'item': 11}) }}
+
+
{% trans %}lawParagraph.reliability.title{% endtrans %}
+
{% trans %}lawParagraph.reliability.excerpt{% endtrans %}:
+ {{ include('bericht/__berichtTomItems.html.twig', {'item': 12}) }}
+
+
{% trans %}lawParagraph.requestControl.title{% endtrans %}
+
{% trans %}lawParagraph.requestControl.excerpt{% endtrans %}:
+ {{ include('bericht/__berichtTomItems.html.twig', {'item': 13}) }}
+
+
{% trans %}lawParagraph.availability.title{% endtrans %}
+
{% trans %}lawParagraph.availabilityControl.title{% endtrans %}
+
{% trans %}lawParagraph.availabilityControl.excerpt{% endtrans %}:
+ {{ include('bericht/__berichtTomItems.html.twig', {'item': 14}) }}
+
+
{% trans %}lawParagraph.recoverability.title{% endtrans %}
+
{% trans %}lawParagraph.recoverability.excerpt{% endtrans %}:
+ {{ include('bericht/__berichtTomItems.html.twig', {'item': 15}) }}
+
+
{% trans %}lawParagraph.evaluation.title{% endtrans %}
+ {{ include('bericht/__berichtTomItems.html.twig', {'item': 16}) }}
{{ daten.createdAt|date('d.m.Y H:i') }} by {{ daten.user.email }}
diff --git a/templates/bericht/index.html.twig b/templates/bericht/index.html.twig
index 5a6171f8..f8313308 100644
--- a/templates/bericht/index.html.twig
+++ b/templates/bericht/index.html.twig
@@ -1,124 +1,123 @@
{% extends 'base.html.twig' %}
+{% trans_default_domain 'bericht' %}
{% block CTA %}
-
{% endblock %}
-
{% block body %}
-
Berichte erstellen
+
{% trans %}report.create{% endtrans %}
- {% if app.user.adminUser %}
+ {% if currentTeam in app.user.adminRoles %}
{% endif %}
@@ -130,26 +129,24 @@
-
-
{{ include('base/__snack.html.twig') }}
-{% endblock %}
\ No newline at end of file
+{% endblock %}
diff --git a/templates/bericht/modalView.html.twig b/templates/bericht/modalView.html.twig
index cb158908..d518ad23 100644
--- a/templates/bericht/modalView.html.twig
+++ b/templates/bericht/modalView.html.twig
@@ -1,8 +1,9 @@
+{% trans_default_domein 'bericht' %}
@@ -11,8 +12,7 @@
{{ form_end(form) }}
diff --git a/templates/bericht/policy.html.twig b/templates/bericht/policy.html.twig
index e7445463..c2e1988b 100644
--- a/templates/bericht/policy.html.twig
+++ b/templates/bericht/policy.html.twig
@@ -1,3 +1,4 @@
+{% trans_default_domain 'policies' %}
- Interne Datenschutzrichtlinie
+ {% trans %}internal{% endtrans %}
{% for d in daten %}
diff --git a/templates/bericht/zertifikatAkademie.html.twig b/templates/bericht/zertifikatAkademie.html.twig
index 7ebaf9d3..7482078a 100644
--- a/templates/bericht/zertifikatAkademie.html.twig
+++ b/templates/bericht/zertifikatAkademie.html.twig
@@ -1,3 +1,4 @@
+{% trans_default_domain 'academy' %}
- Zertifikat für den Abschluss einen Datenschutzkurses von der Open-Datenschutz Akademie
+ {% trans %}certification.title{% endtrans %}
-
Zertifikat für den Abschluss einen Datenschutzkurses von der Open-Datenschutz Akademie
+
{% trans %}certification.title{% endtrans %}
{{ team.name }} - {{ team.strasse }} - {{ team.plz }} {{ team.stadt }} -
- eMail: {{ team.email }} - Telefon: {{ team.telefon }}
+ {% trans from 'general' %}email{% endtrans %}:
{{ team.email }} -
+ {% trans from 'general' %}phone{% endtrans %}:
{{ team.telefon }}
+
- Hiermit bestätigen wir, dass {{ user.username }} ({{ user.email }}) den Kurs "{{ daten.kurs.title }}" am {{ daten.ende|date('d.m.Y') }} erfolgreich abgeschlossen hat.
+ {% trans with {
+ '{username}': user.username,
+ '{email}': user.email,
+ '{lessonTitle}': daten.kurs.title,
+ '{finishedAt}': daten.ende|date('d.m.Y')
+ } %}
+ certification.text
+ {% endtrans %}
- Dieses Zertifikat wurde automatisch erstellt.
- Die Gültigkeit kann über die Buchungs ID: -- {{ daten.buchungsID }} -- überprüft werden.
+ {% trans with {'{billingId}': daten.id} |raw %}certification.disclaimer{% endtrans %}
@@ -67,4 +76,4 @@
{{ include('bericht/__berichtFooter.html.twig') }}
-
\ No newline at end of file
+
diff --git a/templates/bundles/FOSUserBundle/Profile/show_content.html.twig b/templates/bundles/FOSUserBundle/Profile/show_content.html.twig
index a5ec8bf2..49f0ddda 100644
--- a/templates/bundles/FOSUserBundle/Profile/show_content.html.twig
+++ b/templates/bundles/FOSUserBundle/Profile/show_content.html.twig
@@ -10,11 +10,11 @@
Letzer Login: {{ user.lastLogin|date('d.m.Y H:i') }} Uhr
- {% if user.team %}
+ {% if currentTeam is defined %}
- Team: {% if user.team %}{{ user.team.name }}{% endif %}
- Akademie: {% if user.akademieuser %}{{ user.akademieuser.name }}{% endif %}
- Team: {% if user.adminUser %}{{ user.adminUser.name }}{% endif %}
+ Team: {% if currentTeam %}{{ currentTeam.name }} {% endif %}
+ Akademie: {% if user.akademieuser %}{{ user.akademieuser.name }} {% endif %}
+ Team: {% if currentTeam in user.adminRoles %}{{ currentTeam.name }}{% endif %}
{% endif %}
diff --git a/templates/bundles/TwigBundle/Exception/error.html.twig b/templates/bundles/TwigBundle/Exception/error.html.twig
index 885fb1d5..52c07556 100644
--- a/templates/bundles/TwigBundle/Exception/error.html.twig
+++ b/templates/bundles/TwigBundle/Exception/error.html.twig
@@ -1,3 +1,4 @@
+{% trans_default_domain 'error' %}
@@ -7,7 +8,7 @@
- Unbekannter {{ 'Fehler'|trans }}
+ {% trans %}unknownError{% endtrans %}
@@ -121,12 +122,15 @@
height: 148px;
margin: 0px auto 10px;
}
+
.notfound .notfound-404 h1 {
font-size: 86px;
}
+
.notfound .notfound-404 h2 {
font-size: 16px;
}
+
.notfound a {
padding: 7px 15px;
font-size: 14px;
@@ -141,10 +145,10 @@
diff --git a/templates/bundles/TwigBundle/Exception/error403.html.twig b/templates/bundles/TwigBundle/Exception/error403.html.twig
index f258f26f..0e2b9a15 100644
--- a/templates/bundles/TwigBundle/Exception/error403.html.twig
+++ b/templates/bundles/TwigBundle/Exception/error403.html.twig
@@ -1,3 +1,4 @@
+{% trans_default_domain 'error' %}
diff --git a/templates/bundles/TwigBundle/Exception/error404.html.twig b/templates/bundles/TwigBundle/Exception/error404.html.twig
index 8ffa121d..93b002ad 100644
--- a/templates/bundles/TwigBundle/Exception/error404.html.twig
+++ b/templates/bundles/TwigBundle/Exception/error404.html.twig
@@ -1,3 +1,4 @@
+{% trans_default_domain 'error' %}
@@ -112,6 +113,7 @@
75% { top: 100px; left: 40%; opacity:0.6; }
100% { top: 10px; left: 45%; opacity: 1; }
}
+
@keyframes smallmove {
0% { top: 10px; left: 45%; opacity: 1; }
25% { top: 300px; left: 40%; opacity:0.7; }
@@ -143,6 +145,7 @@
75% { top: 100px; right: 35%; opacity:0.6; }
100% { top: 0px; right: 4%; opacity: 0.5; }
}
+
@keyframes bigmove {
0% { top: 0px; right: 4%; opacity: 0.5; }
25% { top: 100px; right: 40%; opacity:0.4; }
@@ -153,10 +156,10 @@
- {{ 'Fehler'|trans }}
+ {% trans %}error{% endtrans %}
404
- {% trans %}Seite nicht gefunden{% endtrans %}
+ {% trans %}pageNotFound{% endtrans %}
diff --git a/templates/bundles/TwigBundle/Exception/error500.html.twig b/templates/bundles/TwigBundle/Exception/error500.html.twig
index 3d8bd07a..4f768894 100644
--- a/templates/bundles/TwigBundle/Exception/error500.html.twig
+++ b/templates/bundles/TwigBundle/Exception/error500.html.twig
@@ -1,3 +1,4 @@
+{% trans_default_domain 'error' %}
@@ -7,7 +8,7 @@
-
500 {{ 'Fehler'|trans }}
+
{% trans %}error500{% endtrans %}
@@ -121,12 +122,15 @@
height: 148px;
margin: 0px auto 10px;
}
+
.notfound .notfound-404 h1 {
font-size: 86px;
}
+
.notfound .notfound-404 h2 {
font-size: 16px;
}
+
.notfound a {
padding: 7px 15px;
font-size: 14px;
@@ -141,10 +145,10 @@
diff --git a/templates/client_request/base.html.twig b/templates/client_request/base.html.twig
index d52ba9f6..067f0185 100644
--- a/templates/client_request/base.html.twig
+++ b/templates/client_request/base.html.twig
@@ -1,3 +1,4 @@
+{% trans_default_domain 'client_request' %}
@@ -17,10 +18,9 @@
src="{{ asset('logo.png') }}" style="height: 50px">
diff --git a/templates/client_request/index.html.twig b/templates/client_request/index.html.twig
index 4276d0e7..f7d22e4f 100644
--- a/templates/client_request/index.html.twig
+++ b/templates/client_request/index.html.twig
@@ -1,6 +1,7 @@
{% extends 'client_request/base.html.twig' %}
+{% trans_default_domain 'client_request' %}
-{% block title %}Hello ClientRequestController!{% endblock %}
+{% block title %}{% trans %}greeting{% endtrans %}{% endblock %}
{% block content %}
-
Kundenportal von {{ team.name }}
+
{% trans %}customerPortalOf{% endtrans%} {{ team.name }}
{{ team.name }}
@@ -30,31 +31,30 @@
-
Hier könnne Sie eine neue Anfrage einreichen und Ihre Rechte nach der DSGVO geltend machen.
+
{% trans %}request.create.disclaimer{% endtrans%}
- Tragen Sie alle Daten in das Formular ein.
+ {% trans %}fillInForm{% endtrans%}
- Bestätigen Sie Ihre Email Adresse.
+ {% trans %}confirmEmail{% endtrans%}
- Führen Sie die Indentifikation ihrer Person nach den Vorgaben von {{ team.name }} durch.
+ {% trans with {'{teamName}': team.name} %}identify{% endtrans%}
- Kommunizieren Sie mit {{ team.name }} über eine verschlüsselte Verbindung.
+ {% trans with {'{teamName}': team.name} %}encryptedConnection{% endtrans%}
- Erhalten Sie die Antwort auf Ihre Anfrage.
+ {% trans %}request.response{% endtrans%}
-
Neue Anfrage
- erstellen
+
{% trans %}request.create.link{% endtrans %}
- Suchen Sie nach Ihrer bestehenden Anfrage.
+ {% trans %}request.find{% endtrans%}
{{ form_start(form) }}
@@ -62,60 +62,7 @@
{{ form_end(form) }}
-
-
Ihre Rechte nach der DSGVO
-
- Werden personenbezogene Daten von Ihnen verarbeitet, sind Sie Betroffener i.S.d. DSGVO und es stehen Ihnen
- die nachfolgenden Rechte gegenüber {{ team.name }} (Im Weiteren uns oder wir) als dem Verantwortlichen zu.
-
-
- a) Rechte nach Artikel 15 ff. DSGVO
- Die betroffene Person hat das Recht, von dem Verantwortlichen eine Bestätigung darüber zu verlangen, ob
- sie betreffende personenbezogene Daten verarbeitet werden; ist dies der Fall, so hat sie ein Recht auf
- Auskunft über diese personenbezogenen Daten und auf die in Artikel 15 DSGVO im einzelnen
- aufgeführten
- Informationen. Unter bestimmten gesetzlichen Voraussetzungen haben Sie das Recht auf Berichtigung
- nach
- Artikel 16 DSGVO, das Recht auf Einschränkung der Verarbeitung nach Artikel 18 DSGVO und das Recht
- auf
- Löschung („Recht auf Vergessenwerden“) nach Artikel 17 DSGVO. Für das Recht auf Auskunft und
- Löschung gelten
- ergänzend die §§ 34, 35 BDSG. Zudem haben Sie das Recht auf Herausgabe der von Ihnen bereitgestellten
- Daten
- in einem strukturierten, gängigen und maschinenlesbaren Format (Recht auf Datenübertragbarkeit) nach Artikel
- 20 DSGVO, sofern die Verarbeitung mithilfe automatisierter Verfahren erfolgt und auf einer Einwilligung nach
- Art. 6 Abs. 1 lit. a) oder Art. 9 Abs. 2 lit. a) oder auf einem Vertrag gem. Art. 6 Abs. 1 lit. b) DSGVO
- beruht.
-
-
- b) Widerruf einer Einwilligung nach Art. 7 Abs. 3 DSGVO
- Beruht die Verarbeitung auf einer Einwilligung können Sie die Einwilligung in die Verarbeitung
- personenbezogener Daten jederzeit uns gegenüber widerrufen. Bitte beachten Sie, dass der Widerruf erst für
- die Zukunft wirkt. Verarbeitungen, die vor dem Widerruf erfolgt sind, sind davon nicht betroffen.
-
-
- c) Beschwerderecht
- Sie haben die Möglichkeit, sich mit einer Beschwerde an uns oder an eine Datenschutzaufsichtsbehörde
- zu
- wenden (Artikel 77 DSGVO).
-
-
- d) Widerspruchsrecht nach Artikel 21 DSGVO
- Zusätzlich zu den vorgenannten Rechten, steht Ihnen ein Widerspruchsrecht wie folgt zu:
- Einzelfallbezogenes Widerspruchsrecht
- Sie haben das Recht aus Gründen, die sich aus Ihrer besonderen Situation ergeben, jederzeit gegen die
- Verarbeitung Sie betreffender personenbezogener Daten, die aufgrund von Artikel 6 Abs. 1 S. 1 lit. e) DSGVO
- (Datenverarbeitung im öffentlichen Interesse) und Artikel 6 Abs. 1 S.1 lit. f) DSGVO (Datenverarbeitung auf
- der
- Grundlage einer Interessenabwägung) erfolgt, Widerspruch einzulegen; dies gilt auch für ein auf diese
- Bestimmung
- gestütztes Profiling im Sinne von Artikel 4 Nr. 4 DSGVO. Legen Sie Widerspruch ein, werden wir Ihre
- personenbezogenen Daten nicht mehr verarbeiten, es sei denn, wir können zwingende schutzwürdige Gründe für
- die
- Verarbeitung nachweisen, die Ihre Interessen, Rechte und Freiheiten überwiegen oder die Verarbeitung dient
- der
- Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen.
-
+ {% trans with {'{teamName}': team.name} | raw %}gdpr{% endtrans %}
{{ include('base/__snack.html.twig') }}
{% endblock %}
diff --git a/templates/client_request/indexInternal.html.twig b/templates/client_request/indexInternal.html.twig
index ad350080..59c59007 100644
--- a/templates/client_request/indexInternal.html.twig
+++ b/templates/client_request/indexInternal.html.twig
@@ -1,30 +1,31 @@
{% extends 'base.html.twig' %}
+{% trans_default_domain 'client_request' %}
{% block CTA %}
- {% if team.slug %}
-
- Neues Anfrage anlegen
+ {% if currentTeam.slug %}
+
+ {% trans %}request.create.link{% endtrans %}
-
- Kundenportal
+
+ {% trans %}customerPortal{% endtrans %}
{% endif %}
{% endblock %}
{% block body %}
- Alle Anfragen
+ {% trans %}request.all{% endtrans %}
- UID
- Betreff
- Datum
- Email
- Name
- Grund
- Status
+ {% trans from 'general' %}uuid{% endtrans %}
+ {% trans from 'general' %}regard{% endtrans %}
+ {% trans from 'general' %}date{% endtrans %}
+ {% trans from 'general' %}email{% endtrans %}
+ {% trans from 'general' %}name{% endtrans %}
+ {% trans from 'general' %}reason{% endtrans %}
+ {% trans from 'general' %}state{% endtrans %}
diff --git a/templates/client_request/internalEdit.html.twig b/templates/client_request/internalEdit.html.twig
index fc2ecac1..f0d90630 100644
--- a/templates/client_request/internalEdit.html.twig
+++ b/templates/client_request/internalEdit.html.twig
@@ -1,7 +1,8 @@
{% extends 'base.html.twig' %}
+{% trans_default_domain 'client_request' %}
{% block CTA %}
- Zurück
+ {% trans from 'general' %}back{% endtrans %}
{% endblock %}
{% block body %}
diff --git a/templates/client_request/internalShow.html.twig b/templates/client_request/internalShow.html.twig
index d92c1fbc..311bd46b 100644
--- a/templates/client_request/internalShow.html.twig
+++ b/templates/client_request/internalShow.html.twig
@@ -1,22 +1,23 @@
{% extends 'base.html.twig' %}
+{% trans_default_domain 'client_request' %}
{% block CTA %}
- {% if app.user.adminUser == data.team %}
+ {% if data.team in app.user.adminRoles %}
{{ data.validUser?'Nutzervalidierung rückgängig':'Nutzer ist verifiziert' }}
+ class="btn btn-sm btn-success">{{ (data.validUser?'user.undoValidation':'user.validate') |trans }}
{{ data.activ?'Archivieren':'Wiederherstellen' }}
+ class="btn btn-sm btn-danger">{{ data.activ?'archive':'restore' |trans([], 'general') }}
{% if not data.activ %}
{{ data.open?'Intern schalten':'Öffentlich schalten' }}
+ class="btn btn-sm btn-danger">{{ (data.open?'request.publish.private':'request.publish.public') |trans }}
{% endif %}
Bearbeiten
+ class="btn btn-sm btn-primary">{% trans from 'general' %}edit{% endtrans %}
{% endif %}
Interne Bemerkung bearbeiten
+ class="btn btn-sm btn-primary">{% trans %}editInternalAnnotation{% endtrans %}
- PDF erstellen
+ {% trans from 'general' %}pdf.create{% endtrans %}
{% endblock %}
@@ -25,42 +26,42 @@
{{ data.title }}
{% if not data.activ %}
- {% trans %}Diese Anfrage ist geschlossen.{% endtrans %}
+ {% trans %}request.closed{% endtrans %}
{% endif %}
{% if not data.open %}
- {% trans %}Diese Anfrage ist intern geschalten.{% endtrans %}
+ {% trans %}request.internal{% endtrans %}
{% endif %}
{% if data.pgp %}
- {% trans %}Alle Emails werden mit OpenPGP verschlüsselt verschickt. 🔒 {% endtrans %}
+ {% trans %}openPGP.disclaimer{% endtrans %}
{% endif %}
- {% trans %}Ticket ID{% endtrans %}: {{ data.uuid }}
- {% trans %}Email Adresse{% endtrans %}
+ {% trans %}issueId{% endtrans %}: {{ data.uuid }}
+ {% trans from 'general' %}email{% endtrans %}
: {{ data.email }} {% if data.pgp %}🔒 {% endif %}{% if data.emailValid %}✅{% endif %}
- {% trans %}Name{% endtrans %}
+ {% trans from 'general' %}name{% endtrans %}
: {{ data.name }} {% if data.validUser %}✅ by {{ data.userValidBy.username }}{% endif %}
- {% trans %}Erstellt am{% endtrans %}: {{ data.createdAt|date('d.m.Y H:i') }}
- {% trans %}Grund der Anfrage{% endtrans %}: {{ data.itemstring }}
+ {% trans from 'general' %}createdAt{% endtrans %}: {{ data.createdAt|date('d.m.Y H:i') }}
+ {% trans %}request.reason{% endtrans %}: {{ data.itemstring }}
- {% trans %}Weitere Angaben{% endtrans %}
- {% trans %}Name{% endtrans %}: {{ data.firstname }} {{ data.lastname }}
- {% trans %}Adresse{% endtrans %}: {{ data.street }}, {{ data.city }}
- {% if data.birthday %}{% trans %}Geburtstag{% endtrans %}: {{ data.birthday|date('d.m.Y') }} {% endif %}
+ {% trans from 'general' %}additionalInformation{% endtrans %}
+ {% trans from 'general' %}name{% endtrans %}: {{ data.firstname }} {{ data.lastname }}
+ {% trans from 'general' %}address{% endtrans %}: {{ data.street }}, {{ data.city }}
+ {% if data.birthday %}{% trans from 'general' %}birthday{% endtrans %}: {{ data.birthday|date('d.m.Y') }} {% endif %}
- {% trans %}Beschreibung{% endtrans %}:
+ {% trans from 'general' %}description{% endtrans %}:
{{ data.description|nl2br }}
- {% trans %}Interne Bemerkungen{% endtrans %}:
+ {% trans %}internalAnnotation{% endtrans %}:
{{ data.notes|raw }}
@@ -74,7 +75,7 @@
{% else %}
- {% trans %}Diese Anfrage ist geschlossen.{% endtrans %}
+ {% trans %}request.closed{% endtrans %}
{% endif %}
@@ -90,4 +91,4 @@
{{ include('base/__snack.html.twig') }}
-{% endblock %}
\ No newline at end of file
+{% endblock %}
diff --git a/templates/client_request/new.html.twig b/templates/client_request/new.html.twig
index 1dab6b48..f6c15034 100644
--- a/templates/client_request/new.html.twig
+++ b/templates/client_request/new.html.twig
@@ -1,15 +1,16 @@
{% extends 'client_request/base.html.twig' %}
+{% trans_default_domain 'client_request' %}
{% block title %}
- {% trans %}Datenschutzcenter Kundenportal{% endtrans %}
+ {% trans %}dataPrivacyCenter{% endtrans%} {% trans %}customerPortal{% endtrans %}
{% endblock %}
{% block content %}
{% trans %}Zurück zum Portal{% endtrans %}
+ class="btn btn-primary btn-sm">{% trans %}backToPortal{% endtrans %}
-
{% trans %}Neue Anfrage stellen{% endtrans %}
+
{% trans %}request.create.link{% endtrans %}
{{ form_start(form) }}
{{ form_row(form.title) }}
{{ form_row(form.item) }}
@@ -22,12 +23,12 @@
- {% trans %}Für eine schnelle und unkomplizierte Identifikation, möchten wir Sie darum bitten, uns folgende Daten zur Verifikation mitzuteilen:{% endtrans %}
+ {% trans %}askForVerification{% endtrans %}:
{{ form_row(form.firstname) }}
{{ form_row(form.lastname) }}
diff --git a/templates/client_request/show.html.twig b/templates/client_request/show.html.twig
index ebea233f..0da3e429 100644
--- a/templates/client_request/show.html.twig
+++ b/templates/client_request/show.html.twig
@@ -1,53 +1,50 @@
{% extends 'client_request/base.html.twig' %}
+{% trans_default_domain 'client_request' %}
-{% block title %}Hello ClientRequestController!{% endblock %}
+{% block title %}{% trans %}greeting{% endtrans %}{% endblock %}
{% block content %}
-
Zurück zum Portal
+
{% trans %}backToPortal{% endtrans %}
{{ data.title }}
{% if not data.activ %}
- {% trans %}Diese Anfrage ist geschlossen.{% endtrans %}
+ {% trans %}request.closed{% endtrans %}
{% endif %}
{% if not data.emailValid %}
- {% trans %}ACHTUNG!
- Bevor wir die Anfrage weiter bearbeiten können, müssen Sie die Email Adresse verifizieren. Wir haben
- gerade eine Email mit einem Link an Ihre Email Adresse geschickt. Klicken Sie auf den Link oder
- kopieren diesen in eine Browser und bestätigen Sie Ihre Email Adresse.{% endtrans %}
+ {% trans %}emailVerificationDisclaimer{% endtrans %}
{% endif %}
{% if not data.validUser %}
- {% trans %}WICHTIG!
- Zum aktuellen Zeitpunkt konnten wir Ihre Identidät noch nicht verifizieren. Für uns ist der Datenschutz sehr wichtig. Je nach Grund der Anfrage werden wir Sie bitten weitere Informationen zu Ihrer Person zu liefern, damit wir Ihre Identidät zweifelsfrei feststellen können.{% endtrans %}
+ {% trans %}cannotVerify{% endtrans %}
{% endif %}
{% if data.pgp %}
- {% trans %}Alle Emails werden mit OpenPGP verschlüsselt verschickt. 🔒{% endtrans %}
+ {% trans %}openPGP.disclaimer{% endtrans %}
{% endif %}
- {% trans %}Ticket ID{% endtrans %}: {{ data.uuid }}
- {% trans %}Email Adresse{% endtrans %}
+ {% trans %}issueId{% endtrans %}: {{ data.uuid }}
+ {% trans from 'general' %}email{% endtrans %}
: {{ data.email }} {% if data.pgp %}🔒 {% endif %}{% if data.emailValid %}✅{% endif %}
- {% trans %}Name{% endtrans %}: {{ data.name }} {% if data.validUser %}✅{% endif %}
- {% trans %}Erstellt am{% endtrans %}: {{ data.createdAt|date('d.m.Y H:i') }}
- {% trans %}Grund{% endtrans %}: {{ data.itemstring }}
+ {% trans from 'general' %}name{% endtrans %}: {{ data.name }} {% if data.validUser %}✅{% endif %}
+ {% trans from 'general' %}createdAt{% endtrans %}: {{ data.createdAt|date('d.m.Y H:i') }}
+ {% trans from 'general' %}reason{% endtrans %}: {{ data.itemstring }}
- {% trans %}Weitere Angaben{% endtrans %}
- {% trans %}Name{% endtrans %}: {{ data.firstname }} {{ data.lastname }}
- {% trans %}Adresse{% endtrans %}: {{ data.street }}, {{ data.city }}
- {% if data.birthday %}{% trans %}Geburtstag{% endtrans %}: {{ data.birthday|date('d.m.Y') }}
+ {% trans from 'general' %}additionalInformation{% endtrans %}
+ {% trans from 'general' %}name{% endtrans %}: {{ data.firstname }} {{ data.lastname }}
+ {% trans from 'general' %}address{% endtrans %}: {{ data.street }}, {{ data.city }}
+ {% if data.birthday %}{% trans from 'general' %}birthday{% endtrans %}: {{ data.birthday|date('d.m.Y') }}
{% endif %}
- {% trans %}Beschreibung{% endtrans %}: {{ data.description|nl2br }}
+ {% trans from 'general' %}description{% endtrans %}: {{ data.description|nl2br }}
@@ -61,14 +58,14 @@
{% else %}
- {% trans %}Diese Anfrage ist geschlossen.{% endtrans %}
+ {% trans %}request.closed{% endtrans %}
{% endif %}
- {{ 'Kommentare'|trans }}
+ {% trans from 'general' %}comments{% endtrans %}
{% for c in data.clientComments|sort((b, a) => a.createdAt <=> b.createdAt) %}
diff --git a/templates/dashboard/__assign.html.twig b/templates/dashboard/__assign.html.twig
index e6fe6c65..fba7ba73 100644
--- a/templates/dashboard/__assign.html.twig
+++ b/templates/dashboard/__assign.html.twig
@@ -1,8 +1,9 @@
+{% trans_default_domain 'dashboard' %}
- {{ a.team.name }}: {{ a.beschreibung }}
+ {{ a.vvt.team.name }}: {{ a.beschreibung }}
{{ a.createdAt|date('d.m.Y') }}
@@ -174,10 +175,9 @@
{% endfor %}
-
Alle Zuweisungen
- anzeigen
+
{% trans %}showAllAssignments{% endtrans %}
-
\ No newline at end of file
+
diff --git a/templates/dashboard/__card.html.twig b/templates/dashboard/__card.html.twig
index 073d0cc5..eaa5f8aa 100644
--- a/templates/dashboard/__card.html.twig
+++ b/templates/dashboard/__card.html.twig
@@ -1,3 +1,4 @@
+{% trans_default_domain 'dashboard' %}
-
\ No newline at end of file
+
diff --git a/templates/datenweitergabe/edit.html.twig b/templates/datenweitergabe/edit.html.twig
index 3c343af9..f2622073 100644
--- a/templates/datenweitergabe/edit.html.twig
+++ b/templates/datenweitergabe/edit.html.twig
@@ -1,12 +1,12 @@
{% extends 'base.html.twig' %}
-
+{% trans_default_domain 'datenweitergabe' %}
{% block CTA %}
{% if daten.activ %}
- PDF erstellen
+ {% trans from 'general' %}pdf.create{% endtrans %}
- PDF mit Historie erstellen
+ {% trans from 'general' %}pdf.createWithHistory{% endtrans %}
{{ include('base/__approveBtn.html.twig',{'data':daten,'dataLink':'datenweitergabe_approve'}) }}
{{ include('base/__disableBtn.html.twig',{'data':daten,'dataLink':'datenweitergabe_disable'}) }}
@@ -27,10 +27,10 @@
{{ include('datenweitergabe/__form.html.twig') }}
- Erstellt von: {{ daten.user.email }}
+ {% trans from 'general' %}createdAt{% endtrans %}: {{ daten.user.email }}
{% if daten.previous %}
-
Historie
+ {% trans from 'general' %}history{% endtrans %}
{{ include('datenweitergabe/__history.html.twig', {'p':daten.previous}) }}
{% endif %}
diff --git a/templates/datenweitergabe/index.html.twig b/templates/datenweitergabe/index.html.twig
index 91d0447e..91d241ce 100644
--- a/templates/datenweitergabe/index.html.twig
+++ b/templates/datenweitergabe/index.html.twig
@@ -1,17 +1,17 @@
{% extends 'base.html.twig' %}
-
+{% trans_default_domain 'datenweitergabe' %}
{% block CTA %}
- Datenweitergabe anlegen
+ {% trans %}dataTransfer.create{% endtrans %}
- Info
+ {% trans %}info{% endtrans %}
{% endblock %}
{% block body %}
- {{ include('datenweitergabe/__indexTabel.html.twig') }}
+ {{ include('datenweitergabe/__indexTable.html.twig') }}
-
- {% trans %}
- Die Verarbeitung von Daten im Auftrag kommt in nahezu jedem Unternehmen vor. Sei es durch die Nutzung eines externen Rechenzentrums, die Nutzung einer Dienstleistung, die als sog. Software-as-a-Service (SaaS) erbracht wird, Cloud Computing oder bestimmte Wartungen von IT-Systemen durch technische Dienstleister. In diesen Fällen liegt in der Regel eine Datenweitergabe vor. Und da gilt es besondere Maßnahmen zu treffen, um die Vorgaben der Datenschutz-Grundverordnung (DSGVO) einzuhalten.
- {% endtrans %}
+ {% trans %}dataTransfer.info.text{% endtrans %}
diff --git a/templates/datenweitergabe/indexAuftragsverarbeitung.html.twig b/templates/datenweitergabe/indexAuftragsverarbeitung.html.twig
index 3a01039a..7f3c08a8 100644
--- a/templates/datenweitergabe/indexAuftragsverarbeitung.html.twig
+++ b/templates/datenweitergabe/indexAuftragsverarbeitung.html.twig
@@ -1,17 +1,17 @@
{% extends 'base.html.twig' %}
-
+{% trans_default_domain 'datenweitergabe' %}
{% block CTA %}
- Auftragsverarbeitung anlegen
+ {% trans %}requestProcessing.create{% endtrans %}
- Info
+ {% trans %}info{% endtrans %}
{% endblock %}
{% block body %}
- {{ include('datenweitergabe/__indexTabel.html.twig') }}
+ {{ include('datenweitergabe/__indexTable.html.twig') }}
- {% trans %}
- Wenn Sie oder Ihr Unternehmen für eine externe Person oder Unternehmen eine Verarbeitung von Daten durchführt, spricht man von einer sog. "Auftragsverarbeitung". Als Auftragsverarbeiter ist man nicht der Verantwortliche der Verarbeitung, da die Verantwortung der Datenverarbeitung nach der DSGVO weiterhin beim Kunden, dem sog. "Verantwortlichen" ist. Damit die Auftragsverarbeitung dennoch Vertraglich geregelt ist, ist es wichtig einen Auftragsverarbeitervertrag mit dem Kunden abzuschließen.
- {% endtrans %}
+ {% trans %}requestProcessing.contract{% endtrans %}
diff --git a/templates/datenweitergabe/new.html.twig b/templates/datenweitergabe/new.html.twig
index 8f60b4df..7545976f 100644
--- a/templates/datenweitergabe/new.html.twig
+++ b/templates/datenweitergabe/new.html.twig
@@ -1,5 +1,5 @@
{% extends 'base.html.twig' %}
-
+{% trans_default_domain 'datenweitergabe' %}
{% block CTA %}
{% endblock %}
@@ -9,10 +9,10 @@
{{ include('datenweitergabe/__form.html.twig') }}
- Erstellt von: {{ daten.user.email }}
+ {% trans from 'general' %}createdAt{% endtrans %}: {{ daten.user.email }}
{% if daten.previous %}
-
Historie
+ {% trans from 'general' %}history{% endtrans %}
{{ include('datenweitergabe/__history.html.twig', {'p':daten.previous}) }}
{% endif %}
diff --git a/templates/dsb/index.html.twig b/templates/dsb/index.html.twig
index f8cf5f42..d74494a5 100644
--- a/templates/dsb/index.html.twig
+++ b/templates/dsb/index.html.twig
@@ -1,12 +1,8 @@
{% extends 'base.html.twig' %}
-
-{% block CTA %}
-
-{% endblock %}
-
+{% trans_default_domain 'dsb' %}
{% block body %}
-
DSB Teams
+
{% trans %}dsbTeams{% endtrans %}
{% for t in teams %}
@@ -16,14 +12,14 @@
{% if app.user.team == t %}Aktuelles Team {% endif %}
+ class="badge-success z-depth-1 pl-1 pr-1">{% trans %}currentTeam{% endtrans %}{% endif %}
{% endfor %}
-{% endblock %}
\ No newline at end of file
+{% endblock %}
diff --git a/templates/email/addUser/resetting.html.twig b/templates/email/addUser/resetting.html.twig
index 0f32ba63..7765dff9 100644
--- a/templates/email/addUser/resetting.html.twig
+++ b/templates/email/addUser/resetting.html.twig
@@ -1,22 +1,14 @@
-{% block subject %}Passwort zurücksetzen{% endblock %}
+{% trans_default_domain 'email' %}
+{% block subject %}{% trans %}subject.passwordReset{% endtrans %}{% endblock %}
{% block body_text %}
{% autoescape false %}
- Passwort neu setzen
-
-
- Hallo!
-
-
- Sie wurden gerade von einem Administrator zu einem Datenschutz Team auf Ihrem Datenschutz Center hinzugefügt.
-
- Um ihr Passwort nun festzulegen klicken Sie den nachfolgenden Link.
+ {% trans %}body.passwordReset{% endtrans %}
{{ link }}
- Mit freundlichen Grüßen
- Ihr Datenschutz Center
+ {% trans %}salutation{% endtrans %}
{% endautoescape %}
{% endblock %}
@@ -28,4 +20,4 @@
the template inheritance in it
#}
{% include 'email/addUser/resetting_html.html.twig' %}
-{% endblock %}
\ No newline at end of file
+{% endblock %}
diff --git a/templates/email/addUser/resetting_html.html.twig b/templates/email/addUser/resetting_html.html.twig
index 9ee3d354..b03270e0 100644
--- a/templates/email/addUser/resetting_html.html.twig
+++ b/templates/email/addUser/resetting_html.html.twig
@@ -1,20 +1,12 @@
{% extends 'email/base.html.twig' %}
+{% trans_default_domain 'email' %}
{% block header %}
- Open-Datenschutz Center
+ {% trans %}subject.passwordResetHtml{% endtrans %}
{% endblock %}
{% block content %}
-
- -- Einladung zum Datenschutz Center Team --
-
-
- Hallo!
-
-
- Sie wurden gerade von einem Administrator zu einem Datenschutz Team auf Ihrem Datenschutz Center hinzugefügt.
-
+ {% trans %}body.passwordResetHtml{% endtrans %}
{{ link }}
- Mit freundlichen Grüßen
- Ihr Datenschutz Center
-{% endblock %}
\ No newline at end of file
+ {% trans %}salutation.kindRegards{% endtrans %}
+{% endblock %}
diff --git a/templates/email/assignementDsfa.html.twig b/templates/email/assignementDsfa.html.twig
index da042f89..57d0563d 100644
--- a/templates/email/assignementDsfa.html.twig
+++ b/templates/email/assignementDsfa.html.twig
@@ -26,7 +26,7 @@
- Sie erhalten diese E-Mail, weil Sie Mitglied des Datenschutzcenterteams {{ data.team.name }} sind.
+ Sie erhalten diese E-Mail, weil Sie Mitglied des Datenschutzcenterteams {{ data.vvt.team.name }} sind.
diff --git a/templates/email/base.html.twig b/templates/email/base.html.twig
index 8effc9f9..e45ef8d7 100644
--- a/templates/email/base.html.twig
+++ b/templates/email/base.html.twig
@@ -1,3 +1,4 @@
+{% trans_default_domain 'email' %}
{% apply inky_to_html|inline_css(source('@css/foundation-emails.css')) %}