diff --git a/.devcontainer/setup.sh b/.devcontainer/setup.sh
index 7ec84873e0..8edf8e833f 100644
--- a/.devcontainer/setup.sh
+++ b/.devcontainer/setup.sh
@@ -12,6 +12,7 @@
git config --global --add safe.directory /var/www/html
git config --global --add safe.directory /var/www/html/apps-extra/libresign
cd /var/www/html/apps-extra/libresign
+git submodule update --init --recursive
if [[ ! -d "vendor" ]]; then
composer install
fi
diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md
index bbcabe84e4..c14b2f3bf7 100644
--- a/.github/copilot-instructions.md
+++ b/.github/copilot-instructions.md
@@ -163,7 +163,7 @@ The second example is clear without comments because the method names describe e
- **Db**: `OCA\Libresign\Db\*` - Entities extend `Entity`, Mappers extend `QBMapper`
### Frontend Architecture
-- **Vue 2** with Composition API patterns via `@vueuse/core`
+- **Vue 3** with Composition API patterns via `@vueuse/core`
- **Pinia stores** for state (not Vuex)
- **Router**: `src/router/router.js` defines SPA routes
- **OpenAPI integration**: TypeScript types generated from OpenAPI spec via `npm run typescript:generate`
diff --git a/.github/workflows/lint-typescript.yml b/.github/workflows/lint-typescript.yml
new file mode 100644
index 0000000000..d697e276b7
--- /dev/null
+++ b/.github/workflows/lint-typescript.yml
@@ -0,0 +1,100 @@
+# This workflow is provided via the organization template repository
+#
+# https://github.com/nextcloud/.github
+# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
+#
+# SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors
+# SPDX-License-Identifier: MIT
+
+name: Type checking
+
+on:
+ pull_request:
+ push:
+ branches:
+ - main
+ - master
+ - stable*
+
+permissions:
+ contents: read
+
+concurrency:
+ group: lint-typescript-${{ github.head_ref || github.run_id }}
+ cancel-in-progress: true
+
+jobs:
+ changes:
+ runs-on: ubuntu-latest-low
+ permissions:
+ contents: read
+ pull-requests: read
+
+ outputs:
+ src: ${{ steps.changes.outputs.src}}
+
+ steps:
+ - uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
+ id: changes
+ continue-on-error: true
+ with:
+ filters: |
+ src:
+ - '.github/workflows/lint-typescript.yml'
+ - 'package.json'
+ - 'package-lock.json'
+ - 'tsconfig.json'
+ - '**.ts'
+ - '**.vue'
+
+ test:
+ runs-on: ubuntu-latest
+
+ needs: changes
+ if: needs.changes.outputs.src != 'false'
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+ with:
+ persist-credentials: false
+
+ - name: Read package.json node and npm engines version
+ uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
+ id: versions
+ with:
+ fallbackNode: '^24'
+ fallbackNpm: '^11.3'
+
+ - name: Set up node ${{ steps.versions.outputs.nodeVersion }}
+ uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
+ with:
+ node-version: ${{ steps.versions.outputs.nodeVersion }}
+
+ - name: Set up npm ${{ steps.versions.outputs.npmVersion }}
+ run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
+
+ - name: Install dependencies
+ env:
+ CYPRESS_INSTALL_BINARY: 0
+ run: |
+ npm ci
+
+ - name: Check types
+ run: |
+ npm run --if-present check-types
+ npm run --if-present ts:check
+
+ summary:
+ permissions:
+ contents: none
+ runs-on: ubuntu-latest-low
+ needs: [changes, test]
+
+ if: always()
+
+ name: typescript-summary
+
+ steps:
+ - name: Summary status
+ run: if ${{ needs.changes.outputs.src != 'false' && needs.test.result != 'success' }}; then exit 1; fi
diff --git a/.gitignore b/.gitignore
index 45712a41d6..24e5eff10f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,6 +11,7 @@
/tests/integration/vendor
/tests/integration/output
/js/
+/css/
/build/
node_modules/
/.php-cs-fixer.cache
@@ -20,4 +21,4 @@ node_modules/
/appinfo/install-*.json
/lib/Vendor/
/coverage
-
+/dist/
diff --git a/lib/Controller/IdentifyController.php b/lib/Controller/IdentifyController.php
index 966c8180cb..591aff32fb 100644
--- a/lib/Controller/IdentifyController.php
+++ b/lib/Controller/IdentifyController.php
@@ -19,28 +19,23 @@
use OCA\Libresign\Service\Identify\ResultFilter;
use OCA\Libresign\Service\Identify\ResultFormatter;
use OCA\Libresign\Service\Identify\SearchNormalizer;
+use OCA\Libresign\Service\Identify\ShareTypeResolver;
use OCA\Libresign\Service\Identify\SignerSearchContext;
-use OCA\Libresign\Service\IdentifyMethod\Account;
-use OCA\Libresign\Service\IdentifyMethod\Email;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\Attribute\ApiRoute;
use OCP\AppFramework\Http\Attribute\NoAdminRequired;
use OCP\AppFramework\Http\DataResponse;
use OCP\Collaboration\Collaborators\ISearch;
use OCP\IRequest;
-use OCP\Share\IShare;
/**
* @psalm-import-type LibresignIdentifyAccount from ResponseDefinitions
*/
class IdentifyController extends AEnvironmentAwareController {
- private const PHONE_METHODS = ['whatsapp', 'sms', 'telegram', 'signal'];
-
public function __construct(
IRequest $request,
private ISearch $collaboratorSearch,
- private Email $identifyEmailMethod,
- private Account $identifyAccountMethod,
+ private ShareTypeResolver $shareTypeResolver,
private SearchNormalizer $searchNormalizer,
private SignerSearchContext $signerSearchContext,
private ResultFilter $resultFilter,
@@ -76,7 +71,7 @@ public function search(string $search = '', string $method = '', int $page = 1,
return new DataResponse([]);
}
- $shareTypes = $this->getShareTypes();
+ $shareTypes = $this->shareTypeResolver->resolve($method);
$offset = $limit * ($page - 1);
$this->signerSearchContext->set($method, $search, $rawSearch);
@@ -112,21 +107,4 @@ private function registerPlugin(): void {
$refProperty->setValue($this->collaboratorSearch, $plugins);
}
- private function getShareTypes(): array {
- $shareTypes = [];
- $settings = $this->identifyEmailMethod->getSettings();
- if ($settings['enabled']) {
- $shareTypes[] = IShare::TYPE_EMAIL;
- }
- $settings = $this->identifyAccountMethod->getSettings();
- if ($settings['enabled']) {
- $shareTypes[] = IShare::TYPE_USER;
- }
-
- $shareTypes[] = SignerPlugin::TYPE_SIGNER;
- $shareTypes[] = AccountPhonePlugin::TYPE_SIGNER_ACCOUNT_PHONE;
- $shareTypes[] = ContactPhonePlugin::TYPE_SIGNER_CONTACT_PHONE;
- $shareTypes[] = ManualPhonePlugin::TYPE_SIGNER_MANUAL_PHONE;
- return $shareTypes;
- }
}
diff --git a/lib/Controller/PageController.php b/lib/Controller/PageController.php
index c4c082f98c..eef2ab5d99 100644
--- a/lib/Controller/PageController.php
+++ b/lib/Controller/PageController.php
@@ -111,6 +111,7 @@ public function index(): TemplateResponse {
$this->initialState->provideInitialState('legal_information', $this->appConfig->getValueString(Application::APP_ID, 'legal_information'));
Util::addScript(Application::APP_ID, 'libresign-main');
+ Util::addStyle(Application::APP_ID, 'libresign-main');
if (class_exists(LoadViewer::class)) {
$this->eventDispatcher->dispatchTyped(new LoadViewer());
@@ -156,6 +157,7 @@ public function indexF(): TemplateResponse {
#[FrontpageRoute(verb: 'GET', url: '/f/incomplete')]
public function incomplete(): TemplateResponse {
Util::addScript(Application::APP_ID, 'libresign-main');
+ Util::addStyle(Application::APP_ID, 'libresign-main');
$response = new TemplateResponse(Application::APP_ID, 'main');
return $response;
}
@@ -172,6 +174,7 @@ public function incomplete(): TemplateResponse {
#[FrontpageRoute(verb: 'GET', url: '/p/incomplete')]
public function incompleteP(): TemplateResponse {
Util::addScript(Application::APP_ID, 'libresign-main');
+ Util::addStyle(Application::APP_ID, 'libresign-main');
$response = new TemplateResponse(Application::APP_ID, 'main', [], TemplateResponse::RENDER_AS_BASE);
return $response;
}
@@ -378,6 +381,7 @@ public function sign(string $uuid): TemplateResponse {
$this->initialState->provideInitialState('nodeType', $this->getFileEntity()->getNodeType());
Util::addScript(Application::APP_ID, 'libresign-external');
+ Util::addStyle(Application::APP_ID, 'libresign-external');
if (class_exists(LoadViewer::class)) {
$this->eventDispatcher->dispatchTyped(new LoadViewer());
}
@@ -532,6 +536,7 @@ public function validation(): TemplateResponse {
}
Util::addScript(Application::APP_ID, 'libresign-validation');
+ Util::addStyle(Application::APP_ID, 'libresign-validation');
$response = new TemplateResponse(Application::APP_ID, 'validation', [], TemplateResponse::RENDER_AS_BASE);
return $response;
@@ -580,6 +585,7 @@ public function resetPassword(): TemplateResponse {
);
Util::addScript(Application::APP_ID, 'libresign-main');
+ Util::addStyle(Application::APP_ID, 'libresign-main');
$response = new TemplateResponse(Application::APP_ID, 'reset_password');
return $response;
diff --git a/lib/Files/TemplateLoader.php b/lib/Files/TemplateLoader.php
index 8ddfb40fa5..7d3c8e3d1f 100644
--- a/lib/Files/TemplateLoader.php
+++ b/lib/Files/TemplateLoader.php
@@ -58,6 +58,7 @@ public function handle(Event $event): void {
}
Util::addScript(Application::APP_ID, 'libresign-tab');
+ Util::addStyle(Application::APP_ID, 'libresign-tab');
Util::addStyle(Application::APP_ID, 'icons');
}
diff --git a/lib/Middleware/InjectionMiddleware.php b/lib/Middleware/InjectionMiddleware.php
index e45516dc89..3db1e44bf1 100644
--- a/lib/Middleware/InjectionMiddleware.php
+++ b/lib/Middleware/InjectionMiddleware.php
@@ -315,6 +315,7 @@ public function afterException($controller, $methodName, \Exception $exception):
}
Util::addScript(Application::APP_ID, 'libresign-' . $template);
+ Util::addStyle(Application::APP_ID, 'libresign-' . $template);
$response = new TemplateResponse(
appName: Application::APP_ID,
templateName: $template,
diff --git a/lib/Service/DocMdp/ConfigService.php b/lib/Service/DocMdp/ConfigService.php
index 0476c8e7b9..93d85b644a 100644
--- a/lib/Service/DocMdp/ConfigService.php
+++ b/lib/Service/DocMdp/ConfigService.php
@@ -24,18 +24,23 @@ public function __construct(
}
public function isEnabled(): bool {
- return $this->appConfig->hasKey(Application::APP_ID, self::CONFIG_KEY_LEVEL);
+ return $this->getLevel()->isCertifying();
}
public function setEnabled(bool $enabled): void {
- if (!$enabled) {
- $this->appConfig->deleteKey(Application::APP_ID, self::CONFIG_KEY_LEVEL);
+ if ($enabled) {
+ if (!$this->getLevel()->isCertifying()) {
+ $this->setLevel(DocMdpLevel::CERTIFIED_FORM_FILLING);
+ }
+ return;
}
+
+ $this->setLevel(DocMdpLevel::NOT_CERTIFIED);
}
public function getLevel(): DocMdpLevel {
- $level = $this->appConfig->getValueInt(Application::APP_ID, self::CONFIG_KEY_LEVEL, DocMdpLevel::NOT_CERTIFIED->value);
- return DocMdpLevel::from($level);
+ $level = $this->appConfig->getValueInt(Application::APP_ID, self::CONFIG_KEY_LEVEL, DocMdpLevel::CERTIFIED_FORM_FILLING->value);
+ return DocMdpLevel::tryFrom($level) ?? DocMdpLevel::CERTIFIED_FORM_FILLING;
}
public function setLevel(DocMdpLevel $level): void {
diff --git a/lib/Service/File/FileContentProvider.php b/lib/Service/File/FileContentProvider.php
index 84ac697588..976329c50c 100644
--- a/lib/Service/File/FileContentProvider.php
+++ b/lib/Service/File/FileContentProvider.php
@@ -32,25 +32,32 @@ public function __construct(
*/
public function getContentFromUrl(string $url): string {
if (!filter_var($url, FILTER_VALIDATE_URL)) {
- throw new \Exception($this->l10n->t('Invalid URL file'));
+ throw new LibresignException($this->l10n->t('Invalid URL file'), 422);
}
try {
$response = $this->client->newClient()->get($url);
} catch (\Throwable) {
- throw new \Exception($this->l10n->t('Invalid URL file'));
+ throw new LibresignException($this->l10n->t('Invalid URL file'), 422);
}
- $mimetypeFromHeader = $response->getHeader('Content-Type');
$content = (string)$response->getBody();
if (!$content) {
- throw new \Exception($this->l10n->t('Empty file'));
+ throw new LibresignException($this->l10n->t('Empty file'), 422);
+ }
+
+ $mimetypeFromHeader = $response->getHeader('Content-Type');
+ // Strip parameters like "; charset=utf-8"
+ if (str_contains($mimetypeFromHeader, ';')) {
+ $mimetypeFromHeader = trim(explode(';', $mimetypeFromHeader)[0]);
}
$mimeTypeFromContent = $this->mimeService->getMimeType($content);
- if ($mimetypeFromHeader !== $mimeTypeFromContent) {
- throw new \Exception($this->l10n->t('Invalid URL file'));
+
+ // application/octet-stream is a generic fallback — trust content detection
+ if ($mimetypeFromHeader !== 'application/octet-stream' && $mimetypeFromHeader !== $mimeTypeFromContent) {
+ throw new LibresignException($this->l10n->t('Invalid URL file'), 422);
}
return $content;
@@ -75,7 +82,7 @@ public function getContentFromBase64(string $base64): string {
$mimeTypeFromContent = $this->mimeService->getMimeType($content);
if ($mimeTypeFromType !== $mimeTypeFromContent) {
- throw new \Exception($this->l10n->t('Invalid URL file'));
+ throw new LibresignException($this->l10n->t('Invalid URL file'), 422);
}
$this->mimeService->setMimeType($mimeTypeFromContent);
@@ -103,7 +110,7 @@ public function getContentFromData(array $data): string {
return $this->getContentFromBase64($data['file']['base64']);
}
- throw new \Exception($this->l10n->t('No file source provided'));
+ throw new LibresignException($this->l10n->t('No file source provided'), 422);
}
/**
diff --git a/lib/Service/Identify/ShareTypeResolver.php b/lib/Service/Identify/ShareTypeResolver.php
new file mode 100644
index 0000000000..3bcd157399
--- /dev/null
+++ b/lib/Service/Identify/ShareTypeResolver.php
@@ -0,0 +1,60 @@
+identifyEmailMethod->getSettings();
+ if ($settings['enabled']) {
+ $shareTypes[] = IShare::TYPE_EMAIL;
+ }
+ }
+
+ if ($includeAccount) {
+ $settings = $this->identifyAccountMethod->getSettings();
+ if ($settings['enabled']) {
+ $shareTypes[] = IShare::TYPE_USER;
+ }
+ }
+
+ $shareTypes[] = SignerPlugin::TYPE_SIGNER;
+
+ if ($includePhone) {
+ $shareTypes[] = AccountPhonePlugin::TYPE_SIGNER_ACCOUNT_PHONE;
+ $shareTypes[] = ContactPhonePlugin::TYPE_SIGNER_CONTACT_PHONE;
+ $shareTypes[] = ManualPhonePlugin::TYPE_SIGNER_MANUAL_PHONE;
+ }
+
+ return $shareTypes;
+ }
+}
diff --git a/lib/Settings/Admin.php b/lib/Settings/Admin.php
index 5532b50772..4eb5094a1a 100644
--- a/lib/Settings/Admin.php
+++ b/lib/Settings/Admin.php
@@ -40,6 +40,7 @@ public function __construct(
}
public function getForm(): TemplateResponse {
Util::addScript(Application::APP_ID, 'libresign-settings');
+ Util::addStyle(Application::APP_ID, 'libresign-settings');
try {
$signatureParsed = $this->signatureTextService->parse();
$this->initialState->provideInitialState('signature_text_parsed', $signatureParsed['parsed']);
@@ -57,6 +58,7 @@ public function getForm(): TemplateResponse {
$this->initialState->provideInitialState('default_signature_width', SignatureTextService::DEFAULT_SIGNATURE_WIDTH);
$this->initialState->provideInitialState('default_template_font_size', $this->signatureTextService->getDefaultTemplateFontSize());
$this->initialState->provideInitialState('identify_methods', $this->identifyMethodService->getIdentifyMethodsSettings());
+ $this->initialState->provideInitialState('legal_information', $this->appConfig->getValueString(Application::APP_ID, 'legal_information', ''));
$this->initialState->provideInitialState('signature_available_variables', $this->signatureTextService->getAvailableVariables());
$this->initialState->provideInitialState('signature_background_type', $this->signatureBackgroundService->getSignatureBackgroundType());
$this->initialState->provideInitialState('signature_font_size', $this->signatureTextService->getSignatureFontSize());
@@ -81,7 +83,9 @@ public function getForm(): TemplateResponse {
$this->initialState->provideInitialState('signature_flow', $this->appConfig->getValueString(Application::APP_ID, 'signature_flow', \OCA\Libresign\Enum\SignatureFlow::NONE->value));
$this->initialState->provideInitialState('signing_mode', $this->appConfig->getValueString(Application::APP_ID, 'signing_mode', 'sync'));
$this->initialState->provideInitialState('worker_type', $this->appConfig->getValueString(Application::APP_ID, 'worker_type', 'local'));
- $this->initialState->provideInitialState('envelope_enabled', $this->appConfig->getValueString(Application::APP_ID, 'envelope_enabled', '1') === '1');
+ $this->initialState->provideInitialState('identification_documents', $this->appConfig->getValueBool(Application::APP_ID, 'identification_documents', false));
+ $this->initialState->provideInitialState('approval_group', $this->appConfig->getValueArray(Application::APP_ID, 'approval_group', ['admin']));
+ $this->initialState->provideInitialState('envelope_enabled', $this->appConfig->getValueBool(Application::APP_ID, 'envelope_enabled', true));
$this->initialState->provideInitialState('parallel_workers', $this->appConfig->getValueString(Application::APP_ID, 'parallel_workers', '4'));
return new TemplateResponse(Application::APP_ID, 'admin_settings');
}
diff --git a/package-lock.json b/package-lock.json
index e64797de42..7f89142e5e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,74 +1,82 @@
{
"name": "libresign",
- "version": "12.2.3",
+ "version": "13.0.0-dev.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "libresign",
- "version": "12.2.3",
+ "version": "13.0.0-dev.0",
"license": "agpl",
"dependencies": {
+ "@codemirror/autocomplete": "^6.18.3",
+ "@codemirror/commands": "^6.7.1",
+ "@codemirror/lang-html": "^6.4.9",
+ "@codemirror/language": "^6.10.3",
+ "@codemirror/state": "^6.4.1",
+ "@codemirror/view": "^6.36.2",
"@fontsource/dancing-script": "^5.2.8",
- "@libresign/pdf-elements": "^0.4.0",
+ "@libresign/pdf-elements": "^1.0.1",
"@marionebl/option": "^1.0.8",
"@mdi/js": "^7.4.47",
"@mdi/svg": "^7.4.47",
"@nextcloud/auth": "^2.5.3",
"@nextcloud/axios": "^2.5.2",
"@nextcloud/capabilities": "^1.2.1",
- "@nextcloud/dialogs": "^6.4.1",
+ "@nextcloud/dialogs": "^7.3.0",
"@nextcloud/event-bus": "^3.3.3",
"@nextcloud/files": "^3.12.0",
- "@nextcloud/initial-state": "^2.2.0",
+ "@nextcloud/initial-state": "^3.0.0",
"@nextcloud/l10n": "^3.4.1",
- "@nextcloud/logger": "^3.0.2",
+ "@nextcloud/logger": "^3.0.3",
"@nextcloud/moment": "^1.3.5",
- "@nextcloud/password-confirmation": "^5.3.2",
- "@nextcloud/paths": "^2.2.2",
- "@nextcloud/router": "^3.0.1",
- "@nextcloud/upload": "^1.11.0",
- "@nextcloud/vue": "^8.35.3",
- "@vueuse/core": "^11.3.0",
+ "@nextcloud/password-confirmation": "^6.0.2",
+ "@nextcloud/paths": "^3.1.0",
+ "@nextcloud/router": "^3.1.0",
+ "@nextcloud/upload": "^2.0.0-rc.0",
+ "@nextcloud/vue": "^9.5.0",
+ "@ssddanbrown/codemirror-lang-twig": "^1.0.0",
+ "@uiw/codemirror-theme-material": "^4.25.4",
+ "@vuelidate/core": "^2.0.3",
+ "@vuelidate/validators": "^2.0.4",
+ "@vueuse/core": "^14.2.1",
+ "@vueuse/integrations": "^14.2.1",
"blueimp-md5": "^2.19.0",
- "codemirror": "^5.65.20",
- "copy-webpack-plugin": "^13.0.1",
+ "codemirror": "^6.0.1",
"crypto-js": "^4.2.0",
- "debounce": "^2.2.0",
- "js-confetti": "^0.12.0",
- "pinia": "^2.3.1",
- "signature_pad": "^5.1.1",
- "vue": "^2.7.16",
- "vue-advanced-cropper": "^1.11.7",
- "vue-codemirror": "^4.0.6",
- "vue-drag-resize": "^1.5.4",
- "vue-material-design-icons": "^5.3.1",
- "vue-router": "^3.6.5",
- "vuedraggable": "^2.24.3",
- "vuelidate": "^0.7.7"
+ "debounce": "^3.0.0",
+ "js-confetti": "^0.13.1",
+ "pdfjs-dist": "^5.4.624",
+ "pinia": "^3.0.4",
+ "signature_pad": "^5.1.3",
+ "sortablejs": "^1.15.7",
+ "vue": "^3.5.29",
+ "vue-advanced-cropper": "^2.8.9",
+ "vue-codemirror6": "^1.3.5",
+ "vue-router": "^5.0.3",
+ "vuedraggable": "^4.1.0"
},
"devDependencies": {
- "@babel/core": "^7.28.5",
- "@nextcloud/babel-config": "^1.3.0",
"@nextcloud/browserslist-config": "^3.1.2",
"@nextcloud/eslint-config": "^8.4.2",
- "@nextcloud/stylelint-config": "^3.1.1",
- "@nextcloud/webpack-vue-config": "^6.3.2",
- "@vitejs/plugin-vue2": "^2.3.4",
+ "@nextcloud/stylelint-config": "^3.2.1",
+ "@nextcloud/vite-config": "^2.5.2",
+ "@pinia/testing": "^1.0.3",
+ "@testing-library/dom": "^10.4.1",
+ "@testing-library/vue": "^8.1.0",
+ "@vitejs/plugin-vue": "^6.0.3",
"@vitest/coverage-v8": "^4.0.18",
- "@vue/test-utils": "^1.3.6",
- "@vue/tsconfig": "^0.5.1",
- "babel-loader-exclude-node-modules-except": "^1.2.1",
- "esbuild-loader": "^4.4.0",
- "happy-dom": "^20.6.0",
- "openapi-typescript": "^7.10.1",
- "vitest": "^4.0.18",
- "vue-loader": "15.11.1",
- "vue-template-compiler": "^2.7.16"
+ "@vue/test-utils": "^2.4.6",
+ "@vue/tsconfig": "^0.8.1",
+ "happy-dom": "^20.7.0",
+ "openapi-typescript": "^7.13.0",
+ "typescript": "^5.9.3",
+ "vite": "^7.1.10",
+ "vitest": "^4.0.18"
},
"engines": {
- "node": "^20.0.0",
- "npm": "^10.0.0"
+ "node": "^24.0.0",
+ "npm": "^11.3.0"
}
},
"../pdf-elements": {
@@ -292,6 +300,7 @@
"integrity": "sha512-2lfu57JtzctfIrcGMz992hyLlByuzgIk58+hhGCxjKZ3rWI82NnVLjXcaTqkI2NvlcvOskZaiZ5kjUALo3Lpxg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=6.9.0"
}
@@ -302,6 +311,7 @@
"integrity": "sha512-H3mcG6ZDLTlYfaSNi0iOKkigqMFvkTKlGUYlD8GW7nNOYRrevuA46iTypPyv+06V3fEmvvazfntkBU34L0azAw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@babel/code-frame": "^7.28.6",
"@babel/generator": "^7.28.6",
@@ -351,7 +361,6 @@
"version": "7.28.6",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.6.tgz",
"integrity": "sha512-lOoVRwADj8hjf7al89tvQ2a1lf53Z+7tiXMgpZJL3maQPDxh0DgLMN62B2MKUOFcoodBHLMbDM6WAbKgNy5Suw==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@babel/parser": "^7.28.6",
@@ -364,26 +373,13 @@
"node": ">=6.9.0"
}
},
- "node_modules/@babel/helper-annotate-as-pure": {
- "version": "7.27.3",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz",
- "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/types": "^7.27.3"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
"node_modules/@babel/helper-compilation-targets": {
"version": "7.28.6",
"resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz",
"integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@babel/compat-data": "^7.28.6",
"@babel/helper-validator-option": "^7.27.1",
@@ -395,87 +391,13 @@
"node": ">=6.9.0"
}
},
- "node_modules/@babel/helper-create-class-features-plugin": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.6.tgz",
- "integrity": "sha512-dTOdvsjnG3xNT9Y0AUg1wAl38y+4Rl4sf9caSQZOXdNqVn+H+HbbJ4IyyHaIqNR6SW9oJpA/RuRjsjCw2IdIow==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.27.3",
- "@babel/helper-member-expression-to-functions": "^7.28.5",
- "@babel/helper-optimise-call-expression": "^7.27.1",
- "@babel/helper-replace-supers": "^7.28.6",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1",
- "@babel/traverse": "^7.28.6",
- "semver": "^6.3.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/helper-create-regexp-features-plugin": {
- "version": "7.28.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.28.5.tgz",
- "integrity": "sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.27.3",
- "regexpu-core": "^6.3.1",
- "semver": "^6.3.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/helper-define-polyfill-provider": {
- "version": "0.6.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz",
- "integrity": "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-compilation-targets": "^7.27.2",
- "@babel/helper-plugin-utils": "^7.27.1",
- "debug": "^4.4.1",
- "lodash.debounce": "^4.0.8",
- "resolve": "^1.22.10"
- },
- "peerDependencies": {
- "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
- }
- },
"node_modules/@babel/helper-globals": {
"version": "7.28.0",
"resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz",
"integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==",
"dev": true,
"license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-member-expression-to-functions": {
- "version": "7.28.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz",
- "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==",
- "dev": true,
- "license": "MIT",
"peer": true,
- "dependencies": {
- "@babel/traverse": "^7.28.5",
- "@babel/types": "^7.28.5"
- },
"engines": {
"node": ">=6.9.0"
}
@@ -486,6 +408,7 @@
"integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@babel/traverse": "^7.28.6",
"@babel/types": "^7.28.6"
@@ -500,6 +423,7 @@
"integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@babel/helper-module-imports": "^7.28.6",
"@babel/helper-validator-identifier": "^7.28.5",
@@ -512,84 +436,6 @@
"@babel/core": "^7.0.0"
}
},
- "node_modules/@babel/helper-optimise-call-expression": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz",
- "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/types": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-plugin-utils": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz",
- "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-remap-async-to-generator": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz",
- "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.27.1",
- "@babel/helper-wrap-function": "^7.27.1",
- "@babel/traverse": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/helper-replace-supers": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.28.6.tgz",
- "integrity": "sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-member-expression-to-functions": "^7.28.5",
- "@babel/helper-optimise-call-expression": "^7.27.1",
- "@babel/traverse": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/helper-skip-transparent-expression-wrappers": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz",
- "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/traverse": "^7.27.1",
- "@babel/types": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
"node_modules/@babel/helper-string-parser": {
"version": "7.27.1",
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
@@ -614,22 +460,7 @@
"integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==",
"dev": true,
"license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-wrap-function": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.6.tgz",
- "integrity": "sha512-z+PwLziMNBeSQJonizz2AGnndLsP2DeGHIxDAn+wdHOGuo4Fo1x1HBPPXeE9TAOPHNNWQKCSlA2VZyYyyibDnQ==",
- "dev": true,
- "license": "MIT",
"peer": true,
- "dependencies": {
- "@babel/template": "^7.28.6",
- "@babel/traverse": "^7.28.6",
- "@babel/types": "^7.28.6"
- },
"engines": {
"node": ">=6.9.0"
}
@@ -640,6 +471,7 @@
"integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@babel/template": "^7.28.6",
"@babel/types": "^7.28.6"
@@ -649,12 +481,11 @@
}
},
"node_modules/@babel/parser": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.6.tgz",
- "integrity": "sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ==",
- "license": "MIT",
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz",
+ "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==",
"dependencies": {
- "@babel/types": "^7.28.6"
+ "@babel/types": "^7.29.0"
},
"bin": {
"parser": "bin/babel-parser.js"
@@ -663,3300 +494,3384 @@
"node": ">=6.0.0"
}
},
- "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": {
- "version": "7.28.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.28.5.tgz",
- "integrity": "sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/traverse": "^7.28.5"
- },
+ "node_modules/@babel/runtime": {
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz",
+ "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==",
"engines": {
"node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
}
},
- "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz",
- "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==",
+ "node_modules/@babel/template": {
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz",
+ "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
+ "@babel/code-frame": "^7.28.6",
+ "@babel/parser": "^7.28.6",
+ "@babel/types": "^7.28.6"
},
"engines": {
"node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
}
},
- "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
- "version": "7.27.1",
- "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.27.1.tgz",
- "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==",
+ "node_modules/@babel/traverse": {
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.6.tgz",
+ "integrity": "sha512-fgWX62k02qtjqdSNTAGxmKYY/7FSL9WAS1o2Hu5+I5m9T0yxZzr4cnrfXQ/MX0rIifthCSs6FKTlzYbJcPtMNg==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
+ "@babel/code-frame": "^7.28.6",
+ "@babel/generator": "^7.28.6",
+ "@babel/helper-globals": "^7.28.0",
+ "@babel/parser": "^7.28.6",
+ "@babel/template": "^7.28.6",
+ "@babel/types": "^7.28.6",
+ "debug": "^4.3.1"
},
"engines": {
"node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
}
},
- "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz",
- "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==",
- "dev": true,
- "license": "MIT",
- "peer": true,
+ "node_modules/@babel/types": {
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz",
+ "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1",
- "@babel/plugin-transform-optional-chaining": "^7.27.1"
+ "@babel/helper-string-parser": "^7.27.1",
+ "@babel/helper-validator-identifier": "^7.28.5"
},
"engines": {
"node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.13.0"
}
},
- "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.6.tgz",
- "integrity": "sha512-a0aBScVTlNaiUe35UtfxAN7A/tehvvG4/ByO6+46VPKTRSlfnAFsgKy0FUh+qAkQrDTmhDkT+IBOKlOoMUxQ0g==",
+ "node_modules/@bcoe/v8-coverage": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-1.0.2.tgz",
+ "integrity": "sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==",
"dev": true,
"license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.28.6",
- "@babel/traverse": "^7.28.6"
- },
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-proposal-private-property-in-object": {
- "version": "7.21.0-placeholder-for-preset-env.2",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz",
- "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==",
- "dev": true,
+ "node_modules/@buttercup/fetch": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/@buttercup/fetch/-/fetch-0.2.1.tgz",
+ "integrity": "sha512-sCgECOx8wiqY8NN1xN22BqqKzXYIG2AicNLlakOAI4f0WgyLVUbAigMf8CZhBtJxdudTcB1gD5lciqi44jwJvg==",
"license": "MIT",
- "peer": true,
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "optionalDependencies": {
+ "node-fetch": "^3.3.0"
}
},
- "node_modules/@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==",
+ "node_modules/@cacheable/memory": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/@cacheable/memory/-/memory-2.0.7.tgz",
+ "integrity": "sha512-RbxnxAMf89Tp1dLhXMS7ceft/PGsDl1Ip7T20z5nZ+pwIAsQ1p2izPjVG69oCLv/jfQ7HDPHTWK0c9rcAWXN3A==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "@cacheable/utils": "^2.3.3",
+ "@keyv/bigmap": "^1.3.0",
+ "hookified": "^1.14.0",
+ "keyv": "^5.5.5"
}
},
- "node_modules/@babel/plugin-syntax-import-assertions": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.28.6.tgz",
- "integrity": "sha512-pSJUpFHdx9z5nqTSirOCMtYVP2wFgoWhP0p3g8ONK/4IHhLIBd0B9NYqAvIUAhq+OkhO4VM1tENCt0cjlsNShw==",
+ "node_modules/@cacheable/memory/node_modules/@keyv/bigmap": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@keyv/bigmap/-/bigmap-1.3.1.tgz",
+ "integrity": "sha512-WbzE9sdmQtKy8vrNPa9BRnwZh5UF4s1KTmSK0KUVLo3eff5BlQNNWDnFOouNpKfPKDnms9xynJjsMYjMaT/aFQ==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.28.6"
+ "hashery": "^1.4.0",
+ "hookified": "^1.15.0"
},
"engines": {
- "node": ">=6.9.0"
+ "node": ">= 18"
},
"peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "keyv": "^5.6.0"
}
},
- "node_modules/@babel/plugin-syntax-import-attributes": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.28.6.tgz",
- "integrity": "sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==",
+ "node_modules/@cacheable/memory/node_modules/keyv": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.6.0.tgz",
+ "integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "@keyv/serialize": "^1.1.1"
}
},
- "node_modules/@babel/plugin-syntax-unicode-sets-regex": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz",
- "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==",
+ "node_modules/@cacheable/utils": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/@cacheable/utils/-/utils-2.3.3.tgz",
+ "integrity": "sha512-JsXDL70gQ+1Vc2W/KUFfkAJzgb4puKwwKehNLuB+HrNKWf91O736kGfxn4KujXCCSuh6mRRL4XEB0PkAFjWS0A==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
- "@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"
- }
+ "hashery": "^1.3.0",
+ "keyv": "^5.5.5"
+ }
},
- "node_modules/@babel/plugin-transform-arrow-functions": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz",
- "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==",
+ "node_modules/@cacheable/utils/node_modules/keyv": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.6.0.tgz",
+ "integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "@keyv/serialize": "^1.1.1"
}
},
- "node_modules/@babel/plugin-transform-async-generator-functions": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.6.tgz",
- "integrity": "sha512-9knsChgsMzBV5Yh3kkhrZNxH3oCYAfMBkNNaVN4cP2RVlFPe8wYdwwcnOsAbkdDoV9UjFtOXWrWB52M8W4jNeA==",
- "dev": true,
- "license": "MIT",
- "peer": true,
+ "node_modules/@ckpack/vue-color": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@ckpack/vue-color/-/vue-color-1.6.0.tgz",
+ "integrity": "sha512-b9kFTKhYbNArfgP1lmnaVm0VNsWdZjqIbyHUYry7mZ+E7JeTQclbjq1+2xWn0SE3wzqRYlXmAVjECPOgteWmMQ==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.28.6",
- "@babel/helper-remap-async-to-generator": "^7.27.1",
- "@babel/traverse": "^7.28.6"
+ "@ctrl/tinycolor": "^3.6.0",
+ "material-colors": "^1.2.6"
},
"engines": {
- "node": ">=6.9.0"
+ "node": ">=12"
},
"peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "vue": "^3.2.0"
}
},
- "node_modules/@babel/plugin-transform-async-to-generator": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.28.6.tgz",
- "integrity": "sha512-ilTRcmbuXjsMmcZ3HASTe4caH5Tpo93PkTxF9oG2VZsSWsahydmcEHhix9Ik122RcTnZnUzPbmux4wh1swfv7g==",
- "dev": true,
- "license": "MIT",
- "peer": true,
+ "node_modules/@codemirror/autocomplete": {
+ "version": "6.20.1",
+ "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.20.1.tgz",
+ "integrity": "sha512-1cvg3Vz1dSSToCNlJfRA2WSI4ht3K+WplO0UMOgmUYPivCyy2oueZY6Lx7M9wThm7SDUBViRmuT+OG/i8+ON9A==",
"dependencies": {
- "@babel/helper-module-imports": "^7.28.6",
- "@babel/helper-plugin-utils": "^7.28.6",
- "@babel/helper-remap-async-to-generator": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "@codemirror/language": "^6.0.0",
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.17.0",
+ "@lezer/common": "^1.0.0"
}
},
- "node_modules/@babel/plugin-transform-block-scoped-functions": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz",
- "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==",
- "dev": true,
- "license": "MIT",
- "peer": true,
+ "node_modules/@codemirror/commands": {
+ "version": "6.10.2",
+ "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.10.2.tgz",
+ "integrity": "sha512-vvX1fsih9HledO1c9zdotZYUZnE4xV0m6i3m25s5DIfXofuprk6cRcLUZvSk3CASUbwjQX21tOGbkY2BH8TpnQ==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "@codemirror/language": "^6.0.0",
+ "@codemirror/state": "^6.4.0",
+ "@codemirror/view": "^6.27.0",
+ "@lezer/common": "^1.1.0"
}
},
- "node_modules/@babel/plugin-transform-block-scoping": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.6.tgz",
- "integrity": "sha512-tt/7wOtBmwHPNMPu7ax4pdPz6shjFrmHDghvNC+FG9Qvj7D6mJcoRQIF5dy4njmxR941l6rgtvfSB2zX3VlUIw==",
- "dev": true,
- "license": "MIT",
- "peer": true,
+ "node_modules/@codemirror/lang-css": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/@codemirror/lang-css/-/lang-css-6.3.1.tgz",
+ "integrity": "sha512-kr5fwBGiGtmz6l0LSJIbno9QrifNMUusivHbnA1H6Dmqy4HZFte3UAICix1VuKo0lMPKQr2rqB+0BkKi/S3Ejg==",
+ "dependencies": {
+ "@codemirror/autocomplete": "^6.0.0",
+ "@codemirror/language": "^6.0.0",
+ "@codemirror/state": "^6.0.0",
+ "@lezer/common": "^1.0.2",
+ "@lezer/css": "^1.1.7"
+ }
+ },
+ "node_modules/@codemirror/lang-html": {
+ "version": "6.4.11",
+ "resolved": "https://registry.npmjs.org/@codemirror/lang-html/-/lang-html-6.4.11.tgz",
+ "integrity": "sha512-9NsXp7Nwp891pQchI7gPdTwBuSuT3K65NGTHWHNJ55HjYcHLllr0rbIZNdOzas9ztc1EUVBlHou85FFZS4BNnw==",
+ "dependencies": {
+ "@codemirror/autocomplete": "^6.0.0",
+ "@codemirror/lang-css": "^6.0.0",
+ "@codemirror/lang-javascript": "^6.0.0",
+ "@codemirror/language": "^6.4.0",
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.17.0",
+ "@lezer/common": "^1.0.0",
+ "@lezer/css": "^1.1.0",
+ "@lezer/html": "^1.3.12"
+ }
+ },
+ "node_modules/@codemirror/lang-javascript": {
+ "version": "6.2.5",
+ "resolved": "https://registry.npmjs.org/@codemirror/lang-javascript/-/lang-javascript-6.2.5.tgz",
+ "integrity": "sha512-zD4e5mS+50htS7F+TYjBPsiIFGanfVqg4HyUz6WNFikgOPf2BgKlx+TQedI1w6n/IqRBVBbBWmGFdLB/7uxO4A==",
+ "dependencies": {
+ "@codemirror/autocomplete": "^6.0.0",
+ "@codemirror/language": "^6.6.0",
+ "@codemirror/lint": "^6.0.0",
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.17.0",
+ "@lezer/common": "^1.0.0",
+ "@lezer/javascript": "^1.0.0"
+ }
+ },
+ "node_modules/@codemirror/language": {
+ "version": "6.12.2",
+ "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.12.2.tgz",
+ "integrity": "sha512-jEPmz2nGGDxhRTg3lTpzmIyGKxz3Gp3SJES4b0nAuE5SWQoKdT5GoQ69cwMmFd+wvFUhYirtDTr0/DRHpQAyWg==",
+ "dependencies": {
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.23.0",
+ "@lezer/common": "^1.5.0",
+ "@lezer/highlight": "^1.0.0",
+ "@lezer/lr": "^1.0.0",
+ "style-mod": "^4.0.0"
+ }
+ },
+ "node_modules/@codemirror/lint": {
+ "version": "6.9.5",
+ "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.9.5.tgz",
+ "integrity": "sha512-GElsbU9G7QT9xXhpUg1zWGmftA/7jamh+7+ydKRuT0ORpWS3wOSP0yT1FOlIZa7mIJjpVPipErsyvVqB9cfTFA==",
+ "dependencies": {
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.35.0",
+ "crelt": "^1.0.5"
+ }
+ },
+ "node_modules/@codemirror/search": {
+ "version": "6.6.0",
+ "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.6.0.tgz",
+ "integrity": "sha512-koFuNXcDvyyotWcgOnZGmY7LZqEOXZaaxD/j6n18TCLx2/9HieZJ5H6hs1g8FiRxBD0DNfs0nXn17g872RmYdw==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.37.0",
+ "crelt": "^1.0.5"
}
},
- "node_modules/@babel/plugin-transform-class-properties": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.28.6.tgz",
- "integrity": "sha512-dY2wS3I2G7D697VHndN91TJr8/AAfXQNt5ynCTI/MpxMsSzHp+52uNivYT5wCPax3whc47DR8Ba7cmlQMg24bw==",
- "dev": true,
- "license": "MIT",
- "peer": true,
+ "node_modules/@codemirror/state": {
+ "version": "6.5.4",
+ "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.5.4.tgz",
+ "integrity": "sha512-8y7xqG/hpB53l25CIoit9/ngxdfoG+fx+V3SHBrinnhOtLvKHRyAJJuHzkWrR4YXXLX8eXBsejgAAxHUOdW1yw==",
"dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.28.6",
- "@babel/helper-plugin-utils": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "@marijn/find-cluster-break": "^1.0.0"
}
},
- "node_modules/@babel/plugin-transform-class-static-block": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.6.tgz",
- "integrity": "sha512-rfQ++ghVwTWTqQ7w8qyDxL1XGihjBss4CmTgGRCTAC9RIbhVpyp4fOeZtta0Lbf+dTNIVJer6ych2ibHwkZqsQ==",
- "dev": true,
- "license": "MIT",
- "peer": true,
+ "node_modules/@codemirror/view": {
+ "version": "6.39.16",
+ "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.39.16.tgz",
+ "integrity": "sha512-m6S22fFpKtOWhq8HuhzsI1WzUP/hB9THbDj0Tl5KX4gbO6Y91hwBl7Yky33NdvB6IffuRFiBxf1R8kJMyXmA4Q==",
"dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.28.6",
- "@babel/helper-plugin-utils": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.12.0"
+ "@codemirror/state": "^6.5.0",
+ "crelt": "^1.0.6",
+ "style-mod": "^4.1.0",
+ "w3c-keyname": "^2.2.4"
}
},
- "node_modules/@babel/plugin-transform-classes": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.6.tgz",
- "integrity": "sha512-EF5KONAqC5zAqT783iMGuM2ZtmEBy+mJMOKl2BCvPZ2lVrwvXnB6o+OBWCS+CoeCCpVRF2sA2RBKUxvT8tQT5Q==",
+ "node_modules/@csstools/color-helpers": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.1.0.tgz",
+ "integrity": "sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==",
"dev": true,
- "license": "MIT",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "optional": true,
"peer": true,
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.27.3",
- "@babel/helper-compilation-targets": "^7.28.6",
- "@babel/helper-globals": "^7.28.0",
- "@babel/helper-plugin-utils": "^7.28.6",
- "@babel/helper-replace-supers": "^7.28.6",
- "@babel/traverse": "^7.28.6"
- },
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-computed-properties": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.28.6.tgz",
- "integrity": "sha512-bcc3k0ijhHbc2lEfpFHgx7eYw9KNXqOerKWfzbxEHUGKnS3sz9C4CNL9OiFN1297bDNfUiSO7DaLzbvHQQQ1BQ==",
+ "node_modules/@csstools/css-calc": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-3.1.1.tgz",
+ "integrity": "sha512-HJ26Z/vmsZQqs/o3a6bgKslXGFAungXGbinULZO3eMsOyNJHeBBZfup5FiZInOghgoM4Hwnmw+OgbJCNg1wwUQ==",
"dev": true,
- "license": "MIT",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"peer": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.28.6",
- "@babel/template": "^7.28.6"
- },
"engines": {
- "node": ">=6.9.0"
+ "node": ">=20.19.0"
},
"peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "@csstools/css-parser-algorithms": "^4.0.0",
+ "@csstools/css-tokenizer": "^4.0.0"
}
},
- "node_modules/@babel/plugin-transform-destructuring": {
- "version": "7.28.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.5.tgz",
- "integrity": "sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==",
+ "node_modules/@csstools/css-parser-algorithms": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-4.0.0.tgz",
+ "integrity": "sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"license": "MIT",
"peer": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/traverse": "^7.28.5"
- },
"engines": {
- "node": ">=6.9.0"
+ "node": ">=20.19.0"
},
"peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "@csstools/css-tokenizer": "^4.0.0"
}
},
- "node_modules/@babel/plugin-transform-dotall-regex": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.28.6.tgz",
- "integrity": "sha512-SljjowuNKB7q5Oayv4FoPzeB74g3QgLt8IVJw9ADvWy3QnUb/01aw8I4AVv8wYnPvQz2GDDZ/g3GhcNyDBI4Bg==",
+ "node_modules/@csstools/css-syntax-patches-for-csstree": {
+ "version": "1.0.29",
+ "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.0.29.tgz",
+ "integrity": "sha512-jx9GjkkP5YHuTmko2eWAvpPnb0mB4mGRr2U7XwVNwevm8nlpobZEVk+GNmiYMk2VuA75v+plfXWyroWKmICZXg==",
"dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.28.5",
- "@babel/helper-plugin-utils": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "peer": true
},
- "node_modules/@babel/plugin-transform-duplicate-keys": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz",
- "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==",
+ "node_modules/@csstools/css-tokenizer": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-4.0.0.tgz",
+ "integrity": "sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"license": "MIT",
"peer": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=20.19.0"
}
},
- "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.28.6.tgz",
- "integrity": "sha512-5suVoXjC14lUN6ZL9OLKIHCNVWCrqGqlmEp/ixdXjvgnEl/kauLvvMO/Xw9NyMc95Joj1AeLVPVMvibBgSoFlA==",
+ "node_modules/@csstools/media-query-list-parser": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-5.0.0.tgz",
+ "integrity": "sha512-T9lXmZOfnam3eMERPsszjY5NK0jX8RmThmmm99FZ8b7z8yMaFZWKwLWGZuTwdO3ddRY5fy13GmmEYZXB4I98Eg==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"license": "MIT",
"peer": true,
- "dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.28.5",
- "@babel/helper-plugin-utils": "^7.28.6"
- },
"engines": {
- "node": ">=6.9.0"
+ "node": ">=20.19.0"
},
"peerDependencies": {
- "@babel/core": "^7.0.0"
+ "@csstools/css-parser-algorithms": "^4.0.0",
+ "@csstools/css-tokenizer": "^4.0.0"
}
},
- "node_modules/@babel/plugin-transform-dynamic-import": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz",
- "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
+ "node_modules/@ctrl/tinycolor": {
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz",
+ "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==",
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=10"
}
},
- "node_modules/@babel/plugin-transform-explicit-resource-management": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.6.tgz",
- "integrity": "sha512-Iao5Konzx2b6g7EPqTy40UZbcdXE126tTxVFr/nAIj+WItNxjKSYTEw3RC+A2/ZetmdJsgueL1KhaMCQHkLPIg==",
+ "node_modules/@emnapi/core": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.8.1.tgz",
+ "integrity": "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==",
"dev": true,
"license": "MIT",
+ "optional": true,
"peer": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.28.6",
- "@babel/plugin-transform-destructuring": "^7.28.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "@emnapi/wasi-threads": "1.1.0",
+ "tslib": "^2.4.0"
}
},
- "node_modules/@babel/plugin-transform-exponentiation-operator": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.28.6.tgz",
- "integrity": "sha512-WitabqiGjV/vJ0aPOLSFfNY1u9U3R7W36B03r5I2KoNix+a3sOhJ3pKFB3R5It9/UiK78NiO0KE9P21cMhlPkw==",
+ "node_modules/@emnapi/runtime": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz",
+ "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==",
"dev": true,
"license": "MIT",
+ "optional": true,
"peer": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "tslib": "^2.4.0"
}
},
- "node_modules/@babel/plugin-transform-export-namespace-from": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz",
- "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==",
+ "node_modules/@emnapi/wasi-threads": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz",
+ "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==",
"dev": true,
"license": "MIT",
+ "optional": true,
"peer": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "tslib": "^2.4.0"
}
},
- "node_modules/@babel/plugin-transform-for-of": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz",
- "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==",
+ "node_modules/@es-joy/jsdoccomment": {
+ "version": "0.41.0",
+ "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.41.0.tgz",
+ "integrity": "sha512-aKUhyn1QI5Ksbqcr3fFJj16p99QdjUxXAEuFst1Z47DRyoiMwivIH9MV/ARcJOCXVjPfjITciej8ZD2O/6qUmw==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1"
+ "comment-parser": "1.4.1",
+ "esquery": "^1.5.0",
+ "jsdoc-type-pratt-parser": "~4.0.0"
},
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=16"
}
},
- "node_modules/@babel/plugin-transform-function-name": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz",
- "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==",
+ "node_modules/@esbuild/aix-ppc64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.2.tgz",
+ "integrity": "sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==",
+ "cpu": [
+ "ppc64"
+ ],
"dev": true,
"license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-compilation-targets": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/traverse": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "aix"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-json-strings": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.28.6.tgz",
- "integrity": "sha512-Nr+hEN+0geQkzhbdgQVPoqr47lZbm+5fCUmO70722xJZd0Mvb59+33QLImGj6F+DkK3xgDi1YVysP8whD6FQAw==",
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.2.tgz",
+ "integrity": "sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==",
+ "cpu": [
+ "arm"
+ ],
"dev": true,
"license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.28.6"
- },
+ "optional": true,
+ "os": [
+ "android"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-literals": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz",
- "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==",
+ "node_modules/@esbuild/android-arm64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.2.tgz",
+ "integrity": "sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "android"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-logical-assignment-operators": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.28.6.tgz",
- "integrity": "sha512-+anKKair6gpi8VsM/95kmomGNMD0eLz1NQ8+Pfw5sAwWH9fGYXT50E55ZpV0pHUHWf6IUTWPM+f/7AAff+wr9A==",
+ "node_modules/@esbuild/android-x64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.2.tgz",
+ "integrity": "sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.28.6"
- },
+ "optional": true,
+ "os": [
+ "android"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-member-expression-literals": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz",
- "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==",
+ "node_modules/@esbuild/darwin-arm64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.2.tgz",
+ "integrity": "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-modules-amd": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz",
- "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==",
+ "node_modules/@esbuild/darwin-x64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.2.tgz",
+ "integrity": "sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-module-transforms": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-modules-commonjs": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.28.6.tgz",
- "integrity": "sha512-jppVbf8IV9iWWwWTQIxJMAJCWBuuKx71475wHwYytrRGQ2CWiDvYlADQno3tcYpS/T2UUWFQp3nVtYfK/YBQrA==",
+ "node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.2.tgz",
+ "integrity": "sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-module-transforms": "^7.28.6",
- "@babel/helper-plugin-utils": "^7.28.6"
- },
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-modules-systemjs": {
- "version": "7.28.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.28.5.tgz",
- "integrity": "sha512-vn5Jma98LCOeBy/KpeQhXcV2WZgaRUtjwQmjoBuLNlOmkg0fB5pdvYVeWRYI69wWKwK2cD1QbMiUQnoujWvrew==",
+ "node_modules/@esbuild/freebsd-x64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.2.tgz",
+ "integrity": "sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-module-transforms": "^7.28.3",
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/helper-validator-identifier": "^7.28.5",
- "@babel/traverse": "^7.28.5"
- },
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-modules-umd": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz",
- "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==",
+ "node_modules/@esbuild/linux-arm": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.2.tgz",
+ "integrity": "sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==",
+ "cpu": [
+ "arm"
+ ],
"dev": true,
"license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-module-transforms": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz",
- "integrity": "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==",
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.2.tgz",
+ "integrity": "sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-new-target": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz",
- "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==",
+ "node_modules/@esbuild/linux-ia32": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.2.tgz",
+ "integrity": "sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==",
+ "cpu": [
+ "ia32"
+ ],
"dev": true,
"license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-nullish-coalescing-operator": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.28.6.tgz",
- "integrity": "sha512-3wKbRgmzYbw24mDJXT7N+ADXw8BC/imU9yo9c9X9NKaLF1fW+e5H1U5QjMUBe4Qo4Ox/o++IyUkl1sVCLgevKg==",
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.2.tgz",
+ "integrity": "sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==",
+ "cpu": [
+ "loong64"
+ ],
"dev": true,
"license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.28.6"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-numeric-separator": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.28.6.tgz",
- "integrity": "sha512-SJR8hPynj8outz+SlStQSwvziMN4+Bq99it4tMIf5/Caq+3iOc0JtKyse8puvyXkk3eFRIA5ID/XfunGgO5i6w==",
+ "node_modules/@esbuild/linux-mips64el": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.2.tgz",
+ "integrity": "sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==",
+ "cpu": [
+ "mips64el"
+ ],
"dev": true,
"license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.28.6"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-object-rest-spread": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.6.tgz",
- "integrity": "sha512-5rh+JR4JBC4pGkXLAcYdLHZjXudVxWMXbB6u6+E9lRL5TrGVbHt1TjxGbZ8CkmYw9zjkB7jutzOROArsqtncEA==",
- "dev": true,
+ "node_modules/@esbuild/linux-ppc64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.2.tgz",
+ "integrity": "sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
"license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-compilation-targets": "^7.28.6",
- "@babel/helper-plugin-utils": "^7.28.6",
- "@babel/plugin-transform-destructuring": "^7.28.5",
- "@babel/plugin-transform-parameters": "^7.27.7",
- "@babel/traverse": "^7.28.6"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-object-super": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz",
- "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==",
+ "node_modules/@esbuild/linux-riscv64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.2.tgz",
+ "integrity": "sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==",
+ "cpu": [
+ "riscv64"
+ ],
"dev": true,
"license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/helper-replace-supers": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-optional-catch-binding": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.28.6.tgz",
- "integrity": "sha512-R8ja/Pyrv0OGAvAXQhSTmWyPJPml+0TMqXlO5w+AsMEiwb2fg3WkOvob7UxFSL3OIttFSGSRFKQsOhJ/X6HQdQ==",
+ "node_modules/@esbuild/linux-s390x": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.2.tgz",
+ "integrity": "sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==",
+ "cpu": [
+ "s390x"
+ ],
"dev": true,
"license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.28.6"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-optional-chaining": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.28.6.tgz",
- "integrity": "sha512-A4zobikRGJTsX9uqVFdafzGkqD30t26ck2LmOzAuLL8b2x6k3TIqRiT2xVvA9fNmFeTX484VpsdgmKNA0bS23w==",
+ "node_modules/@esbuild/linux-x64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.2.tgz",
+ "integrity": "sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.28.6",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-parameters": {
- "version": "7.27.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz",
- "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==",
+ "node_modules/@esbuild/netbsd-arm64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.2.tgz",
+ "integrity": "sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-private-methods": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.28.6.tgz",
- "integrity": "sha512-piiuapX9CRv7+0st8lmuUlRSmX6mBcVeNQ1b4AYzJxfCMuBfB0vBXDiGSmm03pKJw1v6cZ8KSeM+oUnM6yAExg==",
+ "node_modules/@esbuild/netbsd-x64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.2.tgz",
+ "integrity": "sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.28.6",
- "@babel/helper-plugin-utils": "^7.28.6"
- },
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-private-property-in-object": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.28.6.tgz",
- "integrity": "sha512-b97jvNSOb5+ehyQmBpmhOCiUC5oVK4PMnpRvO7+ymFBoqYjeDHIU9jnrNUuwHOiL9RpGDoKBpSViarV+BU+eVA==",
+ "node_modules/@esbuild/openbsd-arm64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.2.tgz",
+ "integrity": "sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.27.3",
- "@babel/helper-create-class-features-plugin": "^7.28.6",
- "@babel/helper-plugin-utils": "^7.28.6"
- },
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-property-literals": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz",
- "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==",
+ "node_modules/@esbuild/openbsd-x64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.2.tgz",
+ "integrity": "sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-regenerator": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.6.tgz",
- "integrity": "sha512-eZhoEZHYQLL5uc1gS5e9/oTknS0sSSAtd5TkKMUp3J+S/CaUjagc0kOUPsEbDmMeva0nC3WWl4SxVY6+OBuxfw==",
+ "node_modules/@esbuild/openharmony-arm64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.2.tgz",
+ "integrity": "sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.28.6"
- },
+ "optional": true,
+ "os": [
+ "openharmony"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-regexp-modifiers": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.28.6.tgz",
- "integrity": "sha512-QGWAepm9qxpaIs7UM9FvUSnCGlb8Ua1RhyM4/veAxLwt3gMat/LSGrZixyuj4I6+Kn9iwvqCyPTtbdxanYoWYg==",
+ "node_modules/@esbuild/sunos-x64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.2.tgz",
+ "integrity": "sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.28.5",
- "@babel/helper-plugin-utils": "^7.28.6"
- },
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-reserved-words": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz",
- "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==",
+ "node_modules/@esbuild/win32-arm64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.2.tgz",
+ "integrity": "sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "win32"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-shorthand-properties": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz",
- "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==",
+ "node_modules/@esbuild/win32-ia32": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.2.tgz",
+ "integrity": "sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==",
+ "cpu": [
+ "ia32"
+ ],
"dev": true,
"license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "win32"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-spread": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.28.6.tgz",
- "integrity": "sha512-9U4QObUC0FtJl05AsUcodau/RWDytrU6uKgkxu09mLR9HLDAtUMoPuuskm5huQsoktmsYpI+bGmq+iapDcriKA==",
+ "node_modules/@esbuild/win32-x64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.2.tgz",
+ "integrity": "sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.28.6",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "win32"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-sticky-regex": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz",
- "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==",
+ "node_modules/@eslint-community/eslint-utils": {
+ "version": "4.9.1",
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz",
+ "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
+ "eslint-visitor-keys": "^3.4.3"
},
"engines": {
- "node": ">=6.9.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
},
"peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
}
},
- "node_modules/@babel/plugin-transform-template-literals": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz",
- "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==",
+ "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
"dev": true,
- "license": "MIT",
+ "license": "Apache-2.0",
"peer": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
"engines": {
- "node": ">=6.9.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "funding": {
+ "url": "https://opencollective.com/eslint"
}
},
- "node_modules/@babel/plugin-transform-typeof-symbol": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz",
- "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==",
+ "node_modules/@eslint-community/regexpp": {
+ "version": "4.12.2",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz",
+ "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==",
"dev": true,
"license": "MIT",
"peer": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
}
},
- "node_modules/@babel/plugin-transform-unicode-escapes": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz",
- "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==",
+ "node_modules/@eslint/eslintrc": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
+ "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
+ "ajv": "^6.12.4",
+ "debug": "^4.3.2",
+ "espree": "^9.6.0",
+ "globals": "^13.19.0",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^4.1.0",
+ "minimatch": "^3.1.2",
+ "strip-json-comments": "^3.1.1"
},
"engines": {
- "node": ">=6.9.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "funding": {
+ "url": "https://opencollective.com/eslint"
}
},
- "node_modules/@babel/plugin-transform-unicode-property-regex": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.28.6.tgz",
- "integrity": "sha512-4Wlbdl/sIZjzi/8St0evF0gEZrgOswVO6aOzqxh1kDZOl9WmLrHq2HtGhnOJZmHZYKP8WZ1MDLCt5DAWwRo57A==",
+ "node_modules/@eslint/eslintrc/node_modules/brace-expansion": {
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
+ "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.28.5",
- "@babel/helper-plugin-utils": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
}
},
- "node_modules/@babel/plugin-transform-unicode-regex": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz",
- "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==",
+ "node_modules/@eslint/eslintrc/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
- "license": "MIT",
+ "license": "ISC",
"peer": true,
"dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1"
+ "brace-expansion": "^1.1.7"
},
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": "*"
}
},
- "node_modules/@babel/plugin-transform-unicode-sets-regex": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.28.6.tgz",
- "integrity": "sha512-/wHc/paTUmsDYN7SZkpWxogTOBNnlx7nBQYfy6JJlCT7G3mVhltk3e++N7zV0XfgGsrqBxd4rJQt9H16I21Y1Q==",
+ "node_modules/@eslint/js": {
+ "version": "8.57.1",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz",
+ "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==",
"dev": true,
"license": "MIT",
"peer": true,
- "dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.28.5",
- "@babel/helper-plugin-utils": "^7.28.6"
- },
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
- "node_modules/@babel/preset-env": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.6.tgz",
- "integrity": "sha512-GaTI4nXDrs7l0qaJ6Rg06dtOXTBCG6TMDB44zbqofCIC4PqC7SEvmFFtpxzCDw9W5aJ7RKVshgXTLvLdBFV/qw==",
- "dev": true,
+ "node_modules/@file-type/xml": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/@file-type/xml/-/xml-0.4.4.tgz",
+ "integrity": "sha512-NhCyXoHlVZ8TqM476hyzwGJ24+D5IPSaZhmrPj7qXnEVb3q6jrFzA3mM9TBpknKSI9EuQeGTKRg2DXGUwvBBoQ==",
"license": "MIT",
- "peer": true,
"dependencies": {
- "@babel/compat-data": "^7.28.6",
- "@babel/helper-compilation-targets": "^7.28.6",
- "@babel/helper-plugin-utils": "^7.28.6",
- "@babel/helper-validator-option": "^7.27.1",
- "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.28.5",
- "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1",
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1",
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1",
- "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.6",
- "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2",
- "@babel/plugin-syntax-import-assertions": "^7.28.6",
- "@babel/plugin-syntax-import-attributes": "^7.28.6",
- "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6",
- "@babel/plugin-transform-arrow-functions": "^7.27.1",
- "@babel/plugin-transform-async-generator-functions": "^7.28.6",
- "@babel/plugin-transform-async-to-generator": "^7.28.6",
- "@babel/plugin-transform-block-scoped-functions": "^7.27.1",
- "@babel/plugin-transform-block-scoping": "^7.28.6",
- "@babel/plugin-transform-class-properties": "^7.28.6",
- "@babel/plugin-transform-class-static-block": "^7.28.6",
- "@babel/plugin-transform-classes": "^7.28.6",
- "@babel/plugin-transform-computed-properties": "^7.28.6",
- "@babel/plugin-transform-destructuring": "^7.28.5",
- "@babel/plugin-transform-dotall-regex": "^7.28.6",
- "@babel/plugin-transform-duplicate-keys": "^7.27.1",
- "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.28.6",
- "@babel/plugin-transform-dynamic-import": "^7.27.1",
- "@babel/plugin-transform-explicit-resource-management": "^7.28.6",
- "@babel/plugin-transform-exponentiation-operator": "^7.28.6",
- "@babel/plugin-transform-export-namespace-from": "^7.27.1",
- "@babel/plugin-transform-for-of": "^7.27.1",
- "@babel/plugin-transform-function-name": "^7.27.1",
- "@babel/plugin-transform-json-strings": "^7.28.6",
- "@babel/plugin-transform-literals": "^7.27.1",
- "@babel/plugin-transform-logical-assignment-operators": "^7.28.6",
- "@babel/plugin-transform-member-expression-literals": "^7.27.1",
- "@babel/plugin-transform-modules-amd": "^7.27.1",
- "@babel/plugin-transform-modules-commonjs": "^7.28.6",
- "@babel/plugin-transform-modules-systemjs": "^7.28.5",
- "@babel/plugin-transform-modules-umd": "^7.27.1",
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.27.1",
- "@babel/plugin-transform-new-target": "^7.27.1",
- "@babel/plugin-transform-nullish-coalescing-operator": "^7.28.6",
- "@babel/plugin-transform-numeric-separator": "^7.28.6",
- "@babel/plugin-transform-object-rest-spread": "^7.28.6",
- "@babel/plugin-transform-object-super": "^7.27.1",
- "@babel/plugin-transform-optional-catch-binding": "^7.28.6",
- "@babel/plugin-transform-optional-chaining": "^7.28.6",
- "@babel/plugin-transform-parameters": "^7.27.7",
- "@babel/plugin-transform-private-methods": "^7.28.6",
- "@babel/plugin-transform-private-property-in-object": "^7.28.6",
- "@babel/plugin-transform-property-literals": "^7.27.1",
- "@babel/plugin-transform-regenerator": "^7.28.6",
- "@babel/plugin-transform-regexp-modifiers": "^7.28.6",
- "@babel/plugin-transform-reserved-words": "^7.27.1",
- "@babel/plugin-transform-shorthand-properties": "^7.27.1",
- "@babel/plugin-transform-spread": "^7.28.6",
- "@babel/plugin-transform-sticky-regex": "^7.27.1",
- "@babel/plugin-transform-template-literals": "^7.27.1",
- "@babel/plugin-transform-typeof-symbol": "^7.27.1",
- "@babel/plugin-transform-unicode-escapes": "^7.27.1",
- "@babel/plugin-transform-unicode-property-regex": "^7.28.6",
- "@babel/plugin-transform-unicode-regex": "^7.27.1",
- "@babel/plugin-transform-unicode-sets-regex": "^7.28.6",
- "@babel/preset-modules": "0.1.6-no-external-plugins",
- "babel-plugin-polyfill-corejs2": "^0.4.14",
- "babel-plugin-polyfill-corejs3": "^0.13.0",
- "babel-plugin-polyfill-regenerator": "^0.6.5",
- "core-js-compat": "^3.43.0",
- "semver": "^6.3.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "sax": "^1.4.1",
+ "strtok3": "^10.3.4"
}
},
- "node_modules/@babel/preset-modules": {
- "version": "0.1.6-no-external-plugins",
- "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz",
- "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==",
- "dev": true,
- "license": "MIT",
- "peer": true,
+ "node_modules/@floating-ui/core": {
+ "version": "1.7.5",
+ "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.5.tgz",
+ "integrity": "sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/types": "^7.4.4",
- "esutils": "^2.0.2"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0"
+ "@floating-ui/utils": "^0.2.11"
}
},
- "node_modules/@babel/runtime": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz",
- "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==",
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
+ "node_modules/@floating-ui/dom": {
+ "version": "1.7.6",
+ "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.6.tgz",
+ "integrity": "sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==",
+ "dependencies": {
+ "@floating-ui/core": "^1.7.5",
+ "@floating-ui/utils": "^0.2.11"
}
},
- "node_modules/@babel/template": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz",
- "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==",
+ "node_modules/@floating-ui/utils": {
+ "version": "0.2.11",
+ "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.11.tgz",
+ "integrity": "sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg=="
+ },
+ "node_modules/@fontsource/dancing-script": {
+ "version": "5.2.8",
+ "resolved": "https://registry.npmjs.org/@fontsource/dancing-script/-/dancing-script-5.2.8.tgz",
+ "integrity": "sha512-zHVVgIQ5/rAIM0VVp1QMsqvJm9INHO5/C82E9rHT6NlabjaPTFYn8wl9lT4vPWizfB0TublGQM1999kfdA+XFA==",
+ "license": "OFL-1.1",
+ "funding": {
+ "url": "https://github.com/sponsors/ayuhito"
+ }
+ },
+ "node_modules/@humanwhocodes/config-array": {
+ "version": "0.13.0",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz",
+ "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==",
+ "deprecated": "Use @eslint/config-array instead",
"dev": true,
- "license": "MIT",
+ "license": "Apache-2.0",
+ "peer": true,
"dependencies": {
- "@babel/code-frame": "^7.28.6",
- "@babel/parser": "^7.28.6",
- "@babel/types": "^7.28.6"
+ "@humanwhocodes/object-schema": "^2.0.3",
+ "debug": "^4.3.1",
+ "minimatch": "^3.0.5"
},
"engines": {
- "node": ">=6.9.0"
+ "node": ">=10.10.0"
}
},
- "node_modules/@babel/traverse": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.6.tgz",
- "integrity": "sha512-fgWX62k02qtjqdSNTAGxmKYY/7FSL9WAS1o2Hu5+I5m9T0yxZzr4cnrfXQ/MX0rIifthCSs6FKTlzYbJcPtMNg==",
+ "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": {
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
+ "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
- "@babel/code-frame": "^7.28.6",
- "@babel/generator": "^7.28.6",
- "@babel/helper-globals": "^7.28.0",
- "@babel/parser": "^7.28.6",
- "@babel/template": "^7.28.6",
- "@babel/types": "^7.28.6",
- "debug": "^4.3.1"
- },
- "engines": {
- "node": ">=6.9.0"
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
}
},
- "node_modules/@babel/types": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.6.tgz",
- "integrity": "sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==",
- "license": "MIT",
+ "node_modules/@humanwhocodes/config-array/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "license": "ISC",
+ "peer": true,
"dependencies": {
- "@babel/helper-string-parser": "^7.27.1",
- "@babel/helper-validator-identifier": "^7.28.5"
+ "brace-expansion": "^1.1.7"
},
"engines": {
- "node": ">=6.9.0"
+ "node": "*"
}
},
- "node_modules/@bcoe/v8-coverage": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-1.0.2.tgz",
- "integrity": "sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==",
+ "node_modules/@humanwhocodes/module-importer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
+ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
"dev": true,
- "license": "MIT",
+ "license": "Apache-2.0",
+ "peer": true,
"engines": {
- "node": ">=18"
- }
- },
- "node_modules/@buttercup/fetch": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/@buttercup/fetch/-/fetch-0.2.1.tgz",
- "integrity": "sha512-sCgECOx8wiqY8NN1xN22BqqKzXYIG2AicNLlakOAI4f0WgyLVUbAigMf8CZhBtJxdudTcB1gD5lciqi44jwJvg==",
- "license": "MIT",
- "optionalDependencies": {
- "node-fetch": "^3.3.0"
+ "node": ">=12.22"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
}
},
- "node_modules/@cacheable/memory": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/@cacheable/memory/-/memory-2.0.7.tgz",
- "integrity": "sha512-RbxnxAMf89Tp1dLhXMS7ceft/PGsDl1Ip7T20z5nZ+pwIAsQ1p2izPjVG69oCLv/jfQ7HDPHTWK0c9rcAWXN3A==",
+ "node_modules/@humanwhocodes/object-schema": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz",
+ "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==",
+ "deprecated": "Use @eslint/object-schema instead",
"dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@cacheable/utils": "^2.3.3",
- "@keyv/bigmap": "^1.3.0",
- "hookified": "^1.14.0",
- "keyv": "^5.5.5"
- }
+ "license": "BSD-3-Clause",
+ "peer": true
},
- "node_modules/@cacheable/memory/node_modules/@keyv/bigmap": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/@keyv/bigmap/-/bigmap-1.3.1.tgz",
- "integrity": "sha512-WbzE9sdmQtKy8vrNPa9BRnwZh5UF4s1KTmSK0KUVLo3eff5BlQNNWDnFOouNpKfPKDnms9xynJjsMYjMaT/aFQ==",
+ "node_modules/@isaacs/cliui": {
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
+ "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
"dev": true,
- "license": "MIT",
- "peer": true,
"dependencies": {
- "hashery": "^1.4.0",
- "hookified": "^1.15.0"
+ "string-width": "^5.1.2",
+ "string-width-cjs": "npm:string-width@^4.2.0",
+ "strip-ansi": "^7.0.1",
+ "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
+ "wrap-ansi": "^8.1.0",
+ "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
},
"engines": {
- "node": ">= 18"
- },
- "peerDependencies": {
- "keyv": "^5.6.0"
+ "node": ">=12"
}
},
- "node_modules/@cacheable/memory/node_modules/keyv": {
- "version": "5.6.0",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.6.0.tgz",
- "integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==",
+ "node_modules/@isaacs/cliui/node_modules/ansi-regex": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
+ "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
"dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@keyv/serialize": "^1.1.1"
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
}
},
- "node_modules/@cacheable/utils": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/@cacheable/utils/-/utils-2.3.3.tgz",
- "integrity": "sha512-JsXDL70gQ+1Vc2W/KUFfkAJzgb4puKwwKehNLuB+HrNKWf91O736kGfxn4KujXCCSuh6mRRL4XEB0PkAFjWS0A==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "hashery": "^1.3.0",
- "keyv": "^5.5.5"
- }
+ "node_modules/@isaacs/cliui/node_modules/emoji-regex": {
+ "version": "9.2.2",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
+ "dev": true
},
- "node_modules/@cacheable/utils/node_modules/keyv": {
- "version": "5.6.0",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.6.0.tgz",
- "integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==",
+ "node_modules/@isaacs/cliui/node_modules/string-width": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+ "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
"dev": true,
- "license": "MIT",
- "peer": true,
"dependencies": {
- "@keyv/serialize": "^1.1.1"
- }
- },
- "node_modules/@csstools/color-helpers": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.1.0.tgz",
- "integrity": "sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/csstools"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
- }
- ],
- "license": "MIT-0",
- "optional": true,
- "peer": true,
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@csstools/css-parser-algorithms": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-4.0.0.tgz",
- "integrity": "sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/csstools"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
- }
- ],
- "license": "MIT",
- "peer": true,
+ "eastasianwidth": "^0.2.0",
+ "emoji-regex": "^9.2.2",
+ "strip-ansi": "^7.0.1"
+ },
"engines": {
- "node": ">=20.19.0"
+ "node": ">=12"
},
- "peerDependencies": {
- "@csstools/css-tokenizer": "^4.0.0"
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@csstools/css-syntax-patches-for-csstree": {
- "version": "1.0.25",
- "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.0.25.tgz",
- "integrity": "sha512-g0Kw9W3vjx5BEBAF8c5Fm2NcB/Fs8jJXh85aXqwEXiL+tqtOut07TWgyaGzAAfTM+gKckrrncyeGEZPcaRgm2Q==",
+ "node_modules/@isaacs/cliui/node_modules/strip-ansi": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz",
+ "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
"dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/csstools"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
- }
- ],
- "license": "MIT-0",
- "peer": true,
+ "dependencies": {
+ "ansi-regex": "^6.2.2"
+ },
"engines": {
- "node": ">=18"
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
}
},
- "node_modules/@csstools/css-tokenizer": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-4.0.0.tgz",
- "integrity": "sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/csstools"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
- }
- ],
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.13",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
+ "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
"license": "MIT",
- "peer": true,
- "engines": {
- "node": ">=20.19.0"
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.5.0",
+ "@jridgewell/trace-mapping": "^0.3.24"
}
},
- "node_modules/@csstools/media-query-list-parser": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-5.0.0.tgz",
- "integrity": "sha512-T9lXmZOfnam3eMERPsszjY5NK0jX8RmThmmm99FZ8b7z8yMaFZWKwLWGZuTwdO3ddRY5fy13GmmEYZXB4I98Eg==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/csstools"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
- }
- ],
+ "node_modules/@jridgewell/remapping": {
+ "version": "2.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz",
+ "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==",
"license": "MIT",
- "peer": true,
- "engines": {
- "node": ">=20.19.0"
- },
- "peerDependencies": {
- "@csstools/css-parser-algorithms": "^4.0.0",
- "@csstools/css-tokenizer": "^4.0.0"
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.24"
}
},
- "node_modules/@discoveryjs/json-ext": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.6.3.tgz",
- "integrity": "sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ==",
- "dev": true,
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
"license": "MIT",
- "peer": true,
"engines": {
- "node": ">=14.17.0"
+ "node": ">=6.0.0"
}
},
- "node_modules/@emnapi/core": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.8.1.tgz",
- "integrity": "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==",
+ "node_modules/@jridgewell/source-map": {
+ "version": "0.3.11",
+ "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz",
+ "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==",
"dev": true,
"license": "MIT",
"optional": true,
"peer": true,
"dependencies": {
- "@emnapi/wasi-threads": "1.1.0",
- "tslib": "^2.4.0"
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.25"
}
},
- "node_modules/@emnapi/runtime": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz",
- "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==",
- "dev": true,
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.5.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
+ "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
+ "license": "MIT"
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.31",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
+ "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
"license": "MIT",
- "optional": true,
- "peer": true,
"dependencies": {
- "tslib": "^2.4.0"
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
}
},
- "node_modules/@emnapi/wasi-threads": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz",
- "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==",
+ "node_modules/@keyv/serialize": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@keyv/serialize/-/serialize-1.1.1.tgz",
+ "integrity": "sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==",
"dev": true,
"license": "MIT",
- "optional": true,
- "peer": true,
+ "peer": true
+ },
+ "node_modules/@lezer/common": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.5.1.tgz",
+ "integrity": "sha512-6YRVG9vBkaY7p1IVxL4s44n5nUnaNnGM2/AckNgYOnxTG2kWh1vR8BMxPseWPjRNpb5VtXnMpeYAEAADoRV1Iw=="
+ },
+ "node_modules/@lezer/css": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@lezer/css/-/css-1.3.1.tgz",
+ "integrity": "sha512-PYAKeUVBo3HFThruRyp/iK91SwiZJnzXh8QzkQlwijB5y+N5iB28+iLk78o2zmKqqV0uolNhCwFqB8LA7b0Svg==",
"dependencies": {
- "tslib": "^2.4.0"
+ "@lezer/common": "^1.2.0",
+ "@lezer/highlight": "^1.0.0",
+ "@lezer/lr": "^1.3.0"
}
},
- "node_modules/@es-joy/jsdoccomment": {
- "version": "0.41.0",
- "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.41.0.tgz",
- "integrity": "sha512-aKUhyn1QI5Ksbqcr3fFJj16p99QdjUxXAEuFst1Z47DRyoiMwivIH9MV/ARcJOCXVjPfjITciej8ZD2O/6qUmw==",
- "dev": true,
- "license": "MIT",
- "peer": true,
+ "node_modules/@lezer/highlight": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.2.3.tgz",
+ "integrity": "sha512-qXdH7UqTvGfdVBINrgKhDsVTJTxactNNxLk7+UMwZhU13lMHaOBlJe9Vqp907ya56Y3+ed2tlqzys7jDkTmW0g==",
"dependencies": {
- "comment-parser": "1.4.1",
- "esquery": "^1.5.0",
- "jsdoc-type-pratt-parser": "~4.0.0"
- },
- "engines": {
- "node": ">=16"
+ "@lezer/common": "^1.3.0"
}
},
- "node_modules/@esbuild/aix-ppc64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.2.tgz",
- "integrity": "sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "aix"
- ],
- "engines": {
- "node": ">=18"
+ "node_modules/@lezer/html": {
+ "version": "1.3.13",
+ "resolved": "https://registry.npmjs.org/@lezer/html/-/html-1.3.13.tgz",
+ "integrity": "sha512-oI7n6NJml729m7pjm9lvLvmXbdoMoi2f+1pwSDJkl9d68zGr7a9Btz8NdHTGQZtW2DA25ybeuv/SyDb9D5tseg==",
+ "dependencies": {
+ "@lezer/common": "^1.2.0",
+ "@lezer/highlight": "^1.0.0",
+ "@lezer/lr": "^1.0.0"
}
},
- "node_modules/@esbuild/android-arm": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.2.tgz",
- "integrity": "sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==",
- "cpu": [
- "arm"
- ],
- "dev": true,
+ "node_modules/@lezer/javascript": {
+ "version": "1.5.4",
+ "resolved": "https://registry.npmjs.org/@lezer/javascript/-/javascript-1.5.4.tgz",
+ "integrity": "sha512-vvYx3MhWqeZtGPwDStM2dwgljd5smolYD2lR2UyFcHfxbBQebqx8yjmFmxtJ/E6nN6u1D9srOiVWm3Rb4tmcUA==",
+ "dependencies": {
+ "@lezer/common": "^1.2.0",
+ "@lezer/highlight": "^1.1.3",
+ "@lezer/lr": "^1.3.0"
+ }
+ },
+ "node_modules/@lezer/lr": {
+ "version": "1.4.8",
+ "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.4.8.tgz",
+ "integrity": "sha512-bPWa0Pgx69ylNlMlPvBPryqeLYQjyJjqPx+Aupm5zydLIF3NE+6MMLT8Yi23Bd9cif9VS00aUebn+6fDIGBcDA==",
+ "dependencies": {
+ "@lezer/common": "^1.0.0"
+ }
+ },
+ "node_modules/@libresign/pdf-elements": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@libresign/pdf-elements/-/pdf-elements-1.1.1.tgz",
+ "integrity": "sha512-QZUzORAArXioHNYzrxCZUR2Q1B01IWcmVLSJcSBcL6ZbwDIzfXJ+Znd71dF0kT/jKX8MfutBYLpwmgsgTJUUYw==",
+ "dependencies": {
+ "pdfjs-dist": "^5.4.624",
+ "vue": "^3.5.28"
+ }
+ },
+ "node_modules/@marijn/find-cluster-break": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@marijn/find-cluster-break/-/find-cluster-break-1.0.2.tgz",
+ "integrity": "sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g=="
+ },
+ "node_modules/@marionebl/option": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/@marionebl/option/-/option-1.0.8.tgz",
+ "integrity": "sha512-Bci8ZUM5Bf4cbN814aUmuURJTOpaHaYoeVFj09usP41BEUUX3vBSOOP0p/0XxE1+ipn6nH0FDZWUW2UO+6YyRg==",
"license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
+ "dependencies": {
+ "@marionebl/result": "^1.0.7"
+ }
+ },
+ "node_modules/@marionebl/result": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/@marionebl/result/-/result-1.0.8.tgz",
+ "integrity": "sha512-eEHcr17US1aeCiiRK//12dr1NOZ9WqKVWqjyIrF4SP4O5R/JhjK9gCSMYGiHZCIefpKDOzUrgPuvPdF1O2KcYg==",
+ "license": "MIT",
+ "dependencies": {
+ "@marionebl/option": "^1.0.4"
+ }
+ },
+ "node_modules/@mdi/js": {
+ "version": "7.4.47",
+ "resolved": "https://registry.npmjs.org/@mdi/js/-/js-7.4.47.tgz",
+ "integrity": "sha512-KPnNOtm5i2pMabqZxpUz7iQf+mfrYZyKCZ8QNz85czgEt7cuHcGorWfdzUMWYA0SD+a6Hn4FmJ+YhzzzjkTZrQ==",
+ "license": "Apache-2.0"
+ },
+ "node_modules/@mdi/svg": {
+ "version": "7.4.47",
+ "resolved": "https://registry.npmjs.org/@mdi/svg/-/svg-7.4.47.tgz",
+ "integrity": "sha512-WQ2gDll12T9WD34fdRFgQVgO8bag3gavrAgJ0frN4phlwdJARpE6gO1YvLEMJR0KKgoc+/Ea/A0Pp11I00xBvw==",
+ "license": "Apache-2.0"
+ },
+ "node_modules/@microsoft/api-extractor": {
+ "version": "7.57.6",
+ "resolved": "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-7.57.6.tgz",
+ "integrity": "sha512-0rFv/D8Grzw1Mjs2+8NGUR+o4h9LVm5zKRtMeWnpdB5IMJF4TeHCL1zR5LMCIudkOvyvjbhMG5Wjs0B5nqsrRQ==",
+ "dev": true,
+ "dependencies": {
+ "@microsoft/api-extractor-model": "7.33.4",
+ "@microsoft/tsdoc": "~0.16.0",
+ "@microsoft/tsdoc-config": "~0.18.1",
+ "@rushstack/node-core-library": "5.20.3",
+ "@rushstack/rig-package": "0.7.2",
+ "@rushstack/terminal": "0.22.3",
+ "@rushstack/ts-command-line": "5.3.3",
+ "diff": "~8.0.2",
+ "lodash": "~4.17.23",
+ "minimatch": "10.2.1",
+ "resolve": "~1.22.1",
+ "semver": "~7.5.4",
+ "source-map": "~0.6.1",
+ "typescript": "5.8.2"
+ },
+ "bin": {
+ "api-extractor": "bin/api-extractor"
+ }
+ },
+ "node_modules/@microsoft/api-extractor-model": {
+ "version": "7.33.4",
+ "resolved": "https://registry.npmjs.org/@microsoft/api-extractor-model/-/api-extractor-model-7.33.4.tgz",
+ "integrity": "sha512-u1LTaNTikZAQ9uK6KG1Ms7nvNedsnODnspq/gH2dcyETWvH4hVNGNDvRAEutH66kAmxA4/necElqGNs1FggC8w==",
+ "dev": true,
+ "dependencies": {
+ "@microsoft/tsdoc": "~0.16.0",
+ "@microsoft/tsdoc-config": "~0.18.1",
+ "@rushstack/node-core-library": "5.20.3"
+ }
+ },
+ "node_modules/@microsoft/api-extractor/node_modules/balanced-match": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
+ "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
+ "dev": true,
"engines": {
- "node": ">=18"
+ "node": "18 || 20 || >=22"
}
},
- "node_modules/@esbuild/android-arm64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.2.tgz",
- "integrity": "sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==",
- "cpu": [
- "arm64"
- ],
+ "node_modules/@microsoft/api-extractor/node_modules/brace-expansion": {
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz",
+ "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==",
"dev": true,
- "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^4.0.2"
+ },
+ "engines": {
+ "node": "18 || 20 || >=22"
+ }
+ },
+ "node_modules/@microsoft/api-extractor/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@microsoft/api-extractor/node_modules/minimatch": {
+ "version": "10.2.1",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.1.tgz",
+ "integrity": "sha512-MClCe8IL5nRRmawL6ib/eT4oLyeKMGCghibcDWK+J0hh0Q8kqSdia6BvbRMVk6mPa6WqUa5uR2oxt6C5jd533A==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^5.0.2"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@microsoft/api-extractor/node_modules/semver": {
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@microsoft/api-extractor/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/@microsoft/api-extractor/node_modules/typescript": {
+ "version": "5.8.2",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz",
+ "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==",
+ "dev": true,
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
+ },
+ "node_modules/@microsoft/api-extractor/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/@microsoft/tsdoc": {
+ "version": "0.16.0",
+ "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.16.0.tgz",
+ "integrity": "sha512-xgAyonlVVS+q7Vc7qLW0UrJU7rSFcETRWsqdXZtjzRU8dF+6CkozTK4V4y1LwOX7j8r/vHphjDeMeGI4tNGeGA==",
+ "dev": true
+ },
+ "node_modules/@microsoft/tsdoc-config": {
+ "version": "0.18.1",
+ "resolved": "https://registry.npmjs.org/@microsoft/tsdoc-config/-/tsdoc-config-0.18.1.tgz",
+ "integrity": "sha512-9brPoVdfN9k9g0dcWkFeA7IH9bbcttzDJlXvkf8b2OBzd5MueR1V2wkKBL0abn0otvmkHJC6aapBOTJDDeMCZg==",
+ "dev": true,
+ "dependencies": {
+ "@microsoft/tsdoc": "0.16.0",
+ "ajv": "~8.18.0",
+ "jju": "~1.4.0",
+ "resolve": "~1.22.2"
+ }
+ },
+ "node_modules/@microsoft/tsdoc-config/node_modules/ajv": {
+ "version": "8.18.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz",
+ "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==",
+ "dev": true,
+ "dependencies": {
+ "fast-deep-equal": "^3.1.3",
+ "fast-uri": "^3.0.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/@microsoft/tsdoc-config/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/@napi-rs/canvas": {
+ "version": "0.1.95",
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas/-/canvas-0.1.95.tgz",
+ "integrity": "sha512-lkg23ge+rgyhgUwXmlbkPEhuhHq/hUi/gXKH+4I7vO+lJrbNfEYcQdJLIGjKyXLQzgFiiyDAwh5vAe/tITAE+w==",
"optional": true,
- "os": [
- "android"
- ],
"engines": {
- "node": ">=18"
+ "node": ">= 10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/Brooooooklyn"
+ },
+ "optionalDependencies": {
+ "@napi-rs/canvas-android-arm64": "0.1.95",
+ "@napi-rs/canvas-darwin-arm64": "0.1.95",
+ "@napi-rs/canvas-darwin-x64": "0.1.95",
+ "@napi-rs/canvas-linux-arm-gnueabihf": "0.1.95",
+ "@napi-rs/canvas-linux-arm64-gnu": "0.1.95",
+ "@napi-rs/canvas-linux-arm64-musl": "0.1.95",
+ "@napi-rs/canvas-linux-riscv64-gnu": "0.1.95",
+ "@napi-rs/canvas-linux-x64-gnu": "0.1.95",
+ "@napi-rs/canvas-linux-x64-musl": "0.1.95",
+ "@napi-rs/canvas-win32-arm64-msvc": "0.1.95",
+ "@napi-rs/canvas-win32-x64-msvc": "0.1.95"
}
},
- "node_modules/@esbuild/android-x64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.2.tgz",
- "integrity": "sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==",
+ "node_modules/@napi-rs/canvas-android-arm64": {
+ "version": "0.1.95",
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-android-arm64/-/canvas-android-arm64-0.1.95.tgz",
+ "integrity": "sha512-SqTh0wsYbetckMXEvHqmR7HKRJujVf1sYv1xdlhkifg6TlCSysz1opa49LlS3+xWuazcQcfRfmhA07HxxxGsAA==",
"cpu": [
- "x64"
+ "arm64"
],
- "dev": true,
- "license": "MIT",
"optional": true,
"os": [
"android"
],
"engines": {
- "node": ">=18"
+ "node": ">= 10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/Brooooooklyn"
}
},
- "node_modules/@esbuild/darwin-arm64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.2.tgz",
- "integrity": "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==",
+ "node_modules/@napi-rs/canvas-darwin-arm64": {
+ "version": "0.1.95",
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-arm64/-/canvas-darwin-arm64-0.1.95.tgz",
+ "integrity": "sha512-F7jT0Syu+B9DGBUBcMk3qCRIxAWiDXmvEjamwbYfbZl7asI1pmXZUnCOoIu49Wt0RNooToYfRDxU9omD6t5Xuw==",
"cpu": [
"arm64"
],
- "dev": true,
- "license": "MIT",
"optional": true,
"os": [
"darwin"
],
"engines": {
- "node": ">=18"
+ "node": ">= 10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/Brooooooklyn"
}
},
- "node_modules/@esbuild/darwin-x64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.2.tgz",
- "integrity": "sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==",
+ "node_modules/@napi-rs/canvas-darwin-x64": {
+ "version": "0.1.95",
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-x64/-/canvas-darwin-x64-0.1.95.tgz",
+ "integrity": "sha512-54eb2Ho15RDjYGXO/harjRznBrAvu+j5nQ85Z4Qd6Qg3slR8/Ja+Yvvy9G4yo7rdX6NR9GPkZeSTf2UcKXwaXw==",
"cpu": [
"x64"
],
- "dev": true,
- "license": "MIT",
"optional": true,
"os": [
"darwin"
],
"engines": {
- "node": ">=18"
+ "node": ">= 10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/Brooooooklyn"
}
},
- "node_modules/@esbuild/freebsd-arm64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.2.tgz",
- "integrity": "sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==",
+ "node_modules/@napi-rs/canvas-linux-arm-gnueabihf": {
+ "version": "0.1.95",
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm-gnueabihf/-/canvas-linux-arm-gnueabihf-0.1.95.tgz",
+ "integrity": "sha512-hYaLCSLx5bmbnclzQc3ado3PgZ66blJWzjXp0wJmdwpr/kH+Mwhj6vuytJIomgksyJoCdIqIa4N6aiqBGJtJ5Q==",
"cpu": [
- "arm64"
+ "arm"
],
- "dev": true,
- "license": "MIT",
"optional": true,
"os": [
- "freebsd"
+ "linux"
],
"engines": {
- "node": ">=18"
+ "node": ">= 10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/Brooooooklyn"
}
},
- "node_modules/@esbuild/freebsd-x64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.2.tgz",
- "integrity": "sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==",
+ "node_modules/@napi-rs/canvas-linux-arm64-gnu": {
+ "version": "0.1.95",
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-gnu/-/canvas-linux-arm64-gnu-0.1.95.tgz",
+ "integrity": "sha512-J7VipONahKsmScPZsipHVQBqpbZx4favaD8/enWzzlGcjiwycOoymL7f4tNeqdjK0su19bDOUt6mjp9gsPWYlw==",
"cpu": [
- "x64"
+ "arm64"
],
- "dev": true,
- "license": "MIT",
"optional": true,
"os": [
- "freebsd"
+ "linux"
],
"engines": {
- "node": ">=18"
+ "node": ">= 10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/Brooooooklyn"
}
},
- "node_modules/@esbuild/linux-arm": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.2.tgz",
- "integrity": "sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==",
+ "node_modules/@napi-rs/canvas-linux-arm64-musl": {
+ "version": "0.1.95",
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-musl/-/canvas-linux-arm64-musl-0.1.95.tgz",
+ "integrity": "sha512-PXy0UT1J/8MPG8UAkWp6Fd51ZtIZINFzIjGH909JjQrtCuJf3X6nanHYdz1A+Wq9o4aoPAw1YEUpFS1lelsVlg==",
"cpu": [
- "arm"
+ "arm64"
],
- "dev": true,
- "license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
- "node": ">=18"
+ "node": ">= 10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/Brooooooklyn"
}
},
- "node_modules/@esbuild/linux-arm64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.2.tgz",
- "integrity": "sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==",
+ "node_modules/@napi-rs/canvas-linux-riscv64-gnu": {
+ "version": "0.1.95",
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-riscv64-gnu/-/canvas-linux-riscv64-gnu-0.1.95.tgz",
+ "integrity": "sha512-2IzCkW2RHRdcgF9W5/plHvYFpc6uikyjMb5SxjqmNxfyDFz9/HB89yhi8YQo0SNqrGRI7yBVDec7Pt+uMyRWsg==",
"cpu": [
- "arm64"
+ "riscv64"
],
- "dev": true,
- "license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
- "node": ">=18"
+ "node": ">= 10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/Brooooooklyn"
}
},
- "node_modules/@esbuild/linux-ia32": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.2.tgz",
- "integrity": "sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==",
+ "node_modules/@napi-rs/canvas-linux-x64-gnu": {
+ "version": "0.1.95",
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-gnu/-/canvas-linux-x64-gnu-0.1.95.tgz",
+ "integrity": "sha512-OV/ol/OtcUr4qDhQg8G7SdViZX8XyQeKpPsVv/j3+7U178FGoU4M+yIocdVo1ih/A8GQ63+LjF4jDoEjaVU8Pw==",
"cpu": [
- "ia32"
+ "x64"
],
- "dev": true,
- "license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
- "node": ">=18"
+ "node": ">= 10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/Brooooooklyn"
}
},
- "node_modules/@esbuild/linux-loong64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.2.tgz",
- "integrity": "sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==",
+ "node_modules/@napi-rs/canvas-linux-x64-musl": {
+ "version": "0.1.95",
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-musl/-/canvas-linux-x64-musl-0.1.95.tgz",
+ "integrity": "sha512-Z5KzqBK/XzPz5+SFHKz7yKqClEQ8pOiEDdgk5SlphBLVNb8JFIJkxhtJKSvnJyHh2rjVgiFmvtJzMF0gNwwKyQ==",
"cpu": [
- "loong64"
+ "x64"
],
- "dev": true,
- "license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
- "node": ">=18"
+ "node": ">= 10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/Brooooooklyn"
}
},
- "node_modules/@esbuild/linux-mips64el": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.2.tgz",
- "integrity": "sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==",
+ "node_modules/@napi-rs/canvas-win32-arm64-msvc": {
+ "version": "0.1.95",
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-arm64-msvc/-/canvas-win32-arm64-msvc-0.1.95.tgz",
+ "integrity": "sha512-aj0YbRpe8qVJ4OzMsK7NfNQePgcf9zkGFzNZ9mSuaxXzhpLHmlF2GivNdCdNOg8WzA/NxV6IU4c5XkXadUMLeA==",
"cpu": [
- "mips64el"
+ "arm64"
],
- "dev": true,
- "license": "MIT",
"optional": true,
"os": [
- "linux"
+ "win32"
],
"engines": {
- "node": ">=18"
+ "node": ">= 10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/Brooooooklyn"
}
},
- "node_modules/@esbuild/linux-ppc64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.2.tgz",
- "integrity": "sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==",
+ "node_modules/@napi-rs/canvas-win32-x64-msvc": {
+ "version": "0.1.95",
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-x64-msvc/-/canvas-win32-x64-msvc-0.1.95.tgz",
+ "integrity": "sha512-GA8leTTCfdjuHi8reICTIxU0081PhXvl3lzIniLUjeLACx9GubUiyzkwFb+oyeKLS5IAGZFLKnzAf4wm2epRlA==",
"cpu": [
- "ppc64"
+ "x64"
],
- "dev": true,
- "license": "MIT",
"optional": true,
"os": [
- "linux"
+ "win32"
],
"engines": {
- "node": ">=18"
+ "node": ">= 10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/Brooooooklyn"
}
},
- "node_modules/@esbuild/linux-riscv64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.2.tgz",
- "integrity": "sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==",
- "cpu": [
- "riscv64"
- ],
+ "node_modules/@napi-rs/wasm-runtime": {
+ "version": "0.2.12",
+ "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz",
+ "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==",
"dev": true,
"license": "MIT",
"optional": true,
- "os": [
- "linux"
- ],
+ "peer": true,
+ "dependencies": {
+ "@emnapi/core": "^1.4.3",
+ "@emnapi/runtime": "^1.4.3",
+ "@tybys/wasm-util": "^0.10.0"
+ }
+ },
+ "node_modules/@nextcloud/auth": {
+ "version": "2.5.3",
+ "resolved": "https://registry.npmjs.org/@nextcloud/auth/-/auth-2.5.3.tgz",
+ "integrity": "sha512-KIhWLk0BKcP4hvypE4o11YqKOPeFMfEFjRrhUUF+h7Fry+dhTBIEIxuQPVCKXMIpjTDd8791y8V6UdRZ2feKAQ==",
+ "license": "GPL-3.0-or-later",
+ "dependencies": {
+ "@nextcloud/browser-storage": "^0.5.0",
+ "@nextcloud/event-bus": "^3.3.2"
+ },
"engines": {
- "node": ">=18"
+ "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
}
},
- "node_modules/@esbuild/linux-s390x": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.2.tgz",
- "integrity": "sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==",
- "cpu": [
- "s390x"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
+ "node_modules/@nextcloud/axios": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/@nextcloud/axios/-/axios-2.5.2.tgz",
+ "integrity": "sha512-8frJb77jNMbz00TjsSqs1PymY0nIEbNM4mVmwen2tXY7wNgRai6uXilIlXKOYB9jR/F/HKRj6B4vUwVwZbhdbw==",
+ "license": "GPL-3.0-or-later",
+ "dependencies": {
+ "@nextcloud/auth": "^2.5.1",
+ "@nextcloud/router": "^3.0.1",
+ "axios": "^1.12.2"
+ },
"engines": {
- "node": ">=18"
+ "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
}
},
- "node_modules/@esbuild/linux-x64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.2.tgz",
- "integrity": "sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
+ "node_modules/@nextcloud/browser-storage": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/@nextcloud/browser-storage/-/browser-storage-0.5.0.tgz",
+ "integrity": "sha512-usYr4GlJQlK3hgZURvklqWb9ivi7sgsSuFqXrs7s4hl1LTS4enzPrnkQumm6nRsQruf0ITS+OBsK+oELEbvYPA==",
+ "license": "GPL-3.0-or-later",
"engines": {
- "node": ">=18"
+ "node": "^24 || ^22 || ^20"
}
},
- "node_modules/@esbuild/netbsd-arm64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.2.tgz",
- "integrity": "sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==",
- "cpu": [
- "arm64"
- ],
+ "node_modules/@nextcloud/browserslist-config": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@nextcloud/browserslist-config/-/browserslist-config-3.1.2.tgz",
+ "integrity": "sha512-2iXl1rqQOHvggFIl/V3J5OpbodVazOsO38Gz/2sUAmtWXuOpGZG+7i6zQcVqGVaT1VzyPJ1gPiMpyyZi/XRWNA==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "netbsd"
- ],
+ "license": "GPL-3.0-or-later",
"engines": {
- "node": ">=18"
+ "node": "^20 || ^22 || ^24",
+ "npm": ">=10.5.0"
+ },
+ "peerDependencies": {
+ "browserslist": "^4.26.3"
}
},
- "node_modules/@esbuild/netbsd-x64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.2.tgz",
- "integrity": "sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "netbsd"
- ],
+ "node_modules/@nextcloud/capabilities": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@nextcloud/capabilities/-/capabilities-1.2.1.tgz",
+ "integrity": "sha512-snZ0/910zzwN6PDsIlx2Uvktr1S5x0ClhDUnfPlCj7ntNvECzuVHNY5wzby22LIkc+9ZjaDKtCwuCt2ye+9p/Q==",
+ "license": "GPL-3.0-or-later",
+ "dependencies": {
+ "@nextcloud/initial-state": "^3.0.0"
+ },
"engines": {
- "node": ">=18"
+ "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
}
},
- "node_modules/@esbuild/openbsd-arm64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.2.tgz",
- "integrity": "sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openbsd"
- ],
+ "node_modules/@nextcloud/dialogs": {
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/@nextcloud/dialogs/-/dialogs-7.3.0.tgz",
+ "integrity": "sha512-pFuM10Dkvip+wSBaElcbSAN7Jynp41HJUh5kndRYpJipYl0SpNfjIe32+uNfOI43/tln4ScTlrfjIX6cK+3uHg==",
+ "dependencies": {
+ "@mdi/js": "^7.4.47",
+ "@nextcloud/auth": "^2.5.3",
+ "@nextcloud/axios": "^2.5.2",
+ "@nextcloud/browser-storage": "^0.5.0",
+ "@nextcloud/event-bus": "^3.3.3",
+ "@nextcloud/files": "^4.0.0",
+ "@nextcloud/initial-state": "^3.0.0",
+ "@nextcloud/l10n": "^3.4.1",
+ "@nextcloud/paths": "^3.0.0",
+ "@nextcloud/router": "^3.1.0",
+ "@nextcloud/sharing": "^0.4.0",
+ "@nextcloud/vue": "^9.5.0",
+ "@types/toastify-js": "^1.12.4",
+ "@vueuse/core": "^14.2.1",
+ "p-queue": "^9.0.1",
+ "toastify-js": "^1.12.0",
+ "vue": "^3.5.28",
+ "webdav": "^5.8.0"
+ },
"engines": {
- "node": ">=18"
+ "node": "^20 || ^22 || ^24"
}
},
- "node_modules/@esbuild/openbsd-x64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.2.tgz",
- "integrity": "sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openbsd"
- ],
+ "node_modules/@nextcloud/dialogs/node_modules/@nextcloud/files": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@nextcloud/files/-/files-4.0.0.tgz",
+ "integrity": "sha512-TmecnZIS+PGWGtRh7RpGEboCT4K6iTbHULUcfR6hs3eEzjDVsCc1Ldf8popGY/70lbpdlfYle8xbXnPIo3qaXA==",
+ "dependencies": {
+ "@nextcloud/auth": "^2.5.3",
+ "@nextcloud/capabilities": "^1.2.1",
+ "@nextcloud/l10n": "^3.4.1",
+ "@nextcloud/logger": "^3.0.3",
+ "@nextcloud/paths": "^3.0.0",
+ "@nextcloud/router": "^3.1.0",
+ "@nextcloud/sharing": "^0.3.0",
+ "is-svg": "^6.1.0",
+ "typescript-event-target": "^1.1.2",
+ "webdav": "^5.9.0"
+ },
"engines": {
- "node": ">=18"
+ "node": "^24.0.0"
}
},
- "node_modules/@esbuild/openharmony-arm64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.2.tgz",
- "integrity": "sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openharmony"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/sunos-x64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.2.tgz",
- "integrity": "sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
+ "node_modules/@nextcloud/dialogs/node_modules/@nextcloud/files/node_modules/@nextcloud/files": {
+ "version": "3.12.2",
+ "resolved": "https://registry.npmjs.org/@nextcloud/files/-/files-3.12.2.tgz",
+ "integrity": "sha512-vBo8tf3Xh6efiF8CrEo3pKj9AtvAF6RdDGO1XKL65IxV8+UUd9Uxl2lUExHlzoDRRczCqfGfaWfRRaFhYqce5Q==",
"optional": true,
- "os": [
- "sunos"
- ],
+ "dependencies": {
+ "@nextcloud/auth": "^2.5.3",
+ "@nextcloud/capabilities": "^1.2.1",
+ "@nextcloud/l10n": "^3.4.1",
+ "@nextcloud/logger": "^3.0.3",
+ "@nextcloud/paths": "^3.0.0",
+ "@nextcloud/router": "^3.1.0",
+ "@nextcloud/sharing": "^0.3.0",
+ "cancelable-promise": "^4.3.1",
+ "is-svg": "^6.1.0",
+ "typescript-event-target": "^1.1.1",
+ "webdav": "^5.8.0"
+ },
"engines": {
- "node": ">=18"
+ "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
}
},
- "node_modules/@esbuild/win32-arm64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.2.tgz",
- "integrity": "sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
+ "node_modules/@nextcloud/dialogs/node_modules/@nextcloud/files/node_modules/@nextcloud/sharing": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@nextcloud/sharing/-/sharing-0.3.0.tgz",
+ "integrity": "sha512-kV7qeUZvd1fTKeFyH+W5Qq5rNOqG9rLATZM3U9MBxWXHJs3OxMqYQb8UQ3NYONzsX3zDGJmdQECIGHm1ei2sCA==",
+ "dependencies": {
+ "@nextcloud/initial-state": "^3.0.0",
+ "is-svg": "^6.1.0"
+ },
"engines": {
- "node": ">=18"
+ "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
+ },
+ "optionalDependencies": {
+ "@nextcloud/files": "^3.12.0"
}
},
- "node_modules/@esbuild/win32-ia32": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.2.tgz",
- "integrity": "sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
+ "node_modules/@nextcloud/dialogs/node_modules/@nextcloud/sharing": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/@nextcloud/sharing/-/sharing-0.4.0.tgz",
+ "integrity": "sha512-1hUNyc7uJdBpnimOnEshJjEtAPAjzDYVl6qmWqF5ZxoN9wOvbExw0QjX3xFIbHbX2dmvbRNLBj0RzLzipmZyeg==",
+ "dependencies": {
+ "@nextcloud/initial-state": "^3.0.0",
+ "is-svg": "^6.1.0"
+ },
"engines": {
- "node": ">=18"
+ "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
+ },
+ "optionalDependencies": {
+ "@nextcloud/files": "^3.12.2 || ^4.0.0"
}
},
- "node_modules/@esbuild/win32-x64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.2.tgz",
- "integrity": "sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==",
- "cpu": [
- "x64"
- ],
+ "node_modules/@nextcloud/eslint-config": {
+ "version": "8.4.2",
+ "resolved": "https://registry.npmjs.org/@nextcloud/eslint-config/-/eslint-config-8.4.2.tgz",
+ "integrity": "sha512-zsDcBxvp2Vr/BgasK/vNYJ84LOXjl4RseJPrcp93zcnaB2WnygV50Sd0nQ5JN0ngTyPjiIlGd92MMzrMTofjRA==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
+ "license": "AGPL-3.0-or-later",
"engines": {
- "node": ">=18"
+ "node": "^20.0.0",
+ "npm": "^10.0.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.26.9",
+ "@babel/eslint-parser": "^7.16.5",
+ "@nextcloud/eslint-plugin": "^2.2.1",
+ "@vue/eslint-config-typescript": "^13.0.0",
+ "eslint": "^8.27.0",
+ "eslint-config-standard": "^17.1.0",
+ "eslint-import-resolver-exports": "^1.0.0-beta.5",
+ "eslint-import-resolver-typescript": "^3.8.0",
+ "eslint-plugin-import": "^2.26.0",
+ "eslint-plugin-jsdoc": "^46.2.6",
+ "eslint-plugin-n": "^16.0.0",
+ "eslint-plugin-promise": "^6.6.0",
+ "eslint-plugin-vue": "^9.7.0",
+ "typescript": "^5.0.2"
}
},
- "node_modules/@eslint-community/eslint-utils": {
- "version": "4.9.1",
- "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz",
- "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==",
+ "node_modules/@nextcloud/eslint-plugin": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/@nextcloud/eslint-plugin/-/eslint-plugin-2.2.1.tgz",
+ "integrity": "sha512-RX+0FxpL1h2EzjNLeW0VSGTkbyWIq7WgV7QAjtyUmDbSGwf1ds9Zy5OcRkgXRHRIu/W0gB0DhS2iz9qXHphCzA==",
"dev": true,
- "license": "MIT",
+ "license": "ISC",
"peer": true,
"dependencies": {
- "eslint-visitor-keys": "^3.4.3"
+ "fast-xml-parser": "^4.2.5",
+ "requireindex": "^1.2.0",
+ "semver": "^7.5.3"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
+ "node": "^20.0.0",
+ "npm": "^10.0.0"
},
"peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
+ "eslint": ">=7.0.0"
}
},
- "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
- "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+ "node_modules/@nextcloud/eslint-plugin/node_modules/semver": {
+ "version": "7.7.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+ "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
"dev": true,
- "license": "Apache-2.0",
+ "license": "ISC",
"peer": true,
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "bin": {
+ "semver": "bin/semver.js"
},
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/@eslint-community/regexpp": {
- "version": "4.12.2",
- "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz",
- "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==",
- "dev": true,
- "license": "MIT",
- "peer": true,
"engines": {
- "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
+ "node": ">=10"
}
},
- "node_modules/@eslint/eslintrc": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
- "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
- "dev": true,
- "license": "MIT",
- "peer": true,
+ "node_modules/@nextcloud/event-bus": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/@nextcloud/event-bus/-/event-bus-3.3.3.tgz",
+ "integrity": "sha512-zIfvKmUGkXpVzRKoXrcO9hkoiKDm65fqNxy/XIbIxrQhZByPq3gDkjBpnu3V5Gs8JdYwa73R8DjzV9oH8HYhIg==",
+ "license": "GPL-3.0-or-later",
"dependencies": {
- "ajv": "^6.12.4",
- "debug": "^4.3.2",
- "espree": "^9.6.0",
- "globals": "^13.19.0",
- "ignore": "^5.2.0",
- "import-fresh": "^3.2.1",
- "js-yaml": "^4.1.0",
- "minimatch": "^3.1.2",
- "strip-json-comments": "^3.1.1"
+ "@types/semver": "^7.7.0",
+ "semver": "^7.7.2"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
+ "node": "^20 || ^22 || ^24"
}
},
- "node_modules/@eslint/eslintrc/node_modules/brace-expansion": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
- "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
+ "node_modules/@nextcloud/event-bus/node_modules/semver": {
+ "version": "7.7.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+ "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
}
},
- "node_modules/@eslint/eslintrc/node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "license": "ISC",
- "peer": true,
+ "node_modules/@nextcloud/files": {
+ "version": "3.12.2",
+ "resolved": "https://registry.npmjs.org/@nextcloud/files/-/files-3.12.2.tgz",
+ "integrity": "sha512-vBo8tf3Xh6efiF8CrEo3pKj9AtvAF6RdDGO1XKL65IxV8+UUd9Uxl2lUExHlzoDRRczCqfGfaWfRRaFhYqce5Q==",
+ "license": "AGPL-3.0-or-later",
"dependencies": {
- "brace-expansion": "^1.1.7"
+ "@nextcloud/auth": "^2.5.3",
+ "@nextcloud/capabilities": "^1.2.1",
+ "@nextcloud/l10n": "^3.4.1",
+ "@nextcloud/logger": "^3.0.3",
+ "@nextcloud/paths": "^3.0.0",
+ "@nextcloud/router": "^3.1.0",
+ "@nextcloud/sharing": "^0.3.0",
+ "cancelable-promise": "^4.3.1",
+ "is-svg": "^6.1.0",
+ "typescript-event-target": "^1.1.1",
+ "webdav": "^5.8.0"
},
"engines": {
- "node": "*"
+ "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
}
},
- "node_modules/@eslint/js": {
- "version": "8.57.1",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz",
- "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node_modules/@nextcloud/initial-state": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@nextcloud/initial-state/-/initial-state-3.0.0.tgz",
+ "integrity": "sha512-cV+HBdkQJGm8FxkBI5rFT/FbMNWNBvpbj6OPrg4Ae4YOOsQ15CL8InPOAw1t4XkOkQK2NEdUGQLVUz/19wXbdQ==",
+ "engines": {
+ "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
}
},
- "node_modules/@file-type/xml": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/@file-type/xml/-/xml-0.4.4.tgz",
- "integrity": "sha512-NhCyXoHlVZ8TqM476hyzwGJ24+D5IPSaZhmrPj7qXnEVb3q6jrFzA3mM9TBpknKSI9EuQeGTKRg2DXGUwvBBoQ==",
- "license": "MIT",
+ "node_modules/@nextcloud/l10n": {
+ "version": "3.4.1",
+ "resolved": "https://registry.npmjs.org/@nextcloud/l10n/-/l10n-3.4.1.tgz",
+ "integrity": "sha512-aTFinTcKiK2gEXwLgutXekpZZ8/v/4QiC8C3QCLH5m0o+WtxsBC+fqV142ebC/rfDnzCLhY4ZtswSu8bFbZocg==",
+ "license": "GPL-3.0-or-later",
"dependencies": {
- "sax": "^1.4.1",
- "strtok3": "^10.3.4"
+ "@nextcloud/router": "^3.0.1",
+ "@nextcloud/typings": "^1.9.1",
+ "@types/escape-html": "^1.0.4",
+ "dompurify": "^3.2.6",
+ "escape-html": "^1.0.3"
+ },
+ "engines": {
+ "node": "^20 || ^22 || ^24"
}
},
- "node_modules/@floating-ui/core": {
- "version": "1.7.3",
- "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz",
- "integrity": "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==",
- "license": "MIT",
+ "node_modules/@nextcloud/logger": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@nextcloud/logger/-/logger-3.0.3.tgz",
+ "integrity": "sha512-TcbVRL4/O5ffI1RXFmQAFD3gwwT15AAdr1770x+RNqVvfBdoGVyhzOwCIyA5Vfc3fA1iJXFa+rE6buJZSoqlcw==",
+ "license": "GPL-3.0-or-later",
"dependencies": {
- "@floating-ui/utils": "^0.2.10"
+ "@nextcloud/auth": "^2.5.3"
+ },
+ "engines": {
+ "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
}
},
- "node_modules/@floating-ui/dom": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.4.tgz",
- "integrity": "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==",
- "license": "MIT",
+ "node_modules/@nextcloud/moment": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/@nextcloud/moment/-/moment-1.3.5.tgz",
+ "integrity": "sha512-sQjQ/D40sdedtq4ywuANSxqG0VhIB/i+QtZ6Voz3nyZWhkyyqGxdj9rQu9AyEvas3/Jlspdom5chc+a8jOmHxQ==",
+ "license": "GPL-3.0-or-later",
"dependencies": {
- "@floating-ui/core": "^1.7.3",
- "@floating-ui/utils": "^0.2.10"
+ "@nextcloud/l10n": "^3.4.0",
+ "moment": "^2.30.1"
+ },
+ "engines": {
+ "node": "^20.0.0",
+ "npm": "^10.0.0"
}
},
- "node_modules/@floating-ui/utils": {
- "version": "0.2.10",
- "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz",
- "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==",
- "license": "MIT"
+ "node_modules/@nextcloud/password-confirmation": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/@nextcloud/password-confirmation/-/password-confirmation-6.0.2.tgz",
+ "integrity": "sha512-EQbGiQl8lBZrFUNE6Xp9NeQEVtQdb/mtxk3VfwTnoVzAxghsI5yTWr9xcS5EKANoNjvVlIKtREN+LG2WWxft5A==",
+ "dependencies": {
+ "@nextcloud/auth": "^2.5.3",
+ "@nextcloud/axios": "^2.5.2",
+ "@nextcloud/l10n": "^3.4.0",
+ "@nextcloud/logger": "^3.0.2",
+ "@nextcloud/router": "^3.0.1",
+ "@nextcloud/vue": "^9.1.0",
+ "vue": "^3.5.22"
+ },
+ "engines": {
+ "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
+ }
},
- "node_modules/@fontsource/dancing-script": {
- "version": "5.2.8",
- "resolved": "https://registry.npmjs.org/@fontsource/dancing-script/-/dancing-script-5.2.8.tgz",
- "integrity": "sha512-zHVVgIQ5/rAIM0VVp1QMsqvJm9INHO5/C82E9rHT6NlabjaPTFYn8wl9lT4vPWizfB0TublGQM1999kfdA+XFA==",
- "license": "OFL-1.1",
- "funding": {
- "url": "https://github.com/sponsors/ayuhito"
+ "node_modules/@nextcloud/paths": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@nextcloud/paths/-/paths-3.1.0.tgz",
+ "integrity": "sha512-vtFYA/kthaUDzu6KejTOL1OwnOy7/yynq5zdB/UBpYacAWjUX5Ddh4OMWx3rEavkBJ9/QGhrFryNJLjNfe8OQA==",
+ "engines": {
+ "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
}
},
- "node_modules/@humanwhocodes/config-array": {
- "version": "0.13.0",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz",
- "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==",
- "deprecated": "Use @eslint/config-array instead",
- "dev": true,
- "license": "Apache-2.0",
- "peer": true,
+ "node_modules/@nextcloud/router": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@nextcloud/router/-/router-3.1.0.tgz",
+ "integrity": "sha512-e4dkIaxRSwdZJlZFpn9x03QgBn/Sa2hN1hp/BA7+AbzykmSAlKuWfdmX8j/8ewrLpQwYmZR23IZO9XwpJXq2Uw==",
+ "license": "GPL-3.0-or-later",
"dependencies": {
- "@humanwhocodes/object-schema": "^2.0.3",
- "debug": "^4.3.1",
- "minimatch": "^3.0.5"
+ "@nextcloud/typings": "^1.10.0"
},
"engines": {
- "node": ">=10.10.0"
+ "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
}
},
- "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
- "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
- "dev": true,
- "license": "MIT",
- "peer": true,
+ "node_modules/@nextcloud/sharing": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@nextcloud/sharing/-/sharing-0.3.0.tgz",
+ "integrity": "sha512-kV7qeUZvd1fTKeFyH+W5Qq5rNOqG9rLATZM3U9MBxWXHJs3OxMqYQb8UQ3NYONzsX3zDGJmdQECIGHm1ei2sCA==",
+ "license": "GPL-3.0-or-later",
"dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
+ "@nextcloud/initial-state": "^3.0.0",
+ "is-svg": "^6.1.0"
+ },
+ "engines": {
+ "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
+ },
+ "optionalDependencies": {
+ "@nextcloud/files": "^3.12.0"
}
},
- "node_modules/@humanwhocodes/config-array/node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "node_modules/@nextcloud/stylelint-config": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/@nextcloud/stylelint-config/-/stylelint-config-3.2.1.tgz",
+ "integrity": "sha512-fRWuN92ydC52+CGURBmbgkaAFDKOq9pmx/vsujr8cRKlGbAhLH+gyxzSpQUc37ZKKNaBDuUvcGzrqH/YipKbGA==",
"dev": true,
- "license": "ISC",
- "peer": true,
"dependencies": {
- "brace-expansion": "^1.1.7"
+ "stylelint-use-logical": "^2.1.3"
},
"engines": {
- "node": "*"
+ "node": "^20.19 || ^22 || ^24"
+ },
+ "peerDependencies": {
+ "stylelint": "^17.1.1",
+ "stylelint-config-recommended-scss": "^17.0.0",
+ "stylelint-config-recommended-vue": "^1.6.1"
}
},
- "node_modules/@humanwhocodes/module-importer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
- "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
- "dev": true,
- "license": "Apache-2.0",
- "peer": true,
- "engines": {
- "node": ">=12.22"
+ "node_modules/@nextcloud/typings": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/@nextcloud/typings/-/typings-1.10.0.tgz",
+ "integrity": "sha512-SMC42rDjOH3SspPTLMZRv76ZliHpj2JJkF8pGLP8l1QrVTZxE47Qz5qeKmbj2VL+dRv2e/NgixlAFmzVnxkhqg==",
+ "license": "GPL-3.0-or-later",
+ "dependencies": {
+ "@types/jquery": "3.5.16"
},
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/nzakas"
+ "engines": {
+ "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
}
},
- "node_modules/@humanwhocodes/object-schema": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz",
- "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==",
- "deprecated": "Use @eslint/object-schema instead",
- "dev": true,
- "license": "BSD-3-Clause",
- "peer": true
- },
- "node_modules/@isaacs/cliui": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
- "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
- "dev": true,
- "license": "ISC",
+ "node_modules/@nextcloud/upload": {
+ "version": "2.0.0-rc.0",
+ "resolved": "https://registry.npmjs.org/@nextcloud/upload/-/upload-2.0.0-rc.0.tgz",
+ "integrity": "sha512-F7g3Zr/7Se7bimcSzpEHXUAfQRUhXV6iOdmjRSVNQTbrhS5q70SKJoFpJRP5j/QGCKycqLyv8YMPNmrtjNFbKw==",
"dependencies": {
- "string-width": "^5.1.2",
- "string-width-cjs": "npm:string-width@^4.2.0",
- "strip-ansi": "^7.0.1",
- "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
- "wrap-ansi": "^8.1.0",
- "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
+ "@nextcloud/auth": "^2.5.1",
+ "@nextcloud/axios": "^2.5.1",
+ "@nextcloud/capabilities": "^1.2.0",
+ "@nextcloud/files": "^3.10.2",
+ "@nextcloud/l10n": "^3.3.0",
+ "@nextcloud/logger": "^3.0.2",
+ "@nextcloud/paths": "^2.2.1",
+ "@nextcloud/router": "^3.0.0",
+ "@nextcloud/sharing": "^0.2.4",
+ "axios": "^1.10.0",
+ "axios-retry": "^4.5.0",
+ "crypto-browserify": "^3.12.1",
+ "p-cancelable": "^4.0.1",
+ "p-queue": "^8.1.0",
+ "typescript-event-target": "^1.1.1"
},
"engines": {
- "node": ">=12"
+ "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
}
},
- "node_modules/@isaacs/cliui/node_modules/ansi-regex": {
- "version": "6.2.2",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
- "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
- "dev": true,
- "license": "MIT",
+ "node_modules/@nextcloud/upload/node_modules/@nextcloud/initial-state": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@nextcloud/initial-state/-/initial-state-2.2.0.tgz",
+ "integrity": "sha512-cDW98L5KGGgpS8pzd+05304/p80cyu8U2xSDQGa+kGPTpUFmCbv2qnO5WrwwGTauyjYijCal2bmw82VddSH+Pg==",
"engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ "node": "^20.0.0",
+ "npm": "^10.0.0"
}
},
- "node_modules/@isaacs/cliui/node_modules/emoji-regex": {
- "version": "9.2.2",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
- "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
- "dev": true,
- "license": "MIT"
+ "node_modules/@nextcloud/upload/node_modules/@nextcloud/paths": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@nextcloud/paths/-/paths-2.4.0.tgz",
+ "integrity": "sha512-35hykjqzaJCw8pBYWuKbLLw2wyKMuf9+T8K8GoYiS84AIi8SO16nuEu0fyl/gwCuiDqX5tCCup4wqljf0hdvaw==",
+ "engines": {
+ "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
+ }
},
- "node_modules/@isaacs/cliui/node_modules/string-width": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
- "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
- "dev": true,
+ "node_modules/@nextcloud/upload/node_modules/@nextcloud/sharing": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/@nextcloud/sharing/-/sharing-0.2.5.tgz",
+ "integrity": "sha512-B3K5Dq9b5dexDA5n3AAuCF69Huwhrpw0J72fsVXV4KpPdImjhVPlExAv5o70AoXa+OqN4Rwn6gqJw+3ED892zg==",
+ "license": "GPL-3.0-or-later",
+ "dependencies": {
+ "@nextcloud/initial-state": "^2.2.0"
+ },
+ "engines": {
+ "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
+ }
+ },
+ "node_modules/@nextcloud/upload/node_modules/p-queue": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.1.1.tgz",
+ "integrity": "sha512-aNZ+VfjobsWryoiPnEApGGmf5WmNsCo9xu8dfaYamG5qaLP7ClhLN6NgsFe6SwJ2UbLEBK5dv9x8Mn5+RVhMWQ==",
"license": "MIT",
"dependencies": {
- "eastasianwidth": "^0.2.0",
- "emoji-regex": "^9.2.2",
- "strip-ansi": "^7.0.1"
+ "eventemitter3": "^5.0.1",
+ "p-timeout": "^6.1.2"
},
"engines": {
- "node": ">=12"
+ "node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@isaacs/cliui/node_modules/strip-ansi": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
- "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
- "dev": true,
+ "node_modules/@nextcloud/upload/node_modules/p-timeout": {
+ "version": "6.1.4",
+ "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.4.tgz",
+ "integrity": "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==",
"license": "MIT",
- "dependencies": {
- "ansi-regex": "^6.0.1"
- },
"engines": {
- "node": ">=12"
+ "node": ">=14.16"
},
"funding": {
- "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.13",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
- "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
- "license": "MIT",
- "dependencies": {
- "@jridgewell/sourcemap-codec": "^1.5.0",
- "@jridgewell/trace-mapping": "^0.3.24"
- }
- },
- "node_modules/@jridgewell/remapping": {
- "version": "2.3.5",
- "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz",
- "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==",
+ "node_modules/@nextcloud/vite-config": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/@nextcloud/vite-config/-/vite-config-2.5.2.tgz",
+ "integrity": "sha512-RoYMsMNyryZ2LTyFWODuVLmVwII8J99KUCFdvnPVosXELZq8oxxWmwGdYPyCavKMZrZ6JRZ2tUvnJ8MCKk78Uw==",
"dev": true,
- "license": "MIT",
"dependencies": {
- "@jridgewell/gen-mapping": "^0.3.5",
- "@jridgewell/trace-mapping": "^0.3.24"
+ "@rollup/plugin-replace": "^6.0.2",
+ "@vitejs/plugin-vue": "^6.0.1",
+ "browserslist-to-esbuild": "^2.1.1",
+ "magic-string": "^0.30.19",
+ "rollup-plugin-corejs": "^1.0.1",
+ "rollup-plugin-esbuild-minify": "^1.3.0",
+ "rollup-plugin-license": "^3.6.0",
+ "rollup-plugin-node-externals": "^8.1.1",
+ "spdx-expression-parse": "^4.0.0",
+ "vite-plugin-css-injected-by-js": "^3.5.2",
+ "vite-plugin-dts": "^4.5.4",
+ "vite-plugin-node-polyfills": "^0.24.0"
+ },
+ "engines": {
+ "node": "^20 || ^22 || ^24"
+ },
+ "peerDependencies": {
+ "browserslist": ">=4.0",
+ "sass": ">=1.60",
+ "vite": "^7.1.10"
}
},
- "node_modules/@jridgewell/resolve-uri": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
- "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
- "license": "MIT",
+ "node_modules/@nextcloud/vue": {
+ "version": "9.5.0",
+ "resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-9.5.0.tgz",
+ "integrity": "sha512-CQxBfHhF+Q+2r7RXd+l/eSjttJU8A2JFUyq5VpvjfpIql355kejc8bbNnM1pKgGRGSBuW9qw5Ohx0puzHge10w==",
+ "dependencies": {
+ "@ckpack/vue-color": "^1.6.0",
+ "@floating-ui/dom": "^1.7.5",
+ "@nextcloud/auth": "^2.5.3",
+ "@nextcloud/axios": "^2.5.2",
+ "@nextcloud/browser-storage": "^0.5.0",
+ "@nextcloud/capabilities": "^1.2.1",
+ "@nextcloud/event-bus": "^3.3.3",
+ "@nextcloud/initial-state": "^3.0.0",
+ "@nextcloud/l10n": "^3.4.1",
+ "@nextcloud/logger": "^3.0.3",
+ "@nextcloud/router": "^3.1.0",
+ "@nextcloud/sharing": "^0.3.0",
+ "@vuepic/vue-datepicker": "^11.0.3",
+ "@vueuse/components": "^14.2.0",
+ "@vueuse/core": "^14.0.0",
+ "blurhash": "^2.0.5",
+ "clone": "^2.1.2",
+ "debounce": "^3.0.0",
+ "dompurify": "^3.3.1",
+ "emoji-mart-vue-fast": "^15.0.5",
+ "escape-html": "^1.0.3",
+ "floating-vue": "^5.2.2",
+ "focus-trap": "^8.0.0",
+ "linkifyjs": "^4.3.2",
+ "p-queue": "^9.1.0",
+ "rehype-external-links": "^3.0.0",
+ "rehype-highlight": "^7.0.2",
+ "rehype-react": "^8.0.0",
+ "remark-breaks": "^4.0.0",
+ "remark-parse": "^11.0.0",
+ "remark-rehype": "^11.1.2",
+ "remark-unlink-protocols": "^1.0.0",
+ "splitpanes": "^4.0.4",
+ "striptags": "^3.2.0",
+ "tabbable": "^6.4.0",
+ "tributejs": "^5.1.3",
+ "ts-md5": "^2.0.1",
+ "unified": "^11.0.5",
+ "unist-builder": "^4.0.0",
+ "unist-util-visit": "^5.1.0",
+ "vue": "^3.5.18",
+ "vue-router": "^5.0.2",
+ "vue-select": "^4.0.0-beta.6"
+ },
"engines": {
- "node": ">=6.0.0"
+ "node": "^20.11.0 || ^22 || ^24"
}
},
- "node_modules/@jridgewell/source-map": {
- "version": "0.3.11",
- "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz",
- "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==",
+ "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": {
+ "version": "5.1.1-v1",
+ "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz",
+ "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==",
+ "dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
- "@jridgewell/gen-mapping": "^0.3.5",
- "@jridgewell/trace-mapping": "^0.3.25"
+ "eslint-scope": "5.1.1"
}
},
- "node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.5.5",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
- "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
- "license": "MIT"
- },
- "node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.31",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
- "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
- "@jridgewell/resolve-uri": "^3.1.0",
- "@jridgewell/sourcemap-codec": "^1.4.14"
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
}
},
- "node_modules/@jsonjoy.com/base64": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz",
- "integrity": "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==",
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
"dev": true,
- "license": "Apache-2.0",
+ "license": "MIT",
"peer": true,
"engines": {
- "node": ">=10.0"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/streamich"
- },
- "peerDependencies": {
- "tslib": "2"
+ "node": ">= 8"
}
},
- "node_modules/@jsonjoy.com/buffers": {
- "version": "17.65.0",
- "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-17.65.0.tgz",
- "integrity": "sha512-eBrIXd0/Ld3p9lpDDlMaMn6IEfWqtHMD+z61u0JrIiPzsV1r7m6xDZFRxJyvIFTEO+SWdYF9EiQbXZGd8BzPfA==",
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
"dev": true,
- "license": "Apache-2.0",
+ "license": "MIT",
"peer": true,
- "engines": {
- "node": ">=10.0"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/streamich"
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
},
- "peerDependencies": {
- "tslib": "2"
+ "engines": {
+ "node": ">= 8"
}
},
- "node_modules/@jsonjoy.com/codegen": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@jsonjoy.com/codegen/-/codegen-1.0.0.tgz",
- "integrity": "sha512-E8Oy+08cmCf0EK/NMxpaJZmOxPqM+6iSe2S4nlSBrPZOORoDJILxtbSUEDKQyTamm/BVAhIGllOBNU79/dwf0g==",
+ "node_modules/@nolyfill/is-core-module": {
+ "version": "1.0.39",
+ "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz",
+ "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==",
"dev": true,
- "license": "Apache-2.0",
+ "license": "MIT",
"peer": true,
"engines": {
- "node": ">=10.0"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/streamich"
- },
- "peerDependencies": {
- "tslib": "2"
+ "node": ">=12.4.0"
}
},
- "node_modules/@jsonjoy.com/fs-core": {
- "version": "4.56.4",
- "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-core/-/fs-core-4.56.4.tgz",
- "integrity": "sha512-mgiAa7w0N0mlr7G3PUY/iRSYuJwyZmHBt+y7D9veiXfAqsIhEi9+FCu47tU+y/3KPqaTNJMsfgAGwUnLPnRdqA==",
+ "node_modules/@one-ini/wasm": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz",
+ "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==",
+ "dev": true
+ },
+ "node_modules/@parcel/watcher": {
+ "version": "2.5.4",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.4.tgz",
+ "integrity": "sha512-WYa2tUVV5HiArWPB3ydlOc4R2ivq0IDrlqhMi3l7mVsFEXNcTfxYFPIHXHXIh/ca/y/V5N4E1zecyxdIBjYnkQ==",
"dev": true,
- "license": "Apache-2.0",
+ "hasInstallScript": true,
+ "license": "MIT",
+ "optional": true,
"peer": true,
"dependencies": {
- "@jsonjoy.com/fs-node-builtins": "4.56.4",
- "@jsonjoy.com/fs-node-utils": "4.56.4",
- "thingies": "^2.5.0"
+ "detect-libc": "^2.0.3",
+ "is-glob": "^4.0.3",
+ "node-addon-api": "^7.0.0",
+ "picomatch": "^4.0.3"
},
"engines": {
- "node": ">=10.0"
+ "node": ">= 10.0.0"
},
"funding": {
- "type": "github",
- "url": "https://github.com/sponsors/streamich"
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
},
- "peerDependencies": {
- "tslib": "2"
+ "optionalDependencies": {
+ "@parcel/watcher-android-arm64": "2.5.4",
+ "@parcel/watcher-darwin-arm64": "2.5.4",
+ "@parcel/watcher-darwin-x64": "2.5.4",
+ "@parcel/watcher-freebsd-x64": "2.5.4",
+ "@parcel/watcher-linux-arm-glibc": "2.5.4",
+ "@parcel/watcher-linux-arm-musl": "2.5.4",
+ "@parcel/watcher-linux-arm64-glibc": "2.5.4",
+ "@parcel/watcher-linux-arm64-musl": "2.5.4",
+ "@parcel/watcher-linux-x64-glibc": "2.5.4",
+ "@parcel/watcher-linux-x64-musl": "2.5.4",
+ "@parcel/watcher-win32-arm64": "2.5.4",
+ "@parcel/watcher-win32-ia32": "2.5.4",
+ "@parcel/watcher-win32-x64": "2.5.4"
}
},
- "node_modules/@jsonjoy.com/fs-fsa": {
- "version": "4.56.4",
- "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-fsa/-/fs-fsa-4.56.4.tgz",
- "integrity": "sha512-D6tHSr8xMiZnV9pQcX0ysoEg1kTsTFK6fRV+TX+1uFcEiNKJR7hooGBq8iKnkZCXRxY8S4nZJ+rErpVF1XJ4vw==",
+ "node_modules/@parcel/watcher-android-arm64": {
+ "version": "2.5.4",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.4.tgz",
+ "integrity": "sha512-hoh0vx4v+b3BNI7Cjoy2/B0ARqcwVNrzN/n7DLq9ZB4I3lrsvhrkCViJyfTj/Qi5xM9YFiH4AmHGK6pgH1ss7g==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "license": "Apache-2.0",
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
"peer": true,
- "dependencies": {
- "@jsonjoy.com/fs-core": "4.56.4",
- "@jsonjoy.com/fs-node-builtins": "4.56.4",
- "@jsonjoy.com/fs-node-utils": "4.56.4",
- "thingies": "^2.5.0"
- },
"engines": {
- "node": ">=10.0"
+ "node": ">= 10.0.0"
},
"funding": {
- "type": "github",
- "url": "https://github.com/sponsors/streamich"
- },
- "peerDependencies": {
- "tslib": "2"
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/@jsonjoy.com/fs-node": {
- "version": "4.56.4",
- "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node/-/fs-node-4.56.4.tgz",
- "integrity": "sha512-4G7KBypcWy2BGPnuDCmUQWHasbNZnEqcb3DLODuH22J8fre7YK8MiyciIohkUTFMqR9qem84LK22T1FmUwiTSQ==",
+ "node_modules/@parcel/watcher-darwin-arm64": {
+ "version": "2.5.4",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.4.tgz",
+ "integrity": "sha512-kphKy377pZiWpAOyTgQYPE5/XEKVMaj6VUjKT5VkNyUJlr2qZAn8gIc7CPzx+kbhvqHDT9d7EqdOqRXT6vk0zw==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "license": "Apache-2.0",
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
"peer": true,
- "dependencies": {
- "@jsonjoy.com/fs-core": "4.56.4",
- "@jsonjoy.com/fs-node-builtins": "4.56.4",
- "@jsonjoy.com/fs-node-utils": "4.56.4",
- "@jsonjoy.com/fs-print": "4.56.4",
- "glob-to-regex.js": "^1.0.0",
- "thingies": "^2.5.0"
- },
"engines": {
- "node": ">=10.0"
+ "node": ">= 10.0.0"
},
"funding": {
- "type": "github",
- "url": "https://github.com/sponsors/streamich"
- },
- "peerDependencies": {
- "tslib": "2"
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/@jsonjoy.com/fs-node-builtins": {
- "version": "4.56.4",
- "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-builtins/-/fs-node-builtins-4.56.4.tgz",
- "integrity": "sha512-/HMj267Ygg/fa3kHuZL+L7rVXvZ7HT2Bm7d8CpKs6l7QpT4mzTnN4f2/E0u+LsrrJVbT+R34/nsBr2dIZSYIgg==",
+ "node_modules/@parcel/watcher-darwin-x64": {
+ "version": "2.5.4",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.4.tgz",
+ "integrity": "sha512-UKaQFhCtNJW1A9YyVz3Ju7ydf6QgrpNQfRZ35wNKUhTQ3dxJ/3MULXN5JN/0Z80V/KUBDGa3RZaKq1EQT2a2gg==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "license": "Apache-2.0",
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
"peer": true,
"engines": {
- "node": ">=10.0"
+ "node": ">= 10.0.0"
},
"funding": {
- "type": "github",
- "url": "https://github.com/sponsors/streamich"
- },
- "peerDependencies": {
- "tslib": "2"
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/@jsonjoy.com/fs-node-to-fsa": {
- "version": "4.56.4",
- "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-to-fsa/-/fs-node-to-fsa-4.56.4.tgz",
- "integrity": "sha512-Wewg2JlMkFpUt2Z+RrhdxLrbG6o4XAZB9UdGbpcQS+acvwytmhEjUCCodD3kqY5wPSNpnIbD614VeTA/5jPzvg==",
+ "node_modules/@parcel/watcher-freebsd-x64": {
+ "version": "2.5.4",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.4.tgz",
+ "integrity": "sha512-Dib0Wv3Ow/m2/ttvLdeI2DBXloO7t3Z0oCp4bAb2aqyqOjKPPGrg10pMJJAQ7tt8P4V2rwYwywkDhUia/FgS+Q==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "license": "Apache-2.0",
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
"peer": true,
- "dependencies": {
- "@jsonjoy.com/fs-fsa": "4.56.4",
- "@jsonjoy.com/fs-node-builtins": "4.56.4",
- "@jsonjoy.com/fs-node-utils": "4.56.4"
- },
"engines": {
- "node": ">=10.0"
+ "node": ">= 10.0.0"
},
"funding": {
- "type": "github",
- "url": "https://github.com/sponsors/streamich"
- },
- "peerDependencies": {
- "tslib": "2"
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/@jsonjoy.com/fs-node-utils": {
- "version": "4.56.4",
- "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-utils/-/fs-node-utils-4.56.4.tgz",
- "integrity": "sha512-7yvPBX+YUPvoljJ5ELmHrK7sLYzEVdLnILoNXLtsztN4Ag8UbS7DteWRiW3BFAUIvI4kDBJ8OymdxwLLCkX+AQ==",
- "dev": true,
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@jsonjoy.com/fs-node-builtins": "4.56.4"
- },
+ "node_modules/@parcel/watcher-linux-arm-glibc": {
+ "version": "2.5.4",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.4.tgz",
+ "integrity": "sha512-I5Vb769pdf7Q7Sf4KNy8Pogl/URRCKu9ImMmnVKYayhynuyGYMzuI4UOWnegQNa2sGpsPSbzDsqbHNMyeyPCgw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "peer": true,
"engines": {
- "node": ">=10.0"
+ "node": ">= 10.0.0"
},
"funding": {
- "type": "github",
- "url": "https://github.com/sponsors/streamich"
- },
- "peerDependencies": {
- "tslib": "2"
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/@jsonjoy.com/fs-print": {
- "version": "4.56.4",
- "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-print/-/fs-print-4.56.4.tgz",
- "integrity": "sha512-GtTDri9Ot1l7XPe3ft+ViTqxFOqtKcM4RLyXEXWDvQEoqgmU/6bCNNjfSze9VlpfC8KfuUYAixuDLD1quzHdow==",
+ "node_modules/@parcel/watcher-linux-arm-musl": {
+ "version": "2.5.4",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.4.tgz",
+ "integrity": "sha512-kGO8RPvVrcAotV4QcWh8kZuHr9bXi9a3bSZw7kFarYR0+fGliU7hd/zevhjw8fnvIKG3J9EO5G6sXNGCSNMYPQ==",
+ "cpu": [
+ "arm"
+ ],
"dev": true,
- "license": "Apache-2.0",
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"peer": true,
- "dependencies": {
- "@jsonjoy.com/fs-node-utils": "4.56.4",
- "tree-dump": "^1.1.0"
- },
"engines": {
- "node": ">=10.0"
+ "node": ">= 10.0.0"
},
"funding": {
- "type": "github",
- "url": "https://github.com/sponsors/streamich"
- },
- "peerDependencies": {
- "tslib": "2"
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/@jsonjoy.com/fs-snapshot": {
- "version": "4.56.4",
- "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-snapshot/-/fs-snapshot-4.56.4.tgz",
- "integrity": "sha512-qQxl+GVp9gzT21/Ot8qa+pcNurpfTL/ruMODYmshpcTLXy6x06aP4/xdhBOJpBclhqbnQcMTVDCny98CtGvyzQ==",
+ "node_modules/@parcel/watcher-linux-arm64-glibc": {
+ "version": "2.5.4",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.4.tgz",
+ "integrity": "sha512-KU75aooXhqGFY2W5/p8DYYHt4hrjHZod8AhcGAmhzPn/etTa+lYCDB2b1sJy3sWJ8ahFVTdy+EbqSBvMx3iFlw==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "license": "Apache-2.0",
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"peer": true,
- "dependencies": {
- "@jsonjoy.com/buffers": "^17.65.0",
- "@jsonjoy.com/fs-node-utils": "4.56.4",
- "@jsonjoy.com/json-pack": "^17.65.0",
- "@jsonjoy.com/util": "^17.65.0"
- },
"engines": {
- "node": ">=10.0"
+ "node": ">= 10.0.0"
},
"funding": {
- "type": "github",
- "url": "https://github.com/sponsors/streamich"
- },
- "peerDependencies": {
- "tslib": "2"
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/base64": {
- "version": "17.65.0",
- "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-17.65.0.tgz",
- "integrity": "sha512-Xrh7Fm/M0QAYpekSgmskdZYnFdSGnsxJ/tHaolA4bNwWdG9i65S8m83Meh7FOxyJyQAdo4d4J97NOomBLEfkDQ==",
+ "node_modules/@parcel/watcher-linux-arm64-musl": {
+ "version": "2.5.4",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.4.tgz",
+ "integrity": "sha512-Qx8uNiIekVutnzbVdrgSanM+cbpDD3boB1f8vMtnuG5Zau4/bdDbXyKwIn0ToqFhIuob73bcxV9NwRm04/hzHQ==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "license": "Apache-2.0",
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"peer": true,
"engines": {
- "node": ">=10.0"
+ "node": ">= 10.0.0"
},
"funding": {
- "type": "github",
- "url": "https://github.com/sponsors/streamich"
- },
- "peerDependencies": {
- "tslib": "2"
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/codegen": {
- "version": "17.65.0",
- "resolved": "https://registry.npmjs.org/@jsonjoy.com/codegen/-/codegen-17.65.0.tgz",
- "integrity": "sha512-7MXcRYe7n3BG+fo3jicvjB0+6ypl2Y/bQp79Sp7KeSiiCgLqw4Oled6chVv07/xLVTdo3qa1CD0VCCnPaw+RGA==",
+ "node_modules/@parcel/watcher-linux-x64-glibc": {
+ "version": "2.5.4",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.4.tgz",
+ "integrity": "sha512-UYBQvhYmgAv61LNUn24qGQdjtycFBKSK3EXr72DbJqX9aaLbtCOO8+1SkKhD/GNiJ97ExgcHBrukcYhVjrnogA==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "license": "Apache-2.0",
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"peer": true,
"engines": {
- "node": ">=10.0"
+ "node": ">= 10.0.0"
},
"funding": {
- "type": "github",
- "url": "https://github.com/sponsors/streamich"
- },
- "peerDependencies": {
- "tslib": "2"
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/json-pack": {
- "version": "17.65.0",
- "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-17.65.0.tgz",
- "integrity": "sha512-e0SG/6qUCnVhHa0rjDJHgnXnbsacooHVqQHxspjvlYQSkHm+66wkHw6Gql+3u/WxI/b1VsOdUi0M+fOtkgKGdQ==",
+ "node_modules/@parcel/watcher-linux-x64-musl": {
+ "version": "2.5.4",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.4.tgz",
+ "integrity": "sha512-YoRWCVgxv8akZrMhdyVi6/TyoeeMkQ0PGGOf2E4omODrvd1wxniXP+DBynKoHryStks7l+fDAMUBRzqNHrVOpg==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "license": "Apache-2.0",
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"peer": true,
- "dependencies": {
- "@jsonjoy.com/base64": "17.65.0",
- "@jsonjoy.com/buffers": "17.65.0",
- "@jsonjoy.com/codegen": "17.65.0",
- "@jsonjoy.com/json-pointer": "17.65.0",
- "@jsonjoy.com/util": "17.65.0",
- "hyperdyperid": "^1.2.0",
- "thingies": "^2.5.0",
- "tree-dump": "^1.1.0"
- },
"engines": {
- "node": ">=10.0"
+ "node": ">= 10.0.0"
},
"funding": {
- "type": "github",
- "url": "https://github.com/sponsors/streamich"
- },
- "peerDependencies": {
- "tslib": "2"
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/json-pointer": {
- "version": "17.65.0",
- "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pointer/-/json-pointer-17.65.0.tgz",
- "integrity": "sha512-uhTe+XhlIZpWOxgPcnO+iSCDgKKBpwkDVTyYiXX9VayGV8HSFVJM67M6pUE71zdnXF1W0Da21AvnhlmdwYPpow==",
+ "node_modules/@parcel/watcher-win32-arm64": {
+ "version": "2.5.4",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.4.tgz",
+ "integrity": "sha512-iby+D/YNXWkiQNYcIhg8P5hSjzXEHaQrk2SLrWOUD7VeC4Ohu0WQvmV+HDJokZVJ2UjJ4AGXW3bx7Lls9Ln4TQ==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "license": "Apache-2.0",
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
"peer": true,
- "dependencies": {
- "@jsonjoy.com/util": "17.65.0"
- },
"engines": {
- "node": ">=10.0"
+ "node": ">= 10.0.0"
},
"funding": {
- "type": "github",
- "url": "https://github.com/sponsors/streamich"
- },
- "peerDependencies": {
- "tslib": "2"
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/util": {
- "version": "17.65.0",
- "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-17.65.0.tgz",
- "integrity": "sha512-cWiEHZccQORf96q2y6zU3wDeIVPeidmGqd9cNKJRYoVHTV0S1eHPy5JTbHpMnGfDvtvujQwQozOqgO9ABu6h0w==",
+ "node_modules/@parcel/watcher-win32-ia32": {
+ "version": "2.5.4",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.4.tgz",
+ "integrity": "sha512-vQN+KIReG0a2ZDpVv8cgddlf67J8hk1WfZMMP7sMeZmJRSmEax5xNDNWKdgqSe2brOKTQQAs3aCCUal2qBHAyg==",
+ "cpu": [
+ "ia32"
+ ],
"dev": true,
- "license": "Apache-2.0",
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
"peer": true,
- "dependencies": {
- "@jsonjoy.com/buffers": "17.65.0",
- "@jsonjoy.com/codegen": "17.65.0"
- },
"engines": {
- "node": ">=10.0"
+ "node": ">= 10.0.0"
},
"funding": {
- "type": "github",
- "url": "https://github.com/sponsors/streamich"
- },
- "peerDependencies": {
- "tslib": "2"
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/@jsonjoy.com/json-pack": {
- "version": "1.21.0",
- "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.21.0.tgz",
- "integrity": "sha512-+AKG+R2cfZMShzrF2uQw34v3zbeDYUqnQ+jg7ORic3BGtfw9p/+N6RJbq/kkV8JmYZaINknaEQ2m0/f693ZPpg==",
+ "node_modules/@parcel/watcher-win32-x64": {
+ "version": "2.5.4",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.4.tgz",
+ "integrity": "sha512-3A6efb6BOKwyw7yk9ro2vus2YTt2nvcd56AuzxdMiVOxL9umDyN5PKkKfZ/gZ9row41SjVmTVQNWQhaRRGpOKw==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "license": "Apache-2.0",
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
"peer": true,
- "dependencies": {
- "@jsonjoy.com/base64": "^1.1.2",
- "@jsonjoy.com/buffers": "^1.2.0",
- "@jsonjoy.com/codegen": "^1.0.0",
- "@jsonjoy.com/json-pointer": "^1.0.2",
- "@jsonjoy.com/util": "^1.9.0",
- "hyperdyperid": "^1.2.0",
- "thingies": "^2.5.0",
- "tree-dump": "^1.1.0"
- },
"engines": {
- "node": ">=10.0"
+ "node": ">= 10.0.0"
},
"funding": {
- "type": "github",
- "url": "https://github.com/sponsors/streamich"
- },
- "peerDependencies": {
- "tslib": "2"
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/@jsonjoy.com/json-pack/node_modules/@jsonjoy.com/buffers": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-1.2.1.tgz",
- "integrity": "sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==",
+ "node_modules/@parcel/watcher/node_modules/picomatch": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
"dev": true,
- "license": "Apache-2.0",
+ "license": "MIT",
+ "optional": true,
"peer": true,
"engines": {
- "node": ">=10.0"
+ "node": ">=12"
},
"funding": {
- "type": "github",
- "url": "https://github.com/sponsors/streamich"
- },
- "peerDependencies": {
- "tslib": "2"
+ "url": "https://github.com/sponsors/jonschlinkert"
}
},
- "node_modules/@jsonjoy.com/json-pointer": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pointer/-/json-pointer-1.0.2.tgz",
- "integrity": "sha512-Fsn6wM2zlDzY1U+v4Nc8bo3bVqgfNTGcn6dMgs6FjrEnt4ZCe60o6ByKRjOGlI2gow0aE/Q41QOigdTqkyK5fg==",
+ "node_modules/@pinia/testing": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@pinia/testing/-/testing-1.0.3.tgz",
+ "integrity": "sha512-g+qR49GNdI1Z8rZxKrQC3GN+LfnGTNf5Kk8Nz5Cz6mIGva5WRS+ffPXQfzhA0nu6TveWzPNYTjGl4nJqd3Cu9Q==",
"dev": true,
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@jsonjoy.com/codegen": "^1.0.0",
- "@jsonjoy.com/util": "^1.9.0"
- },
- "engines": {
- "node": ">=10.0"
- },
"funding": {
- "type": "github",
- "url": "https://github.com/sponsors/streamich"
+ "url": "https://github.com/sponsors/posva"
},
"peerDependencies": {
- "tslib": "2"
+ "pinia": ">=3.0.4"
}
},
- "node_modules/@jsonjoy.com/util": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.9.0.tgz",
- "integrity": "sha512-pLuQo+VPRnN8hfPqUTLTHk126wuYdXVxE6aDmjSeV4NCAgyxWbiOIeNJVtID3h1Vzpoi9m4jXezf73I6LgabgQ==",
+ "node_modules/@pkgjs/parseargs": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
+ "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
"dev": true,
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@jsonjoy.com/buffers": "^1.0.0",
- "@jsonjoy.com/codegen": "^1.0.0"
- },
+ "optional": true,
"engines": {
- "node": ">=10.0"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/streamich"
- },
- "peerDependencies": {
- "tslib": "2"
+ "node": ">=14"
}
},
- "node_modules/@jsonjoy.com/util/node_modules/@jsonjoy.com/buffers": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-1.2.1.tgz",
- "integrity": "sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==",
+ "node_modules/@redocly/ajv": {
+ "version": "8.17.2",
+ "resolved": "https://registry.npmjs.org/@redocly/ajv/-/ajv-8.17.2.tgz",
+ "integrity": "sha512-rcbDZOfXAgGEJeJ30aWCVVJvxV9ooevb/m1/SFblO2qHs4cqTk178gx7T/vdslf57EA4lTofrwsq5K8rxK9g+g==",
"dev": true,
- "license": "Apache-2.0",
- "peer": true,
- "engines": {
- "node": ">=10.0"
+ "license": "MIT",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.3",
+ "fast-uri": "^3.0.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2"
},
"funding": {
"type": "github",
- "url": "https://github.com/sponsors/streamich"
- },
- "peerDependencies": {
- "tslib": "2"
+ "url": "https://github.com/sponsors/epoberezkin"
}
},
- "node_modules/@keyv/serialize": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@keyv/serialize/-/serialize-1.1.1.tgz",
- "integrity": "sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==",
+ "node_modules/@redocly/ajv/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,
- "license": "MIT",
- "peer": true
+ "license": "MIT"
},
- "node_modules/@leichtgewicht/ip-codec": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz",
- "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==",
+ "node_modules/@redocly/config": {
+ "version": "0.22.2",
+ "resolved": "https://registry.npmjs.org/@redocly/config/-/config-0.22.2.tgz",
+ "integrity": "sha512-roRDai8/zr2S9YfmzUfNhKjOF0NdcOIqF7bhf4MVC5UxpjIysDjyudvlAiVbpPHp3eDRWbdzUgtkK1a7YiDNyQ==",
"dev": true,
- "license": "MIT",
- "peer": true
- },
- "node_modules/@libresign/pdf-elements": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/@libresign/pdf-elements/-/pdf-elements-0.4.0.tgz",
- "integrity": "sha512-mJuYBIUfGQr0cduOz2bX/JSMzLah1G0g6X1oPZCFW/GqJ0MpqRz5Ei5BaB7A55joVP7qn9zvnf8O63TDEamnNg==",
- "license": "AGPL-3.0-or-later",
- "dependencies": {
- "pdfjs-dist": "^5.4.530",
- "vue": "^2.7.16"
- }
+ "license": "MIT"
},
- "node_modules/@linusborg/vue-simple-portal": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/@linusborg/vue-simple-portal/-/vue-simple-portal-0.1.5.tgz",
- "integrity": "sha512-dq+oubEVW4UabBoQxmH97GiDa+F6sTomw4KcXFHnXEpw69rdkXFCxo1WzwuvWjoLiUVYJTyN1dtlUvTa50VcXg==",
- "license": "Apache-2.0",
+ "node_modules/@redocly/openapi-core": {
+ "version": "1.34.6",
+ "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.34.6.tgz",
+ "integrity": "sha512-2+O+riuIUgVSuLl3Lyh5AplWZyVMNuG2F98/o6NrutKJfW4/GTZdPpZlIphS0HGgcOHgmWcCSHj+dWFlZaGSHw==",
+ "dev": true,
+ "license": "MIT",
"dependencies": {
- "nanoid": "^3.1.20"
+ "@redocly/ajv": "^8.11.2",
+ "@redocly/config": "^0.22.0",
+ "colorette": "^1.2.0",
+ "https-proxy-agent": "^7.0.5",
+ "js-levenshtein": "^1.1.6",
+ "js-yaml": "^4.1.0",
+ "minimatch": "^5.0.1",
+ "pluralize": "^8.0.0",
+ "yaml-ast-parser": "0.0.43"
},
- "peerDependencies": {
- "vue": "^2.6.6"
+ "engines": {
+ "node": ">=18.17.0",
+ "npm": ">=9.5.0"
}
},
- "node_modules/@mapbox/hast-util-table-cell-style": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/@mapbox/hast-util-table-cell-style/-/hast-util-table-cell-style-0.2.1.tgz",
- "integrity": "sha512-LyQz4XJIdCdY/+temIhD/Ed0x/p4GAOUycpFSEK2Ads1CPKZy6b7V/2ROEtQiLLQ8soIs0xe/QAoR6kwpyW/yw==",
- "license": "BSD-2-Clause",
+ "node_modules/@redocly/openapi-core/node_modules/minimatch": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+ "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+ "dev": true,
+ "license": "ISC",
"dependencies": {
- "unist-util-visit": "^1.4.1"
+ "brace-expansion": "^2.0.1"
},
"engines": {
- "node": ">=12"
+ "node": ">=10"
}
},
- "node_modules/@mapbox/hast-util-table-cell-style/node_modules/unist-util-is": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz",
- "integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==",
- "license": "MIT"
+ "node_modules/@rolldown/pluginutils": {
+ "version": "1.0.0-rc.2",
+ "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.2.tgz",
+ "integrity": "sha512-izyXV/v+cHiRfozX62W9htOAvwMo4/bXKDrQ+vom1L1qRuexPock/7VZDAhnpHCLNejd3NJ6hiab+tO0D44Rgw==",
+ "dev": true
},
- "node_modules/@mapbox/hast-util-table-cell-style/node_modules/unist-util-visit": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz",
- "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==",
- "license": "MIT",
+ "node_modules/@rollup/plugin-inject": {
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-inject/-/plugin-inject-5.0.5.tgz",
+ "integrity": "sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==",
+ "dev": true,
"dependencies": {
- "unist-util-visit-parents": "^2.0.0"
+ "@rollup/pluginutils": "^5.0.1",
+ "estree-walker": "^2.0.2",
+ "magic-string": "^0.30.3"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
}
},
- "node_modules/@mapbox/hast-util-table-cell-style/node_modules/unist-util-visit-parents": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz",
- "integrity": "sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==",
- "license": "MIT",
- "dependencies": {
- "unist-util-is": "^3.0.0"
- }
+ "node_modules/@rollup/plugin-inject/node_modules/estree-walker": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
+ "dev": true
},
- "node_modules/@marionebl/option": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/@marionebl/option/-/option-1.0.8.tgz",
- "integrity": "sha512-Bci8ZUM5Bf4cbN814aUmuURJTOpaHaYoeVFj09usP41BEUUX3vBSOOP0p/0XxE1+ipn6nH0FDZWUW2UO+6YyRg==",
- "license": "MIT",
+ "node_modules/@rollup/plugin-replace": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-6.0.3.tgz",
+ "integrity": "sha512-J4RZarRvQAm5IF0/LwUUg+obsm+xZhYnbMXmXROyoSE1ATJe3oXSb9L5MMppdxP2ylNSjv6zFBwKYjcKMucVfA==",
+ "dev": true,
"dependencies": {
- "@marionebl/result": "^1.0.7"
+ "@rollup/pluginutils": "^5.0.1",
+ "magic-string": "^0.30.3"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
}
},
- "node_modules/@marionebl/result": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/@marionebl/result/-/result-1.0.8.tgz",
- "integrity": "sha512-eEHcr17US1aeCiiRK//12dr1NOZ9WqKVWqjyIrF4SP4O5R/JhjK9gCSMYGiHZCIefpKDOzUrgPuvPdF1O2KcYg==",
- "license": "MIT",
+ "node_modules/@rollup/pluginutils": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz",
+ "integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==",
+ "dev": true,
"dependencies": {
- "@marionebl/option": "^1.0.4"
+ "@types/estree": "^1.0.0",
+ "estree-walker": "^2.0.2",
+ "picomatch": "^4.0.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
}
},
- "node_modules/@mdi/js": {
- "version": "7.4.47",
- "resolved": "https://registry.npmjs.org/@mdi/js/-/js-7.4.47.tgz",
- "integrity": "sha512-KPnNOtm5i2pMabqZxpUz7iQf+mfrYZyKCZ8QNz85czgEt7cuHcGorWfdzUMWYA0SD+a6Hn4FmJ+YhzzzjkTZrQ==",
- "license": "Apache-2.0"
- },
- "node_modules/@mdi/svg": {
- "version": "7.4.47",
- "resolved": "https://registry.npmjs.org/@mdi/svg/-/svg-7.4.47.tgz",
- "integrity": "sha512-WQ2gDll12T9WD34fdRFgQVgO8bag3gavrAgJ0frN4phlwdJARpE6gO1YvLEMJR0KKgoc+/Ea/A0Pp11I00xBvw==",
- "license": "Apache-2.0"
+ "node_modules/@rollup/pluginutils/node_modules/estree-walker": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
+ "dev": true
},
- "node_modules/@napi-rs/canvas": {
- "version": "0.1.89",
- "resolved": "https://registry.npmjs.org/@napi-rs/canvas/-/canvas-0.1.89.tgz",
- "integrity": "sha512-7GjmkMirJHejeALCqUnZY3QwID7bbumOiLrqq2LKgxrdjdmxWQBTc6rcASa2u8wuWrH7qo4/4n/VNrOwCoKlKg==",
- "license": "MIT",
- "optional": true,
- "workspaces": [
- "e2e/*"
- ],
+ "node_modules/@rollup/pluginutils/node_modules/picomatch": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+ "dev": true,
"engines": {
- "node": ">= 10"
+ "node": ">=12"
},
"funding": {
- "type": "github",
- "url": "https://github.com/sponsors/Brooooooklyn"
- },
- "optionalDependencies": {
- "@napi-rs/canvas-android-arm64": "0.1.89",
- "@napi-rs/canvas-darwin-arm64": "0.1.89",
- "@napi-rs/canvas-darwin-x64": "0.1.89",
- "@napi-rs/canvas-linux-arm-gnueabihf": "0.1.89",
- "@napi-rs/canvas-linux-arm64-gnu": "0.1.89",
- "@napi-rs/canvas-linux-arm64-musl": "0.1.89",
- "@napi-rs/canvas-linux-riscv64-gnu": "0.1.89",
- "@napi-rs/canvas-linux-x64-gnu": "0.1.89",
- "@napi-rs/canvas-linux-x64-musl": "0.1.89",
- "@napi-rs/canvas-win32-arm64-msvc": "0.1.89",
- "@napi-rs/canvas-win32-x64-msvc": "0.1.89"
+ "url": "https://github.com/sponsors/jonschlinkert"
}
},
- "node_modules/@napi-rs/canvas-android-arm64": {
- "version": "0.1.89",
- "resolved": "https://registry.npmjs.org/@napi-rs/canvas-android-arm64/-/canvas-android-arm64-0.1.89.tgz",
- "integrity": "sha512-CXxQTXsjtQqKGENS8Ejv9pZOFJhOPIl2goenS+aU8dY4DygvkyagDhy/I07D1YLqrDtPvLEX5zZHt8qUdnuIpQ==",
+ "node_modules/@rollup/rollup-android-arm-eabi": {
+ "version": "4.57.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.57.1.tgz",
+ "integrity": "sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==",
"cpu": [
- "arm64"
+ "arm"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
"android"
- ],
- "engines": {
- "node": ">= 10"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/Brooooooklyn"
- }
+ ]
},
- "node_modules/@napi-rs/canvas-darwin-arm64": {
- "version": "0.1.89",
- "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-arm64/-/canvas-darwin-arm64-0.1.89.tgz",
- "integrity": "sha512-k29cR/Zl20WLYM7M8YePevRu2VQRaKcRedYr1V/8FFHkyIQ8kShEV+MPoPGi+znvmd17Eqjy2Pk2F2kpM2umVg==",
+ "node_modules/@rollup/rollup-android-arm64": {
+ "version": "4.57.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.57.1.tgz",
+ "integrity": "sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w==",
"cpu": [
"arm64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 10"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/Brooooooklyn"
- }
+ "android"
+ ]
},
- "node_modules/@napi-rs/canvas-darwin-x64": {
- "version": "0.1.89",
- "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-x64/-/canvas-darwin-x64-0.1.89.tgz",
- "integrity": "sha512-iUragqhBrA5FqU13pkhYBDbUD1WEAIlT8R2+fj6xHICY2nemzwMUI8OENDhRh7zuL06YDcRwENbjAVxOmaX9jg==",
+ "node_modules/@rollup/rollup-darwin-arm64": {
+ "version": "4.57.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.57.1.tgz",
+ "integrity": "sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg==",
"cpu": [
- "x64"
+ "arm64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
"darwin"
- ],
- "engines": {
- "node": ">= 10"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/Brooooooklyn"
- }
+ ]
},
- "node_modules/@napi-rs/canvas-linux-arm-gnueabihf": {
- "version": "0.1.89",
- "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm-gnueabihf/-/canvas-linux-arm-gnueabihf-0.1.89.tgz",
- "integrity": "sha512-y3SM9sfDWasY58ftoaI09YBFm35Ig8tosZqgahLJ2WGqawCusGNPV9P0/4PsrLOCZqGg629WxexQMY25n7zcvA==",
+ "node_modules/@rollup/rollup-darwin-x64": {
+ "version": "4.57.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.57.1.tgz",
+ "integrity": "sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w==",
"cpu": [
- "arm"
+ "x64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/Brooooooklyn"
- }
+ "darwin"
+ ]
},
- "node_modules/@napi-rs/canvas-linux-arm64-gnu": {
- "version": "0.1.89",
- "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-gnu/-/canvas-linux-arm64-gnu-0.1.89.tgz",
- "integrity": "sha512-NEoF9y8xq5fX8HG8aZunBom1ILdTwt7ayBzSBIwrmitk7snj4W6Fz/yN/ZOmlM1iyzHDNX5Xn0n+VgWCF8BEdA==",
+ "node_modules/@rollup/rollup-freebsd-arm64": {
+ "version": "4.57.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.57.1.tgz",
+ "integrity": "sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug==",
"cpu": [
"arm64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/Brooooooklyn"
- }
+ "freebsd"
+ ]
},
- "node_modules/@napi-rs/canvas-linux-arm64-musl": {
- "version": "0.1.89",
- "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-musl/-/canvas-linux-arm64-musl-0.1.89.tgz",
- "integrity": "sha512-UQQkIEzV12/l60j1ziMjZ+mtodICNUbrd205uAhbyTw0t60CrC/EsKb5/aJWGq1wM0agvcgZV72JJCKfLS6+4w==",
+ "node_modules/@rollup/rollup-freebsd-x64": {
+ "version": "4.57.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.57.1.tgz",
+ "integrity": "sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q==",
"cpu": [
- "arm64"
+ "x64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/Brooooooklyn"
- }
+ "freebsd"
+ ]
},
- "node_modules/@napi-rs/canvas-linux-riscv64-gnu": {
- "version": "0.1.89",
- "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-riscv64-gnu/-/canvas-linux-riscv64-gnu-0.1.89.tgz",
- "integrity": "sha512-1/VmEoFaIO6ONeeEMGoWF17wOYZOl5hxDC1ios2Bkz/oQjbJJ8DY/X22vWTmvuUKWWhBVlo63pxLGZbjJU/heA==",
+ "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
+ "version": "4.57.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.57.1.tgz",
+ "integrity": "sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==",
"cpu": [
- "riscv64"
+ "arm"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
"linux"
- ],
- "engines": {
- "node": ">= 10"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/Brooooooklyn"
- }
+ ]
},
- "node_modules/@napi-rs/canvas-linux-x64-gnu": {
- "version": "0.1.89",
- "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-gnu/-/canvas-linux-x64-gnu-0.1.89.tgz",
- "integrity": "sha512-ebLuqkCuaPIkKgKH9q4+pqWi1tkPOfiTk5PM1LKR1tB9iO9sFNVSIgwEp+SJreTSbA2DK5rW8lQXiN78SjtcvA==",
+ "node_modules/@rollup/rollup-linux-arm-musleabihf": {
+ "version": "4.57.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.57.1.tgz",
+ "integrity": "sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==",
"cpu": [
- "x64"
+ "arm"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
"linux"
- ],
- "engines": {
- "node": ">= 10"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/Brooooooklyn"
- }
+ ]
},
- "node_modules/@napi-rs/canvas-linux-x64-musl": {
- "version": "0.1.89",
- "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-musl/-/canvas-linux-x64-musl-0.1.89.tgz",
- "integrity": "sha512-w+5qxHzplvA4BkHhCaizNMLLXiI+CfP84YhpHm/PqMub4u8J0uOAv+aaGv40rYEYra5hHRWr9LUd6cfW32o9/A==",
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
+ "version": "4.57.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.57.1.tgz",
+ "integrity": "sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==",
"cpu": [
- "x64"
+ "arm64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
"linux"
- ],
- "engines": {
- "node": ">= 10"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/Brooooooklyn"
- }
+ ]
},
- "node_modules/@napi-rs/canvas-win32-arm64-msvc": {
- "version": "0.1.89",
- "resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-arm64-msvc/-/canvas-win32-arm64-msvc-0.1.89.tgz",
- "integrity": "sha512-DmyXa5lJHcjOsDC78BM3bnEECqbK3xASVMrKfvtT/7S7Z8NGQOugvu+L7b41V6cexCd34mBWgMOsjoEBceeB1Q==",
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
+ "version": "4.57.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.57.1.tgz",
+ "integrity": "sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==",
"cpu": [
"arm64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
- "win32"
- ],
- "engines": {
- "node": ">= 10"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/Brooooooklyn"
- }
+ "linux"
+ ]
},
- "node_modules/@napi-rs/canvas-win32-x64-msvc": {
- "version": "0.1.89",
- "resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-x64-msvc/-/canvas-win32-x64-msvc-0.1.89.tgz",
- "integrity": "sha512-WMej0LZrIqIncQcx0JHaMXlnAG7sncwJh7obs/GBgp0xF9qABjwoRwIooMWCZkSansapKGNUHhamY6qEnFN7gA==",
+ "node_modules/@rollup/rollup-linux-loong64-gnu": {
+ "version": "4.57.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.57.1.tgz",
+ "integrity": "sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==",
"cpu": [
- "x64"
+ "loong64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
- "win32"
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-loong64-musl": {
+ "version": "4.57.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.57.1.tgz",
+ "integrity": "sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==",
+ "cpu": [
+ "loong64"
],
- "engines": {
- "node": ">= 10"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/Brooooooklyn"
- }
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
},
- "node_modules/@napi-rs/wasm-runtime": {
- "version": "0.2.12",
- "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz",
- "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==",
+ "node_modules/@rollup/rollup-linux-ppc64-gnu": {
+ "version": "4.57.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.57.1.tgz",
+ "integrity": "sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==",
+ "cpu": [
+ "ppc64"
+ ],
"dev": true,
"license": "MIT",
"optional": true,
- "peer": true,
- "dependencies": {
- "@emnapi/core": "^1.4.3",
- "@emnapi/runtime": "^1.4.3",
- "@tybys/wasm-util": "^0.10.0"
- }
+ "os": [
+ "linux"
+ ]
},
- "node_modules/@nextcloud/auth": {
- "version": "2.5.3",
- "resolved": "https://registry.npmjs.org/@nextcloud/auth/-/auth-2.5.3.tgz",
- "integrity": "sha512-KIhWLk0BKcP4hvypE4o11YqKOPeFMfEFjRrhUUF+h7Fry+dhTBIEIxuQPVCKXMIpjTDd8791y8V6UdRZ2feKAQ==",
- "license": "GPL-3.0-or-later",
- "dependencies": {
- "@nextcloud/browser-storage": "^0.5.0",
- "@nextcloud/event-bus": "^3.3.2"
- },
- "engines": {
- "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
- }
+ "node_modules/@rollup/rollup-linux-ppc64-musl": {
+ "version": "4.57.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.57.1.tgz",
+ "integrity": "sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
},
- "node_modules/@nextcloud/axios": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/@nextcloud/axios/-/axios-2.5.2.tgz",
- "integrity": "sha512-8frJb77jNMbz00TjsSqs1PymY0nIEbNM4mVmwen2tXY7wNgRai6uXilIlXKOYB9jR/F/HKRj6B4vUwVwZbhdbw==",
- "license": "GPL-3.0-or-later",
- "dependencies": {
- "@nextcloud/auth": "^2.5.1",
- "@nextcloud/router": "^3.0.1",
- "axios": "^1.12.2"
- },
- "engines": {
- "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
- }
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
+ "version": "4.57.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.57.1.tgz",
+ "integrity": "sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
},
- "node_modules/@nextcloud/babel-config": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/@nextcloud/babel-config/-/babel-config-1.3.0.tgz",
- "integrity": "sha512-qk4mBJahzp2mkiizU9RbeABa6JhqSwR43SXptNQhM3kpxAuP2OAQQhomYnxog/XfFcYExZzOkgRBPlcLEoik0w==",
+ "node_modules/@rollup/rollup-linux-riscv64-musl": {
+ "version": "4.57.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.57.1.tgz",
+ "integrity": "sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==",
+ "cpu": [
+ "riscv64"
+ ],
"dev": true,
- "license": "AGPL-3.0-or-later",
- "engines": {
- "node": "^20 || ^22 || ^24"
- },
- "peerDependencies": {
- "@babel/core": "^7.27.4",
- "@babel/plugin-syntax-dynamic-import": "^7.8.3",
- "@babel/preset-env": "^7.27.2"
- }
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
},
- "node_modules/@nextcloud/browser-storage": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/@nextcloud/browser-storage/-/browser-storage-0.5.0.tgz",
- "integrity": "sha512-usYr4GlJQlK3hgZURvklqWb9ivi7sgsSuFqXrs7s4hl1LTS4enzPrnkQumm6nRsQruf0ITS+OBsK+oELEbvYPA==",
- "license": "GPL-3.0-or-later",
- "engines": {
- "node": "^24 || ^22 || ^20"
- }
+ "node_modules/@rollup/rollup-linux-s390x-gnu": {
+ "version": "4.57.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.57.1.tgz",
+ "integrity": "sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
},
- "node_modules/@nextcloud/browserslist-config": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/@nextcloud/browserslist-config/-/browserslist-config-3.1.2.tgz",
- "integrity": "sha512-2iXl1rqQOHvggFIl/V3J5OpbodVazOsO38Gz/2sUAmtWXuOpGZG+7i6zQcVqGVaT1VzyPJ1gPiMpyyZi/XRWNA==",
+ "node_modules/@rollup/rollup-linux-x64-gnu": {
+ "version": "4.57.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.57.1.tgz",
+ "integrity": "sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "license": "GPL-3.0-or-later",
- "engines": {
- "node": "^20 || ^22 || ^24",
- "npm": ">=10.5.0"
- },
- "peerDependencies": {
- "browserslist": "^4.26.3"
- }
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
},
- "node_modules/@nextcloud/capabilities": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@nextcloud/capabilities/-/capabilities-1.2.1.tgz",
- "integrity": "sha512-snZ0/910zzwN6PDsIlx2Uvktr1S5x0ClhDUnfPlCj7ntNvECzuVHNY5wzby22LIkc+9ZjaDKtCwuCt2ye+9p/Q==",
- "license": "GPL-3.0-or-later",
- "dependencies": {
- "@nextcloud/initial-state": "^3.0.0"
- },
- "engines": {
- "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
- }
+ "node_modules/@rollup/rollup-linux-x64-musl": {
+ "version": "4.57.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.57.1.tgz",
+ "integrity": "sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
},
- "node_modules/@nextcloud/capabilities/node_modules/@nextcloud/initial-state": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@nextcloud/initial-state/-/initial-state-3.0.0.tgz",
- "integrity": "sha512-cV+HBdkQJGm8FxkBI5rFT/FbMNWNBvpbj6OPrg4Ae4YOOsQ15CL8InPOAw1t4XkOkQK2NEdUGQLVUz/19wXbdQ==",
- "license": "GPL-3.0-or-later",
- "engines": {
- "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
- }
+ "node_modules/@rollup/rollup-openbsd-x64": {
+ "version": "4.57.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.57.1.tgz",
+ "integrity": "sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ]
},
- "node_modules/@nextcloud/dialogs": {
- "version": "6.4.2",
- "resolved": "https://registry.npmjs.org/@nextcloud/dialogs/-/dialogs-6.4.2.tgz",
- "integrity": "sha512-xj6fyUdb56StWt1DWeDHYnqK0Ck7EWQLUEyWtXHnneknoOV3x/Y0HPRL5L2PTJaDuVQB8TcVW53JjR38JG9W6Q==",
- "license": "AGPL-3.0-or-later",
- "dependencies": {
- "@mdi/js": "^7.4.47",
- "@nextcloud/auth": "^2.5.3",
- "@nextcloud/axios": "^2.5.2",
- "@nextcloud/browser-storage": "^0.5.0",
- "@nextcloud/event-bus": "^3.3.3",
- "@nextcloud/files": "^3.12.2",
- "@nextcloud/initial-state": "^3.0.0",
- "@nextcloud/l10n": "^3.4.1",
- "@nextcloud/paths": "^3.0.0",
- "@nextcloud/router": "^3.1.0",
- "@nextcloud/sharing": "^0.3.0",
- "@types/toastify-js": "^1.12.4",
- "@vueuse/core": "^11.3.0",
- "cancelable-promise": "^4.3.1",
- "p-queue": "^9.0.1",
- "toastify-js": "^1.12.0",
- "vue-frag": "^1.4.3",
- "webdav": "^5.8.0"
- },
- "engines": {
- "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
+ "node_modules/@rollup/rollup-openharmony-arm64": {
+ "version": "4.57.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.57.1.tgz",
+ "integrity": "sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openharmony"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-arm64-msvc": {
+ "version": "4.57.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.57.1.tgz",
+ "integrity": "sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-ia32-msvc": {
+ "version": "4.57.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.57.1.tgz",
+ "integrity": "sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-x64-gnu": {
+ "version": "4.57.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.57.1.tgz",
+ "integrity": "sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-x64-msvc": {
+ "version": "4.57.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.57.1.tgz",
+ "integrity": "sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rtsao/scc": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz",
+ "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/@rushstack/node-core-library": {
+ "version": "5.20.3",
+ "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-5.20.3.tgz",
+ "integrity": "sha512-95JgEPq2k7tHxhF9/OJnnyHDXfC9cLhhta0An/6MlkDsX2A6dTzDrTUG18vx4vjc280V0fi0xDH9iQczpSuWsw==",
+ "dev": true,
+ "dependencies": {
+ "ajv": "~8.18.0",
+ "ajv-draft-04": "~1.0.0",
+ "ajv-formats": "~3.0.1",
+ "fs-extra": "~11.3.0",
+ "import-lazy": "~4.0.0",
+ "jju": "~1.4.0",
+ "resolve": "~1.22.1",
+ "semver": "~7.5.4"
},
"peerDependencies": {
- "@nextcloud/vue": "^8.24.0",
- "vue": "^2.7.16"
+ "@types/node": "*"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
}
},
- "node_modules/@nextcloud/dialogs/node_modules/@nextcloud/initial-state": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@nextcloud/initial-state/-/initial-state-3.0.0.tgz",
- "integrity": "sha512-cV+HBdkQJGm8FxkBI5rFT/FbMNWNBvpbj6OPrg4Ae4YOOsQ15CL8InPOAw1t4XkOkQK2NEdUGQLVUz/19wXbdQ==",
- "license": "GPL-3.0-or-later",
- "engines": {
- "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
+ "node_modules/@rushstack/node-core-library/node_modules/ajv": {
+ "version": "8.18.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz",
+ "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==",
+ "dev": true,
+ "dependencies": {
+ "fast-deep-equal": "^3.1.3",
+ "fast-uri": "^3.0.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
}
},
- "node_modules/@nextcloud/dialogs/node_modules/@nextcloud/paths": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@nextcloud/paths/-/paths-3.0.0.tgz",
- "integrity": "sha512-+sTfTkIbVUa2Ue3bkz3R7F1mhddvHPOWUxkSNg7Q5dAsimVFBaTRgiBAJmsAag3JPsxyuS8kUgeb0zdEssRdTA==",
- "license": "GPL-3.0-or-later",
- "engines": {
- "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
+ "node_modules/@rushstack/node-core-library/node_modules/ajv-draft-04": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz",
+ "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==",
+ "dev": true,
+ "peerDependencies": {
+ "ajv": "^8.5.0"
+ },
+ "peerDependenciesMeta": {
+ "ajv": {
+ "optional": true
+ }
}
},
- "node_modules/@nextcloud/eslint-config": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@nextcloud/eslint-config/-/eslint-config-8.4.2.tgz",
- "integrity": "sha512-zsDcBxvp2Vr/BgasK/vNYJ84LOXjl4RseJPrcp93zcnaB2WnygV50Sd0nQ5JN0ngTyPjiIlGd92MMzrMTofjRA==",
+ "node_modules/@rushstack/node-core-library/node_modules/ajv-formats": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz",
+ "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==",
"dev": true,
- "license": "AGPL-3.0-or-later",
- "engines": {
- "node": "^20.0.0",
- "npm": "^10.0.0"
+ "dependencies": {
+ "ajv": "^8.0.0"
},
"peerDependencies": {
- "@babel/core": "^7.26.9",
- "@babel/eslint-parser": "^7.16.5",
- "@nextcloud/eslint-plugin": "^2.2.1",
- "@vue/eslint-config-typescript": "^13.0.0",
- "eslint": "^8.27.0",
- "eslint-config-standard": "^17.1.0",
- "eslint-import-resolver-exports": "^1.0.0-beta.5",
- "eslint-import-resolver-typescript": "^3.8.0",
- "eslint-plugin-import": "^2.26.0",
- "eslint-plugin-jsdoc": "^46.2.6",
- "eslint-plugin-n": "^16.0.0",
- "eslint-plugin-promise": "^6.6.0",
- "eslint-plugin-vue": "^9.7.0",
- "typescript": "^5.0.2"
+ "ajv": "^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "ajv": {
+ "optional": true
+ }
}
},
- "node_modules/@nextcloud/eslint-plugin": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/@nextcloud/eslint-plugin/-/eslint-plugin-2.2.1.tgz",
- "integrity": "sha512-RX+0FxpL1h2EzjNLeW0VSGTkbyWIq7WgV7QAjtyUmDbSGwf1ds9Zy5OcRkgXRHRIu/W0gB0DhS2iz9qXHphCzA==",
+ "node_modules/@rushstack/node-core-library/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/@rushstack/node-core-library/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,
- "license": "ISC",
- "peer": true,
"dependencies": {
- "fast-xml-parser": "^4.2.5",
- "requireindex": "^1.2.0",
- "semver": "^7.5.3"
+ "yallist": "^4.0.0"
},
"engines": {
- "node": "^20.0.0",
- "npm": "^10.0.0"
- },
- "peerDependencies": {
- "eslint": ">=7.0.0"
+ "node": ">=10"
}
},
- "node_modules/@nextcloud/eslint-plugin/node_modules/semver": {
- "version": "7.7.3",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
- "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
+ "node_modules/@rushstack/node-core-library/node_modules/semver": {
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"dev": true,
- "license": "ISC",
- "peer": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
"bin": {
"semver": "bin/semver.js"
},
@@ -3964,620 +3879,636 @@
"node": ">=10"
}
},
- "node_modules/@nextcloud/event-bus": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/@nextcloud/event-bus/-/event-bus-3.3.3.tgz",
- "integrity": "sha512-zIfvKmUGkXpVzRKoXrcO9hkoiKDm65fqNxy/XIbIxrQhZByPq3gDkjBpnu3V5Gs8JdYwa73R8DjzV9oH8HYhIg==",
- "license": "GPL-3.0-or-later",
- "dependencies": {
- "@types/semver": "^7.7.0",
- "semver": "^7.7.2"
+ "node_modules/@rushstack/node-core-library/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/@rushstack/problem-matcher": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/@rushstack/problem-matcher/-/problem-matcher-0.2.1.tgz",
+ "integrity": "sha512-gulfhBs6n+I5b7DvjKRfhMGyUejtSgOHTclF/eONr8hcgF1APEDjhxIsfdUYYMzC3rvLwGluqLjbwCFZ8nxrog==",
+ "dev": true,
+ "peerDependencies": {
+ "@types/node": "*"
},
- "engines": {
- "node": "^20 || ^22 || ^24"
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
}
},
- "node_modules/@nextcloud/event-bus/node_modules/semver": {
- "version": "7.7.3",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
- "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
+ "node_modules/@rushstack/rig-package": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/@rushstack/rig-package/-/rig-package-0.7.2.tgz",
+ "integrity": "sha512-9XbFWuqMYcHUso4mnETfhGVUSaADBRj6HUAAEYk50nMPn8WRICmBuCphycQGNB3duIR6EEZX3Xj3SYc2XiP+9A==",
+ "dev": true,
+ "dependencies": {
+ "resolve": "~1.22.1",
+ "strip-json-comments": "~3.1.1"
}
},
- "node_modules/@nextcloud/files": {
- "version": "3.12.2",
- "resolved": "https://registry.npmjs.org/@nextcloud/files/-/files-3.12.2.tgz",
- "integrity": "sha512-vBo8tf3Xh6efiF8CrEo3pKj9AtvAF6RdDGO1XKL65IxV8+UUd9Uxl2lUExHlzoDRRczCqfGfaWfRRaFhYqce5Q==",
- "license": "AGPL-3.0-or-later",
+ "node_modules/@rushstack/terminal": {
+ "version": "0.22.3",
+ "resolved": "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.22.3.tgz",
+ "integrity": "sha512-gHC9pIMrUPzAbBiI4VZMU7Q+rsCzb8hJl36lFIulIzoceKotyKL3Rd76AZ2CryCTKEg+0bnTj406HE5YY5OQvw==",
+ "dev": true,
"dependencies": {
- "@nextcloud/auth": "^2.5.3",
- "@nextcloud/capabilities": "^1.2.1",
- "@nextcloud/l10n": "^3.4.1",
- "@nextcloud/logger": "^3.0.3",
- "@nextcloud/paths": "^3.0.0",
- "@nextcloud/router": "^3.1.0",
- "@nextcloud/sharing": "^0.3.0",
- "cancelable-promise": "^4.3.1",
- "is-svg": "^6.1.0",
- "typescript-event-target": "^1.1.1",
- "webdav": "^5.8.0"
+ "@rushstack/node-core-library": "5.20.3",
+ "@rushstack/problem-matcher": "0.2.1",
+ "supports-color": "~8.1.1"
},
- "engines": {
- "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
+ "peerDependencies": {
+ "@types/node": "*"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
}
},
- "node_modules/@nextcloud/files/node_modules/@nextcloud/paths": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@nextcloud/paths/-/paths-3.0.0.tgz",
- "integrity": "sha512-+sTfTkIbVUa2Ue3bkz3R7F1mhddvHPOWUxkSNg7Q5dAsimVFBaTRgiBAJmsAag3JPsxyuS8kUgeb0zdEssRdTA==",
- "license": "GPL-3.0-or-later",
+ "node_modules/@rushstack/terminal/node_modules/supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
"engines": {
- "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
}
},
- "node_modules/@nextcloud/initial-state": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/@nextcloud/initial-state/-/initial-state-2.2.0.tgz",
- "integrity": "sha512-cDW98L5KGGgpS8pzd+05304/p80cyu8U2xSDQGa+kGPTpUFmCbv2qnO5WrwwGTauyjYijCal2bmw82VddSH+Pg==",
- "license": "GPL-3.0-or-later",
- "engines": {
- "node": "^20.0.0",
- "npm": "^10.0.0"
+ "node_modules/@rushstack/ts-command-line": {
+ "version": "5.3.3",
+ "resolved": "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-5.3.3.tgz",
+ "integrity": "sha512-c+ltdcvC7ym+10lhwR/vWiOhsrm/bP3By2VsFcs5qTKv+6tTmxgbVrtJ5NdNjANiV5TcmOZgUN+5KYQ4llsvEw==",
+ "dev": true,
+ "dependencies": {
+ "@rushstack/terminal": "0.22.3",
+ "@types/argparse": "1.0.38",
+ "argparse": "~1.0.9",
+ "string-argv": "~0.3.1"
}
},
- "node_modules/@nextcloud/l10n": {
- "version": "3.4.1",
- "resolved": "https://registry.npmjs.org/@nextcloud/l10n/-/l10n-3.4.1.tgz",
- "integrity": "sha512-aTFinTcKiK2gEXwLgutXekpZZ8/v/4QiC8C3QCLH5m0o+WtxsBC+fqV142ebC/rfDnzCLhY4ZtswSu8bFbZocg==",
- "license": "GPL-3.0-or-later",
+ "node_modules/@rushstack/ts-command-line/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": {
- "@nextcloud/router": "^3.0.1",
- "@nextcloud/typings": "^1.9.1",
- "@types/escape-html": "^1.0.4",
- "dompurify": "^3.2.6",
- "escape-html": "^1.0.3"
- },
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "node_modules/@sindresorhus/merge-streams": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz",
+ "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
"engines": {
- "node": "^20 || ^22 || ^24"
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@nextcloud/logger": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@nextcloud/logger/-/logger-3.0.3.tgz",
- "integrity": "sha512-TcbVRL4/O5ffI1RXFmQAFD3gwwT15AAdr1770x+RNqVvfBdoGVyhzOwCIyA5Vfc3fA1iJXFa+rE6buJZSoqlcw==",
- "license": "GPL-3.0-or-later",
+ "node_modules/@ssddanbrown/codemirror-lang-twig": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@ssddanbrown/codemirror-lang-twig/-/codemirror-lang-twig-1.0.0.tgz",
+ "integrity": "sha512-7WIMIh8Ssc54TooGCY57WU2rKEqZZrcV2tZSVRPtd0gKYsrDEKCSLWpQjUWEx7bdgh3NKHUjq1O4ugIzI/+dwQ==",
"dependencies": {
- "@nextcloud/auth": "^2.5.3"
- },
- "engines": {
- "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
+ "@codemirror/language": "^6.0.0",
+ "@lezer/highlight": "^1.0.0",
+ "@lezer/lr": "^1.0.0"
}
},
- "node_modules/@nextcloud/moment": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/@nextcloud/moment/-/moment-1.3.5.tgz",
- "integrity": "sha512-sQjQ/D40sdedtq4ywuANSxqG0VhIB/i+QtZ6Voz3nyZWhkyyqGxdj9rQu9AyEvas3/Jlspdom5chc+a8jOmHxQ==",
- "license": "GPL-3.0-or-later",
+ "node_modules/@standard-schema/spec": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz",
+ "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@testing-library/dom": {
+ "version": "10.4.1",
+ "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.1.tgz",
+ "integrity": "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==",
+ "dev": true,
"dependencies": {
- "@nextcloud/l10n": "^3.4.0",
- "moment": "^2.30.1"
+ "@babel/code-frame": "^7.10.4",
+ "@babel/runtime": "^7.12.5",
+ "@types/aria-query": "^5.0.1",
+ "aria-query": "5.3.0",
+ "dom-accessibility-api": "^0.5.9",
+ "lz-string": "^1.5.0",
+ "picocolors": "1.1.1",
+ "pretty-format": "^27.0.2"
},
"engines": {
- "node": "^20.0.0",
- "npm": "^10.0.0"
+ "node": ">=18"
}
},
- "node_modules/@nextcloud/password-confirmation": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/@nextcloud/password-confirmation/-/password-confirmation-5.3.2.tgz",
- "integrity": "sha512-VtRBguZF8LvNn3I/kJ37upG8welNf7s1gnKwF3pQhC+F4n/Hgx6dp+LhM4fncHF7XH56i4LNZno+0IbvOkOQ8Q==",
- "license": "MIT",
+ "node_modules/@testing-library/vue": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/@testing-library/vue/-/vue-8.1.0.tgz",
+ "integrity": "sha512-ls4RiHO1ta4mxqqajWRh8158uFObVrrtAPoxk7cIp4HrnQUj/ScKzqz53HxYpG3X6Zb7H2v+0eTGLSoy8HQ2nA==",
+ "dev": true,
"dependencies": {
- "@nextcloud/auth": "^2.5.3",
- "@nextcloud/axios": "^2.5.2",
- "@nextcloud/dialogs": "^6.4.1",
- "@nextcloud/l10n": "^3.4.1",
- "@nextcloud/router": "^3.0.1"
+ "@babel/runtime": "^7.23.2",
+ "@testing-library/dom": "^9.3.3",
+ "@vue/test-utils": "^2.4.1"
},
"engines": {
- "node": "^20.0.0",
- "npm": "^10.5.1"
+ "node": ">=14"
},
"peerDependencies": {
- "@nextcloud/vue": "^8.23.0",
- "vue": "^2.7.16"
+ "@vue/compiler-sfc": ">= 3",
+ "vue": ">= 3"
+ },
+ "peerDependenciesMeta": {
+ "@vue/compiler-sfc": {
+ "optional": true
+ }
}
},
- "node_modules/@nextcloud/paths": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/@nextcloud/paths/-/paths-2.4.0.tgz",
- "integrity": "sha512-35hykjqzaJCw8pBYWuKbLLw2wyKMuf9+T8K8GoYiS84AIi8SO16nuEu0fyl/gwCuiDqX5tCCup4wqljf0hdvaw==",
- "license": "GPL-3.0-or-later",
+ "node_modules/@testing-library/vue/node_modules/@testing-library/dom": {
+ "version": "9.3.4",
+ "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.4.tgz",
+ "integrity": "sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.10.4",
+ "@babel/runtime": "^7.12.5",
+ "@types/aria-query": "^5.0.1",
+ "aria-query": "5.1.3",
+ "chalk": "^4.1.0",
+ "dom-accessibility-api": "^0.5.9",
+ "lz-string": "^1.5.0",
+ "pretty-format": "^27.0.2"
+ },
"engines": {
- "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
+ "node": ">=14"
}
},
- "node_modules/@nextcloud/router": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@nextcloud/router/-/router-3.1.0.tgz",
- "integrity": "sha512-e4dkIaxRSwdZJlZFpn9x03QgBn/Sa2hN1hp/BA7+AbzykmSAlKuWfdmX8j/8ewrLpQwYmZR23IZO9XwpJXq2Uw==",
- "license": "GPL-3.0-or-later",
+ "node_modules/@testing-library/vue/node_modules/aria-query": {
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz",
+ "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==",
+ "dev": true,
"dependencies": {
- "@nextcloud/typings": "^1.10.0"
- },
- "engines": {
- "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
+ "deep-equal": "^2.0.5"
}
},
- "node_modules/@nextcloud/sharing": {
+ "node_modules/@tokenizer/token": {
"version": "0.3.0",
- "resolved": "https://registry.npmjs.org/@nextcloud/sharing/-/sharing-0.3.0.tgz",
- "integrity": "sha512-kV7qeUZvd1fTKeFyH+W5Qq5rNOqG9rLATZM3U9MBxWXHJs3OxMqYQb8UQ3NYONzsX3zDGJmdQECIGHm1ei2sCA==",
- "license": "GPL-3.0-or-later",
+ "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz",
+ "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==",
+ "license": "MIT"
+ },
+ "node_modules/@tybys/wasm-util": {
+ "version": "0.10.1",
+ "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz",
+ "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "peer": true,
"dependencies": {
- "@nextcloud/initial-state": "^3.0.0",
- "is-svg": "^6.1.0"
- },
- "engines": {
- "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
- },
- "optionalDependencies": {
- "@nextcloud/files": "^3.12.0"
+ "tslib": "^2.4.0"
}
},
- "node_modules/@nextcloud/sharing/node_modules/@nextcloud/initial-state": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@nextcloud/initial-state/-/initial-state-3.0.0.tgz",
- "integrity": "sha512-cV+HBdkQJGm8FxkBI5rFT/FbMNWNBvpbj6OPrg4Ae4YOOsQ15CL8InPOAw1t4XkOkQK2NEdUGQLVUz/19wXbdQ==",
- "license": "GPL-3.0-or-later",
- "engines": {
- "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
- }
+ "node_modules/@types/argparse": {
+ "version": "1.0.38",
+ "resolved": "https://registry.npmjs.org/@types/argparse/-/argparse-1.0.38.tgz",
+ "integrity": "sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==",
+ "dev": true
},
- "node_modules/@nextcloud/stylelint-config": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/@nextcloud/stylelint-config/-/stylelint-config-3.2.0.tgz",
- "integrity": "sha512-DoTIk5doK5x06lakUaclxnPm3i4r7Ze7BS8OubkEFpHJYitsXLBl6y5YCYVHqKuZFz1VNLBc0NVdE/f/6RWGdg==",
+ "node_modules/@types/aria-query": {
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz",
+ "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==",
+ "dev": true
+ },
+ "node_modules/@types/chai": {
+ "version": "5.2.3",
+ "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz",
+ "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==",
"dev": true,
- "license": "AGPL-3.0-or-later",
+ "license": "MIT",
"dependencies": {
- "stylelint-use-logical": "^2.1.2"
- },
- "engines": {
- "node": "^20.19 || ^22 || ^24"
- },
- "peerDependencies": {
- "stylelint": "^17.0.0",
- "stylelint-config-recommended-scss": "^17.0.0",
- "stylelint-config-recommended-vue": "^1.6.1"
+ "@types/deep-eql": "*",
+ "assertion-error": "^2.0.1"
}
},
- "node_modules/@nextcloud/typings": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/@nextcloud/typings/-/typings-1.10.0.tgz",
- "integrity": "sha512-SMC42rDjOH3SspPTLMZRv76ZliHpj2JJkF8pGLP8l1QrVTZxE47Qz5qeKmbj2VL+dRv2e/NgixlAFmzVnxkhqg==",
- "license": "GPL-3.0-or-later",
+ "node_modules/@types/debug": {
+ "version": "4.1.12",
+ "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz",
+ "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==",
"dependencies": {
- "@types/jquery": "3.5.16"
- },
- "engines": {
- "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
+ "@types/ms": "*"
}
},
- "node_modules/@nextcloud/upload": {
- "version": "1.11.0",
- "resolved": "https://registry.npmjs.org/@nextcloud/upload/-/upload-1.11.0.tgz",
- "integrity": "sha512-F1+eRc7f2GvWgKvOzPhAZ4NzVhXpJUKt1GhUZYDLQPAbv6zE2AJ2w3i9J8L2+Gc507JVhBPykqcUFB31/ztP2A==",
- "license": "AGPL-3.0-or-later",
+ "node_modules/@types/deep-eql": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz",
+ "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/escape-html": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@types/escape-html/-/escape-html-1.0.4.tgz",
+ "integrity": "sha512-qZ72SFTgUAZ5a7Tj6kf2SHLetiH5S6f8G5frB2SPQ3EyF02kxdyBFf4Tz4banE3xCgGnKgWLt//a6VuYHKYJTg==",
+ "license": "MIT"
+ },
+ "node_modules/@types/estree": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
+ "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
+ "license": "MIT"
+ },
+ "node_modules/@types/estree-jsx": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz",
+ "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==",
"dependencies": {
- "@nextcloud/auth": "^2.5.1",
- "@nextcloud/axios": "^2.5.1",
- "@nextcloud/capabilities": "^1.2.0",
- "@nextcloud/dialogs": "^6.1.1",
- "@nextcloud/files": "^3.12.0",
- "@nextcloud/l10n": "^3.3.0",
- "@nextcloud/logger": "^3.0.2",
- "@nextcloud/paths": "^2.2.1",
- "@nextcloud/router": "^3.0.0",
- "@nextcloud/sharing": "^0.2.4",
- "axios": "^1.11.0",
- "axios-retry": "^4.5.0",
- "crypto-browserify": "^3.12.1",
- "p-cancelable": "^4.0.1",
- "p-queue": "^8.1.1",
- "typescript-event-target": "^1.1.1"
- },
- "engines": {
- "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
- },
- "peerDependencies": {
- "@nextcloud/vue": "^8.0.0",
- "vue": "^2.7.16"
+ "@types/estree": "*"
}
},
- "node_modules/@nextcloud/upload/node_modules/@nextcloud/sharing": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/@nextcloud/sharing/-/sharing-0.2.5.tgz",
- "integrity": "sha512-B3K5Dq9b5dexDA5n3AAuCF69Huwhrpw0J72fsVXV4KpPdImjhVPlExAv5o70AoXa+OqN4Rwn6gqJw+3ED892zg==",
- "license": "GPL-3.0-or-later",
+ "node_modules/@types/hast": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
+ "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==",
"dependencies": {
- "@nextcloud/initial-state": "^2.2.0"
- },
- "engines": {
- "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
+ "@types/unist": "*"
}
},
- "node_modules/@nextcloud/upload/node_modules/p-queue": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.1.1.tgz",
- "integrity": "sha512-aNZ+VfjobsWryoiPnEApGGmf5WmNsCo9xu8dfaYamG5qaLP7ClhLN6NgsFe6SwJ2UbLEBK5dv9x8Mn5+RVhMWQ==",
+ "node_modules/@types/jquery": {
+ "version": "3.5.16",
+ "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.16.tgz",
+ "integrity": "sha512-bsI7y4ZgeMkmpG9OM710RRzDFp+w4P1RGiIt30C1mSBT+ExCleeh4HObwgArnDFELmRrOpXgSYN9VF1hj+f1lw==",
"license": "MIT",
"dependencies": {
- "eventemitter3": "^5.0.1",
- "p-timeout": "^6.1.2"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "@types/sizzle": "*"
}
},
- "node_modules/@nextcloud/upload/node_modules/p-timeout": {
- "version": "6.1.4",
- "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.4.tgz",
- "integrity": "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==",
+ "node_modules/@types/json5": {
+ "version": "0.0.29",
+ "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
+ "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
+ "dev": true,
"license": "MIT",
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
+ "peer": true
},
- "node_modules/@nextcloud/vue": {
- "version": "8.35.3",
- "resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-8.35.3.tgz",
- "integrity": "sha512-Znfm3MwejKyDNdFIVRyZGfMruqrLz/Zf3x0zrWHZ03qHSJqopCdeTgvFys4+6PWDAg9ujhja5kUx6XCcZx6Qyw==",
- "license": "AGPL-3.0-or-later",
+ "node_modules/@types/mdast": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz",
+ "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==",
"dependencies": {
- "@floating-ui/dom": "^1.7.4",
- "@linusborg/vue-simple-portal": "^0.1.5",
- "@nextcloud/auth": "^2.5.3",
- "@nextcloud/axios": "^2.5.2",
- "@nextcloud/browser-storage": "^0.5.0",
- "@nextcloud/capabilities": "^1.2.1",
- "@nextcloud/event-bus": "^3.3.3",
- "@nextcloud/initial-state": "^2.2.0",
- "@nextcloud/l10n": "^3.4.1",
- "@nextcloud/logger": "^3.0.3",
- "@nextcloud/router": "^3.1.0",
- "@nextcloud/sharing": "^0.3.0",
- "@nextcloud/vue-select": "^3.26.0",
- "@vueuse/components": "^11.0.0",
- "@vueuse/core": "^11.0.0",
- "blurhash": "^2.0.5",
- "clone": "^2.1.2",
- "debounce": "^2.2.0",
- "dompurify": "^3.3.1",
- "emoji-mart-vue-fast": "^15.0.5",
- "escape-html": "^1.0.3",
- "floating-vue": "^1.0.0-beta.19",
- "focus-trap": "^7.8.0",
- "linkify-string": "^4.3.2",
- "md5": "^2.3.0",
- "p-queue": "^8.1.1",
- "rehype-external-links": "^3.0.0",
- "rehype-highlight": "^7.0.2",
- "rehype-react": "^7.1.2",
- "remark-breaks": "^4.0.0",
- "remark-parse": "^11.0.0",
- "remark-rehype": "^11.0.0",
- "remark-unlink-protocols": "^1.0.0",
- "splitpanes": "^2.4.1",
- "string-length": "^5.0.1",
- "striptags": "^3.2.0",
- "tabbable": "^6.4.0",
- "tributejs": "^5.1.3",
- "unified": "^11.0.1",
- "unist-builder": "^4.0.0",
- "unist-util-visit": "^5.0.0",
- "vue": "^2.7.16",
- "vue-color": "^2.8.1",
- "vue-frag": "^1.4.3",
- "vue-router": "^3.6.5",
- "vue2-datepicker": "^3.11.0"
- },
- "engines": {
- "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
+ "@types/unist": "*"
}
},
- "node_modules/@nextcloud/vue-select": {
- "version": "3.26.0",
- "resolved": "https://registry.npmjs.org/@nextcloud/vue-select/-/vue-select-3.26.0.tgz",
- "integrity": "sha512-UvJExrxzx5pP3lv7j6zrv2yj6B1dXph7sh3lLNPnbJPjPoH/yg58mHNFBcPJrRYMbpy2t3hlC6F7s33KCTr9FA==",
- "license": "MIT",
- "engines": {
- "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
- },
- "peerDependencies": {
- "vue": "2.x"
- }
+ "node_modules/@types/ms": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz",
+ "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA=="
},
- "node_modules/@nextcloud/vue/node_modules/p-queue": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.1.1.tgz",
- "integrity": "sha512-aNZ+VfjobsWryoiPnEApGGmf5WmNsCo9xu8dfaYamG5qaLP7ClhLN6NgsFe6SwJ2UbLEBK5dv9x8Mn5+RVhMWQ==",
+ "node_modules/@types/node": {
+ "version": "25.0.9",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-25.0.9.tgz",
+ "integrity": "sha512-/rpCXHlCWeqClNBwUhDcusJxXYDjZTyE8v5oTO7WbL8eij2nKhUeU89/6xgjU7N4/Vh3He0BtyhJdQbDyhiXAw==",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "eventemitter3": "^5.0.1",
- "p-timeout": "^6.1.2"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "undici-types": "~7.16.0"
}
},
- "node_modules/@nextcloud/vue/node_modules/p-timeout": {
- "version": "6.1.4",
- "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.4.tgz",
- "integrity": "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==",
+ "node_modules/@types/semver": {
+ "version": "7.7.1",
+ "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.7.1.tgz",
+ "integrity": "sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA==",
+ "license": "MIT"
+ },
+ "node_modules/@types/sizzle": {
+ "version": "2.3.10",
+ "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.10.tgz",
+ "integrity": "sha512-TC0dmN0K8YcWEAEfiPi5gJP14eJe30TTGjkvek3iM/1NdHHsdCA/Td6GvNndMOo/iSnIsZ4HuuhrYPDAmbxzww==",
+ "license": "MIT"
+ },
+ "node_modules/@types/toastify-js": {
+ "version": "1.12.4",
+ "resolved": "https://registry.npmjs.org/@types/toastify-js/-/toastify-js-1.12.4.tgz",
+ "integrity": "sha512-zfZHU4tKffPCnZRe7pjv/eFKzTVHozKewFCKaCjZ4gFinKgJRz/t0bkZiMCXJxPhv/ZoeDGNOeRD09R0kQZ/nw==",
+ "license": "MIT"
+ },
+ "node_modules/@types/trusted-types": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz",
+ "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==",
"license": "MIT",
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
+ "optional": true
+ },
+ "node_modules/@types/unist": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz",
+ "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q=="
+ },
+ "node_modules/@types/web-bluetooth": {
+ "version": "0.0.21",
+ "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.21.tgz",
+ "integrity": "sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA=="
},
- "node_modules/@nextcloud/webpack-vue-config": {
- "version": "6.3.2",
- "resolved": "https://registry.npmjs.org/@nextcloud/webpack-vue-config/-/webpack-vue-config-6.3.2.tgz",
- "integrity": "sha512-3ihWEW6kflGggVXNqL1gNrIx88GibJMIb1sC5CHjjZ/+2kkdOQ2HizoYKyMqPfcqji9UtwgdT+RlFVC4SViNJg==",
+ "node_modules/@types/whatwg-mimetype": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@types/whatwg-mimetype/-/whatwg-mimetype-3.0.2.tgz",
+ "integrity": "sha512-c2AKvDT8ToxLIOUlN51gTiHXflsfIFisS4pO7pDPoKouJCESkhZnEy623gwP9laCy5lnLDAw1vAzu2vM2YLOrA==",
"dev": true,
- "hasInstallScript": true,
- "license": "AGPL-3.0-or-later",
- "engines": {
- "node": "^20.0.0",
- "npm": "^9.0.0 || ^10.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.22.9",
- "babel-loader": "^10.0.0",
- "css-loader": "^7.1.1",
- "node-polyfill-webpack-plugin": "4.0.0",
- "sass": "^1.64.2",
- "sass-loader": "^16.0.2",
- "style-loader": "^4.0.0",
- "ts-loader": "^9.4.4",
- "vue": "^2.7.16 || ^3.5.13",
- "vue-loader": "^15.11.1 || ^17.4.2",
- "webpack": "^5.88.2",
- "webpack-cli": "^6.0.1",
- "webpack-dev-server": "^5.0.2"
- }
+ "license": "MIT"
},
- "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": {
- "version": "5.1.1-v1",
- "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz",
- "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==",
+ "node_modules/@types/ws": {
+ "version": "8.18.1",
+ "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz",
+ "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
- "eslint-scope": "5.1.1"
+ "@types/node": "*"
}
},
- "node_modules/@noble/hashes": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz",
- "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==",
+ "node_modules/@typescript-eslint/eslint-plugin": {
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz",
+ "integrity": "sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==",
"dev": true,
"license": "MIT",
"peer": true,
+ "dependencies": {
+ "@eslint-community/regexpp": "^4.10.0",
+ "@typescript-eslint/scope-manager": "7.18.0",
+ "@typescript-eslint/type-utils": "7.18.0",
+ "@typescript-eslint/utils": "7.18.0",
+ "@typescript-eslint/visitor-keys": "7.18.0",
+ "graphemer": "^1.4.0",
+ "ignore": "^5.3.1",
+ "natural-compare": "^1.4.0",
+ "ts-api-utils": "^1.3.0"
+ },
"engines": {
- "node": ">= 16"
+ "node": "^18.18.0 || >=20.0.0"
},
"funding": {
- "url": "https://paulmillr.com/funding/"
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "@typescript-eslint/parser": "^7.0.0",
+ "eslint": "^8.56.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
}
},
- "node_modules/@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "node_modules/@typescript-eslint/parser": {
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.18.0.tgz",
+ "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==",
"dev": true,
- "license": "MIT",
+ "license": "BSD-2-Clause",
"peer": true,
"dependencies": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
+ "@typescript-eslint/scope-manager": "7.18.0",
+ "@typescript-eslint/types": "7.18.0",
+ "@typescript-eslint/typescript-estree": "7.18.0",
+ "@typescript-eslint/visitor-keys": "7.18.0",
+ "debug": "^4.3.4"
},
"engines": {
- "node": ">= 8"
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.56.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
}
},
- "node_modules/@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "node_modules/@typescript-eslint/scope-manager": {
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz",
+ "integrity": "sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==",
"dev": true,
"license": "MIT",
"peer": true,
+ "dependencies": {
+ "@typescript-eslint/types": "7.18.0",
+ "@typescript-eslint/visitor-keys": "7.18.0"
+ },
"engines": {
- "node": ">= 8"
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
}
},
- "node_modules/@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "node_modules/@typescript-eslint/type-utils": {
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz",
+ "integrity": "sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
+ "@typescript-eslint/typescript-estree": "7.18.0",
+ "@typescript-eslint/utils": "7.18.0",
+ "debug": "^4.3.4",
+ "ts-api-utils": "^1.3.0"
},
"engines": {
- "node": ">= 8"
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.56.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
}
},
- "node_modules/@nolyfill/is-core-module": {
- "version": "1.0.39",
- "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz",
- "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==",
+ "node_modules/@typescript-eslint/types": {
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz",
+ "integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==",
"dev": true,
"license": "MIT",
"peer": true,
"engines": {
- "node": ">=12.4.0"
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
}
},
- "node_modules/@one-ini/wasm": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz",
- "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==",
+ "node_modules/@typescript-eslint/typescript-estree": {
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz",
+ "integrity": "sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==",
"dev": true,
- "license": "MIT"
- },
- "node_modules/@parcel/watcher": {
- "version": "2.5.4",
- "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.4.tgz",
- "integrity": "sha512-WYa2tUVV5HiArWPB3ydlOc4R2ivq0IDrlqhMi3l7mVsFEXNcTfxYFPIHXHXIh/ca/y/V5N4E1zecyxdIBjYnkQ==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "optional": true,
+ "license": "BSD-2-Clause",
"peer": true,
"dependencies": {
- "detect-libc": "^2.0.3",
+ "@typescript-eslint/types": "7.18.0",
+ "@typescript-eslint/visitor-keys": "7.18.0",
+ "debug": "^4.3.4",
+ "globby": "^11.1.0",
"is-glob": "^4.0.3",
- "node-addon-api": "^7.0.0",
- "picomatch": "^4.0.3"
+ "minimatch": "^9.0.4",
+ "semver": "^7.6.0",
+ "ts-api-utils": "^1.3.0"
},
"engines": {
- "node": ">= 10.0.0"
+ "node": "^18.18.0 || >=20.0.0"
},
"funding": {
"type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "url": "https://opencollective.com/typescript-eslint"
},
- "optionalDependencies": {
- "@parcel/watcher-android-arm64": "2.5.4",
- "@parcel/watcher-darwin-arm64": "2.5.4",
- "@parcel/watcher-darwin-x64": "2.5.4",
- "@parcel/watcher-freebsd-x64": "2.5.4",
- "@parcel/watcher-linux-arm-glibc": "2.5.4",
- "@parcel/watcher-linux-arm-musl": "2.5.4",
- "@parcel/watcher-linux-arm64-glibc": "2.5.4",
- "@parcel/watcher-linux-arm64-musl": "2.5.4",
- "@parcel/watcher-linux-x64-glibc": "2.5.4",
- "@parcel/watcher-linux-x64-musl": "2.5.4",
- "@parcel/watcher-win32-arm64": "2.5.4",
- "@parcel/watcher-win32-ia32": "2.5.4",
- "@parcel/watcher-win32-x64": "2.5.4"
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
}
},
- "node_modules/@parcel/watcher-android-arm64": {
- "version": "2.5.4",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.4.tgz",
- "integrity": "sha512-hoh0vx4v+b3BNI7Cjoy2/B0ARqcwVNrzN/n7DLq9ZB4I3lrsvhrkCViJyfTj/Qi5xM9YFiH4AmHGK6pgH1ss7g==",
- "cpu": [
- "arm64"
- ],
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": {
+ "version": "7.7.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+ "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
+ "license": "ISC",
"peer": true,
- "engines": {
- "node": ">= 10.0.0"
+ "bin": {
+ "semver": "bin/semver.js"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "engines": {
+ "node": ">=10"
}
},
- "node_modules/@parcel/watcher-darwin-arm64": {
- "version": "2.5.4",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.4.tgz",
- "integrity": "sha512-kphKy377pZiWpAOyTgQYPE5/XEKVMaj6VUjKT5VkNyUJlr2qZAn8gIc7CPzx+kbhvqHDT9d7EqdOqRXT6vk0zw==",
- "cpu": [
- "arm64"
- ],
+ "node_modules/@typescript-eslint/utils": {
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.18.0.tgz",
+ "integrity": "sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==",
"dev": true,
"license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
"peer": true,
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.4.0",
+ "@typescript-eslint/scope-manager": "7.18.0",
+ "@typescript-eslint/types": "7.18.0",
+ "@typescript-eslint/typescript-estree": "7.18.0"
+ },
"engines": {
- "node": ">= 10.0.0"
+ "node": "^18.18.0 || >=20.0.0"
},
"funding": {
"type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.56.0"
}
},
- "node_modules/@parcel/watcher-darwin-x64": {
- "version": "2.5.4",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.4.tgz",
- "integrity": "sha512-UKaQFhCtNJW1A9YyVz3Ju7ydf6QgrpNQfRZ35wNKUhTQ3dxJ/3MULXN5JN/0Z80V/KUBDGa3RZaKq1EQT2a2gg==",
- "cpu": [
- "x64"
- ],
+ "node_modules/@typescript-eslint/visitor-keys": {
+ "version": "7.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz",
+ "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==",
"dev": true,
"license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
"peer": true,
+ "dependencies": {
+ "@typescript-eslint/types": "7.18.0",
+ "eslint-visitor-keys": "^3.4.3"
+ },
"engines": {
- "node": ">= 10.0.0"
+ "node": "^18.18.0 || >=20.0.0"
},
"funding": {
"type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "url": "https://opencollective.com/typescript-eslint"
}
},
- "node_modules/@parcel/watcher-freebsd-x64": {
- "version": "2.5.4",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.4.tgz",
- "integrity": "sha512-Dib0Wv3Ow/m2/ttvLdeI2DBXloO7t3Z0oCp4bAb2aqyqOjKPPGrg10pMJJAQ7tt8P4V2rwYwywkDhUia/FgS+Q==",
- "cpu": [
- "x64"
- ],
+ "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
+ "license": "Apache-2.0",
"peer": true,
"engines": {
- "node": ">= 10.0.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "url": "https://opencollective.com/eslint"
}
},
- "node_modules/@parcel/watcher-linux-arm-glibc": {
- "version": "2.5.4",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.4.tgz",
- "integrity": "sha512-I5Vb769pdf7Q7Sf4KNy8Pogl/URRCKu9ImMmnVKYayhynuyGYMzuI4UOWnegQNa2sGpsPSbzDsqbHNMyeyPCgw==",
+ "node_modules/@uiw/codemirror-theme-material": {
+ "version": "4.25.7",
+ "resolved": "https://registry.npmjs.org/@uiw/codemirror-theme-material/-/codemirror-theme-material-4.25.7.tgz",
+ "integrity": "sha512-jjVYq/ZAHiNOFps+JSRRbWQjOuqKA/233pi13h2s4eefuT3WqnOvysJ78lCf+7FaC9dqu8r+6oIpe1bZCtOeDQ==",
+ "dependencies": {
+ "@uiw/codemirror-themes": "4.25.7"
+ },
+ "funding": {
+ "url": "https://jaywcjlove.github.io/#/sponsor"
+ }
+ },
+ "node_modules/@uiw/codemirror-themes": {
+ "version": "4.25.7",
+ "resolved": "https://registry.npmjs.org/@uiw/codemirror-themes/-/codemirror-themes-4.25.7.tgz",
+ "integrity": "sha512-Rcx1XiQiMOJzk/efVuZioCv3VuswUb2CPmiM1NIXY5N4vEMmWLY3N8T4/WkPzJ8ZZuk7o3OH2VI5bj7729fDYg==",
+ "dependencies": {
+ "@codemirror/language": "^6.0.0",
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.0.0"
+ },
+ "funding": {
+ "url": "https://jaywcjlove.github.io/#/sponsor"
+ },
+ "peerDependencies": {
+ "@codemirror/language": ">=6.0.0",
+ "@codemirror/state": ">=6.0.0",
+ "@codemirror/view": ">=6.0.0"
+ }
+ },
+ "node_modules/@ungap/structured-clone": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz",
+ "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==",
+ "license": "ISC"
+ },
+ "node_modules/@unrs/resolver-binding-android-arm-eabi": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz",
+ "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==",
"cpu": [
"arm"
],
@@ -4585,43 +4516,29 @@
"license": "MIT",
"optional": true,
"os": [
- "linux"
+ "android"
],
- "peer": true,
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
+ "peer": true
},
- "node_modules/@parcel/watcher-linux-arm-musl": {
- "version": "2.5.4",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.4.tgz",
- "integrity": "sha512-kGO8RPvVrcAotV4QcWh8kZuHr9bXi9a3bSZw7kFarYR0+fGliU7hd/zevhjw8fnvIKG3J9EO5G6sXNGCSNMYPQ==",
+ "node_modules/@unrs/resolver-binding-android-arm64": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz",
+ "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==",
"cpu": [
- "arm"
+ "arm64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
- "linux"
+ "android"
],
- "peer": true,
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
+ "peer": true
},
- "node_modules/@parcel/watcher-linux-arm64-glibc": {
- "version": "2.5.4",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.4.tgz",
- "integrity": "sha512-KU75aooXhqGFY2W5/p8DYYHt4hrjHZod8AhcGAmhzPn/etTa+lYCDB2b1sJy3sWJ8ahFVTdy+EbqSBvMx3iFlw==",
+ "node_modules/@unrs/resolver-binding-darwin-arm64": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz",
+ "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==",
"cpu": [
"arm64"
],
@@ -4629,43 +4546,29 @@
"license": "MIT",
"optional": true,
"os": [
- "linux"
+ "darwin"
],
- "peer": true,
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
+ "peer": true
},
- "node_modules/@parcel/watcher-linux-arm64-musl": {
- "version": "2.5.4",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.4.tgz",
- "integrity": "sha512-Qx8uNiIekVutnzbVdrgSanM+cbpDD3boB1f8vMtnuG5Zau4/bdDbXyKwIn0ToqFhIuob73bcxV9NwRm04/hzHQ==",
+ "node_modules/@unrs/resolver-binding-darwin-x64": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz",
+ "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==",
"cpu": [
- "arm64"
+ "x64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
- "linux"
+ "darwin"
],
- "peer": true,
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
+ "peer": true
},
- "node_modules/@parcel/watcher-linux-x64-glibc": {
- "version": "2.5.4",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.4.tgz",
- "integrity": "sha512-UYBQvhYmgAv61LNUn24qGQdjtycFBKSK3EXr72DbJqX9aaLbtCOO8+1SkKhD/GNiJ97ExgcHBrukcYhVjrnogA==",
+ "node_modules/@unrs/resolver-binding-freebsd-x64": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz",
+ "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==",
"cpu": [
"x64"
],
@@ -4673,23 +4576,16 @@
"license": "MIT",
"optional": true,
"os": [
- "linux"
+ "freebsd"
],
- "peer": true,
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
+ "peer": true
},
- "node_modules/@parcel/watcher-linux-x64-musl": {
- "version": "2.5.4",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.4.tgz",
- "integrity": "sha512-YoRWCVgxv8akZrMhdyVi6/TyoeeMkQ0PGGOf2E4omODrvd1wxniXP+DBynKoHryStks7l+fDAMUBRzqNHrVOpg==",
+ "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz",
+ "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==",
"cpu": [
- "x64"
+ "arm"
],
"dev": true,
"license": "MIT",
@@ -4697,1883 +4593,522 @@
"os": [
"linux"
],
- "peer": true,
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
+ "peer": true
},
- "node_modules/@parcel/watcher-win32-arm64": {
- "version": "2.5.4",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.4.tgz",
- "integrity": "sha512-iby+D/YNXWkiQNYcIhg8P5hSjzXEHaQrk2SLrWOUD7VeC4Ohu0WQvmV+HDJokZVJ2UjJ4AGXW3bx7Lls9Ln4TQ==",
+ "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz",
+ "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==",
"cpu": [
- "arm64"
+ "arm"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
- "win32"
+ "linux"
],
- "peer": true,
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
+ "peer": true
},
- "node_modules/@parcel/watcher-win32-ia32": {
- "version": "2.5.4",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.4.tgz",
- "integrity": "sha512-vQN+KIReG0a2ZDpVv8cgddlf67J8hk1WfZMMP7sMeZmJRSmEax5xNDNWKdgqSe2brOKTQQAs3aCCUal2qBHAyg==",
+ "node_modules/@unrs/resolver-binding-linux-arm64-gnu": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz",
+ "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==",
"cpu": [
- "ia32"
+ "arm64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
- "win32"
+ "linux"
],
- "peer": true,
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
+ "peer": true
},
- "node_modules/@parcel/watcher-win32-x64": {
- "version": "2.5.4",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.4.tgz",
- "integrity": "sha512-3A6efb6BOKwyw7yk9ro2vus2YTt2nvcd56AuzxdMiVOxL9umDyN5PKkKfZ/gZ9row41SjVmTVQNWQhaRRGpOKw==",
+ "node_modules/@unrs/resolver-binding-linux-arm64-musl": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz",
+ "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==",
"cpu": [
- "x64"
+ "arm64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
- "win32"
+ "linux"
],
- "peer": true,
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
+ "peer": true
},
- "node_modules/@parcel/watcher/node_modules/picomatch": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
- "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+ "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz",
+ "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==",
+ "cpu": [
+ "ppc64"
+ ],
"dev": true,
"license": "MIT",
"optional": true,
- "peer": true,
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
+ "os": [
+ "linux"
+ ],
+ "peer": true
},
- "node_modules/@peculiar/asn1-cms": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-cms/-/asn1-cms-2.6.0.tgz",
- "integrity": "sha512-2uZqP+ggSncESeUF/9Su8rWqGclEfEiz1SyU02WX5fUONFfkjzS2Z/F1Li0ofSmf4JqYXIOdCAZqIXAIBAT1OA==",
+ "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz",
+ "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==",
+ "cpu": [
+ "riscv64"
+ ],
"dev": true,
"license": "MIT",
- "peer": true,
- "dependencies": {
- "@peculiar/asn1-schema": "^2.6.0",
- "@peculiar/asn1-x509": "^2.6.0",
- "@peculiar/asn1-x509-attr": "^2.6.0",
- "asn1js": "^3.0.6",
- "tslib": "^2.8.1"
- }
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "peer": true
},
- "node_modules/@peculiar/asn1-csr": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-csr/-/asn1-csr-2.6.0.tgz",
- "integrity": "sha512-BeWIu5VpTIhfRysfEp73SGbwjjoLL/JWXhJ/9mo4vXnz3tRGm+NGm3KNcRzQ9VMVqwYS2RHlolz21svzRXIHPQ==",
+ "node_modules/@unrs/resolver-binding-linux-riscv64-musl": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz",
+ "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==",
+ "cpu": [
+ "riscv64"
+ ],
"dev": true,
"license": "MIT",
- "peer": true,
- "dependencies": {
- "@peculiar/asn1-schema": "^2.6.0",
- "@peculiar/asn1-x509": "^2.6.0",
- "asn1js": "^3.0.6",
- "tslib": "^2.8.1"
- }
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "peer": true
},
- "node_modules/@peculiar/asn1-ecc": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-ecc/-/asn1-ecc-2.6.0.tgz",
- "integrity": "sha512-FF3LMGq6SfAOwUG2sKpPXblibn6XnEIKa+SryvUl5Pik+WR9rmRA3OCiwz8R3lVXnYnyRkSZsSLdml8H3UiOcw==",
+ "node_modules/@unrs/resolver-binding-linux-s390x-gnu": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz",
+ "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==",
+ "cpu": [
+ "s390x"
+ ],
"dev": true,
"license": "MIT",
- "peer": true,
- "dependencies": {
- "@peculiar/asn1-schema": "^2.6.0",
- "@peculiar/asn1-x509": "^2.6.0",
- "asn1js": "^3.0.6",
- "tslib": "^2.8.1"
- }
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "peer": true
},
- "node_modules/@peculiar/asn1-pfx": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-pfx/-/asn1-pfx-2.6.0.tgz",
- "integrity": "sha512-rtUvtf+tyKGgokHHmZzeUojRZJYPxoD/jaN1+VAB4kKR7tXrnDCA/RAWXAIhMJJC+7W27IIRGe9djvxKgsldCQ==",
+ "node_modules/@unrs/resolver-binding-linux-x64-gnu": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz",
+ "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "peer": true,
- "dependencies": {
- "@peculiar/asn1-cms": "^2.6.0",
- "@peculiar/asn1-pkcs8": "^2.6.0",
- "@peculiar/asn1-rsa": "^2.6.0",
- "@peculiar/asn1-schema": "^2.6.0",
- "asn1js": "^3.0.6",
- "tslib": "^2.8.1"
- }
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "peer": true
},
- "node_modules/@peculiar/asn1-pkcs8": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs8/-/asn1-pkcs8-2.6.0.tgz",
- "integrity": "sha512-KyQ4D8G/NrS7Fw3XCJrngxmjwO/3htnA0lL9gDICvEQ+GJ+EPFqldcJQTwPIdvx98Tua+WjkdKHSC0/Km7T+lA==",
+ "node_modules/@unrs/resolver-binding-linux-x64-musl": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz",
+ "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "peer": true,
- "dependencies": {
- "@peculiar/asn1-schema": "^2.6.0",
- "@peculiar/asn1-x509": "^2.6.0",
- "asn1js": "^3.0.6",
- "tslib": "^2.8.1"
- }
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "peer": true
},
- "node_modules/@peculiar/asn1-pkcs9": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs9/-/asn1-pkcs9-2.6.0.tgz",
- "integrity": "sha512-b78OQ6OciW0aqZxdzliXGYHASeCvvw5caqidbpQRYW2mBtXIX2WhofNXTEe7NyxTb0P6J62kAAWLwn0HuMF1Fw==",
+ "node_modules/@unrs/resolver-binding-wasm32-wasi": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz",
+ "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==",
+ "cpu": [
+ "wasm32"
+ ],
"dev": true,
"license": "MIT",
+ "optional": true,
"peer": true,
"dependencies": {
- "@peculiar/asn1-cms": "^2.6.0",
- "@peculiar/asn1-pfx": "^2.6.0",
- "@peculiar/asn1-pkcs8": "^2.6.0",
- "@peculiar/asn1-schema": "^2.6.0",
- "@peculiar/asn1-x509": "^2.6.0",
- "@peculiar/asn1-x509-attr": "^2.6.0",
- "asn1js": "^3.0.6",
- "tslib": "^2.8.1"
+ "@napi-rs/wasm-runtime": "^0.2.11"
+ },
+ "engines": {
+ "node": ">=14.0.0"
}
},
- "node_modules/@peculiar/asn1-rsa": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-rsa/-/asn1-rsa-2.6.0.tgz",
- "integrity": "sha512-Nu4C19tsrTsCp9fDrH+sdcOKoVfdfoQQ7S3VqjJU6vedR7tY3RLkQ5oguOIB3zFW33USDUuYZnPEQYySlgha4w==",
+ "node_modules/@unrs/resolver-binding-win32-arm64-msvc": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz",
+ "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "peer": true,
- "dependencies": {
- "@peculiar/asn1-schema": "^2.6.0",
- "@peculiar/asn1-x509": "^2.6.0",
- "asn1js": "^3.0.6",
- "tslib": "^2.8.1"
- }
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "peer": true
},
- "node_modules/@peculiar/asn1-schema": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.6.0.tgz",
- "integrity": "sha512-xNLYLBFTBKkCzEZIw842BxytQQATQv+lDTCEMZ8C196iJcJJMBUZxrhSTxLaohMyKK8QlzRNTRkUmanucnDSqg==",
+ "node_modules/@unrs/resolver-binding-win32-ia32-msvc": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz",
+ "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==",
+ "cpu": [
+ "ia32"
+ ],
"dev": true,
"license": "MIT",
- "peer": true,
- "dependencies": {
- "asn1js": "^3.0.6",
- "pvtsutils": "^1.3.6",
- "tslib": "^2.8.1"
- }
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "peer": true
},
- "node_modules/@peculiar/asn1-x509": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.6.0.tgz",
- "integrity": "sha512-uzYbPEpoQiBoTq0/+jZtpM6Gq6zADBx+JNFP3yqRgziWBxQ/Dt/HcuvRfm9zJTPdRcBqPNdaRHTVwpyiq6iNMA==",
+ "node_modules/@unrs/resolver-binding-win32-x64-msvc": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz",
+ "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "peer": true,
- "dependencies": {
- "@peculiar/asn1-schema": "^2.6.0",
- "asn1js": "^3.0.6",
- "pvtsutils": "^1.3.6",
- "tslib": "^2.8.1"
- }
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "peer": true
},
- "node_modules/@peculiar/asn1-x509-attr": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509-attr/-/asn1-x509-attr-2.6.0.tgz",
- "integrity": "sha512-MuIAXFX3/dc8gmoZBkwJWxUWOSvG4MMDntXhrOZpJVMkYX+MYc/rUAU2uJOved9iJEoiUx7//3D8oG83a78UJA==",
+ "node_modules/@vitejs/plugin-vue": {
+ "version": "6.0.4",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-6.0.4.tgz",
+ "integrity": "sha512-uM5iXipgYIn13UUQCZNdWkYk+sysBeA97d5mHsAoAt1u/wpN3+zxOmsVJWosuzX+IMGRzeYUNytztrYznboIkQ==",
"dev": true,
- "license": "MIT",
- "peer": true,
"dependencies": {
- "@peculiar/asn1-schema": "^2.6.0",
- "@peculiar/asn1-x509": "^2.6.0",
- "asn1js": "^3.0.6",
- "tslib": "^2.8.1"
+ "@rolldown/pluginutils": "1.0.0-rc.2"
+ },
+ "engines": {
+ "node": "^20.19.0 || >=22.12.0"
+ },
+ "peerDependencies": {
+ "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0",
+ "vue": "^3.2.25"
}
},
- "node_modules/@peculiar/x509": {
- "version": "1.14.3",
- "resolved": "https://registry.npmjs.org/@peculiar/x509/-/x509-1.14.3.tgz",
- "integrity": "sha512-C2Xj8FZ0uHWeCXXqX5B4/gVFQmtSkiuOolzAgutjTfseNOHT3pUjljDZsTSxXFGgio54bCzVFqmEOUrIVk8RDA==",
+ "node_modules/@vitest/coverage-v8": {
+ "version": "4.0.18",
+ "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-4.0.18.tgz",
+ "integrity": "sha512-7i+N2i0+ME+2JFZhfuz7Tg/FqKtilHjGyGvoHYQ6iLV0zahbsJ9sljC9OcFcPDbhYKCet+sG8SsVqlyGvPflZg==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
- "@peculiar/asn1-cms": "^2.6.0",
- "@peculiar/asn1-csr": "^2.6.0",
- "@peculiar/asn1-ecc": "^2.6.0",
- "@peculiar/asn1-pkcs9": "^2.6.0",
- "@peculiar/asn1-rsa": "^2.6.0",
- "@peculiar/asn1-schema": "^2.6.0",
- "@peculiar/asn1-x509": "^2.6.0",
- "pvtsutils": "^1.3.6",
- "reflect-metadata": "^0.2.2",
- "tslib": "^2.8.1",
- "tsyringe": "^4.10.0"
- },
- "engines": {
- "node": ">=20.0.0"
- }
- },
- "node_modules/@pkgjs/parseargs": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
- "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "engines": {
- "node": ">=14"
+ "@bcoe/v8-coverage": "^1.0.2",
+ "@vitest/utils": "4.0.18",
+ "ast-v8-to-istanbul": "^0.3.10",
+ "istanbul-lib-coverage": "^3.2.2",
+ "istanbul-lib-report": "^3.0.1",
+ "istanbul-reports": "^3.2.0",
+ "magicast": "^0.5.1",
+ "obug": "^2.1.1",
+ "std-env": "^3.10.0",
+ "tinyrainbow": "^3.0.3"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ },
+ "peerDependencies": {
+ "@vitest/browser": "4.0.18",
+ "vitest": "4.0.18"
+ },
+ "peerDependenciesMeta": {
+ "@vitest/browser": {
+ "optional": true
+ }
}
},
- "node_modules/@redocly/ajv": {
- "version": "8.17.2",
- "resolved": "https://registry.npmjs.org/@redocly/ajv/-/ajv-8.17.2.tgz",
- "integrity": "sha512-rcbDZOfXAgGEJeJ30aWCVVJvxV9ooevb/m1/SFblO2qHs4cqTk178gx7T/vdslf57EA4lTofrwsq5K8rxK9g+g==",
+ "node_modules/@vitest/expect": {
+ "version": "4.0.18",
+ "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.0.18.tgz",
+ "integrity": "sha512-8sCWUyckXXYvx4opfzVY03EOiYVxyNrHS5QxX3DAIi5dpJAAkyJezHCP77VMX4HKA2LDT/Jpfo8i2r5BE3GnQQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "fast-deep-equal": "^3.1.3",
- "fast-uri": "^3.0.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2"
+ "@standard-schema/spec": "^1.0.0",
+ "@types/chai": "^5.2.2",
+ "@vitest/spy": "4.0.18",
+ "@vitest/utils": "4.0.18",
+ "chai": "^6.2.1",
+ "tinyrainbow": "^3.0.3"
},
"funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
+ "url": "https://opencollective.com/vitest"
}
},
- "node_modules/@redocly/ajv/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,
- "license": "MIT"
- },
- "node_modules/@redocly/config": {
- "version": "0.22.2",
- "resolved": "https://registry.npmjs.org/@redocly/config/-/config-0.22.2.tgz",
- "integrity": "sha512-roRDai8/zr2S9YfmzUfNhKjOF0NdcOIqF7bhf4MVC5UxpjIysDjyudvlAiVbpPHp3eDRWbdzUgtkK1a7YiDNyQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@redocly/openapi-core": {
- "version": "1.34.6",
- "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.34.6.tgz",
- "integrity": "sha512-2+O+riuIUgVSuLl3Lyh5AplWZyVMNuG2F98/o6NrutKJfW4/GTZdPpZlIphS0HGgcOHgmWcCSHj+dWFlZaGSHw==",
+ "node_modules/@vitest/mocker": {
+ "version": "4.0.18",
+ "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.0.18.tgz",
+ "integrity": "sha512-HhVd0MDnzzsgevnOWCBj5Otnzobjy5wLBe4EdeeFGv8luMsGcYqDuFRMcttKWZA5vVO8RFjexVovXvAM4JoJDQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@redocly/ajv": "^8.11.2",
- "@redocly/config": "^0.22.0",
- "colorette": "^1.2.0",
- "https-proxy-agent": "^7.0.5",
- "js-levenshtein": "^1.1.6",
- "js-yaml": "^4.1.0",
- "minimatch": "^5.0.1",
- "pluralize": "^8.0.0",
- "yaml-ast-parser": "0.0.43"
+ "@vitest/spy": "4.0.18",
+ "estree-walker": "^3.0.3",
+ "magic-string": "^0.30.21"
},
- "engines": {
- "node": ">=18.17.0",
- "npm": ">=9.5.0"
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ },
+ "peerDependencies": {
+ "msw": "^2.4.9",
+ "vite": "^6.0.0 || ^7.0.0-0"
+ },
+ "peerDependenciesMeta": {
+ "msw": {
+ "optional": true
+ },
+ "vite": {
+ "optional": true
+ }
}
},
- "node_modules/@redocly/openapi-core/node_modules/minimatch": {
- "version": "5.1.6",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
- "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+ "node_modules/@vitest/pretty-format": {
+ "version": "4.0.18",
+ "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.0.18.tgz",
+ "integrity": "sha512-P24GK3GulZWC5tz87ux0m8OADrQIUVDPIjjj65vBXYG17ZeU3qD7r+MNZ1RNv4l8CGU2vtTRqixrOi9fYk/yKw==",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
"dependencies": {
- "brace-expansion": "^2.0.1"
+ "tinyrainbow": "^3.0.3"
},
- "engines": {
- "node": ">=10"
+ "funding": {
+ "url": "https://opencollective.com/vitest"
}
},
- "node_modules/@rollup/rollup-android-arm-eabi": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.57.1.tgz",
- "integrity": "sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==",
- "cpu": [
- "arm"
- ],
+ "node_modules/@vitest/runner": {
+ "version": "4.0.18",
+ "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.0.18.tgz",
+ "integrity": "sha512-rpk9y12PGa22Jg6g5M3UVVnTS7+zycIGk9ZNGN+m6tZHKQb7jrP7/77WfZy13Y/EUDd52NDsLRQhYKtv7XfPQw==",
"dev": true,
"license": "MIT",
- "optional": true,
- "os": [
- "android"
- ]
+ "dependencies": {
+ "@vitest/utils": "4.0.18",
+ "pathe": "^2.0.3"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
},
- "node_modules/@rollup/rollup-android-arm64": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.57.1.tgz",
- "integrity": "sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w==",
- "cpu": [
- "arm64"
- ],
+ "node_modules/@vitest/snapshot": {
+ "version": "4.0.18",
+ "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.0.18.tgz",
+ "integrity": "sha512-PCiV0rcl7jKQjbgYqjtakly6T1uwv/5BQ9SwBLekVg/EaYeQFPiXcgrC2Y7vDMA8dM1SUEAEV82kgSQIlXNMvA==",
"dev": true,
"license": "MIT",
- "optional": true,
- "os": [
- "android"
- ]
+ "dependencies": {
+ "@vitest/pretty-format": "4.0.18",
+ "magic-string": "^0.30.21",
+ "pathe": "^2.0.3"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
},
- "node_modules/@rollup/rollup-darwin-arm64": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.57.1.tgz",
- "integrity": "sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg==",
- "cpu": [
- "arm64"
- ],
+ "node_modules/@vitest/spy": {
+ "version": "4.0.18",
+ "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.0.18.tgz",
+ "integrity": "sha512-cbQt3PTSD7P2OARdVW3qWER5EGq7PHlvE+QfzSC0lbwO+xnt7+XH06ZzFjFRgzUX//JmpxrCu92VdwvEPlWSNw==",
"dev": true,
"license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ]
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
},
- "node_modules/@rollup/rollup-darwin-x64": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.57.1.tgz",
- "integrity": "sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w==",
- "cpu": [
- "x64"
- ],
+ "node_modules/@vitest/utils": {
+ "version": "4.0.18",
+ "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.0.18.tgz",
+ "integrity": "sha512-msMRKLMVLWygpK3u2Hybgi4MNjcYJvwTb0Ru09+fOyCXIgT5raYP041DRRdiJiI3k/2U6SEbAETB3YtBrUkCFA==",
"dev": true,
"license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ]
+ "dependencies": {
+ "@vitest/pretty-format": "4.0.18",
+ "tinyrainbow": "^3.0.3"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
},
- "node_modules/@rollup/rollup-freebsd-arm64": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.57.1.tgz",
- "integrity": "sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug==",
- "cpu": [
- "arm64"
- ],
+ "node_modules/@volar/language-core": {
+ "version": "2.4.28",
+ "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.28.tgz",
+ "integrity": "sha512-w4qhIJ8ZSitgLAkVay6AbcnC7gP3glYM3fYwKV3srj8m494E3xtrCv6E+bWviiK/8hs6e6t1ij1s2Endql7vzQ==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ]
+ "dependencies": {
+ "@volar/source-map": "2.4.28"
+ }
},
- "node_modules/@rollup/rollup-freebsd-x64": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.57.1.tgz",
- "integrity": "sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ]
+ "node_modules/@volar/source-map": {
+ "version": "2.4.28",
+ "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.28.tgz",
+ "integrity": "sha512-yX2BDBqJkRXfKw8my8VarTyjv48QwxdJtvRgUpNE5erCsgEUdI2DsLbpa+rOQVAJYshY99szEcRDmyHbF10ggQ==",
+ "dev": true
},
- "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.57.1.tgz",
- "integrity": "sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==",
- "cpu": [
- "arm"
- ],
+ "node_modules/@volar/typescript": {
+ "version": "2.4.28",
+ "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.28.tgz",
+ "integrity": "sha512-Ja6yvWrbis2QtN4ClAKreeUZPVYMARDYZl9LMEv1iQ1QdepB6wn0jTRxA9MftYmYa4DQ4k/DaSZpFPUfxl8giw==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
+ "dependencies": {
+ "@volar/language-core": "2.4.28",
+ "path-browserify": "^1.0.1",
+ "vscode-uri": "^3.0.8"
+ }
},
- "node_modules/@rollup/rollup-linux-arm-musleabihf": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.57.1.tgz",
- "integrity": "sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-arm64-gnu": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.57.1.tgz",
- "integrity": "sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-arm64-musl": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.57.1.tgz",
- "integrity": "sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-loong64-gnu": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.57.1.tgz",
- "integrity": "sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==",
- "cpu": [
- "loong64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-loong64-musl": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.57.1.tgz",
- "integrity": "sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==",
- "cpu": [
- "loong64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-ppc64-gnu": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.57.1.tgz",
- "integrity": "sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-ppc64-musl": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.57.1.tgz",
- "integrity": "sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-riscv64-gnu": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.57.1.tgz",
- "integrity": "sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-riscv64-musl": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.57.1.tgz",
- "integrity": "sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-s390x-gnu": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.57.1.tgz",
- "integrity": "sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==",
- "cpu": [
- "s390x"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-x64-gnu": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.57.1.tgz",
- "integrity": "sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-x64-musl": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.57.1.tgz",
- "integrity": "sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-openbsd-x64": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.57.1.tgz",
- "integrity": "sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openbsd"
- ]
- },
- "node_modules/@rollup/rollup-openharmony-arm64": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.57.1.tgz",
- "integrity": "sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openharmony"
- ]
- },
- "node_modules/@rollup/rollup-win32-arm64-msvc": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.57.1.tgz",
- "integrity": "sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@rollup/rollup-win32-ia32-msvc": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.57.1.tgz",
- "integrity": "sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@rollup/rollup-win32-x64-gnu": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.57.1.tgz",
- "integrity": "sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@rollup/rollup-win32-x64-msvc": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.57.1.tgz",
- "integrity": "sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@rtsao/scc": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz",
- "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==",
- "dev": true,
- "license": "MIT",
- "peer": true
- },
- "node_modules/@sindresorhus/merge-streams": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz",
- "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@standard-schema/spec": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz",
- "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@tokenizer/token": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz",
- "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==",
- "license": "MIT"
- },
- "node_modules/@tybys/wasm-util": {
- "version": "0.10.1",
- "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz",
- "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "tslib": "^2.4.0"
- }
- },
- "node_modules/@types/body-parser": {
- "version": "1.19.6",
- "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz",
- "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@types/connect": "*",
- "@types/node": "*"
- }
- },
- "node_modules/@types/bonjour": {
- "version": "3.5.13",
- "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz",
- "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/chai": {
- "version": "5.2.3",
- "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz",
- "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/deep-eql": "*",
- "assertion-error": "^2.0.1"
- }
- },
- "node_modules/@types/connect": {
- "version": "3.4.38",
- "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz",
- "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/connect-history-api-fallback": {
- "version": "1.5.4",
- "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz",
- "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@types/express-serve-static-core": "*",
- "@types/node": "*"
- }
- },
- "node_modules/@types/debug": {
- "version": "4.1.12",
- "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz",
- "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==",
- "license": "MIT",
- "dependencies": {
- "@types/ms": "*"
- }
- },
- "node_modules/@types/deep-eql": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz",
- "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/escape-html": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@types/escape-html/-/escape-html-1.0.4.tgz",
- "integrity": "sha512-qZ72SFTgUAZ5a7Tj6kf2SHLetiH5S6f8G5frB2SPQ3EyF02kxdyBFf4Tz4banE3xCgGnKgWLt//a6VuYHKYJTg==",
- "license": "MIT"
- },
- "node_modules/@types/eslint": {
- "version": "9.6.1",
- "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz",
- "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@types/estree": "*",
- "@types/json-schema": "*"
- }
- },
- "node_modules/@types/eslint-scope": {
- "version": "3.7.7",
- "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz",
- "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@types/eslint": "*",
- "@types/estree": "*"
- }
- },
- "node_modules/@types/estree": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
- "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
- "license": "MIT"
- },
- "node_modules/@types/express": {
- "version": "4.17.25",
- "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.25.tgz",
- "integrity": "sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@types/body-parser": "*",
- "@types/express-serve-static-core": "^4.17.33",
- "@types/qs": "*",
- "@types/serve-static": "^1"
- }
- },
- "node_modules/@types/express-serve-static-core": {
- "version": "4.19.8",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.8.tgz",
- "integrity": "sha512-02S5fmqeoKzVZCHPZid4b8JH2eM5HzQLZWN2FohQEy/0eXTq8VXZfSN6Pcr3F6N9R/vNrj7cpgbhjie6m/1tCA==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@types/node": "*",
- "@types/qs": "*",
- "@types/range-parser": "*",
- "@types/send": "*"
- }
- },
- "node_modules/@types/hast": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
- "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "*"
- }
- },
- "node_modules/@types/http-errors": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz",
- "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==",
- "dev": true,
- "license": "MIT",
- "peer": true
- },
- "node_modules/@types/http-proxy": {
- "version": "1.17.17",
- "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.17.tgz",
- "integrity": "sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/jquery": {
- "version": "3.5.16",
- "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.16.tgz",
- "integrity": "sha512-bsI7y4ZgeMkmpG9OM710RRzDFp+w4P1RGiIt30C1mSBT+ExCleeh4HObwgArnDFELmRrOpXgSYN9VF1hj+f1lw==",
- "license": "MIT",
- "dependencies": {
- "@types/sizzle": "*"
- }
- },
- "node_modules/@types/json-schema": {
- "version": "7.0.15",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
- "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
- "license": "MIT"
- },
- "node_modules/@types/json5": {
- "version": "0.0.29",
- "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
- "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
- "dev": true,
- "license": "MIT",
- "peer": true
- },
- "node_modules/@types/mdast": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz",
- "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "*"
- }
- },
- "node_modules/@types/mime": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz",
- "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==",
- "dev": true,
- "license": "MIT",
- "peer": true
- },
- "node_modules/@types/ms": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz",
- "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==",
- "license": "MIT"
- },
- "node_modules/@types/node": {
- "version": "25.0.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-25.0.9.tgz",
- "integrity": "sha512-/rpCXHlCWeqClNBwUhDcusJxXYDjZTyE8v5oTO7WbL8eij2nKhUeU89/6xgjU7N4/Vh3He0BtyhJdQbDyhiXAw==",
- "license": "MIT",
- "dependencies": {
- "undici-types": "~7.16.0"
- }
- },
- "node_modules/@types/qs": {
- "version": "6.14.0",
- "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz",
- "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==",
- "dev": true,
- "license": "MIT",
- "peer": true
- },
- "node_modules/@types/range-parser": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz",
- "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==",
- "dev": true,
- "license": "MIT",
- "peer": true
- },
- "node_modules/@types/react": {
- "version": "19.2.10",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.10.tgz",
- "integrity": "sha512-WPigyYuGhgZ/cTPRXB2EwUw+XvsRA3GqHlsP4qteqrnnjDrApbS7MxcGr/hke5iUoeB7E/gQtrs9I37zAJ0Vjw==",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "csstype": "^3.2.2"
- }
- },
- "node_modules/@types/retry": {
- "version": "0.12.2",
- "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz",
- "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==",
- "dev": true,
- "license": "MIT",
- "peer": true
- },
- "node_modules/@types/semver": {
- "version": "7.7.1",
- "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.7.1.tgz",
- "integrity": "sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA==",
- "license": "MIT"
- },
- "node_modules/@types/send": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz",
- "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/serve-index": {
- "version": "1.9.4",
- "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz",
- "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@types/express": "*"
- }
- },
- "node_modules/@types/serve-static": {
- "version": "1.15.10",
- "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.10.tgz",
- "integrity": "sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@types/http-errors": "*",
- "@types/node": "*",
- "@types/send": "<1"
- }
- },
- "node_modules/@types/serve-static/node_modules/@types/send": {
- "version": "0.17.6",
- "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.6.tgz",
- "integrity": "sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@types/mime": "^1",
- "@types/node": "*"
- }
- },
- "node_modules/@types/sizzle": {
- "version": "2.3.10",
- "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.10.tgz",
- "integrity": "sha512-TC0dmN0K8YcWEAEfiPi5gJP14eJe30TTGjkvek3iM/1NdHHsdCA/Td6GvNndMOo/iSnIsZ4HuuhrYPDAmbxzww==",
- "license": "MIT"
- },
- "node_modules/@types/sockjs": {
- "version": "0.3.36",
- "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz",
- "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/toastify-js": {
- "version": "1.12.4",
- "resolved": "https://registry.npmjs.org/@types/toastify-js/-/toastify-js-1.12.4.tgz",
- "integrity": "sha512-zfZHU4tKffPCnZRe7pjv/eFKzTVHozKewFCKaCjZ4gFinKgJRz/t0bkZiMCXJxPhv/ZoeDGNOeRD09R0kQZ/nw==",
- "license": "MIT"
- },
- "node_modules/@types/trusted-types": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz",
- "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==",
- "license": "MIT",
- "optional": true
- },
- "node_modules/@types/unist": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz",
- "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==",
- "license": "MIT"
- },
- "node_modules/@types/web-bluetooth": {
- "version": "0.0.20",
- "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz",
- "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==",
- "license": "MIT"
- },
- "node_modules/@types/whatwg-mimetype": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/@types/whatwg-mimetype/-/whatwg-mimetype-3.0.2.tgz",
- "integrity": "sha512-c2AKvDT8ToxLIOUlN51gTiHXflsfIFisS4pO7pDPoKouJCESkhZnEy623gwP9laCy5lnLDAw1vAzu2vM2YLOrA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/ws": {
- "version": "8.18.1",
- "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz",
- "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@typescript-eslint/eslint-plugin": {
- "version": "7.18.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz",
- "integrity": "sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@eslint-community/regexpp": "^4.10.0",
- "@typescript-eslint/scope-manager": "7.18.0",
- "@typescript-eslint/type-utils": "7.18.0",
- "@typescript-eslint/utils": "7.18.0",
- "@typescript-eslint/visitor-keys": "7.18.0",
- "graphemer": "^1.4.0",
- "ignore": "^5.3.1",
- "natural-compare": "^1.4.0",
- "ts-api-utils": "^1.3.0"
- },
- "engines": {
- "node": "^18.18.0 || >=20.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "@typescript-eslint/parser": "^7.0.0",
- "eslint": "^8.56.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/parser": {
- "version": "7.18.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.18.0.tgz",
- "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==",
- "dev": true,
- "license": "BSD-2-Clause",
- "peer": true,
- "dependencies": {
- "@typescript-eslint/scope-manager": "7.18.0",
- "@typescript-eslint/types": "7.18.0",
- "@typescript-eslint/typescript-estree": "7.18.0",
- "@typescript-eslint/visitor-keys": "7.18.0",
- "debug": "^4.3.4"
- },
- "engines": {
- "node": "^18.18.0 || >=20.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^8.56.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/scope-manager": {
- "version": "7.18.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz",
- "integrity": "sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@typescript-eslint/types": "7.18.0",
- "@typescript-eslint/visitor-keys": "7.18.0"
- },
- "engines": {
- "node": "^18.18.0 || >=20.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/type-utils": {
- "version": "7.18.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz",
- "integrity": "sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@typescript-eslint/typescript-estree": "7.18.0",
- "@typescript-eslint/utils": "7.18.0",
- "debug": "^4.3.4",
- "ts-api-utils": "^1.3.0"
- },
- "engines": {
- "node": "^18.18.0 || >=20.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^8.56.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/types": {
- "version": "7.18.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz",
- "integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": "^18.18.0 || >=20.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/typescript-estree": {
- "version": "7.18.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz",
- "integrity": "sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==",
- "dev": true,
- "license": "BSD-2-Clause",
- "peer": true,
- "dependencies": {
- "@typescript-eslint/types": "7.18.0",
- "@typescript-eslint/visitor-keys": "7.18.0",
- "debug": "^4.3.4",
- "globby": "^11.1.0",
- "is-glob": "^4.0.3",
- "minimatch": "^9.0.4",
- "semver": "^7.6.0",
- "ts-api-utils": "^1.3.0"
- },
- "engines": {
- "node": "^18.18.0 || >=20.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": {
- "version": "7.7.3",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
- "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
- "dev": true,
- "license": "ISC",
- "peer": true,
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@typescript-eslint/utils": {
- "version": "7.18.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.18.0.tgz",
- "integrity": "sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.4.0",
- "@typescript-eslint/scope-manager": "7.18.0",
- "@typescript-eslint/types": "7.18.0",
- "@typescript-eslint/typescript-estree": "7.18.0"
- },
- "engines": {
- "node": "^18.18.0 || >=20.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^8.56.0"
- }
- },
- "node_modules/@typescript-eslint/visitor-keys": {
- "version": "7.18.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz",
- "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@typescript-eslint/types": "7.18.0",
- "eslint-visitor-keys": "^3.4.3"
- },
- "engines": {
- "node": "^18.18.0 || >=20.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
- "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
- "dev": true,
- "license": "Apache-2.0",
- "peer": true,
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/@ungap/structured-clone": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz",
- "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==",
- "license": "ISC"
- },
- "node_modules/@unrs/resolver-binding-android-arm-eabi": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz",
- "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "peer": true
- },
- "node_modules/@unrs/resolver-binding-android-arm64": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz",
- "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "peer": true
- },
- "node_modules/@unrs/resolver-binding-darwin-arm64": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz",
- "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "peer": true
- },
- "node_modules/@unrs/resolver-binding-darwin-x64": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz",
- "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "peer": true
- },
- "node_modules/@unrs/resolver-binding-freebsd-x64": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz",
- "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "peer": true
- },
- "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz",
- "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "peer": true
- },
- "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz",
- "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "peer": true
- },
- "node_modules/@unrs/resolver-binding-linux-arm64-gnu": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz",
- "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "peer": true
- },
- "node_modules/@unrs/resolver-binding-linux-arm64-musl": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz",
- "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "peer": true
- },
- "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz",
- "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "peer": true
- },
- "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz",
- "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "peer": true
- },
- "node_modules/@unrs/resolver-binding-linux-riscv64-musl": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz",
- "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "peer": true
- },
- "node_modules/@unrs/resolver-binding-linux-s390x-gnu": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz",
- "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==",
- "cpu": [
- "s390x"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "peer": true
- },
- "node_modules/@unrs/resolver-binding-linux-x64-gnu": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz",
- "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "peer": true
- },
- "node_modules/@unrs/resolver-binding-linux-x64-musl": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz",
- "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "peer": true
- },
- "node_modules/@unrs/resolver-binding-wasm32-wasi": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz",
- "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==",
- "cpu": [
- "wasm32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "@napi-rs/wasm-runtime": "^0.2.11"
- },
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "node_modules/@unrs/resolver-binding-win32-arm64-msvc": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz",
- "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "peer": true
- },
- "node_modules/@unrs/resolver-binding-win32-ia32-msvc": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz",
- "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "peer": true
- },
- "node_modules/@unrs/resolver-binding-win32-x64-msvc": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz",
- "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "peer": true
- },
- "node_modules/@vitejs/plugin-vue2": {
- "version": "2.3.4",
- "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue2/-/plugin-vue2-2.3.4.tgz",
- "integrity": "sha512-LgqtRRedJb1KdmgcllwGX0gtlPvOvtR6pITXmqxGwQhBZaAysg0Hd7wvj3sjCsj4+PENWsqS7O+ceYSOgJ+H9g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^14.18.0 || >= 16.0.0"
- },
- "peerDependencies": {
- "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0",
- "vue": "^2.7.0-0"
- }
- },
- "node_modules/@vitest/coverage-v8": {
- "version": "4.0.18",
- "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-4.0.18.tgz",
- "integrity": "sha512-7i+N2i0+ME+2JFZhfuz7Tg/FqKtilHjGyGvoHYQ6iLV0zahbsJ9sljC9OcFcPDbhYKCet+sG8SsVqlyGvPflZg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@bcoe/v8-coverage": "^1.0.2",
- "@vitest/utils": "4.0.18",
- "ast-v8-to-istanbul": "^0.3.10",
- "istanbul-lib-coverage": "^3.2.2",
- "istanbul-lib-report": "^3.0.1",
- "istanbul-reports": "^3.2.0",
- "magicast": "^0.5.1",
- "obug": "^2.1.1",
- "std-env": "^3.10.0",
- "tinyrainbow": "^3.0.3"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- },
- "peerDependencies": {
- "@vitest/browser": "4.0.18",
- "vitest": "4.0.18"
- },
- "peerDependenciesMeta": {
- "@vitest/browser": {
- "optional": true
- }
- }
- },
- "node_modules/@vitest/expect": {
- "version": "4.0.18",
- "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.0.18.tgz",
- "integrity": "sha512-8sCWUyckXXYvx4opfzVY03EOiYVxyNrHS5QxX3DAIi5dpJAAkyJezHCP77VMX4HKA2LDT/Jpfo8i2r5BE3GnQQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@standard-schema/spec": "^1.0.0",
- "@types/chai": "^5.2.2",
- "@vitest/spy": "4.0.18",
- "@vitest/utils": "4.0.18",
- "chai": "^6.2.1",
- "tinyrainbow": "^3.0.3"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- }
- },
- "node_modules/@vitest/mocker": {
- "version": "4.0.18",
- "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.0.18.tgz",
- "integrity": "sha512-HhVd0MDnzzsgevnOWCBj5Otnzobjy5wLBe4EdeeFGv8luMsGcYqDuFRMcttKWZA5vVO8RFjexVovXvAM4JoJDQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@vitest/spy": "4.0.18",
- "estree-walker": "^3.0.3",
- "magic-string": "^0.30.21"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- },
- "peerDependencies": {
- "msw": "^2.4.9",
- "vite": "^6.0.0 || ^7.0.0-0"
- },
- "peerDependenciesMeta": {
- "msw": {
- "optional": true
- },
- "vite": {
- "optional": true
- }
- }
- },
- "node_modules/@vitest/pretty-format": {
- "version": "4.0.18",
- "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.0.18.tgz",
- "integrity": "sha512-P24GK3GulZWC5tz87ux0m8OADrQIUVDPIjjj65vBXYG17ZeU3qD7r+MNZ1RNv4l8CGU2vtTRqixrOi9fYk/yKw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "tinyrainbow": "^3.0.3"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- }
- },
- "node_modules/@vitest/runner": {
- "version": "4.0.18",
- "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.0.18.tgz",
- "integrity": "sha512-rpk9y12PGa22Jg6g5M3UVVnTS7+zycIGk9ZNGN+m6tZHKQb7jrP7/77WfZy13Y/EUDd52NDsLRQhYKtv7XfPQw==",
- "dev": true,
- "license": "MIT",
+ "node_modules/@vue-macros/common": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@vue-macros/common/-/common-3.1.2.tgz",
+ "integrity": "sha512-h9t4ArDdniO9ekYHAD95t9AZcAbb19lEGK+26iAjUODOIJKmObDNBSe4+6ELQAA3vtYiFPPBtHh7+cQCKi3Dng==",
"dependencies": {
- "@vitest/utils": "4.0.18",
- "pathe": "^2.0.3"
+ "@vue/compiler-sfc": "^3.5.22",
+ "ast-kit": "^2.1.2",
+ "local-pkg": "^1.1.2",
+ "magic-string-ast": "^1.0.2",
+ "unplugin-utils": "^0.3.0"
+ },
+ "engines": {
+ "node": ">=20.19.0"
},
"funding": {
- "url": "https://opencollective.com/vitest"
+ "url": "https://github.com/sponsors/vue-macros"
+ },
+ "peerDependencies": {
+ "vue": "^2.7.0 || ^3.2.25"
+ },
+ "peerDependenciesMeta": {
+ "vue": {
+ "optional": true
+ }
}
},
- "node_modules/@vitest/snapshot": {
- "version": "4.0.18",
- "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.0.18.tgz",
- "integrity": "sha512-PCiV0rcl7jKQjbgYqjtakly6T1uwv/5BQ9SwBLekVg/EaYeQFPiXcgrC2Y7vDMA8dM1SUEAEV82kgSQIlXNMvA==",
- "dev": true,
- "license": "MIT",
+ "node_modules/@vue/compiler-core": {
+ "version": "3.5.29",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.29.tgz",
+ "integrity": "sha512-cuzPhD8fwRHk8IGfmYaR4eEe4cAyJEL66Ove/WZL7yWNL134nqLddSLwNRIsFlnnW1kK+p8Ck3viFnC0chXCXw==",
"dependencies": {
- "@vitest/pretty-format": "4.0.18",
- "magic-string": "^0.30.21",
- "pathe": "^2.0.3"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
+ "@babel/parser": "^7.29.0",
+ "@vue/shared": "3.5.29",
+ "entities": "^7.0.1",
+ "estree-walker": "^2.0.2",
+ "source-map-js": "^1.2.1"
}
},
- "node_modules/@vitest/spy": {
- "version": "4.0.18",
- "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.0.18.tgz",
- "integrity": "sha512-cbQt3PTSD7P2OARdVW3qWER5EGq7PHlvE+QfzSC0lbwO+xnt7+XH06ZzFjFRgzUX//JmpxrCu92VdwvEPlWSNw==",
- "dev": true,
- "license": "MIT",
+ "node_modules/@vue/compiler-core/node_modules/entities": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz",
+ "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==",
+ "engines": {
+ "node": ">=0.12"
+ },
"funding": {
- "url": "https://opencollective.com/vitest"
+ "url": "https://github.com/fb55/entities?sponsor=1"
}
},
- "node_modules/@vitest/utils": {
- "version": "4.0.18",
- "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.0.18.tgz",
- "integrity": "sha512-msMRKLMVLWygpK3u2Hybgi4MNjcYJvwTb0Ru09+fOyCXIgT5raYP041DRRdiJiI3k/2U6SEbAETB3YtBrUkCFA==",
- "dev": true,
- "license": "MIT",
+ "node_modules/@vue/compiler-core/node_modules/estree-walker": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
+ },
+ "node_modules/@vue/compiler-dom": {
+ "version": "3.5.29",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.29.tgz",
+ "integrity": "sha512-n0G5o7R3uBVmVxjTIYcz7ovr8sy7QObFG8OQJ3xGCDNhbG60biP/P5KnyY8NLd81OuT1WJflG7N4KWYHaeeaIg==",
"dependencies": {
- "@vitest/pretty-format": "4.0.18",
- "tinyrainbow": "^3.0.3"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
+ "@vue/compiler-core": "3.5.29",
+ "@vue/shared": "3.5.29"
}
},
"node_modules/@vue/compiler-sfc": {
- "version": "2.7.16",
- "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.16.tgz",
- "integrity": "sha512-KWhJ9k5nXuNtygPU7+t1rX6baZeqOYLEforUPjgNDBnLicfHCoi48H87Q8XyLZOrNNsmhuwKqtpDQWjEFe6Ekg==",
- "dependencies": {
- "@babel/parser": "^7.23.5",
- "postcss": "^8.4.14",
- "source-map": "^0.6.1"
- },
- "optionalDependencies": {
- "prettier": "^1.18.2 || ^2.0.0"
+ "version": "3.5.29",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.29.tgz",
+ "integrity": "sha512-oJZhN5XJs35Gzr50E82jg2cYdZQ78wEwvRO6Y63TvLVTc+6xICzJHP1UIecdSPPYIbkautNBanDiWYa64QSFIA==",
+ "dependencies": {
+ "@babel/parser": "^7.29.0",
+ "@vue/compiler-core": "3.5.29",
+ "@vue/compiler-dom": "3.5.29",
+ "@vue/compiler-ssr": "3.5.29",
+ "@vue/shared": "3.5.29",
+ "estree-walker": "^2.0.2",
+ "magic-string": "^0.30.21",
+ "postcss": "^8.5.6",
+ "source-map-js": "^1.2.1"
}
},
- "node_modules/@vue/compiler-sfc/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==",
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
+ "node_modules/@vue/compiler-sfc/node_modules/estree-walker": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
},
- "node_modules/@vue/component-compiler-utils": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz",
- "integrity": "sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==",
- "dev": true,
- "license": "MIT",
+ "node_modules/@vue/compiler-ssr": {
+ "version": "3.5.29",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.29.tgz",
+ "integrity": "sha512-Y/ARJZE6fpjzL5GH/phJmsFwx3g6t2KmHKHx5q+MLl2kencADKIrhH5MLF6HHpRMmlRAYBRSvv347Mepf1zVNw==",
"dependencies": {
- "consolidate": "^0.15.1",
- "hash-sum": "^1.0.2",
- "lru-cache": "^4.1.2",
- "merge-source-map": "^1.1.0",
- "postcss": "^7.0.36",
- "postcss-selector-parser": "^6.0.2",
- "source-map": "~0.6.1",
- "vue-template-es2015-compiler": "^1.9.0"
- },
- "optionalDependencies": {
- "prettier": "^1.18.2 || ^2.0.0"
+ "@vue/compiler-dom": "3.5.29",
+ "@vue/shared": "3.5.29"
}
},
- "node_modules/@vue/component-compiler-utils/node_modules/lru-cache": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
- "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
+ "node_modules/@vue/compiler-vue2": {
+ "version": "2.7.16",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-vue2/-/compiler-vue2-2.7.16.tgz",
+ "integrity": "sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==",
"dev": true,
- "license": "ISC",
"dependencies": {
- "pseudomap": "^1.0.2",
- "yallist": "^2.1.2"
+ "de-indent": "^1.0.2",
+ "he": "^1.2.0"
}
},
- "node_modules/@vue/component-compiler-utils/node_modules/picocolors": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz",
- "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/@vue/component-compiler-utils/node_modules/postcss": {
- "version": "7.0.39",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz",
- "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==",
- "dev": true,
- "license": "MIT",
+ "node_modules/@vue/devtools-api": {
+ "version": "7.7.9",
+ "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-7.7.9.tgz",
+ "integrity": "sha512-kIE8wvwlcZ6TJTbNeU2HQNtaxLx3a84aotTITUuL/4bzfPxzajGBOoqjMhwZJ8L9qFYDU/lAYMEEm11dnZOD6g==",
"dependencies": {
- "picocolors": "^0.2.1",
- "source-map": "^0.6.1"
- },
- "engines": {
- "node": ">=6.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
+ "@vue/devtools-kit": "^7.7.9"
}
},
- "node_modules/@vue/component-compiler-utils/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,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.10.0"
+ "node_modules/@vue/devtools-kit": {
+ "version": "7.7.9",
+ "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.7.9.tgz",
+ "integrity": "sha512-PyQ6odHSgiDVd4hnTP+aDk2X4gl2HmLDfiyEnn3/oV+ckFDuswRs4IbBT7vacMuGdwY/XemxBoh302ctbsptuA==",
+ "dependencies": {
+ "@vue/devtools-shared": "^7.7.9",
+ "birpc": "^2.3.0",
+ "hookable": "^5.5.3",
+ "mitt": "^3.0.1",
+ "perfect-debounce": "^1.0.0",
+ "speakingurl": "^14.0.1",
+ "superjson": "^2.2.2"
}
},
- "node_modules/@vue/component-compiler-utils/node_modules/yallist": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
- "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/@vue/devtools-api": {
- "version": "6.6.4",
- "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz",
- "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==",
- "license": "MIT"
+ "node_modules/@vue/devtools-shared": {
+ "version": "7.7.9",
+ "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.7.9.tgz",
+ "integrity": "sha512-iWAb0v2WYf0QWmxCGy0seZNDPdO3Sp5+u78ORnyeonS6MT4PC7VPrryX2BpMJrwlDeaZ6BD4vP4XKjK0SZqaeA==",
+ "dependencies": {
+ "rfdc": "^1.4.1"
+ }
},
"node_modules/@vue/eslint-config-typescript": {
"version": "13.0.0",
@@ -6601,435 +5136,326 @@
}
}
},
- "node_modules/@vue/test-utils": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-1.3.6.tgz",
- "integrity": "sha512-udMmmF1ts3zwxUJEIAj5ziioR900reDrt6C9H3XpWPsLBx2lpHKoA4BTdd9HNIYbkGltWw+JjWJ+5O6QBwiyEw==",
+ "node_modules/@vue/language-core": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-2.2.0.tgz",
+ "integrity": "sha512-O1ZZFaaBGkKbsRfnVH1ifOK1/1BUkyK+3SQsfnh6PmMmD4qJcTU8godCeA96jjDRTL6zgnK7YzCHfaUlH2r0Mw==",
"dev": true,
- "license": "MIT",
"dependencies": {
- "dom-event-types": "^1.0.0",
- "lodash": "^4.17.15",
- "pretty": "^2.0.0"
+ "@volar/language-core": "~2.4.11",
+ "@vue/compiler-dom": "^3.5.0",
+ "@vue/compiler-vue2": "^2.7.16",
+ "@vue/shared": "^3.5.0",
+ "alien-signals": "^0.4.9",
+ "minimatch": "^9.0.3",
+ "muggle-string": "^0.4.1",
+ "path-browserify": "^1.0.1"
},
"peerDependencies": {
- "vue": "2.x",
- "vue-template-compiler": "^2.x"
+ "typescript": "*"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
}
},
- "node_modules/@vue/tsconfig": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.5.1.tgz",
- "integrity": "sha512-VcZK7MvpjuTPx2w6blwnwZAu5/LgBUtejFOi3pPGQFXQN5Ela03FUtd2Qtg4yWGGissVL0dr6Ro1LfOFh+PCuQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@vueuse/components": {
- "version": "11.3.0",
- "resolved": "https://registry.npmjs.org/@vueuse/components/-/components-11.3.0.tgz",
- "integrity": "sha512-sqaGtWPgobXvZmv3atcjW8YW0ypecFuB286OEKFXaPrLsA5b2Y+xAvHvq5V7d+VJRKt705gCK3BNBjxu3g1PdQ==",
- "license": "MIT",
+ "node_modules/@vue/reactivity": {
+ "version": "3.5.29",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.29.tgz",
+ "integrity": "sha512-zcrANcrRdcLtmGZETBxWqIkoQei8HaFpZWx/GHKxx79JZsiZ8j1du0VUJtu4eJjgFvU/iKL5lRXFXksVmI+5DA==",
"dependencies": {
- "@vueuse/core": "11.3.0",
- "@vueuse/shared": "11.3.0",
- "vue-demi": ">=0.14.10"
+ "@vue/shared": "3.5.29"
}
},
- "node_modules/@vueuse/components/node_modules/vue-demi": {
- "version": "0.14.10",
- "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz",
- "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==",
- "hasInstallScript": true,
- "license": "MIT",
- "bin": {
- "vue-demi-fix": "bin/vue-demi-fix.js",
- "vue-demi-switch": "bin/vue-demi-switch.js"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/antfu"
- },
- "peerDependencies": {
- "@vue/composition-api": "^1.0.0-rc.1",
- "vue": "^3.0.0-0 || ^2.6.0"
- },
- "peerDependenciesMeta": {
- "@vue/composition-api": {
- "optional": true
- }
+ "node_modules/@vue/runtime-core": {
+ "version": "3.5.29",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.29.tgz",
+ "integrity": "sha512-8DpW2QfdwIWOLqtsNcds4s+QgwSaHSJY/SUe04LptianUQ/0xi6KVsu/pYVh+HO3NTVvVJjIPL2t6GdeKbS4Lg==",
+ "dependencies": {
+ "@vue/reactivity": "3.5.29",
+ "@vue/shared": "3.5.29"
}
},
- "node_modules/@vueuse/core": {
- "version": "11.3.0",
- "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-11.3.0.tgz",
- "integrity": "sha512-7OC4Rl1f9G8IT6rUfi9JrKiXy4bfmHhZ5x2Ceojy0jnd3mHNEvV4JaRygH362ror6/NZ+Nl+n13LPzGiPN8cKA==",
- "license": "MIT",
+ "node_modules/@vue/runtime-dom": {
+ "version": "3.5.29",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.29.tgz",
+ "integrity": "sha512-AHvvJEtcY9tw/uk+s/YRLSlxxQnqnAkjqvK25ZiM4CllCZWzElRAoQnCM42m9AHRLNJ6oe2kC5DCgD4AUdlvXg==",
"dependencies": {
- "@types/web-bluetooth": "^0.0.20",
- "@vueuse/metadata": "11.3.0",
- "@vueuse/shared": "11.3.0",
- "vue-demi": ">=0.14.10"
- },
- "funding": {
- "url": "https://github.com/sponsors/antfu"
+ "@vue/reactivity": "3.5.29",
+ "@vue/runtime-core": "3.5.29",
+ "@vue/shared": "3.5.29",
+ "csstype": "^3.2.3"
}
},
- "node_modules/@vueuse/core/node_modules/vue-demi": {
- "version": "0.14.10",
- "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz",
- "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==",
- "hasInstallScript": true,
- "license": "MIT",
- "bin": {
- "vue-demi-fix": "bin/vue-demi-fix.js",
- "vue-demi-switch": "bin/vue-demi-switch.js"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/antfu"
+ "node_modules/@vue/server-renderer": {
+ "version": "3.5.29",
+ "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.29.tgz",
+ "integrity": "sha512-G/1k6WK5MusLlbxSE2YTcqAAezS+VuwHhOvLx2KnQU7G2zCH6KIb+5Wyt6UjMq7a3qPzNEjJXs1hvAxDclQH+g==",
+ "dependencies": {
+ "@vue/compiler-ssr": "3.5.29",
+ "@vue/shared": "3.5.29"
},
"peerDependencies": {
- "@vue/composition-api": "^1.0.0-rc.1",
- "vue": "^3.0.0-0 || ^2.6.0"
- },
- "peerDependenciesMeta": {
- "@vue/composition-api": {
- "optional": true
- }
+ "vue": "3.5.29"
}
},
- "node_modules/@vueuse/metadata": {
- "version": "11.3.0",
- "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-11.3.0.tgz",
- "integrity": "sha512-pwDnDspTqtTo2HwfLw4Rp6yywuuBdYnPYDq+mO38ZYKGebCUQC/nVj/PXSiK9HX5otxLz8Fn7ECPbjiRz2CC3g==",
- "license": "MIT",
- "funding": {
- "url": "https://github.com/sponsors/antfu"
- }
+ "node_modules/@vue/shared": {
+ "version": "3.5.29",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.29.tgz",
+ "integrity": "sha512-w7SR0A5zyRByL9XUkCfdLs7t9XOHUyJ67qPGQjOou3p6GvBeBW+AVjUUmlxtZ4PIYaRvE+1LmK44O4uajlZwcg=="
},
- "node_modules/@vueuse/shared": {
- "version": "11.3.0",
- "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-11.3.0.tgz",
- "integrity": "sha512-P8gSSWQeucH5821ek2mn/ciCk+MS/zoRKqdQIM3bHq6p7GXDAJLmnRRKmF5F65sAVJIfzQlwR3aDzwCn10s8hA==",
- "license": "MIT",
+ "node_modules/@vue/test-utils": {
+ "version": "2.4.6",
+ "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-2.4.6.tgz",
+ "integrity": "sha512-FMxEjOpYNYiFe0GkaHsnJPXFHxQ6m4t8vI/ElPGpMWxZKpmRvQ33OIrvRXemy6yha03RxhOlQuy+gZMC3CQSow==",
+ "dev": true,
"dependencies": {
- "vue-demi": ">=0.14.10"
- },
- "funding": {
- "url": "https://github.com/sponsors/antfu"
+ "js-beautify": "^1.14.9",
+ "vue-component-type-helpers": "^2.0.0"
}
},
- "node_modules/@vueuse/shared/node_modules/vue-demi": {
- "version": "0.14.10",
- "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz",
- "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==",
- "hasInstallScript": true,
- "license": "MIT",
- "bin": {
- "vue-demi-fix": "bin/vue-demi-fix.js",
- "vue-demi-switch": "bin/vue-demi-switch.js"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/antfu"
- },
+ "node_modules/@vue/tsconfig": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.8.1.tgz",
+ "integrity": "sha512-aK7feIWPXFSUhsCP9PFqPyFOcz4ENkb8hZ2pneL6m2UjCkccvaOhC/5KCKluuBufvp2KzkbdA2W2pk20vLzu3g==",
+ "dev": true,
"peerDependencies": {
- "@vue/composition-api": "^1.0.0-rc.1",
- "vue": "^3.0.0-0 || ^2.6.0"
+ "typescript": "5.x",
+ "vue": "^3.4.0"
},
"peerDependenciesMeta": {
- "@vue/composition-api": {
+ "typescript": {
+ "optional": true
+ },
+ "vue": {
"optional": true
}
}
},
- "node_modules/@webassemblyjs/ast": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz",
- "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@webassemblyjs/helper-numbers": "1.13.2",
- "@webassemblyjs/helper-wasm-bytecode": "1.13.2"
- }
- },
- "node_modules/@webassemblyjs/floating-point-hex-parser": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz",
- "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==",
- "license": "MIT",
- "peer": true
- },
- "node_modules/@webassemblyjs/helper-api-error": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz",
- "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==",
- "license": "MIT",
- "peer": true
- },
- "node_modules/@webassemblyjs/helper-buffer": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz",
- "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==",
- "license": "MIT",
- "peer": true
- },
- "node_modules/@webassemblyjs/helper-numbers": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz",
- "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@webassemblyjs/floating-point-hex-parser": "1.13.2",
- "@webassemblyjs/helper-api-error": "1.13.2",
- "@xtuc/long": "4.2.2"
- }
- },
- "node_modules/@webassemblyjs/helper-wasm-bytecode": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz",
- "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==",
- "license": "MIT",
- "peer": true
- },
- "node_modules/@webassemblyjs/helper-wasm-section": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz",
- "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@webassemblyjs/ast": "1.14.1",
- "@webassemblyjs/helper-buffer": "1.14.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
- "@webassemblyjs/wasm-gen": "1.14.1"
- }
- },
- "node_modules/@webassemblyjs/ieee754": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz",
- "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@xtuc/ieee754": "^1.2.0"
- }
- },
- "node_modules/@webassemblyjs/leb128": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz",
- "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==",
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@xtuc/long": "4.2.2"
- }
- },
- "node_modules/@webassemblyjs/utf8": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz",
- "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==",
- "license": "MIT",
- "peer": true
- },
- "node_modules/@webassemblyjs/wasm-edit": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz",
- "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@webassemblyjs/ast": "1.14.1",
- "@webassemblyjs/helper-buffer": "1.14.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
- "@webassemblyjs/helper-wasm-section": "1.14.1",
- "@webassemblyjs/wasm-gen": "1.14.1",
- "@webassemblyjs/wasm-opt": "1.14.1",
- "@webassemblyjs/wasm-parser": "1.14.1",
- "@webassemblyjs/wast-printer": "1.14.1"
- }
- },
- "node_modules/@webassemblyjs/wasm-gen": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz",
- "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==",
- "license": "MIT",
- "peer": true,
+ "node_modules/@vuelidate/core": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@vuelidate/core/-/core-2.0.3.tgz",
+ "integrity": "sha512-AN6l7KF7+mEfyWG0doT96z+47ljwPpZfi9/JrNMkOGLFv27XVZvKzRLXlmDPQjPl/wOB1GNnHuc54jlCLRNqGA==",
"dependencies": {
- "@webassemblyjs/ast": "1.14.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
- "@webassemblyjs/ieee754": "1.13.2",
- "@webassemblyjs/leb128": "1.13.2",
- "@webassemblyjs/utf8": "1.13.2"
+ "vue-demi": "^0.13.11"
+ },
+ "peerDependencies": {
+ "@vue/composition-api": "^1.0.0-rc.1",
+ "vue": "^2.0.0 || >=3.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@vue/composition-api": {
+ "optional": true
+ }
}
},
- "node_modules/@webassemblyjs/wasm-opt": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz",
- "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@webassemblyjs/ast": "1.14.1",
- "@webassemblyjs/helper-buffer": "1.14.1",
- "@webassemblyjs/wasm-gen": "1.14.1",
- "@webassemblyjs/wasm-parser": "1.14.1"
+ "node_modules/@vuelidate/core/node_modules/vue-demi": {
+ "version": "0.13.11",
+ "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz",
+ "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==",
+ "hasInstallScript": true,
+ "bin": {
+ "vue-demi-fix": "bin/vue-demi-fix.js",
+ "vue-demi-switch": "bin/vue-demi-switch.js"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "@vue/composition-api": "^1.0.0-rc.1",
+ "vue": "^3.0.0-0 || ^2.6.0"
+ },
+ "peerDependenciesMeta": {
+ "@vue/composition-api": {
+ "optional": true
+ }
}
},
- "node_modules/@webassemblyjs/wasm-parser": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz",
- "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==",
- "license": "MIT",
- "peer": true,
+ "node_modules/@vuelidate/validators": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@vuelidate/validators/-/validators-2.0.4.tgz",
+ "integrity": "sha512-odTxtUZ2JpwwiQ10t0QWYJkkYrfd0SyFYhdHH44QQ1jDatlZgTh/KRzrWVmn/ib9Gq7H4hFD4e8ahoo5YlUlDw==",
"dependencies": {
- "@webassemblyjs/ast": "1.14.1",
- "@webassemblyjs/helper-api-error": "1.13.2",
- "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
- "@webassemblyjs/ieee754": "1.13.2",
- "@webassemblyjs/leb128": "1.13.2",
- "@webassemblyjs/utf8": "1.13.2"
+ "vue-demi": "^0.13.11"
+ },
+ "peerDependencies": {
+ "@vue/composition-api": "^1.0.0-rc.1",
+ "vue": "^2.0.0 || >=3.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@vue/composition-api": {
+ "optional": true
+ }
}
},
- "node_modules/@webassemblyjs/wast-printer": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz",
- "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@webassemblyjs/ast": "1.14.1",
- "@xtuc/long": "4.2.2"
+ "node_modules/@vuelidate/validators/node_modules/vue-demi": {
+ "version": "0.13.11",
+ "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz",
+ "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==",
+ "hasInstallScript": true,
+ "bin": {
+ "vue-demi-fix": "bin/vue-demi-fix.js",
+ "vue-demi-switch": "bin/vue-demi-switch.js"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "@vue/composition-api": "^1.0.0-rc.1",
+ "vue": "^3.0.0-0 || ^2.6.0"
+ },
+ "peerDependenciesMeta": {
+ "@vue/composition-api": {
+ "optional": true
+ }
}
},
- "node_modules/@webpack-cli/configtest": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-3.0.1.tgz",
- "integrity": "sha512-u8d0pJ5YFgneF/GuvEiDA61Tf1VDomHHYMjv/wc9XzYj7nopltpG96nXN5dJRstxZhcNpV1g+nT6CydO7pHbjA==",
- "dev": true,
- "license": "MIT",
- "peer": true,
+ "node_modules/@vuepic/vue-datepicker": {
+ "version": "11.0.3",
+ "resolved": "https://registry.npmjs.org/@vuepic/vue-datepicker/-/vue-datepicker-11.0.3.tgz",
+ "integrity": "sha512-sb2adwqwK2PizLQOpxCYps2SwhVT6/ic2HMIOqHJXuYa6iAJZWGL5YVlS7O4aW+sk6ZyxlDURLO7kDZPL4HB/w==",
+ "dependencies": {
+ "date-fns": "^4.1.0"
+ },
"engines": {
"node": ">=18.12.0"
},
"peerDependencies": {
- "webpack": "^5.82.0",
- "webpack-cli": "6.x.x"
+ "vue": ">=3.3.0"
}
},
- "node_modules/@webpack-cli/info": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-3.0.1.tgz",
- "integrity": "sha512-coEmDzc2u/ffMvuW9aCjoRzNSPDl/XLuhPdlFRpT9tZHmJ/039az33CE7uH+8s0uL1j5ZNtfdv0HkfaKRBGJsQ==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">=18.12.0"
+ "node_modules/@vueuse/components": {
+ "version": "14.2.1",
+ "resolved": "https://registry.npmjs.org/@vueuse/components/-/components-14.2.1.tgz",
+ "integrity": "sha512-wB0SvwJ22mNm1hWCMI1wTWz4x55nDTugT5RIg/KCwlWc1vITWL6ry5VTU3SQzsMD2XcazJK8Be1siIsrBb/Vcw==",
+ "dependencies": {
+ "@vueuse/core": "14.2.1",
+ "@vueuse/shared": "14.2.1"
},
"peerDependencies": {
- "webpack": "^5.82.0",
- "webpack-cli": "6.x.x"
+ "vue": "^3.5.0"
}
},
- "node_modules/@webpack-cli/serve": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-3.0.1.tgz",
- "integrity": "sha512-sbgw03xQaCLiT6gcY/6u3qBDn01CWw/nbaXl3gTdTFuJJ75Gffv3E3DBpgvY2fkkrdS1fpjaXNOmJlnbtKauKg==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">=18.12.0"
+ "node_modules/@vueuse/core": {
+ "version": "14.2.1",
+ "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-14.2.1.tgz",
+ "integrity": "sha512-3vwDzV+GDUNpdegRY6kzpLm4Igptq+GA0QkJ3W61Iv27YWwW/ufSlOfgQIpN6FZRMG0mkaz4gglJRtq5SeJyIQ==",
+ "dependencies": {
+ "@types/web-bluetooth": "^0.0.21",
+ "@vueuse/metadata": "14.2.1",
+ "@vueuse/shared": "14.2.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "vue": "^3.5.0"
+ }
+ },
+ "node_modules/@vueuse/integrations": {
+ "version": "14.2.1",
+ "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-14.2.1.tgz",
+ "integrity": "sha512-2LIUpBi/67PoXJGqSDQUF0pgQWpNHh7beiA+KG2AbybcNm+pTGWT6oPGlBgUoDWmYwfeQqM/uzOHqcILpKL7nA==",
+ "dependencies": {
+ "@vueuse/core": "14.2.1",
+ "@vueuse/shared": "14.2.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
},
"peerDependencies": {
- "webpack": "^5.82.0",
- "webpack-cli": "6.x.x"
+ "async-validator": "^4",
+ "axios": "^1",
+ "change-case": "^5",
+ "drauu": "^0.4",
+ "focus-trap": "^7 || ^8",
+ "fuse.js": "^7",
+ "idb-keyval": "^6",
+ "jwt-decode": "^4",
+ "nprogress": "^0.2",
+ "qrcode": "^1.5",
+ "sortablejs": "^1",
+ "universal-cookie": "^7 || ^8",
+ "vue": "^3.5.0"
},
"peerDependenciesMeta": {
- "webpack-dev-server": {
+ "async-validator": {
+ "optional": true
+ },
+ "axios": {
+ "optional": true
+ },
+ "change-case": {
+ "optional": true
+ },
+ "drauu": {
+ "optional": true
+ },
+ "focus-trap": {
+ "optional": true
+ },
+ "fuse.js": {
+ "optional": true
+ },
+ "idb-keyval": {
+ "optional": true
+ },
+ "jwt-decode": {
+ "optional": true
+ },
+ "nprogress": {
+ "optional": true
+ },
+ "qrcode": {
+ "optional": true
+ },
+ "sortablejs": {
+ "optional": true
+ },
+ "universal-cookie": {
"optional": true
}
}
},
- "node_modules/@xtuc/ieee754": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
- "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
- "license": "BSD-3-Clause",
- "peer": true
+ "node_modules/@vueuse/metadata": {
+ "version": "14.2.1",
+ "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-14.2.1.tgz",
+ "integrity": "sha512-1ButlVtj5Sb/HDtIy1HFr1VqCP4G6Ypqt5MAo0lCgjokrk2mvQKsK2uuy0vqu/Ks+sHfuHo0B9Y9jn9xKdjZsw==",
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
},
- "node_modules/@xtuc/long": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
- "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
- "license": "Apache-2.0",
- "peer": true
+ "node_modules/@vueuse/shared": {
+ "version": "14.2.1",
+ "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-14.2.1.tgz",
+ "integrity": "sha512-shTJncjV9JTI4oVNyF1FQonetYAiTBd+Qj7cY89SWbXSkx7gyhrgtEdF2ZAVWS1S3SHlaROO6F2IesJxQEkZBw==",
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "vue": "^3.5.0"
+ }
},
"node_modules/abbrev": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz",
"integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==",
"dev": true,
- "license": "ISC",
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
- "node_modules/abort-controller": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
- "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "event-target-shim": "^5.0.0"
- },
- "engines": {
- "node": ">=6.5"
- }
- },
- "node_modules/accepts": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
- "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "mime-types": "~2.1.34",
- "negotiator": "0.6.3"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/accepts/node_modules/negotiator": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
- "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
"node_modules/acorn": {
- "version": "8.15.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
- "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
- "license": "MIT",
- "peer": true,
+ "version": "8.16.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz",
+ "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==",
"bin": {
"acorn": "bin/acorn"
},
@@ -7037,19 +5463,6 @@
"node": ">=0.4.0"
}
},
- "node_modules/acorn-import-phases": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz",
- "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==",
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">=10.13.0"
- },
- "peerDependencies": {
- "acorn": "^8.14.0"
- }
- },
"node_modules/acorn-jsx": {
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
@@ -7089,44 +5502,11 @@
"url": "https://github.com/sponsors/epoberezkin"
}
},
- "node_modules/ajv-formats": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
- "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
- "license": "MIT",
- "dependencies": {
- "ajv": "^8.0.0"
- },
- "peerDependencies": {
- "ajv": "^8.0.0"
- },
- "peerDependenciesMeta": {
- "ajv": {
- "optional": true
- }
- }
- },
- "node_modules/ajv-formats/node_modules/ajv": {
- "version": "8.17.1",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
- "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
- "license": "MIT",
- "dependencies": {
- "fast-deep-equal": "^3.1.3",
- "fast-uri": "^3.0.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "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==",
- "license": "MIT"
+ "node_modules/alien-signals": {
+ "version": "0.4.14",
+ "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-0.4.14.tgz",
+ "integrity": "sha512-itUAVzhczTmP2U5yX67xVpsbbOiquusbWVyA9N+sy6+r6YVbFkahXvNCeEPWEOMhwDYwbVbGHFkVL03N9I5g+Q==",
+ "dev": true
},
"node_modules/ansi-colors": {
"version": "4.1.3",
@@ -7138,20 +5518,6 @@
"node": ">=6"
}
},
- "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"
- ],
- "license": "Apache-2.0",
- "peer": true,
- "bin": {
- "ansi-html": "bin/ansi-html"
- }
- },
"node_modules/ansi-regex": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
@@ -7178,21 +5544,6 @@
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
- "node_modules/anymatch": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
- "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
- "dev": true,
- "license": "ISC",
- "peer": true,
- "dependencies": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- },
- "engines": {
- "node": ">= 8"
- }
- },
"node_modules/are-docs-informative": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz",
@@ -7211,13 +5562,21 @@
"dev": true,
"license": "Python-2.0"
},
+ "node_modules/aria-query": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz",
+ "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==",
+ "dev": true,
+ "dependencies": {
+ "dequal": "^2.0.3"
+ }
+ },
"node_modules/array-buffer-byte-length": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz",
"integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"call-bound": "^1.0.3",
"is-array-buffer": "^3.0.5"
@@ -7229,13 +5588,14 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/array-flatten": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
- "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==",
+ "node_modules/array-find-index": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
+ "integrity": "sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==",
"dev": true,
- "license": "MIT",
- "peer": true
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
"node_modules/array-includes": {
"version": "3.1.9",
@@ -7375,29 +5735,12 @@
"integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==",
"license": "MIT"
},
- "node_modules/asn1js": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.7.tgz",
- "integrity": "sha512-uLvq6KJu04qoQM6gvBfKFjlh6Gl0vOKQuR5cJMDHQkmwfMOQeN3F3SHCv9SNYSL+CRoHvOGFfllDlVz03GQjvQ==",
- "dev": true,
- "license": "BSD-3-Clause",
- "peer": true,
- "dependencies": {
- "pvtsutils": "^1.3.6",
- "pvutils": "^1.1.3",
- "tslib": "^2.8.1"
- },
- "engines": {
- "node": ">=12.0.0"
- }
- },
"node_modules/assert": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz",
"integrity": "sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"call-bind": "^1.0.2",
"is-nan": "^1.3.2",
@@ -7413,7 +5756,22 @@
"dev": true,
"license": "MIT",
"engines": {
- "node": ">=12"
+ "node": ">=12"
+ }
+ },
+ "node_modules/ast-kit": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/ast-kit/-/ast-kit-2.2.0.tgz",
+ "integrity": "sha512-m1Q/RaVOnTp9JxPX+F+Zn7IcLYMzM8kZofDImfsKZd8MbR+ikdOzTeztStWqfrqIxZnYWryyI9ePm3NGjnZgGw==",
+ "dependencies": {
+ "@babel/parser": "^7.28.5",
+ "pathe": "^2.0.3"
+ },
+ "engines": {
+ "node": ">=20.19.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sxzz"
}
},
"node_modules/ast-v8-to-istanbul": {
@@ -7435,6 +5793,21 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/ast-walker-scope": {
+ "version": "0.8.3",
+ "resolved": "https://registry.npmjs.org/ast-walker-scope/-/ast-walker-scope-0.8.3.tgz",
+ "integrity": "sha512-cbdCP0PGOBq0ASG+sjnKIoYkWMKhhz+F/h9pRexUdX2Hd38+WOlBkRKlqkGOSm0YQpcFMQBJeK4WspUAkwsEdg==",
+ "dependencies": {
+ "@babel/parser": "^7.28.4",
+ "ast-kit": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=20.19.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sxzz"
+ }
+ },
"node_modules/astral-regex": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
@@ -7501,84 +5874,10 @@
"axios": "0.x || 1.x"
}
},
- "node_modules/babel-loader": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-10.0.0.tgz",
- "integrity": "sha512-z8jt+EdS61AMw22nSfoNJAZ0vrtmhPRVi6ghL3rCeRZI8cdNYFiV5xeV3HbE7rlZZNmGH8BVccwWt8/ED0QOHA==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "find-up": "^5.0.0"
- },
- "engines": {
- "node": "^18.20.0 || ^20.10.0 || >=22.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.12.0",
- "webpack": ">=5.61.0"
- }
- },
- "node_modules/babel-loader-exclude-node-modules-except": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/babel-loader-exclude-node-modules-except/-/babel-loader-exclude-node-modules-except-1.2.1.tgz",
- "integrity": "sha512-kp/JcdRhhYKprE9fYRquyasqtrdRKXqBj0BVGB9OYxEzdBTpD/8e6w1K1gafyHgntj7f9JxLhi4phOrnCMKD6Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "escape-string-regexp": "2.0.0"
- }
- },
- "node_modules/babel-plugin-polyfill-corejs2": {
- "version": "0.4.14",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz",
- "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/compat-data": "^7.27.7",
- "@babel/helper-define-polyfill-provider": "^0.6.5",
- "semver": "^6.3.1"
- },
- "peerDependencies": {
- "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
- }
- },
- "node_modules/babel-plugin-polyfill-corejs3": {
- "version": "0.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz",
- "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.6.5",
- "core-js-compat": "^3.43.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
- }
- },
- "node_modules/babel-plugin-polyfill-regenerator": {
- "version": "0.6.5",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz",
- "integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.6.5"
- },
- "peerDependencies": {
- "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
- }
- },
"node_modules/bail": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz",
"integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==",
- "license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
@@ -7615,26 +5914,18 @@
"url": "https://feross.org/support"
}
],
- "license": "MIT",
- "peer": true
+ "license": "MIT"
},
"node_modules/baseline-browser-mapping": {
"version": "2.9.16",
"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.16.tgz",
"integrity": "sha512-KeUZdBuxngy825i8xvzaK1Ncnkx0tBmb3k8DkEuqjKRkmtvNTjey2ZsNeh8Dw4lfKvbCOu9oeNx2TKm2vHqcRw==",
+ "dev": true,
"license": "Apache-2.0",
"bin": {
"baseline-browser-mapping": "dist/cli.js"
}
},
- "node_modules/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,
- "license": "MIT",
- "peer": true
- },
"node_modules/bidi-js": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz",
@@ -7647,37 +5938,14 @@
"require-from-string": "^2.0.2"
}
},
- "node_modules/big.js": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
- "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "*"
- }
- },
- "node_modules/binary-extensions": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
- "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">=8"
- },
+ "node_modules/birpc": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/birpc/-/birpc-2.9.0.tgz",
+ "integrity": "sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==",
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "url": "https://github.com/sponsors/antfu"
}
},
- "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,
- "license": "MIT"
- },
"node_modules/blueimp-md5": {
"version": "2.19.0",
"resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.19.0.tgz",
@@ -7687,8 +5955,7 @@
"node_modules/blurhash": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/blurhash/-/blurhash-2.0.5.tgz",
- "integrity": "sha512-cRygWd7kGBQO3VEhPiTgq4Wc43ctsM+o46urrmPOiuAe+07fzlSB9OJVdpgDL0jPqXUVQ9ht7aq7kxOeJHRK+w==",
- "license": "MIT"
+ "integrity": "sha512-cRygWd7kGBQO3VEhPiTgq4Wc43ctsM+o46urrmPOiuAe+07fzlSB9OJVdpgDL0jPqXUVQ9ht7aq7kxOeJHRK+w=="
},
"node_modules/bn.js": {
"version": "5.2.2",
@@ -7696,63 +5963,6 @@
"integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==",
"license": "MIT"
},
- "node_modules/body-parser": {
- "version": "1.20.4",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz",
- "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "bytes": "~3.1.2",
- "content-type": "~1.0.5",
- "debug": "2.6.9",
- "depd": "2.0.0",
- "destroy": "~1.2.0",
- "http-errors": "~2.0.1",
- "iconv-lite": "~0.4.24",
- "on-finished": "~2.4.1",
- "qs": "~6.14.0",
- "raw-body": "~2.5.3",
- "type-is": "~1.6.18",
- "unpipe": "~1.0.0"
- },
- "engines": {
- "node": ">= 0.8",
- "npm": "1.2.8000 || >= 1.4.16"
- }
- },
- "node_modules/body-parser/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/body-parser/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true,
- "license": "MIT",
- "peer": true
- },
- "node_modules/bonjour-service": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz",
- "integrity": "sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "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",
@@ -7790,6 +6000,15 @@
"integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==",
"license": "MIT"
},
+ "node_modules/browser-resolve": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz",
+ "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==",
+ "dev": true,
+ "dependencies": {
+ "resolve": "^1.17.0"
+ }
+ },
"node_modules/browserify-aes": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
@@ -7867,7 +6086,6 @@
"integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"pako": "~1.0.5"
}
@@ -7876,6 +6094,7 @@
"version": "4.28.1",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz",
"integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==",
+ "dev": true,
"funding": [
{
"type": "opencollective",
@@ -7905,37 +6124,43 @@
"node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
}
},
- "node_modules/buffer": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
- "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
+ "node_modules/browserslist-to-esbuild": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/browserslist-to-esbuild/-/browserslist-to-esbuild-2.1.1.tgz",
+ "integrity": "sha512-KN+mty6C3e9AN8Z5dI1xeN15ExcRNeISoC3g7V0Kax/MMF9MSoYA2G7lkTTcVUFntiEjkpI0HNgqJC1NjdyNUw==",
"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"
- }
- ],
- "license": "MIT",
- "peer": true,
"dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.2.1"
+ "meow": "^13.0.0"
+ },
+ "bin": {
+ "browserslist-to-esbuild": "cli/index.js"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "browserslist": "*"
+ }
+ },
+ "node_modules/browserslist-to-esbuild/node_modules/meow": {
+ "version": "13.2.0",
+ "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz",
+ "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==",
+ "dev": true,
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/buffer-from": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
+ "dev": true,
"license": "MIT",
+ "optional": true,
"peer": true
},
"node_modules/buffer-xor": {
@@ -7963,8 +6188,7 @@
"resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
"integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==",
"dev": true,
- "license": "MIT",
- "peer": true
+ "license": "MIT"
},
"node_modules/builtins": {
"version": "5.1.0",
@@ -7991,51 +6215,12 @@
"node": ">=10"
}
},
- "node_modules/bundle-name": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz",
- "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "run-applescript": "^7.0.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/byte-length": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/byte-length/-/byte-length-1.0.2.tgz",
"integrity": "sha512-ovBpjmsgd/teRmgcPh23d4gJvxDoXtAzEL9xTfMU8Yc2kqCDb7L9jAG0XHl1nzuGl+h3ebCIF1i62UFyA9V/2Q==",
"license": "MIT"
},
- "node_modules/bytes": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
- "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/bytestreamjs": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/bytestreamjs/-/bytestreamjs-2.0.1.tgz",
- "integrity": "sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ==",
- "dev": true,
- "license": "BSD-3-Clause",
- "peer": true,
- "engines": {
- "node": ">=6.0.0"
- }
- },
"node_modules/cacheable": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/cacheable/-/cacheable-2.3.2.tgz",
@@ -8130,6 +6315,7 @@
"version": "1.0.30001765",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001765.tgz",
"integrity": "sha512-LWcNtSyZrakjECqmpP4qdg0MMGdN368D7X8XvvAqOcqMv0RxnlqVKZl2V6/mBR68oYMxOZPLw/gO7DuisMHUvQ==",
+ "dev": true,
"funding": [
{
"type": "opencollective",
@@ -8146,6 +6332,15 @@
],
"license": "CC-BY-4.0"
},
+ "node_modules/ccount": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz",
+ "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
"node_modules/chai": {
"version": "6.2.2",
"resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz",
@@ -8162,7 +6357,6 @@
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -8178,23 +6372,40 @@
"version": "5.4.4",
"resolved": "https://registry.npmjs.org/change-case/-/change-case-5.4.4.tgz",
"integrity": "sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==",
- "dev": true,
+ "devOptional": true,
"license": "MIT"
},
- "node_modules/char-regex": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.2.tgz",
- "integrity": "sha512-cbGOjAptfM2LVmWhwRFHEKTPkLwNddVmuqYZQt895yXwAsWsXObCG+YN4DGQ/JBtT4GP1a1lPPdio2z413LmTg==",
- "license": "MIT",
- "engines": {
- "node": ">=12.20"
- }
- },
"node_modules/character-entities": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz",
"integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==",
- "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/character-entities-html4": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz",
+ "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/character-entities-legacy": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz",
+ "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/character-reference-invalid": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz",
+ "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
@@ -8226,16 +6437,6 @@
"url": "https://paulmillr.com/funding/"
}
},
- "node_modules/chrome-trace-event": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz",
- "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==",
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">=6.0"
- }
- },
"node_modules/cipher-base": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.7.tgz",
@@ -8250,62 +6451,33 @@
"node": ">= 0.10"
}
},
- "node_modules/clamp": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/clamp/-/clamp-1.0.1.tgz",
- "integrity": "sha512-kgMuFyE78OC6Dyu3Dy7vcx4uy97EIbVxJB/B0eJ3bUNAkwdNcxYzgKltnyADiYwsR7SEqkkUPsEUT//OVS6XMA==",
- "license": "MIT"
- },
"node_modules/classnames": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz",
"integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==",
"license": "MIT"
},
- "node_modules/clone": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
- "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==",
- "license": "MIT",
- "engines": {
- "node": ">=0.8"
- }
- },
- "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,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "is-plain-object": "^2.0.4",
- "kind-of": "^6.0.2",
- "shallow-clone": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/clone-deep/node_modules/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,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "isobject": "^3.0.1"
- },
+ "node_modules/clone": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
+ "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==",
"engines": {
- "node": ">=0.10.0"
+ "node": ">=0.8"
}
},
"node_modules/codemirror": {
- "version": "5.65.20",
- "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.20.tgz",
- "integrity": "sha512-i5dLDDxwkFCbhjvL2pNjShsojoL3XHyDwsGv1jqETUoW+lzpBKKqNTUWgQwVAOa0tUm4BwekT455ujafi8payA==",
- "license": "MIT"
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-6.0.2.tgz",
+ "integrity": "sha512-VhydHotNW5w1UGK0Qj96BwSk/Zqbp9WbnyK2W/eVMv4QyF41INRGpjUhFJY7/uDNuudSc33a/PKr4iDqRduvHw==",
+ "dependencies": {
+ "@codemirror/autocomplete": "^6.0.0",
+ "@codemirror/commands": "^6.0.0",
+ "@codemirror/language": "^6.0.0",
+ "@codemirror/lint": "^6.0.0",
+ "@codemirror/search": "^6.0.0",
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.0.0"
+ }
},
"node_modules/color-convert": {
"version": "2.0.1",
@@ -8358,7 +6530,6 @@
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz",
"integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==",
- "license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
@@ -8368,7 +6539,9 @@
"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,
"license": "MIT",
+ "optional": true,
"peer": true
},
"node_modules/comment-parser": {
@@ -8382,58 +6555,17 @@
"node": ">= 12.0.0"
}
},
- "node_modules/compressible": {
- "version": "2.0.18",
- "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
- "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "mime-db": ">= 1.43.0 < 2"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/compression": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz",
- "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "bytes": "3.1.2",
- "compressible": "~2.0.18",
- "debug": "2.6.9",
- "negotiator": "~0.6.4",
- "on-headers": "~1.1.0",
- "safe-buffer": "5.2.1",
- "vary": "~1.1.2"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/compression/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,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "ms": "2.0.0"
- }
+ "node_modules/commenting": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/commenting/-/commenting-1.1.0.tgz",
+ "integrity": "sha512-YeNK4tavZwtH7jEgK1ZINXzLKm6DZdEMfsaaieOsCAN0S8vsY7UeuO3Q7d/M018EFgE+IeUAuBOKkFccBZsUZA==",
+ "dev": true
},
- "node_modules/compression/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true,
- "license": "MIT",
- "peer": true
+ "node_modules/compare-versions": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-6.1.1.tgz",
+ "integrity": "sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==",
+ "dev": true
},
"node_modules/concat-map": {
"version": "0.0.1",
@@ -8443,165 +6575,61 @@
"license": "MIT",
"peer": true
},
- "node_modules/condense-newlines": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/condense-newlines/-/condense-newlines-0.2.1.tgz",
- "integrity": "sha512-P7X+QL9Hb9B/c8HI5BFFKmjgBu2XpQuF98WZ9XkO+dBGgk5XgwiQz7o1SmpglNWId3581UcS0SFAWfoIhMHPfg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "extend-shallow": "^2.0.1",
- "is-whitespace": "^0.3.0",
- "kind-of": "^3.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/condense-newlines/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-buffer": "^1.1.5"
- },
- "engines": {
- "node": ">=0.10.0"
- }
+ "node_modules/confbox": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.4.tgz",
+ "integrity": "sha512-ysOGlgTFbN2/Y6Cg3Iye8YKulHw+R2fNXHrgSmXISQdMnomY6eNDprVdW9R5xBguEqI954+S6709UyiO7B+6OQ=="
},
"node_modules/config-chain": {
"version": "1.1.13",
"resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz",
"integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==",
"dev": true,
- "license": "MIT",
"dependencies": {
"ini": "^1.3.4",
"proto-list": "~1.2.1"
}
},
- "node_modules/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,
- "license": "MIT",
- "peer": 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,
- "peer": true
- },
- "node_modules/consolidate": {
- "version": "0.15.1",
- "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz",
- "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==",
- "deprecated": "Please upgrade to consolidate v1.0.0+ as it has been modernized with several long-awaited fixes implemented. Maintenance is supported by Forward Email at https://forwardemail.net ; follow/watch https://github.com/ladjs/consolidate for updates and release changelog",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "bluebird": "^3.1.1"
- },
- "engines": {
- "node": ">= 0.10.0"
- }
+ "dev": true
},
"node_modules/constants-browserify": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
"integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==",
"dev": true,
- "license": "MIT",
- "peer": true
- },
- "node_modules/content-disposition": {
- "version": "0.5.4",
- "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
- "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "safe-buffer": "5.2.1"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/content-type": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
- "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">= 0.6"
- }
+ "license": "MIT"
},
"node_modules/convert-source-map": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
"integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
"dev": true,
- "license": "MIT"
- },
- "node_modules/cookie": {
- "version": "0.7.2",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
- "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/cookie-signature": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz",
- "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==",
- "dev": true,
"license": "MIT",
"peer": true
},
- "node_modules/copy-webpack-plugin": {
- "version": "13.0.1",
- "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-13.0.1.tgz",
- "integrity": "sha512-J+YV3WfhY6W/Xf9h+J1znYuqTye2xkBUIGyTPWuBAT27qajBa5mR4f8WBmfDY3YjRftT2kqZZiLi1qf0H+UOFw==",
- "license": "MIT",
+ "node_modules/copy-anything": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-4.0.5.tgz",
+ "integrity": "sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA==",
"dependencies": {
- "glob-parent": "^6.0.1",
- "normalize-path": "^3.0.0",
- "schema-utils": "^4.2.0",
- "serialize-javascript": "^6.0.2",
- "tinyglobby": "^0.2.12"
+ "is-what": "^5.2.0"
},
"engines": {
- "node": ">= 18.12.0"
+ "node": ">=18"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^5.1.0"
+ "url": "https://github.com/sponsors/mesqueeb"
}
},
"node_modules/core-js": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.47.0.tgz",
- "integrity": "sha512-c3Q2VVkGAUyupsjRnaNX6u8Dq2vAdzm9iuPj5FW0fRxzlxgq9Q39MDq10IvmQSpLgHQNyQzQmOo6bgGHmH3NNg==",
+ "version": "3.48.0",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.48.0.tgz",
+ "integrity": "sha512-zpEHTy1fjTMZCKLHUZoVeylt9XrzaIN2rbPXEt0k+q7JE5CkCZdo6bNq55bn24a69CH7ErAVLKijxJja4fw+UQ==",
"hasInstallScript": true,
- "license": "MIT",
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/core-js"
@@ -8613,7 +6641,6 @@
"integrity": "sha512-IGfuznZ/n7Kp9+nypamBhvwdwLsW6KC8IOaURw2doAK5e98AG3acVLdh0woOnEqCfUtS+Vu882JE4k/DAm3ItQ==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"browserslist": "^4.28.0"
},
@@ -8719,6 +6746,17 @@
"sha.js": "^2.4.8"
}
},
+ "node_modules/create-require": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
+ "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
+ "dev": true
+ },
+ "node_modules/crelt": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.6.tgz",
+ "integrity": "sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g=="
+ },
"node_modules/cross-spawn": {
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
@@ -8776,65 +6814,13 @@
"license": "MIT"
},
"node_modules/css-functions-list": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.3.tgz",
- "integrity": "sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">=12 || >=16"
- }
- },
- "node_modules/css-loader": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.2.tgz",
- "integrity": "sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "icss-utils": "^5.1.0",
- "postcss": "^8.4.33",
- "postcss-modules-extract-imports": "^3.1.0",
- "postcss-modules-local-by-default": "^4.0.5",
- "postcss-modules-scope": "^3.2.0",
- "postcss-modules-values": "^4.0.0",
- "postcss-value-parser": "^4.2.0",
- "semver": "^7.5.4"
- },
- "engines": {
- "node": ">= 18.12.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "@rspack/core": "0.x || 1.x",
- "webpack": "^5.27.0"
- },
- "peerDependenciesMeta": {
- "@rspack/core": {
- "optional": true
- },
- "webpack": {
- "optional": true
- }
- }
- },
- "node_modules/css-loader/node_modules/semver": {
- "version": "7.7.3",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
- "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.3.3.tgz",
+ "integrity": "sha512-8HFEBPKhOpJPEPu70wJJetjKta86Gw9+CCyCnB3sui2qQfOvRyqBy4IKLKKAwdMpWb2lHXWk9Wb4Z6AmaUT1Pg==",
"dev": true,
- "license": "ISC",
"peer": true,
- "bin": {
- "semver": "bin/semver.js"
- },
"engines": {
- "node": ">=10"
+ "node": ">=12"
}
},
"node_modules/css-tree": {
@@ -8858,6 +6844,7 @@
"integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"bin": {
"cssesc": "bin/cssesc"
},
@@ -8898,8 +6885,7 @@
"node_modules/csstype": {
"version": "3.2.3",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz",
- "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==",
- "license": "MIT"
+ "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ=="
},
"node_modules/data-uri-to-buffer": {
"version": "4.0.1",
@@ -8983,26 +6969,27 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/date-format-parse": {
- "version": "0.2.7",
- "resolved": "https://registry.npmjs.org/date-format-parse/-/date-format-parse-0.2.7.tgz",
- "integrity": "sha512-/+lyMUKoRogMuTeOVii6lUwjbVlesN9YRYLzZT/g3TEZ3uD9QnpjResujeEqUW+OSNbT7T1+SYdyEkTcRv+KDQ==",
- "license": "MIT"
+ "node_modules/date-fns": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz",
+ "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/kossnocorp"
+ }
},
"node_modules/de-indent": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz",
"integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==",
- "dev": true,
- "license": "MIT"
+ "dev": true
},
"node_modules/debounce": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/debounce/-/debounce-2.2.0.tgz",
- "integrity": "sha512-Xks6RUDLZFdz8LIdR6q0MTH44k7FikOmnh5xkSjMig6ch45afc8sjTjRQf3P6ax8dMgcQrYO/AR2RGWURrruqw==",
- "license": "MIT",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/debounce/-/debounce-3.0.0.tgz",
+ "integrity": "sha512-64byRbF0/AirwbuHqB3/ZpMG9/nckDa6ZA0yd6UnaQNwbbemCOwvz2sL5sjXLHhZHADyiwLm0M5qMhltUUx+TA==",
"engines": {
- "node": ">=18"
+ "node": ">=20"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -9038,7 +7025,6 @@
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz",
"integrity": "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==",
- "license": "MIT",
"dependencies": {
"character-entities": "^2.0.0"
},
@@ -9047,45 +7033,51 @@
"url": "https://github.com/sponsors/wooorm"
}
},
- "node_modules/deep-is": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
- "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
- "dev": true,
- "license": "MIT",
- "peer": true
- },
- "node_modules/default-browser": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.4.0.tgz",
- "integrity": "sha512-XDuvSq38Hr1MdN47EDvYtx3U0MTqpCEn+F6ft8z2vYDzMrvQhVp0ui9oQdqW3MvK3vqUETglt1tVGgjLuJ5izg==",
+ "node_modules/deep-equal": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz",
+ "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==",
"dev": true,
- "license": "MIT",
- "peer": true,
"dependencies": {
- "bundle-name": "^4.1.0",
- "default-browser-id": "^5.0.0"
+ "array-buffer-byte-length": "^1.0.0",
+ "call-bind": "^1.0.5",
+ "es-get-iterator": "^1.1.3",
+ "get-intrinsic": "^1.2.2",
+ "is-arguments": "^1.1.1",
+ "is-array-buffer": "^3.0.2",
+ "is-date-object": "^1.0.5",
+ "is-regex": "^1.1.4",
+ "is-shared-array-buffer": "^1.0.2",
+ "isarray": "^2.0.5",
+ "object-is": "^1.1.5",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.4",
+ "regexp.prototype.flags": "^1.5.1",
+ "side-channel": "^1.0.4",
+ "which-boxed-primitive": "^1.0.2",
+ "which-collection": "^1.0.1",
+ "which-typed-array": "^1.1.13"
},
"engines": {
- "node": ">=18"
+ "node": ">= 0.4"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/default-browser-id": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz",
- "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==",
+ "node_modules/deep-equal/node_modules/isarray": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
+ "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
+ "dev": true
+ },
+ "node_modules/deep-is": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
+ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
"dev": true,
"license": "MIT",
- "peer": true,
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
+ "peer": true
},
"node_modules/define-data-property": {
"version": "1.1.4",
@@ -9104,27 +7096,12 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/define-lazy-prop": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz",
- "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/define-properties": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
"integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"define-data-property": "^1.0.1",
"has-property-descriptors": "^1.0.0",
@@ -9146,22 +7123,10 @@
"node": ">=0.4.0"
}
},
- "node_modules/depd": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
- "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
"node_modules/dequal": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
"integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
- "license": "MIT",
"engines": {
"node": ">=6"
}
@@ -9176,18 +7141,6 @@
"minimalistic-assert": "^1.0.0"
}
},
- "node_modules/destroy": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
- "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">= 0.8",
- "npm": "1.2.8000 || >= 1.4.16"
- }
- },
"node_modules/detect-libc": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
@@ -9196,23 +7149,14 @@
"license": "Apache-2.0",
"optional": true,
"peer": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/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,
- "license": "MIT",
- "peer": true
+ "engines": {
+ "node": ">=8"
+ }
},
"node_modules/devlop": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz",
"integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==",
- "license": "MIT",
"dependencies": {
"dequal": "^2.0.0"
},
@@ -9221,11 +7165,14 @@
"url": "https://github.com/sponsors/wooorm"
}
},
- "node_modules/diff-match-patch": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.5.tgz",
- "integrity": "sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==",
- "license": "Apache-2.0"
+ "node_modules/diff": {
+ "version": "8.0.3",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.3.tgz",
+ "integrity": "sha512-qejHi7bcSD4hQAZE0tNAawRK1ZtafHDmMTMkrrIGgSLl7hTnQHmKCeB45xAcbfTqK2zowkM3j3bHt/4b/ARbYQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.3.1"
+ }
},
"node_modules/diffie-hellman": {
"version": "5.0.3",
@@ -9258,20 +7205,6 @@
"node": ">=8"
}
},
- "node_modules/dns-packet": {
- "version": "5.6.1",
- "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz",
- "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@leichtgewicht/ip-codec": "^2.0.1"
- },
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/doctrine": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
@@ -9286,12 +7219,11 @@
"node": ">=6.0.0"
}
},
- "node_modules/dom-event-types": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/dom-event-types/-/dom-event-types-1.1.0.tgz",
- "integrity": "sha512-jNCX+uNJ3v38BKvPbpki6j5ItVlnSqVV6vDWGS6rExzCMjsc39frLjm1n91o6YaKK6AZl0wLloItW6C6mr61BQ==",
- "dev": true,
- "license": "MIT"
+ "node_modules/dom-accessibility-api": {
+ "version": "0.5.16",
+ "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz",
+ "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==",
+ "dev": true
},
"node_modules/dom-serializer": {
"version": "2.0.0",
@@ -9309,20 +7241,6 @@
"url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
}
},
- "node_modules/domain-browser": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-5.7.0.tgz",
- "integrity": "sha512-edTFu0M/7wO1pXY6GDxVNVW086uqwWYIHP98txhcPyV995X21JIH2DtYp33sQJOupYoXKe9RwTw2Ya2vWaquTQ==",
- "dev": true,
- "license": "Artistic-2.0",
- "peer": true,
- "engines": {
- "node": ">=4"
- },
- "funding": {
- "url": "https://bevry.me/fund"
- }
- },
"node_modules/domelementtype": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
@@ -9397,8 +7315,7 @@
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
"integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
- "dev": true,
- "license": "MIT"
+ "dev": true
},
"node_modules/easy-bem": {
"version": "1.1.1",
@@ -9407,15 +7324,14 @@
"license": "MIT"
},
"node_modules/editorconfig": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.4.tgz",
- "integrity": "sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.7.tgz",
+ "integrity": "sha512-e0GOtq/aTQhVdNyDU9e02+wz9oDDM+SIOQxWME2QRjzRX5yyLAuHDE+0aE8vHb9XRC8XD37eO2u57+F09JqFhw==",
"dev": true,
- "license": "MIT",
"dependencies": {
"@one-ini/wasm": "0.1.1",
"commander": "^10.0.0",
- "minimatch": "9.0.1",
+ "minimatch": "^9.0.1",
"semver": "^7.5.3"
},
"bin": {
@@ -9430,33 +7346,15 @@
"resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz",
"integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==",
"dev": true,
- "license": "MIT",
"engines": {
"node": ">=14"
}
},
- "node_modules/editorconfig/node_modules/minimatch": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz",
- "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=16 || 14 >=14.17"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/editorconfig/node_modules/semver": {
"version": "7.7.4",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",
"integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==",
"dev": true,
- "license": "ISC",
"bin": {
"semver": "bin/semver.js"
},
@@ -9464,18 +7362,11 @@
"node": ">=10"
}
},
- "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,
- "license": "MIT",
- "peer": true
- },
"node_modules/electron-to-chromium": {
"version": "1.5.267",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz",
"integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==",
+ "dev": true,
"license": "ISC"
},
"node_modules/elliptic": {
@@ -9503,7 +7394,6 @@
"version": "15.0.5",
"resolved": "https://registry.npmjs.org/emoji-mart-vue-fast/-/emoji-mart-vue-fast-15.0.5.tgz",
"integrity": "sha512-wnxLor8ggpqshoOPwIc33MdOC3A1XFeDLgUwYLPtNPL8VeAtXJAVrnFq1CN5PeCYAFoLo4IufHQZ9CfHD4IZiw==",
- "license": "BSD-3-Clause",
"dependencies": {
"@babel/runtime": "^7.18.6",
"core-js": "^3.23.5"
@@ -9519,41 +7409,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/emojis-list": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
- "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/encodeurl": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
- "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/enhanced-resolve": {
- "version": "5.18.4",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.4.tgz",
- "integrity": "sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "graceful-fs": "^4.2.4",
- "tapable": "^2.2.0"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
"node_modules/entities": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
@@ -9579,20 +7434,6 @@
"node": ">=6"
}
},
- "node_modules/envinfo": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.21.0.tgz",
- "integrity": "sha512-Lw7I8Zp5YKHFCXL7+Dz95g4CcbMEpgvqZNNq3AmlT5XAV6CgAAk6gyAMqn2zjw08K9BHfcNuKrMiCPLByGafow==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "bin": {
- "envinfo": "dist/cli.js"
- },
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/error-ex": {
"version": "1.3.4",
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz",
@@ -9692,12 +7533,31 @@
"node": ">= 0.4"
}
},
- "node_modules/es-module-lexer": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz",
- "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==",
- "license": "MIT",
- "peer": true
+ "node_modules/es-get-iterator": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz",
+ "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.1.3",
+ "has-symbols": "^1.0.3",
+ "is-arguments": "^1.1.1",
+ "is-map": "^2.0.2",
+ "is-set": "^2.0.2",
+ "is-string": "^1.0.7",
+ "isarray": "^2.0.5",
+ "stop-iteration-iterator": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/es-get-iterator/node_modules/isarray": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
+ "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
+ "dev": true
},
"node_modules/es-object-atoms": {
"version": "1.1.1",
@@ -9801,29 +7661,11 @@
"@esbuild/win32-x64": "0.27.2"
}
},
- "node_modules/esbuild-loader": {
- "version": "4.4.2",
- "resolved": "https://registry.npmjs.org/esbuild-loader/-/esbuild-loader-4.4.2.tgz",
- "integrity": "sha512-8LdoT9sC7fzfvhxhsIAiWhzLJr9yT3ggmckXxsgvM07wgrRxhuT98XhLn3E7VczU5W5AFsPKv9DdWcZIubbWkQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "esbuild": "^0.27.1",
- "get-tsconfig": "^4.10.1",
- "loader-utils": "^2.0.4",
- "webpack-sources": "^1.4.3"
- },
- "funding": {
- "url": "https://github.com/privatenumber/esbuild-loader?sponsor=1"
- },
- "peerDependencies": {
- "webpack": "^4.40.0 || ^5.0.0"
- }
- },
"node_modules/escalade": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
"integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=6"
@@ -9835,16 +7677,6 @@
"integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
"license": "MIT"
},
- "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,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/eslint": {
"version": "8.57.1",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz",
@@ -10361,6 +8193,7 @@
"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,
"license": "BSD-2-Clause",
"peer": true,
"dependencies": {
@@ -10527,6 +8360,7 @@
"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,
"license": "BSD-2-Clause",
"peer": true,
"dependencies": {
@@ -10540,6 +8374,7 @@
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true,
"license": "BSD-2-Clause",
"peer": true,
"engines": {
@@ -10550,12 +8385,32 @@
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
"integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "dev": true,
"license": "BSD-2-Clause",
"peer": true,
"engines": {
"node": ">=4.0"
}
},
+ "node_modules/estree-toolkit": {
+ "version": "1.7.13",
+ "resolved": "https://registry.npmjs.org/estree-toolkit/-/estree-toolkit-1.7.13.tgz",
+ "integrity": "sha512-/fLCEcVBUgAtMkGXZHplPVyUv7wiSfsCGubBdM16n1iYCidPfyk1Kk1U0wAxLZADuA3z8k87DfVYXlBmHJeekg==",
+ "dev": true,
+ "dependencies": {
+ "@types/estree": ">=1.0.7",
+ "@types/estree-jsx": ">=1.0.5"
+ }
+ },
+ "node_modules/estree-util-is-identifier-name": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz",
+ "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
"node_modules/estree-walker": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
@@ -10577,28 +8432,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/etag": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
- "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/event-target-shim": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
- "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/eventemitter3": {
"version": "5.0.4",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz",
@@ -10609,8 +8442,8 @@
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
"integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
+ "dev": true,
"license": "MIT",
- "peer": true,
"engines": {
"node": ">=0.8.x"
}
@@ -10635,96 +8468,21 @@
"node": ">=12.0.0"
}
},
- "node_modules/express": {
- "version": "4.22.1",
- "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz",
- "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "accepts": "~1.3.8",
- "array-flatten": "1.1.1",
- "body-parser": "~1.20.3",
- "content-disposition": "~0.5.4",
- "content-type": "~1.0.4",
- "cookie": "~0.7.1",
- "cookie-signature": "~1.0.6",
- "debug": "2.6.9",
- "depd": "2.0.0",
- "encodeurl": "~2.0.0",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "finalhandler": "~1.3.1",
- "fresh": "~0.5.2",
- "http-errors": "~2.0.0",
- "merge-descriptors": "1.0.3",
- "methods": "~1.1.2",
- "on-finished": "~2.4.1",
- "parseurl": "~1.3.3",
- "path-to-regexp": "~0.1.12",
- "proxy-addr": "~2.0.7",
- "qs": "~6.14.0",
- "range-parser": "~1.2.1",
- "safe-buffer": "5.2.1",
- "send": "~0.19.0",
- "serve-static": "~1.16.2",
- "setprototypeof": "1.2.0",
- "statuses": "~2.0.1",
- "type-is": "~1.6.18",
- "utils-merge": "1.0.1",
- "vary": "~1.1.2"
- },
- "engines": {
- "node": ">= 0.10.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/express"
- }
- },
- "node_modules/express/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/express/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true,
- "license": "MIT",
- "peer": true
+ "node_modules/exsolve": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.8.tgz",
+ "integrity": "sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA=="
},
"node_modules/extend": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
- "license": "MIT"
- },
- "node_modules/extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-extendable": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
},
"node_modules/fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "dev": true,
"license": "MIT"
},
"node_modules/fast-glob": {
@@ -10779,6 +8537,7 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz",
"integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==",
+ "dev": true,
"funding": [
{
"type": "github",
@@ -10791,10 +8550,22 @@
],
"license": "BSD-3-Clause"
},
+ "node_modules/fast-xml-builder": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fast-xml-builder/-/fast-xml-builder-1.0.0.tgz",
+ "integrity": "sha512-fpZuDogrAgnyt9oDDz+5DBz0zgPdPZz6D4IR7iESxRXElrlGTRkHJ9eEt+SACRJwT0FNFrt71DFQIUFBJfX/uQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/NaturalIntelligence"
+ }
+ ]
+ },
"node_modules/fast-xml-parser": {
"version": "4.5.3",
"resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.3.tgz",
"integrity": "sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig==",
+ "dev": true,
"funding": [
{
"type": "github",
@@ -10802,6 +8573,7 @@
}
],
"license": "MIT",
+ "peer": true,
"dependencies": {
"strnum": "^1.1.1"
},
@@ -10831,20 +8603,6 @@
"reusify": "^1.0.4"
}
},
- "node_modules/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,
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "websocket-driver": ">=0.5.1"
- },
- "engines": {
- "node": ">=0.8.0"
- }
- },
"node_modules/fetch-blob": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz",
@@ -10896,52 +8654,12 @@
"node": ">=8"
}
},
- "node_modules/finalhandler": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz",
- "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "debug": "2.6.9",
- "encodeurl": "~2.0.0",
- "escape-html": "~1.0.3",
- "on-finished": "~2.4.1",
- "parseurl": "~1.3.3",
- "statuses": "~2.0.2",
- "unpipe": "~1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/finalhandler/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/finalhandler/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true,
- "license": "MIT",
- "peer": true
- },
"node_modules/find-up": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
"integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"locate-path": "^6.0.0",
"path-exists": "^4.0.0"
@@ -10953,17 +8671,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/flat": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
- "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
- "dev": true,
- "license": "BSD-3-Clause",
- "peer": true,
- "bin": {
- "flat": "cli.js"
- }
- },
"node_modules/flat-cache": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz",
@@ -10989,38 +8696,35 @@
"peer": true
},
"node_modules/floating-vue": {
- "version": "1.0.0-beta.19",
- "resolved": "https://registry.npmjs.org/floating-vue/-/floating-vue-1.0.0-beta.19.tgz",
- "integrity": "sha512-OcM7z5Ua4XAykqolmvPj3l1s+KqUKj6Xz2t66eqjgaWfNBjtuifmxO5+4rRXakIch/Crt8IH+vKdKcR3jOUaoQ==",
- "license": "MIT",
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/floating-vue/-/floating-vue-5.2.2.tgz",
+ "integrity": "sha512-afW+h2CFafo+7Y9Lvw/xsqjaQlKLdJV7h1fCHfcYQ1C4SVMlu7OAekqWgu5d4SgvkBVU0pVpLlVsrSTBURFRkg==",
"dependencies": {
- "@floating-ui/dom": "^0.1.10",
- "vue-resize": "^1.0.0"
+ "@floating-ui/dom": "~1.1.1",
+ "vue-resize": "^2.0.0-alpha.1"
},
"peerDependencies": {
- "vue": "^2.6.10"
+ "@nuxt/kit": "^3.2.0",
+ "vue": "^3.2.0"
+ },
+ "peerDependenciesMeta": {
+ "@nuxt/kit": {
+ "optional": true
+ }
}
},
- "node_modules/floating-vue/node_modules/@floating-ui/core": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-0.3.1.tgz",
- "integrity": "sha512-ensKY7Ub59u16qsVIFEo2hwTCqZ/r9oZZFh51ivcLGHfUwTn8l1Xzng8RJUe91H/UP8PeqeBronAGx0qmzwk2g==",
- "license": "MIT"
- },
"node_modules/floating-vue/node_modules/@floating-ui/dom": {
- "version": "0.1.10",
- "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-0.1.10.tgz",
- "integrity": "sha512-4kAVoogvQm2N0XE0G6APQJuCNuErjOfPW8Ux7DFxh8+AfugWflwVJ5LDlHOwrwut7z/30NUvdtHzQ3zSip4EzQ==",
- "license": "MIT",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.1.1.tgz",
+ "integrity": "sha512-TpIO93+DIujg3g7SykEAGZMDtbJRrmnYRCNYSjJlvIbGhBjRSNTLVbNeDQBrzy9qDgUbiWdc7KA0uZHZ2tJmiw==",
"dependencies": {
- "@floating-ui/core": "^0.3.0"
+ "@floating-ui/core": "^1.1.0"
}
},
"node_modules/focus-trap": {
- "version": "7.8.0",
- "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.8.0.tgz",
- "integrity": "sha512-/yNdlIkpWbM0ptxno3ONTuf+2g318kh2ez3KSeZN5dZ8YC6AAmgeWz+GasYYiBJPFaYcSAPeu4GfhUaChzIJXA==",
- "license": "MIT",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-8.0.0.tgz",
+ "integrity": "sha512-Aa84FOGHs99vVwufDMdq2qgOwXPC2e9U66GcqBhn1/jEHPDhJaP8PYhkIbqG9lhfL5Kddk/567lj46LLHYCRUw==",
"dependencies": {
"tabbable": "^6.4.0"
}
@@ -11065,7 +8769,6 @@
"resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz",
"integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==",
"dev": true,
- "license": "ISC",
"dependencies": {
"cross-spawn": "^7.0.6",
"signal-exit": "^4.0.1"
@@ -11098,33 +8801,25 @@
"resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz",
"integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==",
"license": "MIT",
- "dependencies": {
- "fetch-blob": "^3.1.2"
- },
- "engines": {
- "node": ">=12.20.0"
- }
- },
- "node_modules/forwarded": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
- "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
- "dev": true,
- "license": "MIT",
- "peer": true,
+ "dependencies": {
+ "fetch-blob": "^3.1.2"
+ },
"engines": {
- "node": ">= 0.6"
+ "node": ">=12.20.0"
}
},
- "node_modules/fresh": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
- "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
+ "node_modules/fs-extra": {
+ "version": "11.3.4",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.4.tgz",
+ "integrity": "sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA==",
"dev": true,
- "license": "MIT",
- "peer": true,
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
"engines": {
- "node": ">= 0.6"
+ "node": ">=14.14"
}
},
"node_modules/fs.realpath": {
@@ -11187,7 +8882,6 @@
"integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
"dev": true,
"license": "MIT",
- "peer": true,
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -11198,7 +8892,6 @@
"integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==",
"dev": true,
"license": "MIT",
- "peer": true,
"engines": {
"node": ">= 0.4"
}
@@ -11209,16 +8902,16 @@
"integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/get-east-asian-width": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz",
- "integrity": "sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.5.0.tgz",
+ "integrity": "sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==",
"dev": true,
- "license": "MIT",
"peer": true,
"engines": {
"node": ">=18"
@@ -11289,6 +8982,7 @@
"integrity": "sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"resolve-pkg-maps": "^1.0.0"
},
@@ -11323,7 +9017,9 @@
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
"integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "dev": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"is-glob": "^4.0.3"
},
@@ -11331,31 +9027,6 @@
"node": ">=10.13.0"
}
},
- "node_modules/glob-to-regex.js": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/glob-to-regex.js/-/glob-to-regex.js-1.2.0.tgz",
- "integrity": "sha512-QMwlOQKU/IzqMUOAZWubUOT8Qft+Y0KQWnX9nK3ch0CJg0tTp4TvGZsTfudYKv2NzoQSyPcnA6TYeIQ3jGichQ==",
- "dev": true,
- "license": "Apache-2.0",
- "peer": true,
- "engines": {
- "node": ">=10.0"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/streamich"
- },
- "peerDependencies": {
- "tslib": "2"
- }
- },
- "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==",
- "license": "BSD-2-Clause",
- "peer": true
- },
"node_modules/glob/node_modules/brace-expansion": {
"version": "1.1.12",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
@@ -11507,8 +9178,8 @@
"version": "4.2.11",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
- "license": "ISC",
- "peer": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/graphemer": {
"version": "1.4.0",
@@ -11518,25 +9189,16 @@
"license": "MIT",
"peer": true
},
- "node_modules/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,
- "license": "MIT",
- "peer": true
- },
"node_modules/happy-dom": {
- "version": "20.6.0",
- "resolved": "https://registry.npmjs.org/happy-dom/-/happy-dom-20.6.0.tgz",
- "integrity": "sha512-a+Sz2bPai3rajDuE82Y4B0OxlXJ19ckUjyfWDmeCAs8ZbEbnqtwzV9d4CVhQjWIuOBTOw8rhlxNeaSCHeknXRQ==",
+ "version": "20.8.3",
+ "resolved": "https://registry.npmjs.org/happy-dom/-/happy-dom-20.8.3.tgz",
+ "integrity": "sha512-lMHQRRwIPyJ70HV0kkFT7jH/gXzSI7yDkQFe07E2flwmNDFoWUTRMKpW2sglsnpeA7b6S2TJPp98EbQxai8eaQ==",
"dev": true,
- "license": "MIT",
"dependencies": {
"@types/node": ">=20.0.0",
"@types/whatwg-mimetype": "^3.0.2",
"@types/ws": "^8.18.1",
- "entities": "^6.0.1",
+ "entities": "^7.0.1",
"whatwg-mimetype": "^3.0.0",
"ws": "^8.18.3"
},
@@ -11545,11 +9207,10 @@
}
},
"node_modules/happy-dom/node_modules/entities": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz",
- "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz",
+ "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==",
"dev": true,
- "license": "BSD-2-Clause",
"engines": {
"node": ">=0.12"
},
@@ -11573,7 +9234,6 @@
"integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==",
"dev": true,
"license": "MIT",
- "peer": true,
"engines": {
"node": ">= 0.4"
},
@@ -11585,6 +9245,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
@@ -11659,13 +9320,6 @@
"node": ">= 0.10"
}
},
- "node_modules/hash-sum": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz",
- "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/hash.js": {
"version": "1.1.7",
"resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
@@ -11702,37 +9356,38 @@
"node": ">= 0.4"
}
},
- "node_modules/hast-to-hyperscript": {
- "version": "10.0.3",
- "resolved": "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-10.0.3.tgz",
- "integrity": "sha512-NuBoUStp4fRwmvlfbidlEiRSTk0gSHm+97q4Xn9CJ10HO+Py7nlTuDi6RhM1qLOureukGrCXLG7AAxaGqqyslQ==",
- "license": "MIT",
+ "node_modules/hast-util-is-element": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz",
+ "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==",
"dependencies": {
- "@types/unist": "^2.0.0",
- "comma-separated-tokens": "^2.0.0",
- "property-information": "^6.0.0",
- "space-separated-tokens": "^2.0.0",
- "style-to-object": "^0.4.1",
- "web-namespaces": "^2.0.0"
+ "@types/hast": "^3.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/unified"
}
},
- "node_modules/hast-to-hyperscript/node_modules/@types/unist": {
- "version": "2.0.11",
- "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz",
- "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==",
- "license": "MIT"
- },
- "node_modules/hast-util-is-element": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz",
- "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==",
- "license": "MIT",
+ "node_modules/hast-util-to-jsx-runtime": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz",
+ "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==",
"dependencies": {
- "@types/hast": "^3.0.0"
+ "@types/estree": "^1.0.0",
+ "@types/hast": "^3.0.0",
+ "@types/unist": "^3.0.0",
+ "comma-separated-tokens": "^2.0.0",
+ "devlop": "^1.0.0",
+ "estree-util-is-identifier-name": "^3.0.0",
+ "hast-util-whitespace": "^3.0.0",
+ "mdast-util-mdx-expression": "^2.0.0",
+ "mdast-util-mdx-jsx": "^3.0.0",
+ "mdast-util-mdxjs-esm": "^2.0.0",
+ "property-information": "^7.0.0",
+ "space-separated-tokens": "^2.0.0",
+ "style-to-js": "^1.0.0",
+ "unist-util-position": "^5.0.0",
+ "vfile-message": "^4.0.0"
},
"funding": {
"type": "opencollective",
@@ -11743,7 +9398,6 @@
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz",
"integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==",
- "license": "MIT",
"dependencies": {
"@types/hast": "^3.0.0",
"@types/unist": "^3.0.0",
@@ -11756,10 +9410,12 @@
}
},
"node_modules/hast-util-whitespace": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz",
- "integrity": "sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==",
- "license": "MIT",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz",
+ "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==",
+ "dependencies": {
+ "@types/hast": "^3.0.0"
+ },
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/unified"
@@ -11770,7 +9426,6 @@
"resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
"integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
"dev": true,
- "license": "MIT",
"bin": {
"he": "bin/he"
}
@@ -11779,7 +9434,6 @@
"version": "11.11.1",
"resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.11.1.tgz",
"integrity": "sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==",
- "license": "BSD-3-Clause",
"engines": {
"node": ">=12.0.0"
}
@@ -11795,6 +9449,11 @@
"minimalistic-crypto-utils": "^1.0.1"
}
},
+ "node_modules/hookable": {
+ "version": "5.5.3",
+ "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz",
+ "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ=="
+ },
"node_modules/hookified": {
"version": "1.15.0",
"resolved": "https://registry.npmjs.org/hookified/-/hookified-1.15.0.tgz",
@@ -11809,20 +9468,6 @@
"integrity": "sha512-ECg1JFG0YzehicQaogenlcs2qg6WsXQsxtnbr1i696u5tLUjtJdQAh0u2g0Q5YV45f263Ta1GnUJsc8WIfJf4Q==",
"license": "MIT"
},
- "node_modules/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,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "inherits": "^2.0.1",
- "obuf": "^1.0.0",
- "readable-stream": "^2.0.1",
- "wbuf": "^1.1.0"
- }
- },
"node_modules/html-encoding-sniffer": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-6.0.0.tgz",
@@ -11915,60 +9560,6 @@
"entities": "^4.4.0"
}
},
- "node_modules/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,
- "license": "MIT",
- "peer": true
- },
- "node_modules/http-errors": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz",
- "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "depd": "~2.0.0",
- "inherits": "~2.0.4",
- "setprototypeof": "~1.2.0",
- "statuses": "~2.0.2",
- "toidentifier": "~1.0.1"
- },
- "engines": {
- "node": ">= 0.8"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/express"
- }
- },
- "node_modules/http-parser-js": {
- "version": "0.5.10",
- "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.10.tgz",
- "integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==",
- "dev": true,
- "license": "MIT",
- "peer": true
- },
- "node_modules/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,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "eventemitter3": "^4.0.0",
- "follow-redirects": "^1.0.0",
- "requires-port": "^1.0.0"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
"node_modules/http-proxy-agent": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
@@ -11985,61 +9576,12 @@
"node": ">= 14"
}
},
- "node_modules/http-proxy-middleware": {
- "version": "2.0.9",
- "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz",
- "integrity": "sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@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": ">=12.0.0"
- },
- "peerDependencies": {
- "@types/express": "^4.17.13"
- },
- "peerDependenciesMeta": {
- "@types/express": {
- "optional": true
- }
- }
- },
- "node_modules/http-proxy-middleware/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,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/http-proxy/node_modules/eventemitter3": {
- "version": "4.0.7",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
- "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
- "dev": true,
- "license": "MIT",
- "peer": true
- },
"node_modules/https-browserify": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
"integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==",
"dev": true,
- "license": "MIT",
- "peer": true
+ "license": "MIT"
},
"node_modules/https-proxy-agent": {
"version": "7.0.6",
@@ -12055,45 +9597,6 @@
"node": ">= 14"
}
},
- "node_modules/hyperdyperid": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/hyperdyperid/-/hyperdyperid-1.2.0.tgz",
- "integrity": "sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">=10.18"
- }
- },
- "node_modules/iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "safer-buffer": ">= 2.1.2 < 3"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/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,
- "license": "ISC",
- "peer": true,
- "engines": {
- "node": "^10 || ^12 || >= 14"
- },
- "peerDependencies": {
- "postcss": "^8.1.0"
- }
- },
"node_modules/ieee754": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
@@ -12113,8 +9616,7 @@
"url": "https://feross.org/support"
}
],
- "license": "BSD-3-Clause",
- "peer": true
+ "license": "BSD-3-Clause"
},
"node_modules/ignore": {
"version": "5.3.2",
@@ -12153,25 +9655,13 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/import-local": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz",
- "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==",
+ "node_modules/import-lazy": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz",
+ "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==",
"dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "pkg-dir": "^4.2.0",
- "resolve-cwd": "^3.0.0"
- },
- "bin": {
- "import-local-fixture": "fixtures/cli.js"
- },
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/import-meta-resolve": {
@@ -12237,10 +9727,9 @@
"license": "ISC"
},
"node_modules/inline-style-parser": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz",
- "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==",
- "license": "MIT"
+ "version": "0.2.7",
+ "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz",
+ "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA=="
},
"node_modules/internal-slot": {
"version": "1.1.0",
@@ -12248,7 +9737,6 @@
"integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"es-errors": "^1.3.0",
"hasown": "^2.0.2",
@@ -12258,33 +9746,10 @@
"node": ">= 0.4"
}
},
- "node_modules/interpret": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz",
- "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/ipaddr.js": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.3.0.tgz",
- "integrity": "sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">= 10"
- }
- },
"node_modules/is-absolute-url": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-4.0.1.tgz",
"integrity": "sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==",
- "license": "MIT",
"engines": {
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
},
@@ -12292,13 +9757,34 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/is-alphabetical": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz",
+ "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/is-alphanumerical": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz",
+ "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==",
+ "dependencies": {
+ "is-alphabetical": "^2.0.0",
+ "is-decimal": "^2.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
"node_modules/is-arguments": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz",
"integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"call-bound": "^1.0.2",
"has-tostringtag": "^1.0.2"
@@ -12316,7 +9802,6 @@
"integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"call-bind": "^1.0.8",
"call-bound": "^1.0.3",
@@ -12364,29 +9849,14 @@
"integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"has-bigints": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
},
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "binary-extensions": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/is-boolean-object": {
@@ -12395,7 +9865,6 @@
"integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"call-bound": "^1.0.3",
"has-tostringtag": "^1.0.2"
@@ -12473,7 +9942,6 @@
"integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"hasown": "^2.0.2"
},
@@ -12509,7 +9977,6 @@
"integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"call-bound": "^1.0.2",
"has-tostringtag": "^1.0.2"
@@ -12521,38 +9988,22 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-docker": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz",
- "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "bin": {
- "is-docker": "cli.js"
- },
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
+ "node_modules/is-decimal": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz",
+ "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==",
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/is-extendable": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
- "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
}
},
"node_modules/is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=0.10.0"
}
@@ -12590,7 +10041,6 @@
"integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"call-bound": "^1.0.4",
"generator-function": "^2.0.0",
@@ -12609,7 +10059,9 @@
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"is-extglob": "^2.1.1"
},
@@ -12617,24 +10069,13 @@
"node": ">=0.10.0"
}
},
- "node_modules/is-inside-container": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz",
- "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "is-docker": "^3.0.0"
- },
- "bin": {
- "is-inside-container": "cli.js"
- },
- "engines": {
- "node": ">=14.16"
- },
+ "node_modules/is-hexadecimal": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz",
+ "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==",
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
}
},
"node_modules/is-map": {
@@ -12643,7 +10084,6 @@
"integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==",
"dev": true,
"license": "MIT",
- "peer": true,
"engines": {
"node": ">= 0.4"
},
@@ -12657,7 +10097,6 @@
"integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"call-bind": "^1.0.0",
"define-properties": "^1.1.3"
@@ -12683,20 +10122,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-network-error": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.3.0.tgz",
- "integrity": "sha512-6oIwpsgRfnDiyEDLMay/GqCl3HoAtH5+RUKW29gYkL0QA+ipzpDLA16yQs7/RHCSu+BwgbJaOUqa4A99qNVQVw==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">=16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
@@ -12714,7 +10139,6 @@
"integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"call-bound": "^1.0.3",
"has-tostringtag": "^1.0.2"
@@ -12741,7 +10165,6 @@
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz",
"integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==",
- "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -12775,7 +10198,6 @@
"integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"call-bound": "^1.0.2",
"gopd": "^1.2.0",
@@ -12807,7 +10229,6 @@
"integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==",
"dev": true,
"license": "MIT",
- "peer": true,
"engines": {
"node": ">= 0.4"
},
@@ -12821,7 +10242,6 @@
"integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"call-bound": "^1.0.3"
},
@@ -12838,7 +10258,6 @@
"integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"call-bound": "^1.0.3",
"has-tostringtag": "^1.0.2"
@@ -12871,7 +10290,6 @@
"integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"call-bound": "^1.0.2",
"has-symbols": "^1.1.0",
@@ -12905,7 +10323,6 @@
"integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==",
"dev": true,
"license": "MIT",
- "peer": true,
"engines": {
"node": ">= 0.4"
},
@@ -12936,7 +10353,6 @@
"integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"call-bound": "^1.0.3",
"get-intrinsic": "^1.2.6"
@@ -12948,31 +10364,15 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-whitespace": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/is-whitespace/-/is-whitespace-0.3.0.tgz",
- "integrity": "sha512-RydPhl4S6JwAyj0JJjshWJEFG6hNye3pZFBRZaTUfZFwGHxzppNaNOVgQuS/E/SlhrApuMXrpnK1EEIXfdo3Dg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-wsl": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz",
- "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "is-inside-container": "^1.0.0"
- },
+ "node_modules/is-what": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/is-what/-/is-what-5.5.0.tgz",
+ "integrity": "sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw==",
"engines": {
- "node": ">=16"
+ "node": ">=18"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "url": "https://github.com/sponsors/mesqueeb"
}
},
"node_modules/isarray": {
@@ -12988,15 +10388,13 @@
"dev": true,
"license": "ISC"
},
- "node_modules/isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==",
+ "node_modules/isomorphic-timers-promises": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/isomorphic-timers-promises/-/isomorphic-timers-promises-1.0.1.tgz",
+ "integrity": "sha512-u4sej9B1LPSxTGKB/HiuzvEQnXH0ECYkSVQU39koSwmFAxhlEAFl9RdTvLv4TOTQUgBS5O3O5fwUxk6byBZ+IQ==",
"dev": true,
- "license": "MIT",
- "peer": true,
"engines": {
- "node": ">=0.10.0"
+ "node": ">=10"
}
},
"node_modules/istanbul-lib-coverage": {
@@ -13043,7 +10441,6 @@
"resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz",
"integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==",
"dev": true,
- "license": "BlueOak-1.0.0",
"dependencies": {
"@isaacs/cliui": "^8.0.2"
},
@@ -13054,43 +10451,17 @@
"@pkgjs/parseargs": "^0.11.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==",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@types/node": "*",
- "merge-stream": "^2.0.0",
- "supports-color": "^8.0.0"
- },
- "engines": {
- "node": ">= 10.13.0"
- }
- },
- "node_modules/jest-worker/node_modules/supports-color": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
- "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/supports-color?sponsor=1"
- }
+ "node_modules/jju": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz",
+ "integrity": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==",
+ "dev": true
},
"node_modules/js-beautify": {
"version": "1.15.4",
"resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.15.4.tgz",
"integrity": "sha512-9/KXeZUKKJwqCXUdBxFJ3vPh467OCckSBmYDwSK/EtV090K+iMJ7zx2S3HLVDIWFQdqMIsZWbnaGiba18aWhaA==",
"dev": true,
- "license": "MIT",
"dependencies": {
"config-chain": "^1.1.13",
"editorconfig": "^1.0.4",
@@ -13113,7 +10484,6 @@
"integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==",
"deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me",
"dev": true,
- "license": "ISC",
"dependencies": {
"foreground-child": "^3.1.0",
"jackspeak": "^3.1.2",
@@ -13130,17 +10500,15 @@
}
},
"node_modules/js-confetti": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/js-confetti/-/js-confetti-0.12.0.tgz",
- "integrity": "sha512-1R0Akxn3Zn82pMqW65N1V2NwKkZJ75bvBN/VAb36Ya0YHwbaSiAJZVRr/19HBxH/O8x2x01UFAbYI18VqlDN6g==",
- "license": "MIT"
+ "version": "0.13.1",
+ "resolved": "https://registry.npmjs.org/js-confetti/-/js-confetti-0.13.1.tgz",
+ "integrity": "sha512-Kau3apum0zYIvELfZv0lL5VY7dvzpbKi4Oq0XdfjDKdNZc/O+IeGRyLEej7GJ/1APbASvb+ZTWDxmTxxSFkTOg=="
},
"node_modules/js-cookie": {
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz",
"integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==",
"dev": true,
- "license": "MIT",
"engines": {
"node": ">=14"
}
@@ -13279,7 +10647,6 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
"integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
- "dev": true,
"license": "MIT",
"bin": {
"jsesc": "bin/jsesc"
@@ -13300,6 +10667,7 @@
"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,
"license": "MIT",
"peer": true
},
@@ -13323,7 +10691,6 @@
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
- "dev": true,
"license": "MIT",
"bin": {
"json5": "lib/cli.js"
@@ -13332,6 +10699,18 @@
"node": ">=6"
}
},
+ "node_modules/jsonfile": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz",
+ "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==",
+ "dev": true,
+ "dependencies": {
+ "universalify": "^2.0.0"
+ },
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
"node_modules/keyv": {
"version": "4.5.4",
"resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
@@ -13362,17 +10741,11 @@
"license": "MIT",
"peer": true
},
- "node_modules/launch-editor": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.12.0.tgz",
- "integrity": "sha512-giOHXoOtifjdHqUamwKq6c49GzBdLjvxrd2D+Q4V6uOHopJv7p9VJxikDsQ/CBXZbEITgUqSVHXLTG3VhPP1Dg==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "picocolors": "^1.1.1",
- "shell-quote": "^1.8.3"
- }
+ "node_modules/kolorist": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz",
+ "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==",
+ "dev": true
},
"node_modules/layerr": {
"version": "3.0.0",
@@ -13403,49 +10776,25 @@
"license": "MIT",
"peer": true
},
- "node_modules/linkify-string": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/linkify-string/-/linkify-string-4.3.2.tgz",
- "integrity": "sha512-JqBuQpSa+CSj2tskIII70SKOjPfjXwDFyjRRNFTrlg76gp2nap36xeRj/cWaXxukqBNrxM+L07XyKRsUtH/DpQ==",
- "license": "MIT",
- "peerDependencies": {
- "linkifyjs": "^4.0.0"
- }
- },
"node_modules/linkifyjs": {
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-4.3.2.tgz",
- "integrity": "sha512-NT1CJtq3hHIreOianA8aSXn6Cw0JzYOuDQbOrSPe7gqFnCpKP++MQe3ODgO3oh2GJFORkAAdqredOa60z63GbA==",
- "license": "MIT",
- "peer": true
- },
- "node_modules/loader-runner": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz",
- "integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==",
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">=6.11.5"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- }
+ "integrity": "sha512-NT1CJtq3hHIreOianA8aSXn6Cw0JzYOuDQbOrSPe7gqFnCpKP++MQe3ODgO3oh2GJFORkAAdqredOa60z63GbA=="
},
- "node_modules/loader-utils": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
- "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
- "dev": true,
- "license": "MIT",
+ "node_modules/local-pkg": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-1.1.2.tgz",
+ "integrity": "sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==",
"dependencies": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^2.1.2"
+ "mlly": "^1.7.4",
+ "pkg-types": "^2.3.0",
+ "quansync": "^0.2.11"
},
"engines": {
- "node": ">=8.9.0"
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
}
},
"node_modules/locate-path": {
@@ -13454,7 +10803,6 @@
"integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"p-locate": "^5.0.0"
},
@@ -13466,19 +10814,10 @@
}
},
"node_modules/lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
- "dev": true,
- "license": "MIT"
- },
- "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,
- "license": "MIT",
- "peer": true
+ "version": "4.17.23",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz",
+ "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==",
+ "dev": true
},
"node_modules/lodash.merge": {
"version": "4.6.2",
@@ -13488,12 +10827,6 @@
"license": "MIT",
"peer": true
},
- "node_modules/lodash.throttle": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz",
- "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==",
- "license": "MIT"
- },
"node_modules/lodash.truncate": {
"version": "4.4.2",
"resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
@@ -13502,11 +10835,19 @@
"license": "MIT",
"peer": true
},
+ "node_modules/longest-streak": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz",
+ "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
"node_modules/lowlight": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/lowlight/-/lowlight-3.3.0.tgz",
"integrity": "sha512-0JNhgFoPvP6U6lE/UdVsSq99tn6DhjjpAj5MxG49ewd2mOBVtwWYIT8ClyABhq198aXXODMU6Ox8DrGy/CpTZQ==",
- "license": "MIT",
"dependencies": {
"@types/hast": "^3.0.0",
"devlop": "^1.0.0",
@@ -13523,20 +10864,43 @@
"integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
"dev": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"yallist": "^3.0.2"
}
},
+ "node_modules/lz-string": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz",
+ "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==",
+ "dev": true,
+ "bin": {
+ "lz-string": "bin/bin.js"
+ }
+ },
"node_modules/magic-string": {
"version": "0.30.21",
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz",
"integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@jridgewell/sourcemap-codec": "^1.5.5"
}
},
+ "node_modules/magic-string-ast": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/magic-string-ast/-/magic-string-ast-1.0.3.tgz",
+ "integrity": "sha512-CvkkH1i81zl7mmb94DsRiFeG9V2fR2JeuK8yDgS8oiZSFa++wWLEgZ5ufEOyLHbvSbD1gTRKv9NdX69Rnvr9JA==",
+ "dependencies": {
+ "magic-string": "^0.30.19"
+ },
+ "engines": {
+ "node": ">=20.19.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sxzz"
+ }
+ },
"node_modules/magicast": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/magicast/-/magicast-0.5.1.tgz",
@@ -13581,8 +10945,7 @@
"node_modules/material-colors": {
"version": "1.2.6",
"resolved": "https://registry.npmjs.org/material-colors/-/material-colors-1.2.6.tgz",
- "integrity": "sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==",
- "license": "ISC"
+ "integrity": "sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg=="
},
"node_modules/math-intrinsics": {
"version": "1.1.0",
@@ -13631,7 +10994,6 @@
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-6.0.0.tgz",
"integrity": "sha512-6NDbJPTg0M0Ye+TlYwX1KJ1LFbp515P2immRJyJQhc9Na9cetHzSoHNYIQcXpANEAP1sm9yd/CTZU2uHqR5A+w==",
- "license": "MIT",
"dependencies": {
"@types/mdast": "^4.0.0",
"unist-util-visit": "^5.0.0"
@@ -13645,7 +11007,6 @@
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz",
"integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==",
- "license": "MIT",
"dependencies": {
"@types/mdast": "^4.0.0",
"escape-string-regexp": "^5.0.0",
@@ -13661,7 +11022,6 @@
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
"integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
- "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -13670,10 +11030,9 @@
}
},
"node_modules/mdast-util-from-markdown": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz",
- "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==",
- "license": "MIT",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.3.tgz",
+ "integrity": "sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==",
"dependencies": {
"@types/mdast": "^4.0.0",
"@types/unist": "^3.0.0",
@@ -13693,11 +11052,67 @@
"url": "https://opencollective.com/unified"
}
},
+ "node_modules/mdast-util-mdx-expression": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz",
+ "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==",
+ "dependencies": {
+ "@types/estree-jsx": "^1.0.0",
+ "@types/hast": "^3.0.0",
+ "@types/mdast": "^4.0.0",
+ "devlop": "^1.0.0",
+ "mdast-util-from-markdown": "^2.0.0",
+ "mdast-util-to-markdown": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-mdx-jsx": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz",
+ "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==",
+ "dependencies": {
+ "@types/estree-jsx": "^1.0.0",
+ "@types/hast": "^3.0.0",
+ "@types/mdast": "^4.0.0",
+ "@types/unist": "^3.0.0",
+ "ccount": "^2.0.0",
+ "devlop": "^1.1.0",
+ "mdast-util-from-markdown": "^2.0.0",
+ "mdast-util-to-markdown": "^2.0.0",
+ "parse-entities": "^4.0.0",
+ "stringify-entities": "^4.0.0",
+ "unist-util-stringify-position": "^4.0.0",
+ "vfile-message": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-mdxjs-esm": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz",
+ "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==",
+ "dependencies": {
+ "@types/estree-jsx": "^1.0.0",
+ "@types/hast": "^3.0.0",
+ "@types/mdast": "^4.0.0",
+ "devlop": "^1.0.0",
+ "mdast-util-from-markdown": "^2.0.0",
+ "mdast-util-to-markdown": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
"node_modules/mdast-util-newline-to-break": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/mdast-util-newline-to-break/-/mdast-util-newline-to-break-2.0.0.tgz",
"integrity": "sha512-MbgeFca0hLYIEx/2zGsszCSEJJ1JSCdiY5xQxRcLDDGa8EPvlLPupJ4DSajbMPAnC0je8jfb9TiUATnxxrHUog==",
- "license": "MIT",
"dependencies": {
"@types/mdast": "^4.0.0",
"mdast-util-find-and-replace": "^3.0.0"
@@ -13707,11 +11122,23 @@
"url": "https://opencollective.com/unified"
}
},
+ "node_modules/mdast-util-phrasing": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz",
+ "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "unist-util-is": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
"node_modules/mdast-util-to-hast": {
"version": "13.2.1",
"resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz",
"integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==",
- "license": "MIT",
"dependencies": {
"@types/hast": "^3.0.0",
"@types/mdast": "^4.0.0",
@@ -13721,7 +11148,27 @@
"trim-lines": "^3.0.0",
"unist-util-position": "^5.0.0",
"unist-util-visit": "^5.0.0",
- "vfile": "^6.0.0"
+ "vfile": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-to-markdown": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz",
+ "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "@types/unist": "^3.0.0",
+ "longest-streak": "^3.0.0",
+ "mdast-util-phrasing": "^4.0.0",
+ "mdast-util-to-string": "^4.0.0",
+ "micromark-util-classify-character": "^2.0.0",
+ "micromark-util-decode-string": "^2.0.0",
+ "unist-util-visit": "^5.0.0",
+ "zwitch": "^2.0.0"
},
"funding": {
"type": "opencollective",
@@ -13732,7 +11179,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz",
"integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==",
- "license": "MIT",
"dependencies": {
"@types/mdast": "^4.0.0"
},
@@ -13749,48 +11195,6 @@
"license": "CC0-1.0",
"peer": true
},
- "node_modules/media-typer": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
- "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/memfs": {
- "version": "4.56.4",
- "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.56.4.tgz",
- "integrity": "sha512-GKqmHEFyFwccco9NmTEY38AemzpNLs5tKKxGfNpnLI/5D92NAr7STItdzTMeUlKdd3FjkE5w18TPLyKTb6MDVA==",
- "dev": true,
- "license": "Apache-2.0",
- "peer": true,
- "dependencies": {
- "@jsonjoy.com/fs-core": "4.56.4",
- "@jsonjoy.com/fs-fsa": "4.56.4",
- "@jsonjoy.com/fs-node": "4.56.4",
- "@jsonjoy.com/fs-node-builtins": "4.56.4",
- "@jsonjoy.com/fs-node-to-fsa": "4.56.4",
- "@jsonjoy.com/fs-node-utils": "4.56.4",
- "@jsonjoy.com/fs-print": "4.56.4",
- "@jsonjoy.com/fs-snapshot": "^4.56.4",
- "@jsonjoy.com/json-pack": "^1.11.0",
- "@jsonjoy.com/util": "^1.9.0",
- "glob-to-regex.js": "^1.0.1",
- "thingies": "^2.5.0",
- "tree-dump": "^1.0.3",
- "tslib": "^2.0.0"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/streamich"
- },
- "peerDependencies": {
- "tslib": "2"
- }
- },
"node_modules/meow": {
"version": "14.0.0",
"resolved": "https://registry.npmjs.org/meow/-/meow-14.0.0.tgz",
@@ -13805,44 +11209,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/merge-descriptors": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz",
- "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/merge-source-map": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz",
- "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "source-map": "^0.6.1"
- }
- },
- "node_modules/merge-source-map/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,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "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==",
- "license": "MIT",
- "peer": true
- },
"node_modules/merge2": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
@@ -13854,17 +11220,6 @@
"node": ">= 8"
}
},
- "node_modules/methods": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
- "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
"node_modules/micromark": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz",
@@ -13879,7 +11234,6 @@
"url": "https://opencollective.com/unified"
}
],
- "license": "MIT",
"dependencies": {
"@types/debug": "^4.0.0",
"debug": "^4.0.0",
@@ -13914,7 +11268,6 @@
"url": "https://opencollective.com/unified"
}
],
- "license": "MIT",
"dependencies": {
"decode-named-character-reference": "^1.0.0",
"devlop": "^1.0.0",
@@ -13948,7 +11301,6 @@
"url": "https://opencollective.com/unified"
}
],
- "license": "MIT",
"dependencies": {
"micromark-util-character": "^2.0.0",
"micromark-util-symbol": "^2.0.0",
@@ -13969,7 +11321,6 @@
"url": "https://opencollective.com/unified"
}
],
- "license": "MIT",
"dependencies": {
"devlop": "^1.0.0",
"micromark-util-character": "^2.0.0",
@@ -13991,7 +11342,6 @@
"url": "https://opencollective.com/unified"
}
],
- "license": "MIT",
"dependencies": {
"micromark-util-character": "^2.0.0",
"micromark-util-types": "^2.0.0"
@@ -14011,7 +11361,6 @@
"url": "https://opencollective.com/unified"
}
],
- "license": "MIT",
"dependencies": {
"micromark-factory-space": "^2.0.0",
"micromark-util-character": "^2.0.0",
@@ -14033,7 +11382,6 @@
"url": "https://opencollective.com/unified"
}
],
- "license": "MIT",
"dependencies": {
"micromark-factory-space": "^2.0.0",
"micromark-util-character": "^2.0.0",
@@ -14055,7 +11403,6 @@
"url": "https://opencollective.com/unified"
}
],
- "license": "MIT",
"dependencies": {
"micromark-util-symbol": "^2.0.0",
"micromark-util-types": "^2.0.0"
@@ -14075,7 +11422,6 @@
"url": "https://opencollective.com/unified"
}
],
- "license": "MIT",
"dependencies": {
"micromark-util-symbol": "^2.0.0"
}
@@ -14094,7 +11440,6 @@
"url": "https://opencollective.com/unified"
}
],
- "license": "MIT",
"dependencies": {
"micromark-util-character": "^2.0.0",
"micromark-util-symbol": "^2.0.0",
@@ -14115,7 +11460,6 @@
"url": "https://opencollective.com/unified"
}
],
- "license": "MIT",
"dependencies": {
"micromark-util-chunked": "^2.0.0",
"micromark-util-types": "^2.0.0"
@@ -14135,7 +11479,6 @@
"url": "https://opencollective.com/unified"
}
],
- "license": "MIT",
"dependencies": {
"micromark-util-symbol": "^2.0.0"
}
@@ -14154,7 +11497,6 @@
"url": "https://opencollective.com/unified"
}
],
- "license": "MIT",
"dependencies": {
"decode-named-character-reference": "^1.0.0",
"micromark-util-character": "^2.0.0",
@@ -14175,8 +11517,7 @@
"type": "OpenCollective",
"url": "https://opencollective.com/unified"
}
- ],
- "license": "MIT"
+ ]
},
"node_modules/micromark-util-html-tag-name": {
"version": "2.0.1",
@@ -14191,8 +11532,7 @@
"type": "OpenCollective",
"url": "https://opencollective.com/unified"
}
- ],
- "license": "MIT"
+ ]
},
"node_modules/micromark-util-normalize-identifier": {
"version": "2.0.1",
@@ -14208,7 +11548,6 @@
"url": "https://opencollective.com/unified"
}
],
- "license": "MIT",
"dependencies": {
"micromark-util-symbol": "^2.0.0"
}
@@ -14227,7 +11566,6 @@
"url": "https://opencollective.com/unified"
}
],
- "license": "MIT",
"dependencies": {
"micromark-util-types": "^2.0.0"
}
@@ -14246,7 +11584,6 @@
"url": "https://opencollective.com/unified"
}
],
- "license": "MIT",
"dependencies": {
"micromark-util-character": "^2.0.0",
"micromark-util-encode": "^2.0.0",
@@ -14267,7 +11604,6 @@
"url": "https://opencollective.com/unified"
}
],
- "license": "MIT",
"dependencies": {
"devlop": "^1.0.0",
"micromark-util-chunked": "^2.0.0",
@@ -14288,8 +11624,7 @@
"type": "OpenCollective",
"url": "https://opencollective.com/unified"
}
- ],
- "license": "MIT"
+ ]
},
"node_modules/micromark-util-types": {
"version": "2.0.2",
@@ -14304,8 +11639,7 @@
"type": "OpenCollective",
"url": "https://opencollective.com/unified"
}
- ],
- "license": "MIT"
+ ]
},
"node_modules/micromatch": {
"version": "4.0.8",
@@ -14341,20 +11675,6 @@
"integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==",
"license": "MIT"
},
- "node_modules/mime": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "bin": {
- "mime": "cli.js"
- },
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/mime-db": {
"version": "1.52.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
@@ -14409,20 +11729,51 @@
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/minipass": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
- "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+ "version": "7.1.3",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz",
+ "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==",
"dev": true,
- "license": "ISC",
"engines": {
"node": ">=16 || 14 >=14.17"
}
},
+ "node_modules/mitt": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz",
+ "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw=="
+ },
+ "node_modules/mlly": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.8.1.tgz",
+ "integrity": "sha512-SnL6sNutTwRWWR/vcmCYHSADjiEesp5TGQQ0pXyLhW5IoeibRlF/CbSLailbB3CNqJUk9cVJ9dUDnbD7GrcHBQ==",
+ "dependencies": {
+ "acorn": "^8.16.0",
+ "pathe": "^2.0.3",
+ "pkg-types": "^1.3.1",
+ "ufo": "^1.6.3"
+ }
+ },
+ "node_modules/mlly/node_modules/confbox": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz",
+ "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w=="
+ },
+ "node_modules/mlly/node_modules/pkg-types": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz",
+ "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==",
+ "dependencies": {
+ "confbox": "^0.1.8",
+ "mlly": "^1.7.4",
+ "pathe": "^2.0.1"
+ }
+ },
"node_modules/moment": {
"version": "2.30.1",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz",
@@ -14438,20 +11789,10 @@
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"license": "MIT"
},
- "node_modules/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,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "dns-packet": "^5.2.2",
- "thunky": "^1.0.2"
- },
- "bin": {
- "multicast-dns": "cli.js"
- }
+ "node_modules/muggle-string": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz",
+ "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ=="
},
"node_modules/nanoid": {
"version": "3.3.11",
@@ -14496,24 +11837,6 @@
"license": "MIT",
"peer": true
},
- "node_modules/negotiator": {
- "version": "0.6.4",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz",
- "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/neo-async": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
- "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
- "license": "MIT",
- "peer": true
- },
"node_modules/nested-property": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/nested-property/-/nested-property-4.0.0.tgz",
@@ -14567,90 +11890,130 @@
"url": "https://opencollective.com/node-fetch"
}
},
- "node_modules/node-polyfill-webpack-plugin": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/node-polyfill-webpack-plugin/-/node-polyfill-webpack-plugin-4.0.0.tgz",
- "integrity": "sha512-WLk77vLpbcpmTekRj6s6vYxk30XoyaY5MDZ4+9g8OaKoG3Ij+TjOqhpQjVUlfDZBPBgpNATDltaQkzuXSnnkwg==",
+ "node_modules/node-readable-to-web-readable-stream": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/node-readable-to-web-readable-stream/-/node-readable-to-web-readable-stream-0.4.2.tgz",
+ "integrity": "sha512-/cMZNI34v//jUTrI+UIo4ieHAB5EZRY/+7OmXZgBxaWBMcW2tGdceIw06RFxWxrKZ5Jp3sI2i5TsRo+CBhtVLQ==",
+ "optional": true
+ },
+ "node_modules/node-releases": {
+ "version": "2.0.27",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz",
+ "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/node-stdlib-browser": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/node-stdlib-browser/-/node-stdlib-browser-1.3.1.tgz",
+ "integrity": "sha512-X75ZN8DCLftGM5iKwoYLA3rjnrAEs97MkzvSd4q2746Tgpg8b8XWiBGiBG4ZpgcAqBgtgPHTiAc8ZMCvZuikDw==",
"dev": true,
- "license": "MIT",
- "peer": true,
"dependencies": {
- "assert": "^2.1.0",
+ "assert": "^2.0.0",
+ "browser-resolve": "^2.0.0",
"browserify-zlib": "^0.2.0",
- "buffer": "^6.0.3",
- "console-browserify": "^1.2.0",
+ "buffer": "^5.7.1",
+ "console-browserify": "^1.1.0",
"constants-browserify": "^1.0.0",
- "crypto-browserify": "^3.12.0",
- "domain-browser": "^5.7.0",
- "events": "^3.3.0",
+ "create-require": "^1.1.1",
+ "crypto-browserify": "^3.12.1",
+ "domain-browser": "4.22.0",
+ "events": "^3.0.0",
"https-browserify": "^1.0.0",
+ "isomorphic-timers-promises": "^1.0.1",
"os-browserify": "^0.3.0",
"path-browserify": "^1.0.1",
+ "pkg-dir": "^5.0.0",
"process": "^0.11.10",
- "punycode": "^2.3.1",
+ "punycode": "^1.4.1",
"querystring-es3": "^0.2.1",
- "readable-stream": "^4.5.2",
+ "readable-stream": "^3.6.0",
"stream-browserify": "^3.0.0",
"stream-http": "^3.2.0",
- "string_decoder": "^1.3.0",
- "timers-browserify": "^2.0.12",
- "tty-browserify": "^0.0.1",
- "type-fest": "^4.18.2",
- "url": "^0.11.3",
- "util": "^0.12.5",
- "vm-browserify": "^1.1.2"
+ "string_decoder": "^1.0.0",
+ "timers-browserify": "^2.0.4",
+ "tty-browserify": "0.0.1",
+ "url": "^0.11.4",
+ "util": "^0.12.4",
+ "vm-browserify": "^1.0.1"
},
"engines": {
- "node": ">=14"
- },
- "peerDependencies": {
- "webpack": ">=5"
+ "node": ">=10"
}
},
- "node_modules/node-polyfill-webpack-plugin/node_modules/readable-stream": {
- "version": "4.7.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz",
- "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==",
+ "node_modules/node-stdlib-browser/node_modules/buffer": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+ "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
"dev": true,
- "license": "MIT",
- "peer": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
"dependencies": {
- "abort-controller": "^3.0.0",
- "buffer": "^6.0.3",
- "events": "^3.3.0",
- "process": "^0.11.10",
- "string_decoder": "^1.3.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.1.13"
}
},
- "node_modules/node-polyfill-webpack-plugin/node_modules/type-fest": {
- "version": "4.41.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz",
- "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==",
+ "node_modules/node-stdlib-browser/node_modules/domain-browser": {
+ "version": "4.22.0",
+ "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-4.22.0.tgz",
+ "integrity": "sha512-IGBwjF7tNk3cwypFNH/7bfzBcgSCbaMOD3GsaY1AU/JRrnHnYgEM0+9kQt52iZxjNsjBtJYtao146V+f8jFZNw==",
"dev": true,
- "license": "(MIT OR CC0-1.0)",
- "peer": true,
"engines": {
- "node": ">=16"
+ "node": ">=10"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "url": "https://bevry.me/fund"
}
},
- "node_modules/node-releases": {
- "version": "2.0.27",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz",
- "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==",
- "license": "MIT"
+ "node_modules/node-stdlib-browser/node_modules/pkg-dir": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz",
+ "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==",
+ "dev": true,
+ "dependencies": {
+ "find-up": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/node-stdlib-browser/node_modules/punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==",
+ "dev": true
+ },
+ "node_modules/node-stdlib-browser/node_modules/readable-stream": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+ "dev": true,
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
},
"node_modules/nopt": {
"version": "7.2.1",
"resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz",
"integrity": "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==",
"dev": true,
- "license": "ISC",
"dependencies": {
"abbrev": "^2.0.0"
},
@@ -14665,7 +12028,9 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=0.10.0"
}
@@ -14690,7 +12055,6 @@
"integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
"dev": true,
"license": "MIT",
- "peer": true,
"engines": {
"node": ">= 0.4"
},
@@ -14704,7 +12068,6 @@
"integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1"
@@ -14722,7 +12085,6 @@
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
"dev": true,
"license": "MIT",
- "peer": true,
"engines": {
"node": ">= 0.4"
}
@@ -14733,7 +12095,6 @@
"integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"call-bind": "^1.0.8",
"call-bound": "^1.0.3",
@@ -14805,14 +12166,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/obuf": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
- "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==",
- "dev": true,
- "license": "MIT",
- "peer": true
- },
"node_modules/obug": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/obug/-/obug-2.1.1.tgz",
@@ -14824,31 +12177,6 @@
],
"license": "MIT"
},
- "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,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "ee-first": "1.1.1"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/on-headers": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz",
- "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
"node_modules/once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
@@ -14860,34 +12188,13 @@
"wrappy": "1"
}
},
- "node_modules/open": {
- "version": "10.2.0",
- "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz",
- "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "default-browser": "^5.2.1",
- "define-lazy-prop": "^3.0.0",
- "is-inside-container": "^1.0.0",
- "wsl-utils": "^0.1.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/openapi-typescript": {
- "version": "7.10.1",
- "resolved": "https://registry.npmjs.org/openapi-typescript/-/openapi-typescript-7.10.1.tgz",
- "integrity": "sha512-rBcU8bjKGGZQT4K2ekSTY2Q5veOQbVG/lTKZ49DeCyT9z62hM2Vj/LLHjDHC9W7LJG8YMHcdXpRZDqC1ojB/lw==",
+ "version": "7.13.0",
+ "resolved": "https://registry.npmjs.org/openapi-typescript/-/openapi-typescript-7.13.0.tgz",
+ "integrity": "sha512-EFP392gcqXS7ntPvbhBzbF8TyBA+baIYEm791Hy5YkjDYKTnk/Tn5OQeKm5BIZvJihpp8Zzr4hzx0Irde1LNGQ==",
"dev": true,
- "license": "MIT",
"dependencies": {
- "@redocly/openapi-core": "^1.34.5",
+ "@redocly/openapi-core": "^1.34.6",
"ansi-colors": "^4.1.3",
"change-case": "^5.4.4",
"parse-json": "^8.3.0",
@@ -14938,8 +12245,7 @@
"resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
"integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==",
"dev": true,
- "license": "MIT",
- "peer": true
+ "license": "MIT"
},
"node_modules/own-keys": {
"version": "1.0.1",
@@ -14975,7 +12281,6 @@
"integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"yocto-queue": "^0.1.0"
},
@@ -14992,7 +12297,6 @@
"integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"p-limit": "^3.0.2"
},
@@ -15019,25 +12323,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/p-retry": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz",
- "integrity": "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@types/retry": "0.12.2",
- "is-network-error": "^1.0.0",
- "retry": "^0.13.1"
- },
- "engines": {
- "node": ">=16.17"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/p-timeout": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-7.0.1.tgz",
@@ -15050,31 +12335,30 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/package-json-from-dist": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz",
"integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==",
+ "dev": true
+ },
+ "node_modules/package-name-regex": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/package-name-regex/-/package-name-regex-2.0.6.tgz",
+ "integrity": "sha512-gFL35q7kbE/zBaPA3UKhp2vSzcPYx2ecbYuwv1ucE9Il6IIgBDweBlH8D68UFGZic2MkllKa2KHCfC1IQBQUYA==",
"dev": true,
- "license": "BlueOak-1.0.0"
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/dword-design"
+ }
},
"node_modules/pako": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
"integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
"dev": true,
- "license": "(MIT AND Zlib)",
- "peer": true
+ "license": "(MIT AND Zlib)"
},
"node_modules/parent-module": {
"version": "1.0.1",
@@ -15106,6 +12390,29 @@
"node": ">= 0.10"
}
},
+ "node_modules/parse-entities": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz",
+ "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "character-entities-legacy": "^3.0.0",
+ "character-reference-invalid": "^2.0.0",
+ "decode-named-character-reference": "^1.0.0",
+ "is-alphanumerical": "^2.0.0",
+ "is-decimal": "^2.0.0",
+ "is-hexadecimal": "^2.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/parse-entities/node_modules/@types/unist": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz",
+ "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA=="
+ },
"node_modules/parse-json": {
"version": "8.3.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.3.0.tgz",
@@ -15167,24 +12474,12 @@
"url": "https://github.com/fb55/entities?sponsor=1"
}
},
- "node_modules/parseurl": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
- "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
"node_modules/path-browserify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz",
"integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==",
"dev": true,
- "license": "MIT",
- "peer": true
+ "license": "MIT"
},
"node_modules/path-exists": {
"version": "4.0.0",
@@ -15192,7 +12487,6 @@
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
"dev": true,
"license": "MIT",
- "peer": true,
"engines": {
"node": ">=8"
}
@@ -15223,8 +12517,7 @@
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
"dev": true,
- "license": "MIT",
- "peer": true
+ "license": "MIT"
},
"node_modules/path-posix": {
"version": "1.0.0",
@@ -15237,7 +12530,6 @@
"resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
"integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
"dev": true,
- "license": "BlueOak-1.0.0",
"dependencies": {
"lru-cache": "^10.2.0",
"minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
@@ -15253,16 +12545,7 @@
"version": "10.4.3",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
"integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/path-to-regexp": {
- "version": "0.1.12",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz",
- "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==",
- "dev": true,
- "license": "MIT",
- "peer": true
+ "dev": true
},
"node_modules/path-type": {
"version": "4.0.0",
@@ -15279,7 +12562,6 @@
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz",
"integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==",
- "dev": true,
"license": "MIT"
},
"node_modules/pbkdf2": {
@@ -15300,17 +12582,22 @@
}
},
"node_modules/pdfjs-dist": {
- "version": "5.4.530",
- "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-5.4.530.tgz",
- "integrity": "sha512-r1hWsSIGGmyYUAHR26zSXkxYWLXLMd6AwqcaFYG9YUZ0GBf5GvcjJSeo512tabM4GYFhxhl5pMCmPr7Q72Rq2Q==",
- "license": "Apache-2.0",
+ "version": "5.5.207",
+ "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-5.5.207.tgz",
+ "integrity": "sha512-WMqqw06w1vUt9ZfT0gOFhMf3wHsWhaCrxGrckGs5Cci6ybDW87IvPaOd2pnBwT6BJuP/CzXDZxjFgmSULLdsdw==",
"engines": {
- "node": ">=20.16.0 || >=22.3.0"
+ "node": ">=20.19.0 || >=22.13.0 || >=24"
},
"optionalDependencies": {
- "@napi-rs/canvas": "^0.1.84"
+ "@napi-rs/canvas": "^0.1.95",
+ "node-readable-to-web-readable-stream": "^0.4.2"
}
},
+ "node_modules/perfect-debounce": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz",
+ "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA=="
+ },
"node_modules/picocolors": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
@@ -15332,20 +12619,18 @@
}
},
"node_modules/pinia": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.3.1.tgz",
- "integrity": "sha512-khUlZSwt9xXCaTbbxFYBKDc/bWAGWJjOgvxETwkTN7KRm66EeT1ZdZj6i2ceh9sP2Pzqsbc704r2yngBrxBVug==",
- "license": "MIT",
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/pinia/-/pinia-3.0.4.tgz",
+ "integrity": "sha512-l7pqLUFTI/+ESXn6k3nu30ZIzW5E2WZF/LaHJEpoq6ElcLD+wduZoB2kBN19du6K/4FDpPMazY2wJr+IndBtQw==",
"dependencies": {
- "@vue/devtools-api": "^6.6.3",
- "vue-demi": "^0.14.10"
+ "@vue/devtools-api": "^7.7.7"
},
"funding": {
"url": "https://github.com/sponsors/posva"
},
"peerDependencies": {
- "typescript": ">=4.4.4",
- "vue": "^2.7.0 || ^3.5.11"
+ "typescript": ">=4.5.0",
+ "vue": "^3.5.11"
},
"peerDependenciesMeta": {
"typescript": {
@@ -15353,123 +12638,14 @@
}
}
},
- "node_modules/pinia/node_modules/vue-demi": {
- "version": "0.14.10",
- "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz",
- "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==",
- "hasInstallScript": true,
- "license": "MIT",
- "bin": {
- "vue-demi-fix": "bin/vue-demi-fix.js",
- "vue-demi-switch": "bin/vue-demi-switch.js"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/antfu"
- },
- "peerDependencies": {
- "@vue/composition-api": "^1.0.0-rc.1",
- "vue": "^3.0.0-0 || ^2.6.0"
- },
- "peerDependenciesMeta": {
- "@vue/composition-api": {
- "optional": true
- }
- }
- },
- "node_modules/pkg-dir": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "find-up": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/pkg-dir/node_modules/find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/pkg-dir/node_modules/locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "p-locate": "^4.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/pkg-dir/node_modules/p-limit": {
+ "node_modules/pkg-types": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "p-try": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/pkg-dir/node_modules/p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "p-limit": "^2.2.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/pkijs": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/pkijs/-/pkijs-3.3.3.tgz",
- "integrity": "sha512-+KD8hJtqQMYoTuL1bbGOqxb4z+nZkTAwVdNtWwe8Tc2xNbEmdJYIYoc6Qt0uF55e6YW6KuTHw1DjQ18gMhzepw==",
- "dev": true,
- "license": "BSD-3-Clause",
- "peer": true,
+ "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.0.tgz",
+ "integrity": "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==",
"dependencies": {
- "@noble/hashes": "1.4.0",
- "asn1js": "^3.0.6",
- "bytestreamjs": "^2.0.1",
- "pvtsutils": "^1.3.6",
- "pvutils": "^1.1.3",
- "tslib": "^2.8.1"
- },
- "engines": {
- "node": ">=16.0.0"
+ "confbox": "^0.2.2",
+ "exsolve": "^1.0.7",
+ "pathe": "^2.0.3"
}
},
"node_modules/pluralize": {
@@ -15510,145 +12686,48 @@
}
],
"license": "MIT",
- "dependencies": {
- "nanoid": "^3.3.11",
- "picocolors": "^1.1.1",
- "source-map-js": "^1.2.1"
- },
- "engines": {
- "node": "^10 || ^12 || >=14"
- }
- },
- "node_modules/postcss-html": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-1.8.1.tgz",
- "integrity": "sha512-OLF6P7qctfAWayOhLpcVnTGqVeJzu2W3WpIYelfz2+JV5oGxfkcEvweN9U4XpeqE0P98dcD9ssusGwlF0TK0uQ==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "htmlparser2": "^8.0.0",
- "js-tokens": "^9.0.0",
- "postcss": "^8.5.0",
- "postcss-safe-parser": "^6.0.0"
- },
- "engines": {
- "node": "^12 || >=14"
- }
- },
- "node_modules/postcss-html/node_modules/js-tokens": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz",
- "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==",
- "dev": true,
- "license": "MIT",
- "peer": true
- },
- "node_modules/postcss-media-query-parser": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz",
- "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==",
- "dev": true,
- "license": "MIT",
- "peer": true
- },
- "node_modules/postcss-modules-extract-imports": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz",
- "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==",
- "dev": true,
- "license": "ISC",
- "peer": true,
- "engines": {
- "node": "^10 || ^12 || >= 14"
- },
- "peerDependencies": {
- "postcss": "^8.1.0"
- }
- },
- "node_modules/postcss-modules-local-by-default": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz",
- "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "icss-utils": "^5.0.0",
- "postcss-selector-parser": "^7.0.0",
- "postcss-value-parser": "^4.1.0"
- },
- "engines": {
- "node": "^10 || ^12 || >= 14"
- },
- "peerDependencies": {
- "postcss": "^8.1.0"
- }
- },
- "node_modules/postcss-modules-local-by-default/node_modules/postcss-selector-parser": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz",
- "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "cssesc": "^3.0.0",
- "util-deprecate": "^1.0.2"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/postcss-modules-scope": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz",
- "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==",
- "dev": true,
- "license": "ISC",
- "peer": true,
- "dependencies": {
- "postcss-selector-parser": "^7.0.0"
- },
- "engines": {
- "node": "^10 || ^12 || >= 14"
- },
- "peerDependencies": {
- "postcss": "^8.1.0"
- }
- },
- "node_modules/postcss-modules-scope/node_modules/postcss-selector-parser": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz",
- "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "cssesc": "^3.0.0",
- "util-deprecate": "^1.0.2"
+ "dependencies": {
+ "nanoid": "^3.3.11",
+ "picocolors": "^1.1.1",
+ "source-map-js": "^1.2.1"
},
"engines": {
- "node": ">=4"
+ "node": "^10 || ^12 || >=14"
}
},
- "node_modules/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==",
+ "node_modules/postcss-html": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-1.8.1.tgz",
+ "integrity": "sha512-OLF6P7qctfAWayOhLpcVnTGqVeJzu2W3WpIYelfz2+JV5oGxfkcEvweN9U4XpeqE0P98dcD9ssusGwlF0TK0uQ==",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
"peer": true,
"dependencies": {
- "icss-utils": "^5.0.0"
+ "htmlparser2": "^8.0.0",
+ "js-tokens": "^9.0.0",
+ "postcss": "^8.5.0",
+ "postcss-safe-parser": "^6.0.0"
},
"engines": {
- "node": "^10 || ^12 || >= 14"
- },
- "peerDependencies": {
- "postcss": "^8.1.0"
+ "node": "^12 || >=14"
}
},
+ "node_modules/postcss-html/node_modules/js-tokens": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz",
+ "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/postcss-media-query-parser": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz",
+ "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true
+ },
"node_modules/postcss-resolve-nested-selector": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.6.tgz",
@@ -15709,6 +12788,7 @@
"integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"cssesc": "^3.0.0",
"util-deprecate": "^1.0.2"
@@ -15736,35 +12816,30 @@
"node": ">= 0.8.0"
}
},
- "node_modules/prettier": {
- "version": "2.8.8",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
- "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
- "license": "MIT",
- "optional": true,
- "bin": {
- "prettier": "bin-prettier.js"
+ "node_modules/pretty-format": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz",
+ "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^17.0.1"
},
"engines": {
- "node": ">=10.13.0"
- },
- "funding": {
- "url": "https://github.com/prettier/prettier?sponsor=1"
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
}
},
- "node_modules/pretty": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/pretty/-/pretty-2.0.0.tgz",
- "integrity": "sha512-G9xUchgTEiNpormdYBl+Pha50gOUovT18IvAe7EYMZ1/f9W/WWMPRn+xI68yXNMUk3QXHDwo/1wV/4NejVNe1w==",
+ "node_modules/pretty-format/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "condense-newlines": "^0.2.1",
- "extend-shallow": "^2.0.1",
- "js-beautify": "^1.6.12"
- },
"engines": {
- "node": ">=0.10.0"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/process": {
@@ -15773,7 +12848,6 @@
"integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
"dev": true,
"license": "MIT",
- "peer": true,
"engines": {
"node": ">= 0.6.0"
}
@@ -15785,10 +12859,9 @@
"license": "MIT"
},
"node_modules/property-information": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz",
- "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==",
- "license": "MIT",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz",
+ "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
@@ -15798,34 +12871,7 @@
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
"integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/proxy-addr": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
- "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "forwarded": "0.2.0",
- "ipaddr.js": "1.9.1"
- },
- "engines": {
- "node": ">= 0.10"
- }
- },
- "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,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">= 0.10"
- }
+ "dev": true
},
"node_modules/proxy-from-env": {
"version": "1.1.0",
@@ -15833,13 +12879,6 @@
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
"license": "MIT"
},
- "node_modules/pseudomap": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
- "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==",
- "dev": true,
- "license": "ISC"
- },
"node_modules/public-encrypt": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
@@ -15871,28 +12910,6 @@
"node": ">=6"
}
},
- "node_modules/pvtsutils": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.6.tgz",
- "integrity": "sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "tslib": "^2.8.1"
- }
- },
- "node_modules/pvutils": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.1.5.tgz",
- "integrity": "sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">=16.0.0"
- }
- },
"node_modules/qified": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/qified/-/qified-0.6.0.tgz",
@@ -15913,7 +12930,6 @@
"integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==",
"dev": true,
"license": "BSD-3-Clause",
- "peer": true,
"dependencies": {
"side-channel": "^1.1.0"
},
@@ -15924,12 +12940,26 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/quansync": {
+ "version": "0.2.11",
+ "resolved": "https://registry.npmjs.org/quansync/-/quansync-0.2.11.tgz",
+ "integrity": "sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/antfu"
+ },
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/sxzz"
+ }
+ ]
+ },
"node_modules/querystring-es3": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
"integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==",
"dev": true,
- "peer": true,
"engines": {
"node": ">=0.4.x"
}
@@ -15981,117 +13011,244 @@
"safe-buffer": "^5.1.0"
}
},
- "node_modules/range-parser": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
- "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
+ "node_modules/react-is": {
+ "version": "17.0.2",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
+ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
+ "dev": true
+ },
+ "node_modules/readable-stream": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
+ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+ "license": "MIT",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/readable-stream/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "license": "MIT"
+ },
+ "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==",
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/readdirp": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
+ "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
"dev": true,
"license": "MIT",
"peer": true,
"engines": {
- "node": ">= 0.6"
+ "node": ">= 14.18.0"
+ },
+ "funding": {
+ "type": "individual",
+ "url": "https://paulmillr.com/funding/"
}
},
- "node_modules/raw-body": {
- "version": "2.5.3",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz",
- "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==",
+ "node_modules/reflect.getprototypeof": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz",
+ "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
- "bytes": "~3.1.2",
- "http-errors": "~2.0.1",
- "iconv-lite": "~0.4.24",
- "unpipe": "~1.0.0"
+ "call-bind": "^1.0.8",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.9",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0",
+ "get-intrinsic": "^1.2.7",
+ "get-proto": "^1.0.1",
+ "which-builtin-type": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/regexp.prototype.flags": {
+ "version": "1.5.4",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz",
+ "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "define-properties": "^1.2.1",
+ "es-errors": "^1.3.0",
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "set-function-name": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/rehype-external-links": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/rehype-external-links/-/rehype-external-links-3.0.0.tgz",
+ "integrity": "sha512-yp+e5N9V3C6bwBeAC4n796kc86M4gJCdlVhiMTxIrJG5UHDMh+PJANf9heqORJbt1nrCbDwIlAZKjANIaVBbvw==",
+ "dependencies": {
+ "@types/hast": "^3.0.0",
+ "@ungap/structured-clone": "^1.0.0",
+ "hast-util-is-element": "^3.0.0",
+ "is-absolute-url": "^4.0.0",
+ "space-separated-tokens": "^2.0.0",
+ "unist-util-visit": "^5.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/rehype-highlight": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/rehype-highlight/-/rehype-highlight-7.0.2.tgz",
+ "integrity": "sha512-k158pK7wdC2qL3M5NcZROZ2tR/l7zOzjxXd5VGdcfIyoijjQqpHd3JKtYSBDpDZ38UI2WJWuFAtkMDxmx5kstA==",
+ "dependencies": {
+ "@types/hast": "^3.0.0",
+ "hast-util-to-text": "^4.0.0",
+ "lowlight": "^3.0.0",
+ "unist-util-visit": "^5.0.0",
+ "vfile": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/rehype-react": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/rehype-react/-/rehype-react-8.0.0.tgz",
+ "integrity": "sha512-vzo0YxYbB2HE+36+9HWXVdxNoNDubx63r5LBzpxBGVWM8s9mdnMdbmuJBAX6TTyuGdZjZix6qU3GcSuKCIWivw==",
+ "dependencies": {
+ "@types/hast": "^3.0.0",
+ "hast-util-to-jsx-runtime": "^2.0.0",
+ "unified": "^11.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-breaks": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/remark-breaks/-/remark-breaks-4.0.0.tgz",
+ "integrity": "sha512-IjEjJOkH4FuJvHZVIW0QCDWxcG96kCq7An/KVH2NfJe6rKZU2AsHeB3OEjPNRxi4QC34Xdx7I2KGYn6IpT7gxQ==",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "mdast-util-newline-to-break": "^2.0.0",
+ "unified": "^11.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-parse": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz",
+ "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==",
+ "dependencies": {
+ "@types/mdast": "^4.0.0",
+ "mdast-util-from-markdown": "^2.0.0",
+ "micromark-util-types": "^2.0.0",
+ "unified": "^11.0.0"
},
- "engines": {
- "node": ">= 0.8"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "node_modules/readable-stream": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
- "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
- "license": "MIT",
+ "node_modules/remark-rehype": {
+ "version": "11.1.2",
+ "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz",
+ "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==",
"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"
+ "@types/hast": "^3.0.0",
+ "@types/mdast": "^4.0.0",
+ "mdast-util-to-hast": "^13.0.0",
+ "unified": "^11.0.0",
+ "vfile": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "node_modules/readable-stream/node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "license": "MIT"
- },
- "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==",
- "license": "MIT",
+ "node_modules/remark-unlink-protocols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/remark-unlink-protocols/-/remark-unlink-protocols-1.0.0.tgz",
+ "integrity": "sha512-5j/F28jhFmxeyz8nuJYYIWdR4nNpKWZ8A+tVwnK/0pq7Rjue33CINEYSckSq2PZvedhKUwbn08qyiuGoPLBung==",
"dependencies": {
- "safe-buffer": "~5.1.0"
+ "@types/mdast": "^4.0.0",
+ "mdast-squeeze-paragraphs": "^6.0.0",
+ "unist-util-visit": "^5.0.0"
}
},
- "node_modules/readdirp": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
- "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
+ "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,
"license": "MIT",
- "peer": true,
"engines": {
- "node": ">= 14.18.0"
- },
- "funding": {
- "type": "individual",
- "url": "https://paulmillr.com/funding/"
+ "node": ">=0.10.0"
}
},
- "node_modules/rechoir": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz",
- "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==",
+ "node_modules/requireindex": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.2.0.tgz",
+ "integrity": "sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==",
"dev": true,
"license": "MIT",
"peer": true,
- "dependencies": {
- "resolve": "^1.20.0"
- },
"engines": {
- "node": ">= 10.13.0"
+ "node": ">=0.10.5"
}
},
- "node_modules/reflect-metadata": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz",
- "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==",
- "dev": true,
- "license": "Apache-2.0",
- "peer": true
+ "node_modules/requires-port": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+ "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
+ "license": "MIT"
},
- "node_modules/reflect.getprototypeof": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz",
- "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==",
+ "node_modules/resolve": {
+ "version": "1.22.11",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz",
+ "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
- "call-bind": "^1.0.8",
- "define-properties": "^1.2.1",
- "es-abstract": "^1.23.9",
- "es-errors": "^1.3.0",
- "es-object-atoms": "^1.0.0",
- "get-intrinsic": "^1.2.7",
- "get-proto": "^1.0.1",
- "which-builtin-type": "^1.2.1"
+ "is-core-module": "^2.16.1",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
},
"engines": {
"node": ">= 0.4"
@@ -16100,536 +13257,711 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/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,
- "license": "MIT",
- "peer": true
- },
- "node_modules/regenerate-unicode-properties": {
- "version": "10.2.2",
- "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.2.tgz",
- "integrity": "sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==",
+ "node_modules/resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
"dev": true,
"license": "MIT",
"peer": true,
- "dependencies": {
- "regenerate": "^1.4.2"
- },
"engines": {
"node": ">=4"
}
},
- "node_modules/regexp.prototype.flags": {
- "version": "1.5.4",
- "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz",
- "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==",
+ "node_modules/resolve-pkg-maps": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz",
+ "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==",
"dev": true,
"license": "MIT",
"peer": true,
- "dependencies": {
- "call-bind": "^1.0.8",
- "define-properties": "^1.2.1",
- "es-errors": "^1.3.0",
- "get-proto": "^1.0.1",
- "gopd": "^1.2.0",
- "set-function-name": "^2.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
"funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1"
}
},
- "node_modules/regexpu-core": {
- "version": "6.4.0",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.4.0.tgz",
- "integrity": "sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==",
+ "node_modules/resolve.exports": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz",
+ "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==",
"dev": true,
"license": "MIT",
"peer": true,
- "dependencies": {
- "regenerate": "^1.4.2",
- "regenerate-unicode-properties": "^10.2.2",
- "regjsgen": "^0.8.0",
- "regjsparser": "^0.13.0",
- "unicode-match-property-ecmascript": "^2.0.0",
- "unicode-match-property-value-ecmascript": "^2.2.1"
- },
"engines": {
- "node": ">=4"
+ "node": ">=10"
}
},
- "node_modules/regjsgen": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz",
- "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==",
+ "node_modules/reusify": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
+ "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==",
"dev": true,
"license": "MIT",
- "peer": true
+ "peer": true,
+ "engines": {
+ "iojs": ">=1.0.0",
+ "node": ">=0.10.0"
+ }
},
- "node_modules/regjsparser": {
- "version": "0.13.0",
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.0.tgz",
- "integrity": "sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==",
+ "node_modules/rfdc": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz",
+ "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA=="
+ },
+ "node_modules/rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "deprecated": "Rimraf versions prior to v4 are no longer supported",
"dev": true,
- "license": "BSD-2-Clause",
+ "license": "ISC",
"peer": true,
"dependencies": {
- "jsesc": "~3.1.0"
+ "glob": "^7.1.3"
},
"bin": {
- "regjsparser": "bin/parser"
+ "rimraf": "bin.js"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/rehype-external-links": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/rehype-external-links/-/rehype-external-links-3.0.0.tgz",
- "integrity": "sha512-yp+e5N9V3C6bwBeAC4n796kc86M4gJCdlVhiMTxIrJG5UHDMh+PJANf9heqORJbt1nrCbDwIlAZKjANIaVBbvw==",
+ "node_modules/ripemd160": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.3.tgz",
+ "integrity": "sha512-5Di9UC0+8h1L6ZD2d7awM7E/T4uA1fJRlx6zk/NvdCCVEoAnFqvHmCuNeIKoCeIixBX/q8uM+6ycDvF8woqosA==",
"license": "MIT",
"dependencies": {
- "@types/hast": "^3.0.0",
- "@ungap/structured-clone": "^1.0.0",
- "hast-util-is-element": "^3.0.0",
- "is-absolute-url": "^4.0.0",
- "space-separated-tokens": "^2.0.0",
- "unist-util-visit": "^5.0.0"
+ "hash-base": "^3.1.2",
+ "inherits": "^2.0.4"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
+ "engines": {
+ "node": ">= 0.8"
}
},
- "node_modules/rehype-highlight": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/rehype-highlight/-/rehype-highlight-7.0.2.tgz",
- "integrity": "sha512-k158pK7wdC2qL3M5NcZROZ2tR/l7zOzjxXd5VGdcfIyoijjQqpHd3JKtYSBDpDZ38UI2WJWuFAtkMDxmx5kstA==",
+ "node_modules/ripemd160/node_modules/hash-base": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.2.tgz",
+ "integrity": "sha512-Bb33KbowVTIj5s7Ked1OsqHUeCpz//tPwR+E2zJgJKo9Z5XolZ9b6bdUgjmYlwnWhoOQKoTd1TYToZGn5mAYOg==",
"license": "MIT",
"dependencies": {
- "@types/hast": "^3.0.0",
- "hast-util-to-text": "^4.0.0",
- "lowlight": "^3.0.0",
- "unist-util-visit": "^5.0.0",
- "vfile": "^6.0.0"
+ "inherits": "^2.0.4",
+ "readable-stream": "^2.3.8",
+ "safe-buffer": "^5.2.1",
+ "to-buffer": "^1.2.1"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/rollup": {
+ "version": "4.57.1",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.57.1.tgz",
+ "integrity": "sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "1.0.8"
+ },
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=18.0.0",
+ "npm": ">=8.0.0"
+ },
+ "optionalDependencies": {
+ "@rollup/rollup-android-arm-eabi": "4.57.1",
+ "@rollup/rollup-android-arm64": "4.57.1",
+ "@rollup/rollup-darwin-arm64": "4.57.1",
+ "@rollup/rollup-darwin-x64": "4.57.1",
+ "@rollup/rollup-freebsd-arm64": "4.57.1",
+ "@rollup/rollup-freebsd-x64": "4.57.1",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.57.1",
+ "@rollup/rollup-linux-arm-musleabihf": "4.57.1",
+ "@rollup/rollup-linux-arm64-gnu": "4.57.1",
+ "@rollup/rollup-linux-arm64-musl": "4.57.1",
+ "@rollup/rollup-linux-loong64-gnu": "4.57.1",
+ "@rollup/rollup-linux-loong64-musl": "4.57.1",
+ "@rollup/rollup-linux-ppc64-gnu": "4.57.1",
+ "@rollup/rollup-linux-ppc64-musl": "4.57.1",
+ "@rollup/rollup-linux-riscv64-gnu": "4.57.1",
+ "@rollup/rollup-linux-riscv64-musl": "4.57.1",
+ "@rollup/rollup-linux-s390x-gnu": "4.57.1",
+ "@rollup/rollup-linux-x64-gnu": "4.57.1",
+ "@rollup/rollup-linux-x64-musl": "4.57.1",
+ "@rollup/rollup-openbsd-x64": "4.57.1",
+ "@rollup/rollup-openharmony-arm64": "4.57.1",
+ "@rollup/rollup-win32-arm64-msvc": "4.57.1",
+ "@rollup/rollup-win32-ia32-msvc": "4.57.1",
+ "@rollup/rollup-win32-x64-gnu": "4.57.1",
+ "@rollup/rollup-win32-x64-msvc": "4.57.1",
+ "fsevents": "~2.3.2"
}
},
- "node_modules/rehype-react": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/rehype-react/-/rehype-react-7.2.0.tgz",
- "integrity": "sha512-MHYyCHka+3TtzBMKtcuvVOBAbI1HrfoYA+XH9m7/rlrQQATCPwtJnPdkxKKcIGF8vc9mxqQja9r9f+FHItQeWg==",
- "license": "MIT",
+ "node_modules/rollup-plugin-corejs": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-corejs/-/rollup-plugin-corejs-1.0.2.tgz",
+ "integrity": "sha512-1IDoQa+EW2NraBc7xANejbQwx62jNikLnDBNrzguRhfVnatyjCcmiIJJ4ScG6PwMP6OIwS8osHMl43CcVJqvaQ==",
+ "dev": true,
"dependencies": {
- "@mapbox/hast-util-table-cell-style": "^0.2.0",
- "@types/hast": "^2.0.0",
- "hast-to-hyperscript": "^10.0.0",
- "hast-util-whitespace": "^2.0.0",
- "unified": "^10.0.0"
+ "acorn": "^8.14.0",
+ "browserslist": "^4.26.3",
+ "core-js-compat": "^3.46.0",
+ "estree-toolkit": "^1.7.8",
+ "magic-string": "^0.30.19"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
+ "engines": {
+ "node": ">= 20.0.0"
},
"peerDependencies": {
- "@types/react": ">=17"
+ "rollup": "^3 || ^4"
}
},
- "node_modules/rehype-react/node_modules/@types/hast": {
- "version": "2.3.10",
- "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz",
- "integrity": "sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==",
- "license": "MIT",
+ "node_modules/rollup-plugin-esbuild-minify": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-esbuild-minify/-/rollup-plugin-esbuild-minify-1.3.0.tgz",
+ "integrity": "sha512-y7BDyMMGYhq5901EijNABWgjEzC8myYhOXKmlnU8xIRvX7KQucSWABBR3IEyITuLJFyq/rXIlezDh9zvnR0k2w==",
+ "dev": true,
"dependencies": {
- "@types/unist": "^2"
+ "esbuild": "^0.25.3"
+ },
+ "engines": {
+ "node": ">= 14.18"
+ },
+ "peerDependencies": {
+ "rollup": "^2 || ^3 || ^4"
}
},
- "node_modules/rehype-react/node_modules/@types/unist": {
- "version": "2.0.11",
- "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz",
- "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==",
- "license": "MIT"
+ "node_modules/rollup-plugin-esbuild-minify/node_modules/@esbuild/aix-ppc64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz",
+ "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "aix"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
},
- "node_modules/rehype-react/node_modules/is-buffer": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
- "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==",
- "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/rollup-plugin-esbuild-minify/node_modules/@esbuild/android-arm": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz",
+ "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
],
- "license": "MIT",
"engines": {
- "node": ">=4"
+ "node": ">=18"
}
},
- "node_modules/rehype-react/node_modules/unified": {
- "version": "10.1.2",
- "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz",
- "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0",
- "bail": "^2.0.0",
- "extend": "^3.0.0",
- "is-buffer": "^2.0.0",
- "is-plain-obj": "^4.0.0",
- "trough": "^2.0.0",
- "vfile": "^5.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
+ "node_modules/rollup-plugin-esbuild-minify/node_modules/@esbuild/android-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz",
+ "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
}
},
- "node_modules/rehype-react/node_modules/unist-util-stringify-position": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz",
- "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
+ "node_modules/rollup-plugin-esbuild-minify/node_modules/@esbuild/android-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz",
+ "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
}
},
- "node_modules/rehype-react/node_modules/vfile": {
- "version": "5.3.7",
- "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz",
- "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0",
- "is-buffer": "^2.0.0",
- "unist-util-stringify-position": "^3.0.0",
- "vfile-message": "^3.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
+ "node_modules/rollup-plugin-esbuild-minify/node_modules/@esbuild/darwin-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz",
+ "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
}
},
- "node_modules/rehype-react/node_modules/vfile-message": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz",
- "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0",
- "unist-util-stringify-position": "^3.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
+ "node_modules/rollup-plugin-esbuild-minify/node_modules/@esbuild/darwin-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz",
+ "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
}
},
- "node_modules/remark-breaks": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/remark-breaks/-/remark-breaks-4.0.0.tgz",
- "integrity": "sha512-IjEjJOkH4FuJvHZVIW0QCDWxcG96kCq7An/KVH2NfJe6rKZU2AsHeB3OEjPNRxi4QC34Xdx7I2KGYn6IpT7gxQ==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "mdast-util-newline-to-break": "^2.0.0",
- "unified": "^11.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
+ "node_modules/rollup-plugin-esbuild-minify/node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz",
+ "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=18"
}
},
- "node_modules/remark-parse": {
- "version": "11.0.0",
- "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz",
- "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "mdast-util-from-markdown": "^2.0.0",
- "micromark-util-types": "^2.0.0",
- "unified": "^11.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
+ "node_modules/rollup-plugin-esbuild-minify/node_modules/@esbuild/freebsd-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz",
+ "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=18"
}
},
- "node_modules/remark-rehype": {
- "version": "11.1.2",
- "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz",
- "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==",
- "license": "MIT",
- "dependencies": {
- "@types/hast": "^3.0.0",
- "@types/mdast": "^4.0.0",
- "mdast-util-to-hast": "^13.0.0",
- "unified": "^11.0.0",
- "vfile": "^6.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
+ "node_modules/rollup-plugin-esbuild-minify/node_modules/@esbuild/linux-arm": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz",
+ "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
}
},
- "node_modules/remark-unlink-protocols": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/remark-unlink-protocols/-/remark-unlink-protocols-1.0.0.tgz",
- "integrity": "sha512-5j/F28jhFmxeyz8nuJYYIWdR4nNpKWZ8A+tVwnK/0pq7Rjue33CINEYSckSq2PZvedhKUwbn08qyiuGoPLBung==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^4.0.0",
- "mdast-squeeze-paragraphs": "^6.0.0",
- "unist-util-visit": "^5.0.0"
+ "node_modules/rollup-plugin-esbuild-minify/node_modules/@esbuild/linux-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz",
+ "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/rollup-plugin-esbuild-minify/node_modules/@esbuild/linux-ia32": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz",
+ "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/rollup-plugin-esbuild-minify/node_modules/@esbuild/linux-loong64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz",
+ "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/rollup-plugin-esbuild-minify/node_modules/@esbuild/linux-mips64el": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz",
+ "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
}
},
- "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==",
- "license": "MIT",
+ "node_modules/rollup-plugin-esbuild-minify/node_modules/@esbuild/linux-ppc64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz",
+ "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=0.10.0"
+ "node": ">=18"
}
},
- "node_modules/requireindex": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.2.0.tgz",
- "integrity": "sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==",
+ "node_modules/rollup-plugin-esbuild-minify/node_modules/@esbuild/linux-riscv64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz",
+ "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==",
+ "cpu": [
+ "riscv64"
+ ],
"dev": true,
- "license": "MIT",
- "peer": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=0.10.5"
+ "node": ">=18"
}
},
- "node_modules/requires-port": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
- "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
- "license": "MIT"
- },
- "node_modules/resolve": {
- "version": "1.22.11",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz",
- "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==",
+ "node_modules/rollup-plugin-esbuild-minify/node_modules/@esbuild/linux-s390x": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz",
+ "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==",
+ "cpu": [
+ "s390x"
+ ],
"dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "is-core-module": "^2.16.1",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- },
- "bin": {
- "resolve": "bin/resolve"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "node": ">=18"
}
},
- "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==",
+ "node_modules/rollup-plugin-esbuild-minify/node_modules/@esbuild/linux-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz",
+ "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "resolve-from": "^5.0.0"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=8"
+ "node": ">=18"
}
},
- "node_modules/resolve-cwd/node_modules/resolve-from": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "node_modules/rollup-plugin-esbuild-minify/node_modules/@esbuild/netbsd-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz",
+ "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "license": "MIT",
- "peer": true,
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
"engines": {
- "node": ">=8"
+ "node": ">=18"
}
},
- "node_modules/resolve-from": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "node_modules/rollup-plugin-esbuild-minify/node_modules/@esbuild/netbsd-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz",
+ "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "license": "MIT",
- "peer": true,
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
"engines": {
- "node": ">=4"
+ "node": ">=18"
}
},
- "node_modules/resolve-pkg-maps": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz",
- "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==",
+ "node_modules/rollup-plugin-esbuild-minify/node_modules/@esbuild/openbsd-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz",
+ "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "license": "MIT",
- "funding": {
- "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1"
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=18"
}
},
- "node_modules/resolve.exports": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz",
- "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==",
+ "node_modules/rollup-plugin-esbuild-minify/node_modules/@esbuild/openbsd-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz",
+ "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "license": "MIT",
- "peer": true,
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
"engines": {
- "node": ">=10"
+ "node": ">=18"
}
},
- "node_modules/retry": {
- "version": "0.13.1",
- "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
- "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==",
+ "node_modules/rollup-plugin-esbuild-minify/node_modules/@esbuild/openharmony-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz",
+ "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "license": "MIT",
- "peer": true,
+ "optional": true,
+ "os": [
+ "openharmony"
+ ],
"engines": {
- "node": ">= 4"
+ "node": ">=18"
}
},
- "node_modules/reusify": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
- "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==",
+ "node_modules/rollup-plugin-esbuild-minify/node_modules/@esbuild/sunos-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz",
+ "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "license": "MIT",
- "peer": true,
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
"engines": {
- "iojs": ">=1.0.0",
- "node": ">=0.10.0"
+ "node": ">=18"
}
},
- "node_modules/rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "deprecated": "Rimraf versions prior to v4 are no longer supported",
+ "node_modules/rollup-plugin-esbuild-minify/node_modules/@esbuild/win32-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz",
+ "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "license": "ISC",
- "peer": true,
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
}
},
- "node_modules/ripemd160": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.3.tgz",
- "integrity": "sha512-5Di9UC0+8h1L6ZD2d7awM7E/T4uA1fJRlx6zk/NvdCCVEoAnFqvHmCuNeIKoCeIixBX/q8uM+6ycDvF8woqosA==",
- "license": "MIT",
- "dependencies": {
- "hash-base": "^3.1.2",
- "inherits": "^2.0.4"
- },
+ "node_modules/rollup-plugin-esbuild-minify/node_modules/@esbuild/win32-ia32": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz",
+ "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
"engines": {
- "node": ">= 0.8"
+ "node": ">=18"
}
},
- "node_modules/ripemd160/node_modules/hash-base": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.2.tgz",
- "integrity": "sha512-Bb33KbowVTIj5s7Ked1OsqHUeCpz//tPwR+E2zJgJKo9Z5XolZ9b6bdUgjmYlwnWhoOQKoTd1TYToZGn5mAYOg==",
- "license": "MIT",
- "dependencies": {
- "inherits": "^2.0.4",
- "readable-stream": "^2.3.8",
- "safe-buffer": "^5.2.1",
- "to-buffer": "^1.2.1"
- },
+ "node_modules/rollup-plugin-esbuild-minify/node_modules/@esbuild/win32-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz",
+ "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
"engines": {
- "node": ">= 0.8"
+ "node": ">=18"
}
},
- "node_modules/rollup": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.57.1.tgz",
- "integrity": "sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==",
+ "node_modules/rollup-plugin-esbuild-minify/node_modules/esbuild": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz",
+ "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/estree": "1.0.8"
- },
+ "hasInstallScript": true,
"bin": {
- "rollup": "dist/bin/rollup"
+ "esbuild": "bin/esbuild"
},
"engines": {
- "node": ">=18.0.0",
- "npm": ">=8.0.0"
+ "node": ">=18"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.25.12",
+ "@esbuild/android-arm": "0.25.12",
+ "@esbuild/android-arm64": "0.25.12",
+ "@esbuild/android-x64": "0.25.12",
+ "@esbuild/darwin-arm64": "0.25.12",
+ "@esbuild/darwin-x64": "0.25.12",
+ "@esbuild/freebsd-arm64": "0.25.12",
+ "@esbuild/freebsd-x64": "0.25.12",
+ "@esbuild/linux-arm": "0.25.12",
+ "@esbuild/linux-arm64": "0.25.12",
+ "@esbuild/linux-ia32": "0.25.12",
+ "@esbuild/linux-loong64": "0.25.12",
+ "@esbuild/linux-mips64el": "0.25.12",
+ "@esbuild/linux-ppc64": "0.25.12",
+ "@esbuild/linux-riscv64": "0.25.12",
+ "@esbuild/linux-s390x": "0.25.12",
+ "@esbuild/linux-x64": "0.25.12",
+ "@esbuild/netbsd-arm64": "0.25.12",
+ "@esbuild/netbsd-x64": "0.25.12",
+ "@esbuild/openbsd-arm64": "0.25.12",
+ "@esbuild/openbsd-x64": "0.25.12",
+ "@esbuild/openharmony-arm64": "0.25.12",
+ "@esbuild/sunos-x64": "0.25.12",
+ "@esbuild/win32-arm64": "0.25.12",
+ "@esbuild/win32-ia32": "0.25.12",
+ "@esbuild/win32-x64": "0.25.12"
+ }
+ },
+ "node_modules/rollup-plugin-license": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-license/-/rollup-plugin-license-3.7.0.tgz",
+ "integrity": "sha512-RvvOIF+GH3fBR3wffgc/vmjQn6qOn72WjppWVDp/v+CLpT0BbcRBdSkPeeIOL6U5XccdYgSIMjUyXgxlKEEFcw==",
+ "dev": true,
+ "dependencies": {
+ "commenting": "^1.1.0",
+ "fdir": "^6.4.3",
+ "lodash": "^4.17.21",
+ "magic-string": "^0.30.0",
+ "moment": "^2.30.1",
+ "package-name-regex": "^2.0.6",
+ "spdx-expression-validate": "^2.0.0",
+ "spdx-satisfies": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0"
+ }
+ },
+ "node_modules/rollup-plugin-license/node_modules/fdir": {
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
+ "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
+ "dev": true,
+ "engines": {
+ "node": ">=12.0.0"
},
- "optionalDependencies": {
- "@rollup/rollup-android-arm-eabi": "4.57.1",
- "@rollup/rollup-android-arm64": "4.57.1",
- "@rollup/rollup-darwin-arm64": "4.57.1",
- "@rollup/rollup-darwin-x64": "4.57.1",
- "@rollup/rollup-freebsd-arm64": "4.57.1",
- "@rollup/rollup-freebsd-x64": "4.57.1",
- "@rollup/rollup-linux-arm-gnueabihf": "4.57.1",
- "@rollup/rollup-linux-arm-musleabihf": "4.57.1",
- "@rollup/rollup-linux-arm64-gnu": "4.57.1",
- "@rollup/rollup-linux-arm64-musl": "4.57.1",
- "@rollup/rollup-linux-loong64-gnu": "4.57.1",
- "@rollup/rollup-linux-loong64-musl": "4.57.1",
- "@rollup/rollup-linux-ppc64-gnu": "4.57.1",
- "@rollup/rollup-linux-ppc64-musl": "4.57.1",
- "@rollup/rollup-linux-riscv64-gnu": "4.57.1",
- "@rollup/rollup-linux-riscv64-musl": "4.57.1",
- "@rollup/rollup-linux-s390x-gnu": "4.57.1",
- "@rollup/rollup-linux-x64-gnu": "4.57.1",
- "@rollup/rollup-linux-x64-musl": "4.57.1",
- "@rollup/rollup-openbsd-x64": "4.57.1",
- "@rollup/rollup-openharmony-arm64": "4.57.1",
- "@rollup/rollup-win32-arm64-msvc": "4.57.1",
- "@rollup/rollup-win32-ia32-msvc": "4.57.1",
- "@rollup/rollup-win32-x64-gnu": "4.57.1",
- "@rollup/rollup-win32-x64-msvc": "4.57.1",
- "fsevents": "~2.3.2"
+ "peerDependencies": {
+ "picomatch": "^3 || ^4"
+ },
+ "peerDependenciesMeta": {
+ "picomatch": {
+ "optional": true
+ }
}
},
- "node_modules/run-applescript": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz",
- "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==",
+ "node_modules/rollup-plugin-license/node_modules/picomatch": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
"dev": true,
- "license": "MIT",
+ "optional": true,
"peer": true,
"engines": {
- "node": ">=18"
+ "node": ">=12"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/rollup-plugin-node-externals": {
+ "version": "8.1.2",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-node-externals/-/rollup-plugin-node-externals-8.1.2.tgz",
+ "integrity": "sha512-EuB6/lolkMLK16gvibUjikERq5fCRVIGwD2xue/CrM8D0pz5GXD2V6N8IrgxegwbcUoKkUFI8VYCEEv8MMvgpA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "patreon",
+ "url": "https://patreon.com/Septh"
+ },
+ {
+ "type": "paypal",
+ "url": "https://paypal.me/septh07"
+ }
+ ],
+ "engines": {
+ "node": ">= 21 || ^20.6.0 || ^18.19.0"
+ },
+ "peerDependencies": {
+ "rollup": "^4.0.0"
}
},
"node_modules/run-parallel": {
@@ -16692,410 +14024,124 @@
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"funding": [
{
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT"
- },
- "node_modules/safe-push-apply": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz",
- "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "es-errors": "^1.3.0",
- "isarray": "^2.0.5"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/safe-push-apply/node_modules/isarray": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
- "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
- "dev": true,
- "license": "MIT",
- "peer": true
- },
- "node_modules/safe-regex-test": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz",
- "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "call-bound": "^1.0.2",
- "es-errors": "^1.3.0",
- "is-regex": "^1.2.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true,
- "license": "MIT",
- "peer": true
- },
- "node_modules/sass": {
- "version": "1.97.2",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.97.2.tgz",
- "integrity": "sha512-y5LWb0IlbO4e97Zr7c3mlpabcbBtS+ieiZ9iwDooShpFKWXf62zz5pEPdwrLYm+Bxn1fnbwFGzHuCLSA9tBmrw==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "chokidar": "^4.0.0",
- "immutable": "^5.0.2",
- "source-map-js": ">=0.6.2 <2.0.0"
- },
- "bin": {
- "sass": "sass.js"
- },
- "engines": {
- "node": ">=14.0.0"
- },
- "optionalDependencies": {
- "@parcel/watcher": "^2.4.1"
- }
- },
- "node_modules/sass-loader": {
- "version": "16.0.6",
- "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.6.tgz",
- "integrity": "sha512-sglGzId5gmlfxNs4gK2U3h7HlVRfx278YK6Ono5lwzuvi1jxig80YiuHkaDBVsYIKFhx8wN7XSCI0M2IDS/3qA==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "neo-async": "^2.6.2"
- },
- "engines": {
- "node": ">= 18.12.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "@rspack/core": "0.x || 1.x",
- "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0",
- "sass": "^1.3.0",
- "sass-embedded": "*",
- "webpack": "^5.0.0"
- },
- "peerDependenciesMeta": {
- "@rspack/core": {
- "optional": true
- },
- "node-sass": {
- "optional": true
- },
- "sass": {
- "optional": true
- },
- "sass-embedded": {
- "optional": true
- },
- "webpack": {
- "optional": true
- }
- }
- },
- "node_modules/sax": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.4.tgz",
- "integrity": "sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==",
- "license": "BlueOak-1.0.0",
- "engines": {
- "node": ">=11.0.0"
- }
- },
- "node_modules/saxes": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz",
- "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==",
- "dev": true,
- "license": "ISC",
- "optional": true,
- "peer": true,
- "dependencies": {
- "xmlchars": "^2.2.0"
- },
- "engines": {
- "node": ">=v12.22.7"
- }
- },
- "node_modules/schema-utils": {
- "version": "4.3.3",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz",
- "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==",
- "license": "MIT",
- "dependencies": {
- "@types/json-schema": "^7.0.9",
- "ajv": "^8.9.0",
- "ajv-formats": "^2.1.1",
- "ajv-keywords": "^5.1.0"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- }
- },
- "node_modules/schema-utils/node_modules/ajv": {
- "version": "8.17.1",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
- "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
- "license": "MIT",
- "dependencies": {
- "fast-deep-equal": "^3.1.3",
- "fast-uri": "^3.0.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/schema-utils/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==",
- "license": "MIT",
- "dependencies": {
- "fast-deep-equal": "^3.1.3"
- },
- "peerDependencies": {
- "ajv": "^8.8.2"
- }
- },
- "node_modules/schema-utils/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==",
- "license": "MIT"
- },
- "node_modules/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,
- "license": "MIT",
- "peer": true
- },
- "node_modules/selfsigned": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-5.5.0.tgz",
- "integrity": "sha512-ftnu3TW4+3eBfLRFnDEkzGxSF/10BJBkaLJuBHZX0kiPS7bRdlpZGu6YGt4KngMkdTwJE6MbjavFpqHvqVt+Ew==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@peculiar/x509": "^1.14.2",
- "pkijs": "^3.3.3"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
},
- "node_modules/send": {
- "version": "0.19.2",
- "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz",
- "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==",
+ "node_modules/safe-push-apply": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz",
+ "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
- "debug": "2.6.9",
- "depd": "2.0.0",
- "destroy": "1.2.0",
- "encodeurl": "~2.0.0",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "fresh": "~0.5.2",
- "http-errors": "~2.0.1",
- "mime": "1.6.0",
- "ms": "2.1.3",
- "on-finished": "~2.4.1",
- "range-parser": "~1.2.1",
- "statuses": "~2.0.2"
+ "es-errors": "^1.3.0",
+ "isarray": "^2.0.5"
},
"engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/send/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "ms": "2.0.0"
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/send/node_modules/debug/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "node_modules/safe-push-apply/node_modules/isarray": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
+ "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
"dev": true,
"license": "MIT",
"peer": true
},
- "node_modules/serialize-javascript": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
- "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
- "license": "BSD-3-Clause",
- "dependencies": {
- "randombytes": "^2.1.0"
- }
- },
- "node_modules/serve-index": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
- "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==",
+ "node_modules/safe-regex-test": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz",
+ "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
- "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"
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "is-regex": "^1.2.1"
},
"engines": {
- "node": ">= 0.8.0"
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/serve-index/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/sass": {
+ "version": "1.97.2",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.97.2.tgz",
+ "integrity": "sha512-y5LWb0IlbO4e97Zr7c3mlpabcbBtS+ieiZ9iwDooShpFKWXf62zz5pEPdwrLYm+Bxn1fnbwFGzHuCLSA9tBmrw==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
- "ms": "2.0.0"
+ "chokidar": "^4.0.0",
+ "immutable": "^5.0.2",
+ "source-map-js": ">=0.6.2 <2.0.0"
+ },
+ "bin": {
+ "sass": "sass.js"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "optionalDependencies": {
+ "@parcel/watcher": "^2.4.1"
}
},
- "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,
- "license": "MIT",
- "peer": true,
+ "node_modules/sax": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.4.tgz",
+ "integrity": "sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==",
+ "license": "BlueOak-1.0.0",
"engines": {
- "node": ">= 0.6"
+ "node": ">=11.0.0"
}
},
- "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": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==",
+ "node_modules/saxes": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz",
+ "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==",
"dev": true,
- "license": "MIT",
+ "license": "ISC",
+ "optional": true,
"peer": true,
"dependencies": {
- "depd": "~1.1.2",
- "inherits": "2.0.3",
- "setprototypeof": "1.1.0",
- "statuses": ">= 1.4.0 < 2"
+ "xmlchars": "^2.2.0"
},
"engines": {
- "node": ">= 0.6"
+ "node": ">=v12.22.7"
}
},
- "node_modules/serve-index/node_modules/inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==",
- "dev": true,
- "license": "ISC",
- "peer": true
- },
- "node_modules/serve-index/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true,
- "license": "MIT",
- "peer": true
+ "node_modules/scule": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/scule/-/scule-1.3.0.tgz",
+ "integrity": "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g=="
},
- "node_modules/serve-index/node_modules/setprototypeof": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
- "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
+ "node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"dev": true,
"license": "ISC",
- "peer": 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,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/serve-static": {
- "version": "1.16.3",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz",
- "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==",
- "dev": true,
- "license": "MIT",
"peer": true,
- "dependencies": {
- "encodeurl": "~2.0.0",
- "escape-html": "~1.0.3",
- "parseurl": "~1.3.3",
- "send": "~0.19.1"
- },
- "engines": {
- "node": ">= 0.8.0"
+ "bin": {
+ "semver": "bin/semver.js"
}
},
"node_modules/set-function-length": {
@@ -17121,7 +14167,6 @@
"integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"define-data-property": "^1.1.4",
"es-errors": "^1.3.0",
@@ -17153,16 +14198,7 @@
"resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
"integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==",
"dev": true,
- "license": "MIT",
- "peer": true
- },
- "node_modules/setprototypeof": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
- "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
- "dev": true,
- "license": "ISC",
- "peer": true
+ "license": "MIT"
},
"node_modules/sha.js": {
"version": "2.4.12",
@@ -17184,20 +14220,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "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,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "kind-of": "^6.0.2"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/shebang-command": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
@@ -17221,27 +14243,12 @@
"node": ">=8"
}
},
- "node_modules/shell-quote": {
- "version": "1.8.3",
- "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz",
- "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
"node_modules/side-channel": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
"integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"es-errors": "^1.3.0",
"object-inspect": "^1.13.3",
@@ -17262,7 +14269,6 @@
"integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"es-errors": "^1.3.0",
"object-inspect": "^1.13.3"
@@ -17280,7 +14286,6 @@
"integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"call-bound": "^1.0.2",
"es-errors": "^1.3.0",
@@ -17300,7 +14305,6 @@
"integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"call-bound": "^1.0.2",
"es-errors": "^1.3.0",
@@ -17371,42 +14375,10 @@
"url": "https://github.com/chalk/slice-ansi?sponsor=1"
}
},
- "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,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "faye-websocket": "^0.11.3",
- "uuid": "^8.3.2",
- "websocket-driver": "^0.7.4"
- }
- },
"node_modules/sortablejs": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.10.2.tgz",
- "integrity": "sha512-YkPGufevysvfwn5rfdlGyrGjt7/CRHwvRPogD/lC+TnvcN29jDpCifKP+rBqf+LRldfXSTh+0CGLcSg0VIxq3A==",
- "license": "MIT"
- },
- "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==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/source-map": {
- "version": "0.7.6",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz",
- "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==",
- "dev": true,
- "license": "BSD-3-Clause",
- "peer": true,
- "engines": {
- "node": ">= 12"
- }
+ "version": "1.15.7",
+ "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.15.7.tgz",
+ "integrity": "sha512-Kk8wLQPlS+yi1ZEf48a4+fzHa4yxjC30M/Sr2AnQu+f/MPwvvX9XjZ6OWejiz8crBsLwSq8GHqaxaET7u6ux0A=="
},
"node_modules/source-map-js": {
"version": "1.2.1",
@@ -17421,7 +14393,9 @@
"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,
"license": "MIT",
+ "optional": true,
"peer": true,
"dependencies": {
"buffer-from": "^1.0.0",
@@ -17432,7 +14406,9 @@
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true,
"license": "BSD-3-Clause",
+ "optional": true,
"peer": true,
"engines": {
"node": ">=0.10.0"
@@ -17442,19 +14418,38 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz",
"integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==",
- "license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
}
},
+ "node_modules/spdx-compare": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/spdx-compare/-/spdx-compare-1.0.0.tgz",
+ "integrity": "sha512-C1mDZOX0hnu0ep9dfmuoi03+eOdDoz2yvK79RxbcrVEG1NO1Ph35yW102DHWKN4pk80nwCgeMmSY5L25VE4D9A==",
+ "dev": true,
+ "dependencies": {
+ "array-find-index": "^1.0.2",
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-ranges": "^2.0.0"
+ }
+ },
+ "node_modules/spdx-compare/node_modules/spdx-expression-parse": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
+ "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
+ "dev": true,
+ "dependencies": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
"node_modules/spdx-exceptions": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz",
"integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==",
"dev": true,
- "license": "CC-BY-3.0",
- "peer": true
+ "license": "CC-BY-3.0"
},
"node_modules/spdx-expression-parse": {
"version": "4.0.0",
@@ -17462,7 +14457,25 @@
"integrity": "sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==",
"dev": true,
"license": "MIT",
- "peer": true,
+ "dependencies": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "node_modules/spdx-expression-validate": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/spdx-expression-validate/-/spdx-expression-validate-2.0.0.tgz",
+ "integrity": "sha512-b3wydZLM+Tc6CFvaRDBOF9d76oGIHNCLYFeHbftFXUWjnfZWganmDmvtM5sm1cRwJc/VDBMLyGGrsLFd1vOxbg==",
+ "dev": true,
+ "dependencies": {
+ "spdx-expression-parse": "^3.0.0"
+ }
+ },
+ "node_modules/spdx-expression-validate/node_modules/spdx-expression-parse": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
+ "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
+ "dev": true,
"dependencies": {
"spdx-exceptions": "^2.1.0",
"spdx-license-ids": "^3.0.0"
@@ -17473,64 +14486,59 @@
"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz",
"integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==",
"dev": true,
- "license": "CC0-1.0",
- "peer": true
+ "license": "CC0-1.0"
},
- "node_modules/spdy": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz",
- "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==",
+ "node_modules/spdx-ranges": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/spdx-ranges/-/spdx-ranges-2.1.1.tgz",
+ "integrity": "sha512-mcdpQFV7UDAgLpXEE/jOMqvK4LBoO0uTQg0uvXUewmEFhpiZx5yJSZITHB8w1ZahKdhfZqP5GPEOKLyEq5p8XA==",
+ "dev": true
+ },
+ "node_modules/spdx-satisfies": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/spdx-satisfies/-/spdx-satisfies-5.0.1.tgz",
+ "integrity": "sha512-Nwor6W6gzFp8XX4neaKQ7ChV4wmpSh2sSDemMFSzHxpTw460jxFYeOn+jq4ybnSSw/5sc3pjka9MQPouksQNpw==",
"dev": true,
- "license": "MIT",
- "peer": true,
"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"
- },
- "engines": {
- "node": ">=6.0.0"
+ "spdx-compare": "^1.0.0",
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-ranges": "^2.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==",
+ "node_modules/spdx-satisfies/node_modules/spdx-expression-parse": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
+ "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
"dev": true,
- "license": "MIT",
- "peer": 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"
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
}
},
- "node_modules/spdy-transport/node_modules/readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
+ "node_modules/speakingurl": {
+ "version": "14.0.1",
+ "resolved": "https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz",
+ "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==",
"engines": {
- "node": ">= 6"
+ "node": ">=0.10.0"
}
},
"node_modules/splitpanes": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/splitpanes/-/splitpanes-2.4.1.tgz",
- "integrity": "sha512-kpEo1WuMXuc6QfdQdO2V/fl/trONlkUKp+pputsLTiW9RMtwEvjb4/aYGm2m3+KAzjmb+zLwr4A4SYZu74+pgQ==",
- "license": "MIT"
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/splitpanes/-/splitpanes-4.0.4.tgz",
+ "integrity": "sha512-RbysugZhjbCw5fgplvk3hOXr41stahQDtZhHVkhnnJI6H4wlGDhM2kIpbehy7v92duy9GnMa8zIhHigIV1TWtg==",
+ "funding": {
+ "url": "https://github.com/sponsors/antoniandre"
+ },
+ "peerDependencies": {
+ "vue": "^3.2.0"
+ }
+ },
+ "node_modules/sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
+ "dev": true
},
"node_modules/stable-hash": {
"version": "0.0.5",
@@ -17547,17 +14555,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/statuses": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz",
- "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
"node_modules/std-env": {
"version": "3.10.0",
"resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz",
@@ -17571,7 +14568,6 @@
"integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"es-errors": "^1.3.0",
"internal-slot": "^1.1.0"
@@ -17586,7 +14582,6 @@
"integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"inherits": "~2.0.4",
"readable-stream": "^3.5.0"
@@ -17598,7 +14593,6 @@
"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
@@ -17614,7 +14608,6 @@
"integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"builtin-status-codes": "^3.0.0",
"inherits": "^2.0.4",
@@ -17628,7 +14621,6 @@
"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
@@ -17644,64 +14636,28 @@
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"safe-buffer": "~5.2.0"
}
},
- "node_modules/string-length": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz",
- "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==",
- "license": "MIT",
- "dependencies": {
- "char-regex": "^2.0.0",
- "strip-ansi": "^7.0.1"
- },
- "engines": {
- "node": ">=12.20"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/string-length/node_modules/ansi-regex": {
- "version": "6.2.2",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
- "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-regex?sponsor=1"
- }
- },
- "node_modules/string-length/node_modules/strip-ansi": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
- "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^6.0.1"
- },
+ "node_modules/string-argv": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz",
+ "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==",
+ "dev": true,
"engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ "node": ">=0.6.19"
}
},
"node_modules/string-width": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.0.tgz",
- "integrity": "sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==",
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.0.tgz",
+ "integrity": "sha512-6hJPQ8N0V0P3SNmP6h2J99RLuzrWz2gvT7VnK5tKvrNqJoyS9W4/Fb8mo31UiPvy00z7DQXkP2hnKBVav76thw==",
"dev": true,
- "license": "MIT",
"peer": true,
"dependencies": {
- "get-east-asian-width": "^1.3.0",
- "strip-ansi": "^7.1.0"
+ "get-east-asian-width": "^1.5.0",
+ "strip-ansi": "^7.1.2"
},
"engines": {
"node": ">=20"
@@ -17716,7 +14672,6 @@
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"dev": true,
- "license": "MIT",
"dependencies": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
@@ -17731,7 +14686,6 @@
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
"integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
"dev": true,
- "license": "MIT",
"peer": true,
"engines": {
"node": ">=12"
@@ -17741,14 +14695,13 @@
}
},
"node_modules/string-width/node_modules/strip-ansi": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
- "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz",
+ "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
"dev": true,
- "license": "MIT",
"peer": true,
"dependencies": {
- "ansi-regex": "^6.0.1"
+ "ansi-regex": "^6.2.2"
},
"engines": {
"node": ">=12"
@@ -17819,6 +14772,19 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/stringify-entities": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz",
+ "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==",
+ "dependencies": {
+ "character-entities-html4": "^2.0.0",
+ "character-entities-legacy": "^3.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
"node_modules/strip-ansi": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
@@ -17838,7 +14804,6 @@
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true,
- "license": "MIT",
"dependencies": {
"ansi-regex": "^5.0.1"
},
@@ -17863,7 +14828,6 @@
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
"dev": true,
"license": "MIT",
- "peer": true,
"engines": {
"node": ">=8"
},
@@ -17874,20 +14838,21 @@
"node_modules/striptags": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/striptags/-/striptags-3.2.0.tgz",
- "integrity": "sha512-g45ZOGzHDMe2bdYMdIvdAfCQkCTDMGBazSw1ypMowwGIee7ZQ5dU0rBJ8Jqgl+jAKIv4dbeE1jscZq9wid1Tkw==",
- "license": "MIT"
+ "integrity": "sha512-g45ZOGzHDMe2bdYMdIvdAfCQkCTDMGBazSw1ypMowwGIee7ZQ5dU0rBJ8Jqgl+jAKIv4dbeE1jscZq9wid1Tkw=="
},
"node_modules/strnum": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz",
"integrity": "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==",
+ "dev": true,
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/NaturalIntelligence"
}
],
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/strtok3": {
"version": "10.3.4",
@@ -17905,37 +14870,31 @@
"url": "https://github.com/sponsors/Borewit"
}
},
- "node_modules/style-loader": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-4.0.0.tgz",
- "integrity": "sha512-1V4WqhhZZgjVAVJyt7TdDPZoPBPNHbekX4fWnCJL1yQukhCeZhJySUL+gL9y6sNdN95uEOS83Y55SqHcP7MzLA==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">= 18.12.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^5.27.0"
+ "node_modules/style-mod": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.1.3.tgz",
+ "integrity": "sha512-i/n8VsZydrugj3Iuzll8+x/00GH2vnYsk1eomD8QiRrSAeW6ItbCQDtfXCeJHd0iwiNagqjQkvpvREEPtW3IoQ=="
+ },
+ "node_modules/style-to-js": {
+ "version": "1.1.21",
+ "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.21.tgz",
+ "integrity": "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==",
+ "dependencies": {
+ "style-to-object": "1.0.14"
}
},
"node_modules/style-to-object": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz",
- "integrity": "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==",
- "license": "MIT",
+ "version": "1.0.14",
+ "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.14.tgz",
+ "integrity": "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==",
"dependencies": {
- "inline-style-parser": "0.1.1"
+ "inline-style-parser": "0.2.7"
}
},
"node_modules/stylelint": {
- "version": "17.0.0",
- "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-17.0.0.tgz",
- "integrity": "sha512-saMZ2mqdQre4AfouxcbTdpVglDRcROb4MIucKHvgsDb/0IX7ODhcaz+EOIyfxAsm8Zjl/7j4hJj6MgIYYM8Xwg==",
+ "version": "17.4.0",
+ "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-17.4.0.tgz",
+ "integrity": "sha512-3kQ2/cHv3Zt8OBg+h2B8XCx9evEABQIrv4hh3uXahGz/ZEHrTR80zxBiK2NfXNaSoyBzxO1pjsz1Vhdzwn5XSw==",
"dev": true,
"funding": [
{
@@ -17947,24 +14906,23 @@
"url": "https://github.com/sponsors/stylelint"
}
],
- "license": "MIT",
"peer": true,
"dependencies": {
+ "@csstools/css-calc": "^3.1.1",
"@csstools/css-parser-algorithms": "^4.0.0",
- "@csstools/css-syntax-patches-for-csstree": "^1.0.25",
+ "@csstools/css-syntax-patches-for-csstree": "^1.0.27",
"@csstools/css-tokenizer": "^4.0.0",
"@csstools/media-query-list-parser": "^5.0.0",
"@csstools/selector-resolve-nested": "^4.0.0",
"@csstools/selector-specificity": "^6.0.0",
- "balanced-match": "^3.0.1",
"colord": "^2.9.3",
"cosmiconfig": "^9.0.0",
- "css-functions-list": "^3.2.3",
+ "css-functions-list": "^3.3.3",
"css-tree": "^3.1.0",
"debug": "^4.4.3",
"fast-glob": "^3.3.3",
"fastest-levenshtein": "^1.0.16",
- "file-entry-cache": "^11.1.1",
+ "file-entry-cache": "^11.1.2",
"global-modules": "^2.0.0",
"globby": "^16.1.0",
"globjoin": "^0.1.4",
@@ -17973,7 +14931,6 @@
"import-meta-resolve": "^4.2.0",
"imurmurhash": "^0.1.4",
"is-plain-object": "^5.0.0",
- "known-css-properties": "^0.37.0",
"mathml-tag-names": "^4.0.0",
"meow": "^14.0.0",
"micromatch": "^4.0.8",
@@ -17983,7 +14940,7 @@
"postcss-safe-parser": "^7.0.1",
"postcss-selector-parser": "^7.1.1",
"postcss-value-parser": "^4.2.0",
- "string-width": "^8.1.0",
+ "string-width": "^8.1.1",
"supports-hyperlinks": "^4.4.0",
"svg-tags": "^1.0.0",
"table": "^6.9.0",
@@ -18148,16 +15105,15 @@
}
},
"node_modules/stylelint-use-logical": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/stylelint-use-logical/-/stylelint-use-logical-2.1.2.tgz",
- "integrity": "sha512-4ffvPNk/swH4KS3izExWuzQOuzLmi0gb0uOhvxWJ20vDA5W5xKCjcHHtLoAj1kKvTIX6eGIN5xGtaVin9PD0wg==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/stylelint-use-logical/-/stylelint-use-logical-2.1.3.tgz",
+ "integrity": "sha512-haPkgxKre+eSqr4IZJnHwNT/9/wICykeFZIaz7rZbe4SohTHkw7vBahMOrZJZpdny/EBVHAcPH2IBeoiUcZWWw==",
"dev": true,
- "license": "CC0-1.0",
"engines": {
"node": ">=14.0.0"
},
"peerDependencies": {
- "stylelint": ">= 11 < 17"
+ "stylelint": ">= 11 < 18"
}
},
"node_modules/stylelint/node_modules/@csstools/selector-resolve-nested": {
@@ -18208,17 +15164,6 @@
"postcss-selector-parser": "^7.1.1"
}
},
- "node_modules/stylelint/node_modules/balanced-match": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-3.0.1.tgz",
- "integrity": "sha512-vjtV3hiLqYDNRoiAv0zC4QaGAMPomEoq83PRmYIofPswwZurCeWR5LByXm7SyoL0Zh5+2z0+HC7jG8gSZJUh0w==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">= 16"
- }
- },
"node_modules/stylelint/node_modules/file-entry-cache": {
"version": "11.1.2",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-11.1.2.tgz",
@@ -18347,6 +15292,17 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/superjson": {
+ "version": "2.2.6",
+ "resolved": "https://registry.npmjs.org/superjson/-/superjson-2.2.6.tgz",
+ "integrity": "sha512-H+ue8Zo4vJmV2nRjpx86P35lzwDT3nItnIsocgumgr0hHMQ+ZGq5vrERg9kJBo5AWGmxZDhzDo+WVIJqkB0cGA==",
+ "dependencies": {
+ "copy-anything": "^4"
+ },
+ "engines": {
+ "node": ">=16"
+ }
+ },
"node_modules/supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@@ -18412,7 +15368,6 @@
"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
"dev": true,
"license": "MIT",
- "peer": true,
"engines": {
"node": ">= 0.4"
},
@@ -18439,8 +15394,7 @@
"node_modules/tabbable": {
"version": "6.4.0",
"resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.4.0.tgz",
- "integrity": "sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg==",
- "license": "MIT"
+ "integrity": "sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg=="
},
"node_modules/table": {
"version": "6.9.0",
@@ -18502,25 +15456,13 @@
"node": ">=8"
}
},
- "node_modules/tapable": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz",
- "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==",
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- }
- },
"node_modules/terser": {
"version": "5.46.0",
"resolved": "https://registry.npmjs.org/terser/-/terser-5.46.0.tgz",
"integrity": "sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==",
+ "dev": true,
"license": "BSD-2-Clause",
+ "optional": true,
"peer": true,
"dependencies": {
"@jridgewell/source-map": "^0.3.3",
@@ -18535,41 +15477,6 @@
"node": ">=10"
}
},
- "node_modules/terser-webpack-plugin": {
- "version": "5.3.16",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.16.tgz",
- "integrity": "sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q==",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@jridgewell/trace-mapping": "^0.3.25",
- "jest-worker": "^27.4.5",
- "schema-utils": "^4.3.0",
- "serialize-javascript": "^6.0.2",
- "terser": "^5.31.1"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^5.1.0"
- },
- "peerDependenciesMeta": {
- "@swc/core": {
- "optional": true
- },
- "esbuild": {
- "optional": true
- },
- "uglify-js": {
- "optional": true
- }
- }
- },
"node_modules/text-table": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
@@ -18578,39 +15485,12 @@
"license": "MIT",
"peer": true
},
- "node_modules/thingies": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/thingies/-/thingies-2.5.0.tgz",
- "integrity": "sha512-s+2Bwztg6PhWUD7XMfeYm5qliDdSiZm7M7n8KjTkIsm3l/2lgVRc2/Gx/v+ZX8lT4FMA+i8aQvhcWylldc+ZNw==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">=10.18"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/streamich"
- },
- "peerDependencies": {
- "tslib": "^2"
- }
- },
- "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,
- "license": "MIT",
- "peer": true
- },
"node_modules/timers-browserify": {
"version": "2.0.12",
"resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz",
"integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"setimmediate": "^1.0.4"
},
@@ -18625,12 +15505,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/tinycolor2": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz",
- "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==",
- "license": "MIT"
- },
"node_modules/tinyexec": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz",
@@ -18760,17 +15634,6 @@
"integrity": "sha512-HeMHCO9yLPvP9k0apGSdPUWrUbLnxUKNFzgUoZp1PHCLploIX/4DSQ7V8H25ef+h4iO9n0he7ImfcndnN6nDrQ==",
"license": "MIT"
},
- "node_modules/toidentifier": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
- "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">=0.6"
- }
- },
"node_modules/tough-cookie": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.0.tgz",
@@ -18801,35 +15664,15 @@
"node": ">=20"
}
},
- "node_modules/tree-dump": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.1.0.tgz",
- "integrity": "sha512-rMuvhU4MCDbcbnleZTFezWsaZXRFemSqAM+7jPnzUl1fo9w3YEKOxAeui0fz3OI4EU4hf23iyA7uQRVko+UaBA==",
- "dev": true,
- "license": "Apache-2.0",
- "peer": true,
- "engines": {
- "node": ">=10.0"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/streamich"
- },
- "peerDependencies": {
- "tslib": "2"
- }
- },
"node_modules/tributejs": {
"version": "5.1.3",
"resolved": "https://registry.npmjs.org/tributejs/-/tributejs-5.1.3.tgz",
- "integrity": "sha512-B5CXihaVzXw+1UHhNFyAwUTMDk1EfoLP5Tj1VhD9yybZ1I8DZJEv8tZ1l0RJo0t0tk9ZhR8eG5tEsaCvRigmdQ==",
- "license": "MIT"
+ "integrity": "sha512-B5CXihaVzXw+1UHhNFyAwUTMDk1EfoLP5Tj1VhD9yybZ1I8DZJEv8tZ1l0RJo0t0tk9ZhR8eG5tEsaCvRigmdQ=="
},
"node_modules/trim-lines": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz",
"integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==",
- "license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
@@ -18839,7 +15682,6 @@
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz",
"integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==",
- "license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
@@ -18859,40 +15701,12 @@
"typescript": ">=4.2.0"
}
},
- "node_modules/ts-loader": {
- "version": "9.5.4",
- "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.4.tgz",
- "integrity": "sha512-nCz0rEwunlTZiy6rXFByQU1kVVpCIgUpc/psFiKVrUwrizdnIbRFu8w7bxhUF0X613DYwT4XzrZHpVyMe758hQ==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "chalk": "^4.1.0",
- "enhanced-resolve": "^5.0.0",
- "micromatch": "^4.0.0",
- "semver": "^7.3.4",
- "source-map": "^0.7.4"
- },
- "engines": {
- "node": ">=12.0.0"
- },
- "peerDependencies": {
- "typescript": "*",
- "webpack": "^5.0.0"
- }
- },
- "node_modules/ts-loader/node_modules/semver": {
- "version": "7.7.3",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
- "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
- "dev": true,
- "license": "ISC",
- "peer": true,
- "bin": {
- "semver": "bin/semver.js"
- },
+ "node_modules/ts-md5": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/ts-md5/-/ts-md5-2.0.1.tgz",
+ "integrity": "sha512-yF35FCoEOFBzOclSkMNEUbFQZuv89KEQ+5Xz03HrMSGUGB1+r+El+JiGOFwsP4p9RFNzwlrydYoTLvPOuICl9w==",
"engines": {
- "node": ">=10"
+ "node": ">=18"
}
},
"node_modules/tsconfig-paths": {
@@ -18929,28 +15743,7 @@
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
"dev": true,
"license": "0BSD",
- "peer": true
- },
- "node_modules/tsyringe": {
- "version": "4.10.0",
- "resolved": "https://registry.npmjs.org/tsyringe/-/tsyringe-4.10.0.tgz",
- "integrity": "sha512-axr3IdNuVIxnaK5XGEUFTu3YmAQ6lllgrvqfEoR16g/HGnYY/6We4oWENtAnzK6/LpJ2ur9PAb80RBt7/U4ugw==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "tslib": "^1.9.3"
- },
- "engines": {
- "node": ">= 6.0.0"
- }
- },
- "node_modules/tsyringe/node_modules/tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true,
- "license": "0BSD",
+ "optional": true,
"peer": true
},
"node_modules/tty-browserify": {
@@ -18958,8 +15751,7 @@
"resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz",
"integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==",
"dev": true,
- "license": "MIT",
- "peer": true
+ "license": "MIT"
},
"node_modules/type-check": {
"version": "0.4.0",
@@ -18989,21 +15781,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/type-is": {
- "version": "1.6.18",
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
- "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "media-typer": "0.3.0",
- "mime-types": "~2.1.24"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
"node_modules/typed-array-buffer": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz",
@@ -19090,7 +15867,6 @@
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
"devOptional": true,
"license": "Apache-2.0",
- "peer": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@@ -19105,6 +15881,11 @@
"integrity": "sha512-TvkrTUpv7gCPlcnSoEwUVUBwsdheKm+HF5u2tPAKubkIGMfovdSizCTaZRY/NhR8+Ijy8iZZUapbVQAsNrkFrw==",
"license": "MIT"
},
+ "node_modules/ufo": {
+ "version": "1.6.3",
+ "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.3.tgz",
+ "integrity": "sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q=="
+ },
"node_modules/unbox-primitive": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz",
@@ -19140,56 +15921,9 @@
"node_modules/undici-types": {
"version": "7.16.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz",
- "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==",
- "license": "MIT"
- },
- "node_modules/unicode-canonical-property-names-ecmascript": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz",
- "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">=4"
- }
- },
- "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,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "unicode-canonical-property-names-ecmascript": "^2.0.0",
- "unicode-property-aliases-ecmascript": "^2.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/unicode-match-property-value-ecmascript": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz",
- "integrity": "sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/unicode-property-aliases-ecmascript": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz",
- "integrity": "sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">=4"
- }
+ "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/unicorn-magic": {
"version": "0.4.0",
@@ -19209,7 +15943,6 @@
"version": "11.0.5",
"resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz",
"integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==",
- "license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0",
"bail": "^2.0.0",
@@ -19228,7 +15961,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-4.0.0.tgz",
"integrity": "sha512-wmRFnH+BLpZnTKpc5L7O67Kac89s9HMrtELpnNaE6TAobq5DTZZs5YaTQfAZBA9bFPECx2uVAPO31c+GVug8mg==",
- "license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0"
},
@@ -19241,7 +15973,6 @@
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz",
"integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==",
- "license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0",
"unist-util-is": "^6.0.0"
@@ -19255,7 +15986,6 @@
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz",
"integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==",
- "license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0"
},
@@ -19268,7 +15998,6 @@
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz",
"integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==",
- "license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0"
},
@@ -19281,7 +16010,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz",
"integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==",
- "license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0"
},
@@ -19291,10 +16019,9 @@
}
},
"node_modules/unist-util-visit": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz",
- "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==",
- "license": "MIT",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.1.0.tgz",
+ "integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==",
"dependencies": {
"@types/unist": "^3.0.0",
"unist-util-is": "^6.0.0",
@@ -19309,7 +16036,6 @@
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz",
"integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==",
- "license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0",
"unist-util-is": "^6.0.0"
@@ -19319,15 +16045,63 @@
"url": "https://opencollective.com/unified"
}
},
- "node_modules/unpipe": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
- "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
+ "node_modules/universalify": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
+ "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
"dev": true,
- "license": "MIT",
- "peer": true,
"engines": {
- "node": ">= 0.8"
+ "node": ">= 10.0.0"
+ }
+ },
+ "node_modules/unplugin": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-3.0.0.tgz",
+ "integrity": "sha512-0Mqk3AT2TZCXWKdcoaufeXNukv2mTrEZExeXlHIOZXdqYoHHr4n51pymnwV8x2BOVxwXbK2HLlI7usrqMpycdg==",
+ "dependencies": {
+ "@jridgewell/remapping": "^2.3.5",
+ "picomatch": "^4.0.3",
+ "webpack-virtual-modules": "^0.6.2"
+ },
+ "engines": {
+ "node": "^20.19.0 || >=22.12.0"
+ }
+ },
+ "node_modules/unplugin-utils": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/unplugin-utils/-/unplugin-utils-0.3.1.tgz",
+ "integrity": "sha512-5lWVjgi6vuHhJ526bI4nlCOmkCIF3nnfXkCMDeMJrtdvxTs6ZFCM8oNufGTsDbKv/tJ/xj8RpvXjRuPBZJuJog==",
+ "dependencies": {
+ "pathe": "^2.0.3",
+ "picomatch": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=20.19.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sxzz"
+ }
+ },
+ "node_modules/unplugin-utils/node_modules/picomatch": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/unplugin/node_modules/picomatch": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
}
},
"node_modules/unrs-resolver": {
@@ -19370,6 +16144,7 @@
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz",
"integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==",
+ "dev": true,
"funding": [
{
"type": "opencollective",
@@ -19413,7 +16188,6 @@
"integrity": "sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"punycode": "^1.4.1",
"qs": "^6.12.3"
@@ -19446,8 +16220,7 @@
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
"integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==",
"dev": true,
- "license": "MIT",
- "peer": true
+ "license": "MIT"
},
"node_modules/util": {
"version": "0.12.5",
@@ -19455,7 +16228,6 @@
"integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"inherits": "^2.0.3",
"is-arguments": "^1.0.4",
@@ -19470,44 +16242,10 @@
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
"license": "MIT"
},
- "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,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/uuid": {
- "version": "8.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
- "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "bin": {
- "uuid": "dist/bin/uuid"
- }
- },
- "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,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
"node_modules/vfile": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz",
"integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==",
- "license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0",
"vfile-message": "^4.0.0"
@@ -19521,7 +16259,6 @@
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz",
"integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==",
- "license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0",
"unist-util-stringify-position": "^4.0.0"
@@ -19606,6 +16343,57 @@
}
}
},
+ "node_modules/vite-plugin-css-injected-by-js": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/vite-plugin-css-injected-by-js/-/vite-plugin-css-injected-by-js-3.5.2.tgz",
+ "integrity": "sha512-2MpU/Y+SCZyWUB6ua3HbJCrgnF0KACAsmzOQt1UvRVJCGF6S8xdA3ZUhWcWdM9ivG4I5az8PnQmwwrkC2CAQrQ==",
+ "dev": true,
+ "peerDependencies": {
+ "vite": ">2.0.0-0"
+ }
+ },
+ "node_modules/vite-plugin-dts": {
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/vite-plugin-dts/-/vite-plugin-dts-4.5.4.tgz",
+ "integrity": "sha512-d4sOM8M/8z7vRXHHq/ebbblfaxENjogAAekcfcDCCwAyvGqnPrc7f4NZbvItS+g4WTgerW0xDwSz5qz11JT3vg==",
+ "dev": true,
+ "dependencies": {
+ "@microsoft/api-extractor": "^7.50.1",
+ "@rollup/pluginutils": "^5.1.4",
+ "@volar/typescript": "^2.4.11",
+ "@vue/language-core": "2.2.0",
+ "compare-versions": "^6.1.1",
+ "debug": "^4.4.0",
+ "kolorist": "^1.8.0",
+ "local-pkg": "^1.0.0",
+ "magic-string": "^0.30.17"
+ },
+ "peerDependencies": {
+ "typescript": "*",
+ "vite": "*"
+ },
+ "peerDependenciesMeta": {
+ "vite": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vite-plugin-node-polyfills": {
+ "version": "0.24.0",
+ "resolved": "https://registry.npmjs.org/vite-plugin-node-polyfills/-/vite-plugin-node-polyfills-0.24.0.tgz",
+ "integrity": "sha512-GA9QKLH+vIM8NPaGA+o2t8PDfFUl32J8rUp1zQfMKVJQiNkOX4unE51tR6ppl6iKw5yOrDAdSH7r/UIFLCVhLw==",
+ "dev": true,
+ "dependencies": {
+ "@rollup/plugin-inject": "^5.0.5",
+ "node-stdlib-browser": "^1.2.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/davidmyersdev"
+ },
+ "peerDependencies": {
+ "vite": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0"
+ }
+ },
"node_modules/vite/node_modules/fdir": {
"version": "6.5.0",
"resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
@@ -19735,854 +16523,465 @@
"url": "https://github.com/sponsors/jonschlinkert"
}
},
- "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==",
- "dev": true,
- "license": "MIT",
- "peer": true
- },
- "node_modules/vue": {
- "version": "2.7.16",
- "resolved": "https://registry.npmjs.org/vue/-/vue-2.7.16.tgz",
- "integrity": "sha512-4gCtFXaAA3zYZdTp5s4Hl2sozuySsgz4jy1EnpBHNfpMa9dK1ZCG7viqBPCwXtmgc8nHqUsAu3G4gtmXkkY3Sw==",
- "deprecated": "Vue 2 has reached EOL and is no longer actively maintained. See https://v2.vuejs.org/eol/ for more details.",
- "license": "MIT",
- "dependencies": {
- "@vue/compiler-sfc": "2.7.16",
- "csstype": "^3.1.0"
- }
- },
- "node_modules/vue-advanced-cropper": {
- "version": "1.11.7",
- "resolved": "https://registry.npmjs.org/vue-advanced-cropper/-/vue-advanced-cropper-1.11.7.tgz",
- "integrity": "sha512-XoHub+Gigi8ix1/AozeNU/0lEBvGIaDiQEc349yPB5byesWkRx1+V9iAOGIgRlQHu+mE9cpp6gNG1jaEcQmREg==",
- "license": "MIT",
- "dependencies": {
- "classnames": "^2.2.6",
- "debounce": "^1.2.0",
- "easy-bem": "^1.0.2"
- },
- "engines": {
- "node": ">=8",
- "npm": ">=5"
- },
- "peerDependencies": {
- "vue": "^2.6.6"
- }
- },
- "node_modules/vue-advanced-cropper/node_modules/debounce": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz",
- "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==",
- "license": "MIT"
- },
- "node_modules/vue-codemirror": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/vue-codemirror/-/vue-codemirror-4.0.6.tgz",
- "integrity": "sha512-ilU7Uf0mqBNSSV3KT7FNEeRIxH4s1fmpG4TfHlzvXn0QiQAbkXS9lLfwuZpaBVEnpP5CSE62iGJjoliTuA8poQ==",
- "license": "MIT",
- "dependencies": {
- "codemirror": "^5.41.0",
- "diff-match-patch": "^1.0.0"
- },
- "engines": {
- "node": ">= 4.0.0",
- "npm": ">= 3.0.0"
- }
- },
- "node_modules/vue-color": {
- "version": "2.8.2",
- "resolved": "https://registry.npmjs.org/vue-color/-/vue-color-2.8.2.tgz",
- "integrity": "sha512-1qmsxl5GiIjx/jApBbTGr2r4bN/7WRKUTl3tc53vkXb9Ua0rZmiqsdq6VdG1e7dVNTLJahdsRGWcjeU2+98+NA==",
- "license": "MIT",
- "dependencies": {
- "clamp": "^1.0.1",
- "lodash.throttle": "^4.0.0",
- "material-colors": "^1.0.0",
- "tinycolor2": "^1.1.2"
- }
- },
- "node_modules/vue-drag-resize": {
- "version": "1.5.4",
- "resolved": "https://registry.npmjs.org/vue-drag-resize/-/vue-drag-resize-1.5.4.tgz",
- "integrity": "sha512-SR3U7n6TAZEBgP7zw7bR9mjtAlYBjqIoaWTDPz5HXN/nYhOxKSA31aD7p71fmq1jtyt9reAnCx62valNL9ZAcg==",
- "license": "MIT",
- "dependencies": {
- "vue-drag-resize": "^1.5.0-rc3"
- },
- "engines": {
- "node": ">= 4.0.0",
- "npm": ">= 3.0.0"
- }
- },
- "node_modules/vue-eslint-parser": {
- "version": "9.4.3",
- "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.3.tgz",
- "integrity": "sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "debug": "^4.3.4",
- "eslint-scope": "^7.1.1",
- "eslint-visitor-keys": "^3.3.0",
- "espree": "^9.3.1",
- "esquery": "^1.4.0",
- "lodash": "^4.17.21",
- "semver": "^7.3.6"
- },
- "engines": {
- "node": "^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/mysticatea"
- },
- "peerDependencies": {
- "eslint": ">=6.0.0"
- }
- },
- "node_modules/vue-eslint-parser/node_modules/eslint-scope": {
- "version": "7.2.2",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
- "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
- "dev": true,
- "license": "BSD-2-Clause",
- "peer": true,
- "dependencies": {
- "esrecurse": "^4.3.0",
- "estraverse": "^5.2.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/vue-eslint-parser/node_modules/eslint-visitor-keys": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
- "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
- "dev": true,
- "license": "Apache-2.0",
- "peer": true,
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/vue-eslint-parser/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,
- "license": "BSD-2-Clause",
- "peer": true,
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/vue-eslint-parser/node_modules/semver": {
- "version": "7.7.3",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
- "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
- "dev": true,
- "license": "ISC",
- "peer": true,
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/vue-frag": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/vue-frag/-/vue-frag-1.4.3.tgz",
- "integrity": "sha512-pQZj03f/j9LRhzz9vKaXTCXUHVYHuAXicshFv76VFqwz4MG3bcb+sPZMAbd0wmw7THjkrTPuoM0EG9TbG8CgMQ==",
- "license": "MIT",
- "funding": {
- "url": "https://github.com/privatenumber/vue-frag?sponsor=1"
- },
- "peerDependencies": {
- "vue": "^2.6.0"
- }
- },
- "node_modules/vue-hot-reload-api": {
- "version": "2.3.4",
- "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz",
- "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==",
+ "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==",
"dev": true,
"license": "MIT"
},
- "node_modules/vue-loader": {
- "version": "15.11.1",
- "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.11.1.tgz",
- "integrity": "sha512-0iw4VchYLePqJfJu9s62ACWUXeSqM30SQqlIftbYWM3C+jpPcEHKSPUZBLjSF9au4HTHQ/naF6OGnO3Q/qGR3Q==",
- "dev": true,
- "license": "MIT",
+ "node_modules/vscode-uri": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz",
+ "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==",
+ "dev": true
+ },
+ "node_modules/vue": {
+ "version": "3.5.29",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.29.tgz",
+ "integrity": "sha512-BZqN4Ze6mDQVNAni0IHeMJ5mwr8VAJ3MQC9FmprRhcBYENw+wOAAjRj8jfmN6FLl0j96OXbR+CjWhmAmM+QGnA==",
"dependencies": {
- "@vue/component-compiler-utils": "^3.1.0",
- "hash-sum": "^1.0.2",
- "loader-utils": "^1.1.0",
- "vue-hot-reload-api": "^2.3.0",
- "vue-style-loader": "^4.1.0"
+ "@vue/compiler-dom": "3.5.29",
+ "@vue/compiler-sfc": "3.5.29",
+ "@vue/runtime-dom": "3.5.29",
+ "@vue/server-renderer": "3.5.29",
+ "@vue/shared": "3.5.29"
},
"peerDependencies": {
- "css-loader": "*",
- "webpack": "^3.0.0 || ^4.1.0 || ^5.0.0-0"
+ "typescript": "*"
},
"peerDependenciesMeta": {
- "cache-loader": {
- "optional": true
- },
- "prettier": {
- "optional": true
- },
- "vue-template-compiler": {
+ "typescript": {
"optional": true
}
}
},
- "node_modules/vue-loader/node_modules/json5": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
- "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "minimist": "^1.2.0"
- },
- "bin": {
- "json5": "lib/cli.js"
- }
- },
- "node_modules/vue-loader/node_modules/loader-utils": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz",
- "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==",
- "dev": true,
- "license": "MIT",
+ "node_modules/vue-advanced-cropper": {
+ "version": "2.8.9",
+ "resolved": "https://registry.npmjs.org/vue-advanced-cropper/-/vue-advanced-cropper-2.8.9.tgz",
+ "integrity": "sha512-1jc5gO674kVGpJKekoaol6ZlwaF5VYDLSBwBOUpViW0IOrrRsyLw6XNszjEqgbavvqinlKNS6Kqlom3B5M72Tw==",
"dependencies": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^1.0.1"
+ "classnames": "^2.2.6",
+ "debounce": "^1.2.0",
+ "easy-bem": "^1.0.2"
},
"engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/vue-material-design-icons": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/vue-material-design-icons/-/vue-material-design-icons-5.3.1.tgz",
- "integrity": "sha512-6UNEyhlTzlCeT8ZeX5WbpUGFTTPSbOoTQeoASTv7X4Ylh0pe8vltj+36VMK56KM0gG8EQVoMK/Qw/6evalg8lA==",
- "license": "MIT"
- },
- "node_modules/vue-resize": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/vue-resize/-/vue-resize-1.0.1.tgz",
- "integrity": "sha512-z5M7lJs0QluJnaoMFTIeGx6dIkYxOwHThlZDeQnWZBizKblb99GSejPnK37ZbNE/rVwDcYcHY+Io+AxdpY952w==",
- "license": "MIT",
- "dependencies": {
- "@babel/runtime": "^7.13.10"
+ "node": ">=8",
+ "npm": ">=5"
},
"peerDependencies": {
- "vue": "^2.6.0"
+ "vue": "^3.0.0"
}
},
- "node_modules/vue-router": {
- "version": "3.6.5",
- "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.6.5.tgz",
- "integrity": "sha512-VYXZQLtjuvKxxcshuRAwjHnciqZVoXAjTjcqBTz4rKc8qih9g9pI3hbDjmqXaHdgL3v8pV6P8Z335XvHzESxLQ==",
+ "node_modules/vue-advanced-cropper/node_modules/debounce": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz",
+ "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==",
"license": "MIT"
},
- "node_modules/vue-style-loader": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.3.tgz",
- "integrity": "sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "hash-sum": "^1.0.2",
- "loader-utils": "^1.0.2"
- }
- },
- "node_modules/vue-style-loader/node_modules/json5": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
- "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "minimist": "^1.2.0"
- },
- "bin": {
- "json5": "lib/cli.js"
- }
- },
- "node_modules/vue-style-loader/node_modules/loader-utils": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz",
- "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==",
- "dev": true,
- "license": "MIT",
+ "node_modules/vue-codemirror6": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/vue-codemirror6/-/vue-codemirror6-1.4.3.tgz",
+ "integrity": "sha512-TLabAapy4vethIEWwPMNtv62/zHjpvTv0kJlGy5RtFavKNlm4NJdT3fPFT2DtVVbQ1ZvHWpHrHM7FCjG2QNGDA==",
"dependencies": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^1.0.1"
+ "vue-demi": "latest"
},
"engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/vue-template-compiler": {
- "version": "2.7.16",
- "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz",
- "integrity": "sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "de-indent": "^1.0.2",
- "he": "^1.2.0"
- }
- },
- "node_modules/vue-template-es2015-compiler": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz",
- "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/vue2-datepicker": {
- "version": "3.11.1",
- "resolved": "https://registry.npmjs.org/vue2-datepicker/-/vue2-datepicker-3.11.1.tgz",
- "integrity": "sha512-6PU/+pnp2mgZAfnSXmbdwj9516XsEvTiw61Q5SNrvvdy8W/FCxk1GAe9UZn/m9YfS5A47yK6XkcjMHbp7aFApA==",
- "license": "MIT",
- "dependencies": {
- "date-format-parse": "^0.2.7"
+ "node": "^20.19.0 || >=22.12.0",
+ "pnpm": ">=10.3.0"
},
"peerDependencies": {
- "vue": "^2.5.0"
- }
- },
- "node_modules/vuedraggable": {
- "version": "2.24.3",
- "resolved": "https://registry.npmjs.org/vuedraggable/-/vuedraggable-2.24.3.tgz",
- "integrity": "sha512-6/HDXi92GzB+Hcs9fC6PAAozK1RLt1ewPTLjK0anTYguXLAeySDmcnqE8IC0xa7shvSzRjQXq3/+dsZ7ETGF3g==",
- "license": "MIT",
- "dependencies": {
- "sortablejs": "1.10.2"
- }
- },
- "node_modules/vuelidate": {
- "version": "0.7.7",
- "resolved": "https://registry.npmjs.org/vuelidate/-/vuelidate-0.7.7.tgz",
- "integrity": "sha512-pT/U2lDI67wkIqI4tum7cMSIfGcAMfB+Phtqh2ttdXURwvHRBJEAQ0tVbUsW9Upg83Q5QH59bnCoXI7A9JDGnA==",
- "license": "MIT",
- "engines": {
- "node": ">= 4.0.0",
- "npm": ">= 3.0.0"
- }
- },
- "node_modules/w3c-xmlserializer": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz",
- "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "xml-name-validator": "^5.0.0"
+ "@codemirror/autocomplete": "^6.0.0",
+ "@codemirror/commands": "^6.0.0",
+ "@codemirror/language": "^6.0.0",
+ "@codemirror/lint": "^6.0.0",
+ "@codemirror/search": "^6.0.0",
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.0.0",
+ "codemirror": "^6.0.0",
+ "style-mod": "^4.0.0",
+ "vue": "^2.7.14 || ^3.3.4"
+ }
+ },
+ "node_modules/vue-component-type-helpers": {
+ "version": "2.2.12",
+ "resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-2.2.12.tgz",
+ "integrity": "sha512-YbGqHZ5/eW4SnkPNR44mKVc6ZKQoRs/Rux1sxC6rdwXb4qpbOSYfDr9DsTHolOTGmIKgM9j141mZbBeg05R1pw==",
+ "dev": true
+ },
+ "node_modules/vue-demi": {
+ "version": "0.14.10",
+ "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz",
+ "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==",
+ "hasInstallScript": true,
+ "bin": {
+ "vue-demi-fix": "bin/vue-demi-fix.js",
+ "vue-demi-switch": "bin/vue-demi-switch.js"
},
"engines": {
- "node": ">=18"
- }
- },
- "node_modules/w3c-xmlserializer/node_modules/xml-name-validator": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz",
- "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==",
- "dev": true,
- "license": "Apache-2.0",
- "optional": true,
- "peer": true,
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/watchpack": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz",
- "integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.1.2"
+ "node": ">=12"
},
- "engines": {
- "node": ">=10.13.0"
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "@vue/composition-api": "^1.0.0-rc.1",
+ "vue": "^3.0.0-0 || ^2.6.0"
+ },
+ "peerDependenciesMeta": {
+ "@vue/composition-api": {
+ "optional": true
+ }
}
},
- "node_modules/wbuf": {
- "version": "1.7.3",
- "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz",
- "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==",
+ "node_modules/vue-eslint-parser": {
+ "version": "9.4.3",
+ "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.3.tgz",
+ "integrity": "sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
- "minimalistic-assert": "^1.0.0"
- }
- },
- "node_modules/web-namespaces": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz",
- "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==",
- "license": "MIT",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
- }
- },
- "node_modules/web-streams-polyfill": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz",
- "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==",
- "license": "MIT",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/webdav": {
- "version": "5.8.0",
- "resolved": "https://registry.npmjs.org/webdav/-/webdav-5.8.0.tgz",
- "integrity": "sha512-iuFG7NamJ41Oshg4930iQgfIpRrUiatPWIekeznYgEf2EOraTRcDPTjy7gIOMtkdpKTaqPk1E68NO5PAGtJahA==",
- "license": "MIT",
- "dependencies": {
- "@buttercup/fetch": "^0.2.1",
- "base-64": "^1.0.0",
- "byte-length": "^1.0.2",
- "entities": "^6.0.0",
- "fast-xml-parser": "^4.5.1",
- "hot-patcher": "^2.0.1",
- "layerr": "^3.0.0",
- "md5": "^2.3.0",
- "minimatch": "^9.0.5",
- "nested-property": "^4.0.0",
- "node-fetch": "^3.3.2",
- "path-posix": "^1.0.0",
- "url-join": "^5.0.0",
- "url-parse": "^1.5.10"
+ "debug": "^4.3.4",
+ "eslint-scope": "^7.1.1",
+ "eslint-visitor-keys": "^3.3.0",
+ "espree": "^9.3.1",
+ "esquery": "^1.4.0",
+ "lodash": "^4.17.21",
+ "semver": "^7.3.6"
},
"engines": {
- "node": ">=14"
- }
- },
- "node_modules/webdav/node_modules/entities": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz",
- "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==",
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=0.12"
+ "node": "^14.17.0 || >=16.0.0"
},
"funding": {
- "url": "https://github.com/fb55/entities?sponsor=1"
+ "url": "https://github.com/sponsors/mysticatea"
+ },
+ "peerDependencies": {
+ "eslint": ">=6.0.0"
}
},
- "node_modules/webidl-conversions": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-8.0.1.tgz",
- "integrity": "sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==",
+ "node_modules/vue-eslint-parser/node_modules/eslint-scope": {
+ "version": "7.2.2",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
+ "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
"dev": true,
"license": "BSD-2-Clause",
- "optional": true,
- "peer": true,
- "engines": {
- "node": ">=20"
- }
- },
- "node_modules/webpack": {
- "version": "5.104.1",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.104.1.tgz",
- "integrity": "sha512-Qphch25abbMNtekmEGJmeRUhLDbe+QfiWTiqpKYkpCOWY64v9eyl+KRRLmqOFA2AvKPpc9DC6+u2n76tQLBoaA==",
- "license": "MIT",
"peer": true,
"dependencies": {
- "@types/eslint-scope": "^3.7.7",
- "@types/estree": "^1.0.8",
- "@types/json-schema": "^7.0.15",
- "@webassemblyjs/ast": "^1.14.1",
- "@webassemblyjs/wasm-edit": "^1.14.1",
- "@webassemblyjs/wasm-parser": "^1.14.1",
- "acorn": "^8.15.0",
- "acorn-import-phases": "^1.0.3",
- "browserslist": "^4.28.1",
- "chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^5.17.4",
- "es-module-lexer": "^2.0.0",
- "eslint-scope": "5.1.1",
- "events": "^3.2.0",
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.2.11",
- "json-parse-even-better-errors": "^2.3.1",
- "loader-runner": "^4.3.1",
- "mime-types": "^2.1.27",
- "neo-async": "^2.6.2",
- "schema-utils": "^4.3.3",
- "tapable": "^2.3.0",
- "terser-webpack-plugin": "^5.3.16",
- "watchpack": "^2.4.4",
- "webpack-sources": "^3.3.3"
- },
- "bin": {
- "webpack": "bin/webpack.js"
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
},
"engines": {
- "node": ">=10.13.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependenciesMeta": {
- "webpack-cli": {
- "optional": true
- }
+ "url": "https://opencollective.com/eslint"
}
},
- "node_modules/webpack-cli": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-6.0.1.tgz",
- "integrity": "sha512-MfwFQ6SfwinsUVi0rNJm7rHZ31GyTcpVE5pgVA3hwFRb7COD4TzjUUwhGWKfO50+xdc2MQPuEBBJoqIMGt3JDw==",
+ "node_modules/vue-eslint-parser/node_modules/eslint-visitor-keys": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
"dev": true,
- "license": "MIT",
+ "license": "Apache-2.0",
"peer": true,
- "dependencies": {
- "@discoveryjs/json-ext": "^0.6.1",
- "@webpack-cli/configtest": "^3.0.1",
- "@webpack-cli/info": "^3.0.1",
- "@webpack-cli/serve": "^3.0.1",
- "colorette": "^2.0.14",
- "commander": "^12.1.0",
- "cross-spawn": "^7.0.3",
- "envinfo": "^7.14.0",
- "fastest-levenshtein": "^1.0.12",
- "import-local": "^3.0.2",
- "interpret": "^3.1.1",
- "rechoir": "^0.8.0",
- "webpack-merge": "^6.0.1"
- },
- "bin": {
- "webpack-cli": "bin/cli.js"
- },
"engines": {
- "node": ">=18.12.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^5.82.0"
- },
- "peerDependenciesMeta": {
- "webpack-bundle-analyzer": {
- "optional": true
- },
- "webpack-dev-server": {
- "optional": true
- }
+ "url": "https://opencollective.com/eslint"
}
},
- "node_modules/webpack-cli/node_modules/colorette": {
- "version": "2.0.20",
- "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
- "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
- "dev": true,
- "license": "MIT",
- "peer": true
- },
- "node_modules/webpack-cli/node_modules/commander": {
- "version": "12.1.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz",
- "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==",
+ "node_modules/vue-eslint-parser/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,
- "license": "MIT",
+ "license": "BSD-2-Clause",
"peer": true,
"engines": {
- "node": ">=18"
+ "node": ">=4.0"
}
},
- "node_modules/webpack-dev-middleware": {
- "version": "7.4.5",
- "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.4.5.tgz",
- "integrity": "sha512-uxQ6YqGdE4hgDKNf7hUiPXOdtkXvBJXrfEGYSx7P7LC8hnUYGK70X6xQXUvXeNyBDDcsiQXpG2m3G9vxowaEuA==",
+ "node_modules/vue-eslint-parser/node_modules/semver": {
+ "version": "7.7.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+ "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
"dev": true,
- "license": "MIT",
+ "license": "ISC",
"peer": true,
- "dependencies": {
- "colorette": "^2.0.10",
- "memfs": "^4.43.1",
- "mime-types": "^3.0.1",
- "on-finished": "^2.4.1",
- "range-parser": "^1.2.1",
- "schema-utils": "^4.0.0"
+ "bin": {
+ "semver": "bin/semver.js"
},
"engines": {
- "node": ">= 18.12.0"
+ "node": ">=10"
+ }
+ },
+ "node_modules/vue-resize": {
+ "version": "2.0.0-alpha.1",
+ "resolved": "https://registry.npmjs.org/vue-resize/-/vue-resize-2.0.0-alpha.1.tgz",
+ "integrity": "sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==",
+ "peerDependencies": {
+ "vue": "^3.0.0"
+ }
+ },
+ "node_modules/vue-router": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-5.0.3.tgz",
+ "integrity": "sha512-nG1c7aAFac7NYj8Hluo68WyWfc41xkEjaR0ViLHCa3oDvTQ/nIuLJlXJX1NUPw/DXzx/8+OKMng045HHQKQKWw==",
+ "dependencies": {
+ "@babel/generator": "^7.28.6",
+ "@vue-macros/common": "^3.1.1",
+ "@vue/devtools-api": "^8.0.6",
+ "ast-walker-scope": "^0.8.3",
+ "chokidar": "^5.0.0",
+ "json5": "^2.2.3",
+ "local-pkg": "^1.1.2",
+ "magic-string": "^0.30.21",
+ "mlly": "^1.8.0",
+ "muggle-string": "^0.4.1",
+ "pathe": "^2.0.3",
+ "picomatch": "^4.0.3",
+ "scule": "^1.3.0",
+ "tinyglobby": "^0.2.15",
+ "unplugin": "^3.0.0",
+ "unplugin-utils": "^0.3.1",
+ "yaml": "^2.8.2"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
+ "url": "https://github.com/sponsors/posva"
},
"peerDependencies": {
- "webpack": "^5.0.0"
+ "@pinia/colada": ">=0.21.2",
+ "@vue/compiler-sfc": "^3.5.17",
+ "pinia": "^3.0.4",
+ "vue": "^3.5.0"
},
"peerDependenciesMeta": {
- "webpack": {
+ "@pinia/colada": {
+ "optional": true
+ },
+ "@vue/compiler-sfc": {
+ "optional": true
+ },
+ "pinia": {
"optional": true
}
}
},
- "node_modules/webpack-dev-middleware/node_modules/colorette": {
- "version": "2.0.20",
- "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
- "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
- "dev": true,
- "license": "MIT",
- "peer": true
+ "node_modules/vue-router/node_modules/@vue/devtools-api": {
+ "version": "8.0.7",
+ "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-8.0.7.tgz",
+ "integrity": "sha512-tc1TXAxclsn55JblLkFVcIRG7MeSJC4fWsPjfM7qu/IcmPUYnQ5Q8vzWwBpyDY24ZjmZTUCCwjRSNbx58IhlAA==",
+ "dependencies": {
+ "@vue/devtools-kit": "^8.0.7"
+ }
},
- "node_modules/webpack-dev-middleware/node_modules/mime-db": {
- "version": "1.54.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
- "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">= 0.6"
+ "node_modules/vue-router/node_modules/@vue/devtools-kit": {
+ "version": "8.0.7",
+ "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-8.0.7.tgz",
+ "integrity": "sha512-H6esJGHGl5q0E9iV3m2EoBQHJ+V83WMW83A0/+Fn95eZ2iIvdsq4+UCS6yT/Fdd4cGZSchx/MdWDreM3WqMsDw==",
+ "dependencies": {
+ "@vue/devtools-shared": "^8.0.7",
+ "birpc": "^2.6.1",
+ "hookable": "^5.5.3",
+ "perfect-debounce": "^2.0.0"
}
},
- "node_modules/webpack-dev-middleware/node_modules/mime-types": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz",
- "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==",
- "dev": true,
- "license": "MIT",
- "peer": true,
+ "node_modules/vue-router/node_modules/@vue/devtools-shared": {
+ "version": "8.0.7",
+ "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-8.0.7.tgz",
+ "integrity": "sha512-CgAb9oJH5NUmbQRdYDj/1zMiaICYSLtm+B1kxcP72LBrifGAjUmt8bx52dDH1gWRPlQgxGPqpAMKavzVirAEhA=="
+ },
+ "node_modules/vue-router/node_modules/chokidar": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz",
+ "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==",
"dependencies": {
- "mime-db": "^1.54.0"
+ "readdirp": "^5.0.0"
},
"engines": {
- "node": ">=18"
+ "node": ">= 20.19.0"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/express"
+ "url": "https://paulmillr.com/funding/"
}
},
- "node_modules/webpack-dev-server": {
- "version": "5.2.3",
- "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.3.tgz",
- "integrity": "sha512-9Gyu2F7+bg4Vv+pjbovuYDhHX+mqdqITykfzdM9UyKqKHlsE5aAjRhR+oOEfXW5vBeu8tarzlJFIZva4ZjAdrQ==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@types/bonjour": "^3.5.13",
- "@types/connect-history-api-fallback": "^1.5.4",
- "@types/express": "^4.17.25",
- "@types/express-serve-static-core": "^4.17.21",
- "@types/serve-index": "^1.9.4",
- "@types/serve-static": "^1.15.5",
- "@types/sockjs": "^0.3.36",
- "@types/ws": "^8.5.10",
- "ansi-html-community": "^0.0.8",
- "bonjour-service": "^1.2.1",
- "chokidar": "^3.6.0",
- "colorette": "^2.0.10",
- "compression": "^1.8.1",
- "connect-history-api-fallback": "^2.0.0",
- "express": "^4.22.1",
- "graceful-fs": "^4.2.6",
- "http-proxy-middleware": "^2.0.9",
- "ipaddr.js": "^2.1.0",
- "launch-editor": "^2.6.1",
- "open": "^10.0.3",
- "p-retry": "^6.2.0",
- "schema-utils": "^4.2.0",
- "selfsigned": "^5.5.0",
- "serve-index": "^1.9.1",
- "sockjs": "^0.3.24",
- "spdy": "^4.0.2",
- "webpack-dev-middleware": "^7.4.2",
- "ws": "^8.18.0"
- },
- "bin": {
- "webpack-dev-server": "bin/webpack-dev-server.js"
- },
+ "node_modules/vue-router/node_modules/perfect-debounce": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-2.1.0.tgz",
+ "integrity": "sha512-LjgdTytVFXeUgtHZr9WYViYSM/g8MkcTPYDlPa3cDqMirHjKiSZPYd6DoL7pK8AJQr+uWkQvCjHNdiMqsrJs+g=="
+ },
+ "node_modules/vue-router/node_modules/picomatch": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
"engines": {
- "node": ">= 18.12.0"
+ "node": ">=12"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^5.0.0"
- },
- "peerDependenciesMeta": {
- "webpack": {
- "optional": true
- },
- "webpack-cli": {
- "optional": true
- }
+ "url": "https://github.com/sponsors/jonschlinkert"
}
},
- "node_modules/webpack-dev-server/node_modules/chokidar": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
- "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
- },
+ "node_modules/vue-router/node_modules/readdirp": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz",
+ "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==",
"engines": {
- "node": ">= 8.10.0"
+ "node": ">= 20.19.0"
},
"funding": {
+ "type": "individual",
"url": "https://paulmillr.com/funding/"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
}
},
- "node_modules/webpack-dev-server/node_modules/colorette": {
- "version": "2.0.20",
- "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
- "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
- "dev": true,
- "license": "MIT",
- "peer": true
+ "node_modules/vue-select": {
+ "version": "4.0.0-beta.6",
+ "resolved": "https://registry.npmjs.org/vue-select/-/vue-select-4.0.0-beta.6.tgz",
+ "integrity": "sha512-K+zrNBSpwMPhAxYLTCl56gaMrWZGgayoWCLqe5rWwkB8aUbAUh7u6sXjIR7v4ckp2WKC7zEEUY27g6h1MRsIHw==",
+ "peerDependencies": {
+ "vue": "3.x"
+ }
},
- "node_modules/webpack-dev-server/node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "license": "ISC",
- "peer": true,
+ "node_modules/vuedraggable": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/vuedraggable/-/vuedraggable-4.1.0.tgz",
+ "integrity": "sha512-FU5HCWBmsf20GpP3eudURW3WdWTKIbEIQxh9/8GE806hydR9qZqRRxRE3RjqX7PkuLuMQG/A7n3cfj9rCEchww==",
"dependencies": {
- "is-glob": "^4.0.1"
+ "sortablejs": "1.14.0"
},
- "engines": {
- "node": ">= 6"
+ "peerDependencies": {
+ "vue": "^3.0.1"
}
},
- "node_modules/webpack-dev-server/node_modules/readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "node_modules/vuedraggable/node_modules/sortablejs": {
+ "version": "1.14.0",
+ "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.14.0.tgz",
+ "integrity": "sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w=="
+ },
+ "node_modules/w3c-keyname": {
+ "version": "2.2.8",
+ "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz",
+ "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ=="
+ },
+ "node_modules/w3c-xmlserializer": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz",
+ "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==",
"dev": true,
"license": "MIT",
+ "optional": true,
"peer": true,
"dependencies": {
- "picomatch": "^2.2.1"
+ "xml-name-validator": "^5.0.0"
},
"engines": {
- "node": ">=8.10.0"
+ "node": ">=18"
}
},
- "node_modules/webpack-merge": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-6.0.1.tgz",
- "integrity": "sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==",
+ "node_modules/w3c-xmlserializer/node_modules/xml-name-validator": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz",
+ "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==",
"dev": true,
- "license": "MIT",
+ "license": "Apache-2.0",
+ "optional": true,
"peer": true,
- "dependencies": {
- "clone-deep": "^4.0.1",
- "flat": "^5.0.2",
- "wildcard": "^2.0.1"
- },
"engines": {
- "node": ">=18.0.0"
+ "node": ">=18"
}
},
- "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==",
- "dev": true,
+ "node_modules/web-streams-polyfill": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz",
+ "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==",
"license": "MIT",
- "dependencies": {
- "source-list-map": "^2.0.0",
- "source-map": "~0.6.1"
+ "engines": {
+ "node": ">= 8"
}
},
- "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==",
- "dev": true,
- "license": "BSD-3-Clause",
+ "node_modules/webdav": {
+ "version": "5.9.0",
+ "resolved": "https://registry.npmjs.org/webdav/-/webdav-5.9.0.tgz",
+ "integrity": "sha512-OMJ6wtK1WvCO++aOLoQgE96S8KT4e5aaClWHmHXfFU369r4eyELN569B7EqT4OOUb99mmO58GkyuiCv/Ag6J0Q==",
+ "dependencies": {
+ "@buttercup/fetch": "^0.2.1",
+ "base-64": "^1.0.0",
+ "byte-length": "^1.0.2",
+ "entities": "^6.0.1",
+ "fast-xml-parser": "^5.3.4",
+ "hot-patcher": "^2.0.1",
+ "layerr": "^3.0.0",
+ "md5": "^2.3.0",
+ "minimatch": "^9.0.5",
+ "nested-property": "^4.0.0",
+ "node-fetch": "^3.3.2",
+ "path-posix": "^1.0.0",
+ "url-join": "^5.0.0",
+ "url-parse": "^1.5.10"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": ">=14"
}
},
- "node_modules/webpack/node_modules/webpack-sources": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz",
- "integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==",
- "license": "MIT",
- "peer": true,
+ "node_modules/webdav/node_modules/entities": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz",
+ "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==",
+ "license": "BSD-2-Clause",
"engines": {
- "node": ">=10.13.0"
+ "node": ">=0.12"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
}
},
- "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,
- "license": "Apache-2.0",
- "peer": true,
+ "node_modules/webdav/node_modules/fast-xml-parser": {
+ "version": "5.4.2",
+ "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.4.2.tgz",
+ "integrity": "sha512-pw/6pIl4k0CSpElPEJhDppLzaixDEuWui2CUQQBH/ECDf7+y6YwA4Gf7Tyb0Rfe4DIMuZipYj4AEL0nACKglvQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/NaturalIntelligence"
+ }
+ ],
"dependencies": {
- "http-parser-js": ">=0.5.1",
- "safe-buffer": ">=5.1.0",
- "websocket-extensions": ">=0.1.1"
+ "fast-xml-builder": "^1.0.0",
+ "strnum": "^2.1.2"
},
- "engines": {
- "node": ">=0.8.0"
+ "bin": {
+ "fxparser": "src/cli/cli.js"
}
},
- "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==",
+ "node_modules/webdav/node_modules/strnum": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.2.0.tgz",
+ "integrity": "sha512-Y7Bj8XyJxnPAORMZj/xltsfo55uOiyHcU2tnAVzHUnSJR/KsEX+9RoDeXEnsXtl/CX4fAcrt64gZ13aGaWPeBg==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/NaturalIntelligence"
+ }
+ ]
+ },
+ "node_modules/webidl-conversions": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-8.0.1.tgz",
+ "integrity": "sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==",
"dev": true,
- "license": "Apache-2.0",
+ "license": "BSD-2-Clause",
+ "optional": true,
"peer": true,
"engines": {
- "node": ">=0.8.0"
+ "node": ">=20"
}
},
+ "node_modules/webpack-virtual-modules": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz",
+ "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ=="
+ },
"node_modules/whatwg-mimetype": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-5.0.0.tgz",
@@ -20669,7 +17068,6 @@
"integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"is-bigint": "^1.1.0",
"is-boolean-object": "^1.2.1",
@@ -20727,7 +17125,6 @@
"integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"is-map": "^2.0.3",
"is-set": "^2.0.3",
@@ -20779,14 +17176,6 @@
"node": ">=8"
}
},
- "node_modules/wildcard": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz",
- "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==",
- "dev": true,
- "license": "MIT",
- "peer": true
- },
"node_modules/word-wrap": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
@@ -20803,7 +17192,6 @@
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
"integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
"dev": true,
- "license": "MIT",
"dependencies": {
"ansi-styles": "^6.1.0",
"string-width": "^5.0.1",
@@ -20822,7 +17210,6 @@
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
"dev": true,
- "license": "MIT",
"dependencies": {
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
@@ -20840,7 +17227,6 @@
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"dev": true,
- "license": "MIT",
"dependencies": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
@@ -20855,7 +17241,6 @@
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
"integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
"dev": true,
- "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -20868,7 +17253,6 @@
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
"integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
"dev": true,
- "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -20880,15 +17264,13 @@
"version": "9.2.2",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
- "dev": true,
- "license": "MIT"
+ "dev": true
},
"node_modules/wrap-ansi/node_modules/string-width": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
"integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
"dev": true,
- "license": "MIT",
"dependencies": {
"eastasianwidth": "^0.2.0",
"emoji-regex": "^9.2.2",
@@ -20902,13 +17284,12 @@
}
},
"node_modules/wrap-ansi/node_modules/strip-ansi": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
- "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz",
+ "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
"dev": true,
- "license": "MIT",
"dependencies": {
- "ansi-regex": "^6.0.1"
+ "ansi-regex": "^6.2.2"
},
"engines": {
"node": ">=12"
@@ -20962,23 +17343,6 @@
}
}
},
- "node_modules/wsl-utils": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz",
- "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "is-wsl": "^3.1.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/xml-name-validator": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz",
@@ -21005,7 +17369,6 @@
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
"dev": true,
"license": "MIT",
- "peer": true,
"engines": {
"node": ">=0.4"
}
@@ -21015,7 +17378,22 @@
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
"integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
"dev": true,
- "license": "ISC"
+ "license": "ISC",
+ "peer": true
+ },
+ "node_modules/yaml": {
+ "version": "2.8.2",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz",
+ "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==",
+ "bin": {
+ "yaml": "bin.mjs"
+ },
+ "engines": {
+ "node": ">= 14.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/eemeli"
+ }
},
"node_modules/yaml-ast-parser": {
"version": "0.0.43",
@@ -21040,13 +17418,21 @@
"integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
"dev": true,
"license": "MIT",
- "peer": true,
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
+ },
+ "node_modules/zwitch": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz",
+ "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
}
}
}
diff --git a/package.json b/package.json
index 92711f10e3..3c15427c25 100644
--- a/package.json
+++ b/package.json
@@ -1,87 +1,95 @@
{
"name": "libresign",
"description": "A app for signing documents",
- "version": "12.2.3",
+ "version": "13.0.0-dev.0",
"license": "agpl",
"private": true,
"scripts": {
- "build": "webpack --node-env production --progress",
- "dev": "webpack --node-env development --progress",
- "watch": "webpack --node-env development --progress --watch",
- "serve": "webpack serve --node-env development --progress --allowed-hosts all --host 0.0.0.0",
- "typescript:check": "tsc --noEmit",
+ "build": "vite build",
+ "dev": "vite build --mode development",
+ "watch": "vite build --mode development --watch",
+ "serve": "vite dev",
+ "ts:check": "tsc --noEmit",
"typescript:generate": "npx openapi-typescript -t",
"lint": "eslint",
"lint:fix": "eslint --fix",
- "stylelint": "stylelint css/*.css css/*.scss src/**/*.scss src/**/*.vue",
- "stylelint:fix": "stylelint css/*.css css/*.scss src/**/*.scss src/**/*.vue --fix",
+ "stylelint": "stylelint src/**/*.scss src/**/*.vue",
+ "stylelint:fix": "stylelint src/**/*.scss src/**/*.vue --fix",
"test": "vitest run",
"test:watch": "vitest",
"test:coverage": "vitest run --coverage"
},
"dependencies": {
+ "@codemirror/autocomplete": "^6.18.3",
+ "@codemirror/commands": "^6.7.1",
+ "@codemirror/lang-html": "^6.4.9",
+ "@codemirror/language": "^6.10.3",
+ "@codemirror/state": "^6.4.1",
+ "@codemirror/view": "^6.36.2",
"@fontsource/dancing-script": "^5.2.8",
- "@libresign/pdf-elements": "^0.4.0",
+ "@libresign/pdf-elements": "^1.0.1",
"@marionebl/option": "^1.0.8",
"@mdi/js": "^7.4.47",
"@mdi/svg": "^7.4.47",
"@nextcloud/auth": "^2.5.3",
"@nextcloud/axios": "^2.5.2",
"@nextcloud/capabilities": "^1.2.1",
- "@nextcloud/dialogs": "^6.4.1",
+ "@nextcloud/dialogs": "^7.3.0",
"@nextcloud/event-bus": "^3.3.3",
"@nextcloud/files": "^3.12.0",
- "@nextcloud/initial-state": "^2.2.0",
+ "@nextcloud/initial-state": "^3.0.0",
"@nextcloud/l10n": "^3.4.1",
- "@nextcloud/logger": "^3.0.2",
+ "@nextcloud/logger": "^3.0.3",
"@nextcloud/moment": "^1.3.5",
- "@nextcloud/password-confirmation": "^5.3.2",
- "@nextcloud/paths": "^2.2.2",
- "@nextcloud/router": "^3.0.1",
- "@nextcloud/upload": "^1.11.0",
- "@nextcloud/vue": "^8.35.3",
- "@vueuse/core": "^11.3.0",
+ "@nextcloud/password-confirmation": "^6.0.2",
+ "@nextcloud/paths": "^3.1.0",
+ "@nextcloud/router": "^3.1.0",
+ "@nextcloud/upload": "^2.0.0-rc.0",
+ "@nextcloud/vue": "^9.5.0",
+ "@ssddanbrown/codemirror-lang-twig": "^1.0.0",
+ "@uiw/codemirror-theme-material": "^4.25.4",
+ "@vuelidate/core": "^2.0.3",
+ "@vuelidate/validators": "^2.0.4",
+ "@vueuse/core": "^14.2.1",
+ "@vueuse/integrations": "^14.2.1",
"blueimp-md5": "^2.19.0",
- "codemirror": "^5.65.20",
- "copy-webpack-plugin": "^13.0.1",
+ "codemirror": "^6.0.1",
"crypto-js": "^4.2.0",
- "debounce": "^2.2.0",
- "js-confetti": "^0.12.0",
- "pinia": "^2.3.1",
- "signature_pad": "^5.1.1",
- "vue": "^2.7.16",
- "vue-advanced-cropper": "^1.11.7",
- "vue-codemirror": "^4.0.6",
- "vue-drag-resize": "^1.5.4",
- "vue-material-design-icons": "^5.3.1",
- "vue-router": "^3.6.5",
- "vuedraggable": "^2.24.3",
- "vuelidate": "^0.7.7"
+ "debounce": "^3.0.0",
+ "js-confetti": "^0.13.1",
+ "pdfjs-dist": "^5.4.624",
+ "pinia": "^3.0.4",
+ "signature_pad": "^5.1.3",
+ "sortablejs": "^1.15.7",
+ "vue": "^3.5.29",
+ "vue-advanced-cropper": "^2.8.9",
+ "vue-codemirror6": "^1.3.5",
+ "vue-router": "^5.0.3",
+ "vuedraggable": "^4.1.0"
},
"browserslist": [
"extends @nextcloud/browserslist-config"
],
"engines": {
- "node": "^20.0.0",
- "npm": "^10.0.0"
+ "node": "^24.0.0",
+ "npm": "^11.3.0"
},
"devDependencies": {
- "@babel/core": "^7.28.5",
- "@nextcloud/babel-config": "^1.3.0",
"@nextcloud/browserslist-config": "^3.1.2",
"@nextcloud/eslint-config": "^8.4.2",
- "@nextcloud/stylelint-config": "^3.1.1",
- "@nextcloud/webpack-vue-config": "^6.3.2",
- "@vitejs/plugin-vue2": "^2.3.4",
+ "@nextcloud/stylelint-config": "^3.2.1",
+ "@nextcloud/vite-config": "^2.5.2",
+ "@pinia/testing": "^1.0.3",
+ "@testing-library/dom": "^10.4.1",
+ "@testing-library/vue": "^8.1.0",
+ "@vitejs/plugin-vue": "^6.0.3",
"@vitest/coverage-v8": "^4.0.18",
- "@vue/test-utils": "^1.3.6",
- "@vue/tsconfig": "^0.5.1",
- "babel-loader-exclude-node-modules-except": "^1.2.1",
- "esbuild-loader": "^4.4.0",
- "happy-dom": "^20.6.0",
- "openapi-typescript": "^7.10.1",
- "vitest": "^4.0.18",
- "vue-loader": "15.11.1",
- "vue-template-compiler": "^2.7.16"
+ "@vue/test-utils": "^2.4.6",
+ "@vue/tsconfig": "^0.8.1",
+ "happy-dom": "^20.7.0",
+ "openapi-typescript": "^7.13.0",
+ "typescript": "^5.9.3",
+ "vite": "^7.1.10",
+ "vitest": "^4.0.18"
}
}
diff --git a/src/App.vue b/src/App.vue
index bba9962185..efe6df4112 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -5,10 +5,13 @@
-
+
-
+
@@ -19,7 +22,13 @@
-
diff --git a/src/components/Common/EditNameDialog.vue b/src/components/Common/EditNameDialog.vue
index 2c5fd91970..26723d9cf1 100644
--- a/src/components/Common/EditNameDialog.vue
+++ b/src/components/Common/EditNameDialog.vue
@@ -23,6 +23,8 @@
+
+
diff --git a/src/components/PdfEditor/PdfEditor.vue b/src/components/PdfEditor/PdfEditor.vue
index a9be3a45f3..f48b1d563f 100644
--- a/src/components/PdfEditor/PdfEditor.vue
+++ b/src/components/PdfEditor/PdfEditor.vue
@@ -61,16 +61,22 @@
-
diff --git a/src/components/Request/VisibleElements.vue b/src/components/Request/VisibleElements.vue
index e489e90b02..c2cbf5bcc0 100644
--- a/src/components/Request/VisibleElements.vue
+++ b/src/components/Request/VisibleElements.vue
@@ -36,7 +36,9 @@
:signer-index="key"
:class="{ disabled: signerSelected }"
event="libresign:visible-elements-select-signer">
-
+
+
+
-
diff --git a/src/components/validation/CertificateChain.vue b/src/components/validation/CertificateChain.vue
index b1d8b27c66..5441b27ef1 100644
--- a/src/components/validation/CertificateChain.vue
+++ b/src/components/validation/CertificateChain.vue
@@ -65,7 +65,7 @@
diff --git a/src/components/validation/SignerDetails.vue b/src/components/validation/SignerDetails.vue
index 8088a1883a..451b5cc454 100644
--- a/src/components/validation/SignerDetails.vue
+++ b/src/components/validation/SignerDetails.vue
@@ -129,6 +129,7 @@
class="extra"
compact
:name="t('libresign', 'Document certification')"
+ :aria-expanded="docMdpOpen ? 'true' : 'false'"
role="button"
@click="docMdpOpen = !docMdpOpen">
@@ -136,6 +137,7 @@
diff --git a/src/tests/mocks/pdf-elements/src/utils/asyncReader.js b/src/tests/mocks/pdf-elements/src/utils/asyncReader.js
new file mode 100644
index 0000000000..c800404f3d
--- /dev/null
+++ b/src/tests/mocks/pdf-elements/src/utils/asyncReader.js
@@ -0,0 +1,7 @@
+/**
+ * SPDX-FileCopyrightText: 2026 LibreCode coop and LibreCode contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+export function setWorkerPath() {
+}
diff --git a/src/tests/mocks/vue-select.css b/src/tests/mocks/vue-select.css
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/tests/mocks/vue-select.js b/src/tests/mocks/vue-select.js
new file mode 100644
index 0000000000..be95f495b8
--- /dev/null
+++ b/src/tests/mocks/vue-select.js
@@ -0,0 +1,11 @@
+/**
+ * SPDX-FileCopyrightText: 2026 LibreCode coop and LibreCode contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+export default {
+ name: 'VSelect',
+ render() {
+ return null
+ },
+}
diff --git a/src/tests/plugins/vuelidate.spec.js b/src/tests/plugins/vuelidate.spec.js
deleted file mode 100644
index bce99f36a9..0000000000
--- a/src/tests/plugins/vuelidate.spec.js
+++ /dev/null
@@ -1,51 +0,0 @@
-/**
- * SPDX-FileCopyrightText: 2026 LibreCode coop and contributors
- * SPDX-License-Identifier: AGPL-3.0-or-later
- */
-
-import { describe, it, expect, vi, beforeEach } from 'vitest'
-
-// Mock @nextcloud packages before any other imports
-vi.mock('@nextcloud/logger', () => ({
- getLogger: vi.fn(() => ({
- error: vi.fn(),
- warn: vi.fn(),
- info: vi.fn(),
- debug: vi.fn(),
- })),
- getLoggerBuilder: vi.fn(() => ({
- setApp: vi.fn().mockReturnThis(),
- detectUser: vi.fn().mockReturnThis(),
- build: vi.fn(() => ({
- error: vi.fn(),
- warn: vi.fn(),
- info: vi.fn(),
- debug: vi.fn(),
- })),
- })),
-}))
-
-const mockUse = vi.fn()
-
-vi.mock('vue', () => ({
- default: {
- use: mockUse,
- },
-}))
-
-vi.mock('vuelidate', () => ({
- default: {},
-}))
-
-describe('vuelidate plugin', () => {
- beforeEach(() => {
- mockUse.mockClear()
- })
-
- it('registers Vuelidate plugin with Vue', async () => {
- vi.resetModules()
- await import('../../plugins/vuelidate.js')
-
- expect(mockUse).toHaveBeenCalled()
- })
-})
diff --git a/src/tests/router/router.spec.js b/src/tests/router/router.spec.js
deleted file mode 100644
index b379108a42..0000000000
--- a/src/tests/router/router.spec.js
+++ /dev/null
@@ -1,308 +0,0 @@
-/*
- * SPDX-FileCopyrightText: 2026 LibreSign contributors
- * SPDX-License-Identifier: AGPL-3.0-or-later
- */
-
-import { describe, expect, it, beforeAll, beforeEach, vi, afterEach } from 'vitest'
-import Vue from 'vue'
-import Router from 'vue-router'
-
-// Mock @nextcloud packages that router components may import
-vi.mock('@nextcloud/axios', () => ({
- default: {
- get: vi.fn(),
- post: vi.fn(),
- put: vi.fn(),
- delete: vi.fn(),
- },
-}))
-
-vi.mock('@nextcloud/auth', () => ({
- getCurrentUser: vi.fn(() => ({
- uid: 'test-user',
- displayName: 'Test User',
- })),
- getRequestToken: vi.fn(() => 'test-csrf-token'),
-}))
-
-vi.mock('@nextcloud/files', () => ({
- formatFileSize: vi.fn((size) => `${size} B`),
-}))
-
-vi.mock('@nextcloud/logger', () => ({
- getLogger: vi.fn(() => ({
- error: vi.fn(),
- warn: vi.fn(),
- info: vi.fn(),
- debug: vi.fn(),
- })),
- getLoggerBuilder: vi.fn(() => ({
- setApp: vi.fn().mockReturnThis(),
- detectUser: vi.fn().mockReturnThis(),
- build: vi.fn(() => ({
- error: vi.fn(),
- warn: vi.fn(),
- info: vi.fn(),
- debug: vi.fn(),
- })),
- })),
-}))
-
-vi.mock('@nextcloud/initial-state')
-vi.mock('@nextcloud/router')
-vi.mock('../../helpers/isExternal.js')
-vi.mock('../../helpers/SelectAction.js')
-
-Vue.use(Router)
-
-describe('router business rules', () => {
- let router
- let loadState
- let generateUrl
- let getRootUrl
- let isExternal
- let selectAction
-
- beforeAll(async () => {
- const { loadState: loadStateModule } = await import('@nextcloud/initial-state')
- const { generateUrl: generateUrlModule, getRootUrl: getRootUrlModule } = await import('@nextcloud/router')
- const { isExternal: isExternalModule } = await import('../../helpers/isExternal.js')
- const { selectAction: selectActionModule } = await import('../../helpers/SelectAction.js')
-
- loadState = loadStateModule
- generateUrl = generateUrlModule
- getRootUrl = getRootUrlModule
- isExternal = isExternalModule
- selectAction = selectActionModule
-
- const routerModule = await import('../../router/router.js')
- router = routerModule.default
- })
-
- beforeEach(() => {
- vi.clearAllMocks()
- loadState.mockReturnValue('')
- generateUrl.mockImplementation(path => path)
- getRootUrl.mockReturnValue('')
- isExternal.mockReturnValue(false)
- selectAction.mockReturnValue(undefined)
- })
-
- afterEach(() => {
- vi.clearAllMocks()
- })
-
- describe('public routes structure', () => {
- it('has public sign route with uuid parameter', () => {
- const route = router.options.routes.find(r => r.path === '/p/sign/:uuid')
- expect(route).toBeDefined()
- expect(route.path).toContain('uuid')
- })
-
- it('has public validation route with uuid parameter', () => {
- const route = router.options.routes.find(r => r.path === '/p/validation/:uuid')
- expect(route).toBeDefined()
- })
-
- it('public routes use dynamic component imports', () => {
- const publicRoutes = router.options.routes.filter(r => r.path.startsWith('/p/'))
- publicRoutes.forEach(route => {
- if (route.component) {
- expect(typeof route.component).toBe('function')
- }
- })
- })
- })
-
- describe('sign route beforeEnter guard', () => {
- let signRoute
- let beforeEnterGuard
-
- beforeEach(() => {
- signRoute = router.options.routes.find(r => r.path === '/p/sign/:uuid')
- beforeEnterGuard = signRoute.beforeEnter
- })
-
- it('calls selectAction with loadState action', () => {
- selectAction.mockReturnValue(undefined)
- loadState.mockReturnValue('some-action')
-
- const to = { name: null, params: { uuid: 'test-uuid' } }
- const from = {}
- const next = vi.fn()
-
- beforeEnterGuard(to, from, next)
-
- expect(selectAction).toHaveBeenCalled()
- })
-
- it('redirects when action is determined and route is not incomplete', () => {
- selectAction.mockReturnValue('CreateAccountExternal')
-
- const to = { name: 'other-route', params: { uuid: 'test-uuid' } }
- const from = {}
- const next = vi.fn()
-
- beforeEnterGuard(to, from, next)
-
- expect(next).toHaveBeenCalledWith({
- name: 'CreateAccountExternal',
- params: { uuid: 'test-uuid' },
- })
- })
-
- it('does not redirect when already on incomplete route', () => {
- selectAction.mockReturnValue('SignPDFExternal')
-
- const to = { name: 'incomplete', params: { uuid: 'test-uuid' } }
- const from = {}
- const next = vi.fn()
-
- beforeEnterGuard(to, from, next)
-
- expect(next).toHaveBeenCalledWith()
- })
-
- it('proceeds without redirect when action is undefined', () => {
- selectAction.mockReturnValue(undefined)
-
- const to = { name: null, params: { uuid: 'test-uuid' } }
- const from = {}
- const next = vi.fn()
-
- beforeEnterGuard(to, from, next)
-
- expect(next).toHaveBeenCalledWith()
- })
- })
-
- describe('route parameter handling', () => {
- it('handles valid UUID in sign route', () => {
- const resolved = router.resolve({
- path: '/p/sign/123e4567-e89b-12d3-a456-426614174000',
- })
-
- expect(resolved.route.params.uuid).toBeDefined()
- })
-
- it('handles numeric parameter in validation route', () => {
- const resolved = router.resolve({
- path: '/p/validation/12345',
- })
-
- expect(resolved.route.params.uuid).toBeDefined()
- })
- })
-
- describe('internal vs external route separation', () => {
- it('internal routes do not start with /p/', () => {
- const internalRoutes = router.options.routes.filter(r =>
- !r.path.startsWith('/p/')
- )
-
- expect(internalRoutes.length).toBeGreaterThan(0)
- internalRoutes.forEach(route => {
- expect(route.path).not.toMatch(/^\/p\//)
- })
- })
-
- it('all public routes start with /p/', () => {
- const publicRoutes = router.options.routes.filter(r =>
- r.path.startsWith('/p/')
- )
-
- expect(publicRoutes.length).toBeGreaterThan(0)
- publicRoutes.forEach(route => {
- expect(route.path).toMatch(/^\/p\//)
- })
- })
- })
-
- describe('component lazy loading', () => {
- it('uses dynamic imports for main views', () => {
- const signPdfRoute = router.options.routes.find(
- r => r.name === 'SignPDFExternal'
- )
-
- expect(signPdfRoute).toBeDefined()
- expect(typeof signPdfRoute.component).toBe('function')
- })
-
- it('dynamic component returns thenable', () => {
- const validationRoute = router.options.routes.find(
- r => r.name === 'ValidationFileExternal'
- )
-
- const componentImport = validationRoute.component()
- expect(componentImport).toHaveProperty('then')
- })
- })
-
- describe('route props configuration', () => {
- it('passes props to routed components', () => {
- const signRoute = router.options.routes.find(
- r => r.path === '/p/sign/:uuid'
- )
-
- expect(signRoute.props).toBe(true)
- })
-
- it('enables param passing to component', () => {
- const validationRoute = router.options.routes.find(
- r => r.path === '/p/validation/:uuid'
- )
-
- expect(validationRoute.props).toBe(true)
- })
- })
-
- describe('router history mode', () => {
- it('uses history mode for clean URLs', () => {
- expect(router.mode).toBe('history')
- })
-
- it('sets correct link active class', () => {
- expect(router.options.linkActiveClass).toBeDefined()
- expect(router.options.linkActiveClass).toBe('active')
- })
- })
-
- describe('root routes redirection based on can_request_sign', () => {
- const rootPaths = [
- { path: '/', description: 'root path /' },
- { path: '/f/', description: 'root path /f/' },
- ]
-
- describe.each(rootPaths)('$description', ({ path }) => {
- let route
- let beforeEnterGuard
-
- beforeEach(() => {
- route = router.options.routes.find(r => r.path === path)
- beforeEnterGuard = route.beforeEnter
- })
-
- it.each([
- { canRequestSign: true, expectedRoute: 'requestFiles', description: 'when user can request sign' },
- { canRequestSign: false, expectedRoute: 'fileslist', description: 'when user cannot request sign' },
- { canRequestSign: undefined, expectedRoute: 'fileslist', description: 'by default when can_request_sign is undefined' },
- ])('redirects to $expectedRoute $description', ({ canRequestSign, expectedRoute }) => {
- loadState.mockImplementation((key, state, defaultValue) => {
- if (state === 'can_request_sign') {
- return canRequestSign !== undefined ? canRequestSign : defaultValue
- }
- return defaultValue
- })
-
- const to = {}
- const from = {}
- const next = vi.fn()
-
- beforeEnterGuard(to, from, next)
-
- expect(next).toHaveBeenCalledWith({ name: expectedRoute })
- expect(next).toHaveBeenCalledTimes(1)
- })
- })
- })
-})
diff --git a/src/tests/router/router.spec.ts b/src/tests/router/router.spec.ts
new file mode 100644
index 0000000000..12d257b1ab
--- /dev/null
+++ b/src/tests/router/router.spec.ts
@@ -0,0 +1,321 @@
+/*
+ * SPDX-FileCopyrightText: 2026 LibreSign contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+import { describe, expect, it, beforeAll, beforeEach, vi, afterEach } from 'vitest'
+import type { MockedFunction } from 'vitest'
+import type {
+ NavigationGuardNext,
+ RouteLocationNormalized,
+ RouteRecordNormalized,
+ Router,
+} from 'vue-router'
+
+// Mock @nextcloud packages that router components may import
+vi.mock('@nextcloud/axios', () => ({
+ default: {
+ get: vi.fn(),
+ post: vi.fn(),
+ put: vi.fn(),
+ delete: vi.fn(),
+ },
+}))
+
+vi.mock('@nextcloud/auth', () => ({
+ getCurrentUser: vi.fn(() => ({
+ uid: 'test-user',
+ displayName: 'Test User',
+ })),
+ getRequestToken: vi.fn(() => 'test-csrf-token'),
+}))
+
+vi.mock('@nextcloud/files', () => ({
+ formatFileSize: vi.fn((size) => `${size} B`),
+}))
+
+vi.mock('@nextcloud/logger', () => ({
+ getLogger: vi.fn(() => ({
+ error: vi.fn(),
+ warn: vi.fn(),
+ info: vi.fn(),
+ debug: vi.fn(),
+ })),
+ getLoggerBuilder: vi.fn(() => ({
+ setApp: vi.fn().mockReturnThis(),
+ detectUser: vi.fn().mockReturnThis(),
+ build: vi.fn(() => ({
+ error: vi.fn(),
+ warn: vi.fn(),
+ info: vi.fn(),
+ debug: vi.fn(),
+ })),
+ })),
+}))
+
+vi.mock('@nextcloud/initial-state', () => ({
+ loadState: vi.fn(() => ''),
+}))
+
+vi.mock('@nextcloud/router', () => ({
+ generateUrl: vi.fn((path: string) => path),
+ getRootUrl: vi.fn(() => ''),
+}))
+
+vi.mock('../../helpers/isExternal.js', () => ({
+ isExternal: vi.fn(() => false),
+}))
+
+vi.mock('../../helpers/SelectAction.js', () => ({
+ selectAction: vi.fn(() => null),
+}))
+
+const makeRoute = (overrides: Partial): RouteLocationNormalized => ({
+ fullPath: overrides.fullPath ?? '',
+ hash: overrides.hash ?? '',
+ matched: overrides.matched ?? [],
+ meta: overrides.meta ?? {},
+ name: overrides.name,
+ params: overrides.params ?? {},
+ path: overrides.path ?? '/',
+ query: overrides.query ?? {},
+ redirectedFrom: overrides.redirectedFrom,
+})
+
+describe('router business rules', () => {
+ let router: Router
+ let loadState: MockedFunction
+ let generateUrl: MockedFunction
+ let getRootUrl: MockedFunction
+ let isExternal: MockedFunction
+ let selectAction: MockedFunction
+ const getRoutes = (): RouteRecordNormalized[] => router.getRoutes()
+
+ beforeAll(async () => {
+ const { loadState: loadStateModule } = await import('@nextcloud/initial-state')
+ const { generateUrl: generateUrlModule, getRootUrl: getRootUrlModule } = await import('@nextcloud/router')
+ const { isExternal: isExternalModule } = await import('../../helpers/isExternal.js')
+ const { selectAction: selectActionModule } = await import('../../helpers/SelectAction.js')
+
+ loadState = loadStateModule as MockedFunction
+ generateUrl = generateUrlModule as MockedFunction
+ getRootUrl = getRootUrlModule as MockedFunction
+ isExternal = isExternalModule as MockedFunction
+ selectAction = selectActionModule as MockedFunction
+
+ const routerModule = await import('../../router/router')
+ router = routerModule.default as Router
+ })
+
+ beforeEach(() => {
+ vi.clearAllMocks()
+ loadState.mockReturnValue('')
+ generateUrl.mockImplementation(path => path)
+ getRootUrl.mockReturnValue('')
+ isExternal.mockReturnValue(false)
+ selectAction.mockReturnValue(null)
+ })
+
+ afterEach(() => {
+ vi.clearAllMocks()
+ })
+
+ describe('public routes structure', () => {
+ it('has public sign route with uuid parameter', () => {
+ const route = getRoutes().find((r: RouteRecordNormalized) => r.path === '/p/sign/:uuid')
+ expect(route).toBeDefined()
+ expect((route as RouteRecordNormalized).path).toContain('uuid')
+ })
+
+ it('has public validation route with uuid parameter', () => {
+ const route = getRoutes().find((r: RouteRecordNormalized) => r.path === '/p/validation/:uuid')
+ expect(route).toBeDefined()
+ })
+
+ it('public routes use dynamic component imports', () => {
+ const publicRoutes = getRoutes().filter((r: RouteRecordNormalized) => r.path.startsWith('/p/'))
+ publicRoutes.forEach((route: RouteRecordNormalized) => {
+ // Skip redirect-only routes (they don't have components)
+ if (route.redirect) {
+ return
+ }
+ const component = route.components?.default
+ if (component) {
+ expect(typeof component).toBe('function')
+ }
+ })
+ })
+ })
+
+ describe('sign route redirect', () => {
+ it('has redirect function for /p/sign/:uuid route', () => {
+ const signRoute = getRoutes().find((r: RouteRecordNormalized) => r.path === '/p/sign/:uuid')
+ expect(signRoute).toBeDefined()
+ expect(signRoute?.redirect).toBeDefined()
+ expect(typeof signRoute?.redirect).toBe('function')
+ })
+
+ it('redirects to action route when action is determined', () => {
+ selectAction.mockReturnValue('CreateAccountExternal')
+ loadState.mockReturnValue('some-action')
+
+ const signRoute = getRoutes().find((r: RouteRecordNormalized) => r.path === '/p/sign/:uuid')
+ const redirectFn = signRoute?.redirect as (to: RouteLocationNormalized) => { name: string; params: Record }
+
+ const to = makeRoute({ name: undefined, params: { uuid: 'test-uuid' } })
+ const result = redirectFn(to)
+
+ expect(result).toEqual({
+ name: 'CreateAccountExternal',
+ params: { uuid: 'test-uuid' },
+ })
+ })
+
+ it('redirects to SignPDFExternal when no action', () => {
+ selectAction.mockReturnValue(null)
+ loadState.mockReturnValue('')
+
+ const signRoute = getRoutes().find((r: RouteRecordNormalized) => r.path === '/p/sign/:uuid')
+ const redirectFn = signRoute?.redirect as (to: RouteLocationNormalized) => { name: string; params: Record }
+
+ const to = makeRoute({ name: undefined, params: { uuid: 'test-uuid' } })
+ const result = redirectFn(to)
+
+ expect(result).toEqual({
+ name: 'SignPDFExternal',
+ params: { uuid: 'test-uuid' },
+ })
+ })
+ })
+
+ describe('route parameter handling', () => {
+ it('handles valid UUID in sign route', () => {
+ const route = getRoutes().find((r: RouteRecordNormalized) => r.path === '/p/sign/:uuid/pdf')
+ expect(route).toBeDefined()
+ expect((route as RouteRecordNormalized).path).toContain('uuid')
+ })
+
+ it('handles numeric parameter in validation route', () => {
+ const resolved = router.resolve({
+ path: '/p/validation/12345',
+ })
+
+ expect(resolved.params.uuid).toBeDefined()
+ })
+ })
+
+ describe('internal vs external route separation', () => {
+ it('internal routes do not start with /p/', () => {
+ const internalRoutes = getRoutes().filter((r: RouteRecordNormalized) =>
+ !r.path.startsWith('/p/')
+ )
+
+ expect(internalRoutes.length).toBeGreaterThan(0)
+ internalRoutes.forEach((route: RouteRecordNormalized) => {
+ expect(route.path).not.toMatch(/^\/p\//)
+ })
+ })
+
+ it('all public routes start with /p/', () => {
+ const publicRoutes = getRoutes().filter((r: RouteRecordNormalized) =>
+ r.path.startsWith('/p/')
+ )
+
+ expect(publicRoutes.length).toBeGreaterThan(0)
+ publicRoutes.forEach((route: RouteRecordNormalized) => {
+ expect(route.path).toMatch(/^\/p\//)
+ })
+ })
+ })
+
+ describe('component lazy loading', () => {
+ it('uses dynamic imports for main views', () => {
+ const signPdfRoute = getRoutes().find(
+ (r: RouteRecordNormalized) => r.name === 'SignPDFExternal'
+ )
+
+ expect(signPdfRoute).toBeDefined()
+ const component = signPdfRoute?.components?.default
+ expect(typeof component).toBe('function')
+ })
+
+ it('dynamic component returns thenable', () => {
+ const validationRoute = getRoutes().find(
+ (r: RouteRecordNormalized) => r.name === 'ValidationFileExternal'
+ )
+
+ const component = validationRoute?.components?.default
+ expect(component).toBeDefined()
+ const componentImport = (component as () => Promise)()
+ expect(componentImport).toHaveProperty('then')
+ })
+ })
+
+ describe('route props configuration', () => {
+ it('passes props to routed components', () => {
+ // /p/sign/:uuid is now a redirect-only route, test /p/sign/:uuid/pdf instead
+ const signRoute = getRoutes().find(
+ (r: RouteRecordNormalized) => r.path === '/p/sign/:uuid/pdf'
+ )
+
+ expect(signRoute).toBeDefined()
+ const props = (signRoute as RouteRecordNormalized).props
+ // Vue Router normalizes `props: true` to `{default: true}` internally
+ expect(typeof props === 'object' && props !== null && props.default === true).toBe(true)
+ })
+
+ it('enables param passing to component', () => {
+ const validationRoute = getRoutes().find(
+ (r: RouteRecordNormalized) => r.path === '/p/validation/:uuid'
+ )
+
+ expect(validationRoute).toBeDefined()
+ const props = (validationRoute as RouteRecordNormalized).props
+ // Vue Router normalizes `props: true` to `{default: true}` internally
+ expect(typeof props === 'object' && props !== null && props.default === true).toBe(true)
+ })
+ })
+
+ describe('router history mode', () => {
+ it('uses history mode for clean URLs', () => {
+ expect(router.options.history).toBeDefined()
+ })
+
+ it('sets correct link active class', () => {
+ const linkActiveClass = router.options?.linkActiveClass
+ expect(linkActiveClass).toBeDefined()
+ expect(linkActiveClass).toBe('active')
+ })
+ })
+
+ describe('root routes redirection based on can_request_sign', () => {
+ const rootPaths = [
+ { path: '/', description: 'root path /' },
+ { path: '/f/', description: 'root path /f/' },
+ ]
+
+ describe.each(rootPaths)('$description', ({ path }) => {
+ it.each([
+ { canRequestSign: true, expectedRoute: 'requestFiles', description: 'when user can request sign' },
+ { canRequestSign: false, expectedRoute: 'fileslist', description: 'when user cannot request sign' },
+ { canRequestSign: undefined, expectedRoute: 'fileslist', description: 'by default when can_request_sign is undefined' },
+ ])('redirects to $expectedRoute $description', ({ canRequestSign, expectedRoute }) => {
+ loadState.mockImplementation((app, key, defaultValue) => {
+ if (key === 'can_request_sign') {
+ return canRequestSign !== undefined ? canRequestSign : defaultValue
+ }
+ return defaultValue
+ })
+
+ const route = getRoutes().find((r: RouteRecordNormalized) => r.path === path)
+ expect(route).toBeDefined()
+ expect(route?.redirect).toBeDefined()
+
+ const redirectFn = route?.redirect as () => { name: string }
+ const result = redirectFn()
+
+ expect(result).toEqual({ name: expectedRoute })
+ })
+ })
+ })
+})
diff --git a/src/tests/services/FilesService.spec.js b/src/tests/services/FilesService.spec.ts
similarity index 88%
rename from src/tests/services/FilesService.spec.js
rename to src/tests/services/FilesService.spec.ts
index 9a11debea5..5c684af0aa 100644
--- a/src/tests/services/FilesService.spec.js
+++ b/src/tests/services/FilesService.spec.ts
@@ -4,7 +4,7 @@
*/
import { describe, it, expect } from 'vitest'
-import { fetchDocuments } from '../../services/FilesService.js'
+import { fetchDocuments } from '../../services/FilesService'
describe('FilesService', () => {
it('fetchDocuments is exported as async function', () => {
diff --git a/src/tests/services/SignFlowHandler.spec.js b/src/tests/services/SignFlowHandler.spec.ts
similarity index 94%
rename from src/tests/services/SignFlowHandler.spec.js
rename to src/tests/services/SignFlowHandler.spec.ts
index a184354800..4bfe48ed18 100644
--- a/src/tests/services/SignFlowHandler.spec.js
+++ b/src/tests/services/SignFlowHandler.spec.ts
@@ -4,7 +4,7 @@
*/
import { afterEach, describe, expect, it, vi } from 'vitest'
-import { SignFlowHandler } from '../../services/SignFlowHandler.js'
+import { SignFlowHandler } from '../../services/SignFlowHandler'
const createStore = () => ({
showModal: vi.fn(),
@@ -29,7 +29,7 @@ describe('SignFlowHandler', () => {
const store = createStore()
const handler = new SignFlowHandler(store)
- const result = handler.handleAction('sign', { unmetRequirement: null })
+ const result = handler.handleAction('sign', { unmetRequirement: undefined })
expect(result).toBe('ready')
})
diff --git a/src/tests/services/SigningRequirementValidator.spec.js b/src/tests/services/SigningRequirementValidator.spec.ts
similarity index 86%
rename from src/tests/services/SigningRequirementValidator.spec.js
rename to src/tests/services/SigningRequirementValidator.spec.ts
index bf16c5c525..f22bc534a5 100644
--- a/src/tests/services/SigningRequirementValidator.spec.js
+++ b/src/tests/services/SigningRequirementValidator.spec.ts
@@ -4,12 +4,35 @@
*/
import { describe, expect, it } from 'vitest'
-import { SigningRequirementValidator } from '../../services/SigningRequirementValidator.js'
-import { ACTION_CODES } from '../../helpers/ActionMapping.js'
+import { SigningRequirementValidator } from '../../services/SigningRequirementValidator'
+import { ACTION_CODES } from '../../helpers/ActionMapping'
describe('SigningRequirementValidator', () => {
- const createStores = (overrides = {}) => {
+ type SigningMethodsStoreOverrides = Partial<{
+ needEmailCode: () => boolean
+ needTokenCode: () => boolean
+ needCertificate: () => boolean
+ needCreatePassword: () => boolean
+ needSignWithPassword: () => boolean
+ needClickToSign: () => boolean
+ }>
+
+ type IdentificationDocumentStoreOverrides = Partial<{
+ enabled: boolean
+ waitingApproval: boolean
+ modal: boolean
+ needIdentificationDocument: () => boolean
+ }>
+
+ type StoresOverrides = {
+ signStore?: Record
+ signMethodsStore?: SigningMethodsStoreOverrides
+ identificationDocumentStore?: IdentificationDocumentStoreOverrides
+ }
+
+ const createStores = (overrides: StoresOverrides = {}) => {
const signStore = {
+ errors: [],
document: {
signers: [{
me: true,
diff --git a/src/tests/services/longPolling.spec.js b/src/tests/services/longPolling.spec.ts
similarity index 73%
rename from src/tests/services/longPolling.spec.js
rename to src/tests/services/longPolling.spec.ts
index 9b9800b4dc..7bbebef79a 100644
--- a/src/tests/services/longPolling.spec.js
+++ b/src/tests/services/longPolling.spec.ts
@@ -4,19 +4,23 @@
*/
import { describe, expect, it, vi, beforeEach, afterEach } from 'vitest'
-import { generateOCSResponse } from '../test-helpers.js'
+import type { MockedFunction } from 'vitest'
+import { generateOCSResponse } from '../test-helpers'
-let getMock
-let generateOcsUrlMock
+type AxiosGet = (url: string, config?: { params?: { currentStatus?: number; timeout?: number }; timeout?: number }) => Promise<{ data: unknown }>
+type GenerateOcsUrl = typeof import('@nextcloud/router').generateOcsUrl
+
+let getMock: MockedFunction
+let generateOcsUrlMock: MockedFunction
vi.mock('@nextcloud/axios', () => ({
default: {
- get: (...args) => getMock(...args),
+ get: (...args: Parameters) => getMock(...args),
},
}))
vi.mock('@nextcloud/router', () => ({
- generateOcsUrl: (...args) => generateOcsUrlMock(...args),
+ generateOcsUrl: (...args: Parameters) => generateOcsUrlMock(...args),
}))
describe('longPolling services', () => {
@@ -33,7 +37,7 @@ describe('longPolling services', () => {
describe('waitForFileStatusChange', () => {
it('requests status updates and returns response data', async () => {
- getMock.mockResolvedValue(generateOCSResponse({
+ getMock.mockResolvedValue(generateOCSResponse<{ status: number }>({
payload: { status: 3 },
}))
const { waitForFileStatusChange } = await import('../../services/longPolling.js')
@@ -50,16 +54,18 @@ describe('longPolling services', () => {
it('uses default timeout of 30 seconds', async () => {
getMock.mockClear()
- getMock.mockResolvedValue(generateOCSResponse({
+ getMock.mockResolvedValue(generateOCSResponse<{ status: number }>({
payload: { status: 1 },
}))
const { waitForFileStatusChange } = await import('../../services/longPolling.js')
- await waitForFileStatusChange(1, '0')
+ await waitForFileStatusChange(1, 0)
const call = getMock.mock.calls[0]
- expect(call[1].params.timeout).toBe(30)
- expect(call[1].timeout).toBe(35000)
+ if (call && call[1] && call[1].params) {
+ expect(call[1].params.timeout).toBe(30)
+ expect(call[1].timeout).toBe(35000)
+ }
})
})
@@ -74,7 +80,7 @@ describe('longPolling services', () => {
startLongPolling(123, 0, (data) => {
onUpdate(data)
- })
+ }, null)
// Wait for polling to complete
await vi.waitFor(() => {
@@ -91,8 +97,8 @@ describe('longPolling services', () => {
const shouldStop = () => shouldStopFlag
getMock
- .mockResolvedValueOnce(generateOCSResponse({ payload: { status: 2 } }))
- .mockResolvedValueOnce(generateOCSResponse({ payload: { status: 3 } }))
+ .mockResolvedValueOnce(generateOCSResponse<{ status: number }>({ payload: { status: 2 } }))
+ .mockResolvedValueOnce(generateOCSResponse<{ status: number }>({ payload: { status: 3 } }))
const { startLongPolling } = await import('../../services/longPolling.js')
@@ -113,17 +119,17 @@ describe('longPolling services', () => {
it('RULE: calls stopPolling function to stop polling', async () => {
const onUpdate = vi.fn()
getMock
- .mockResolvedValue(generateOCSResponse({ payload: { status: 1 } }))
+ .mockResolvedValue(generateOCSResponse<{ status: number }>({ payload: { status: 1 } }))
const { startLongPolling } = await import('../../services/longPolling.js')
- let stopFn
+ let stopFn: (() => void) | null = null
stopFn = startLongPolling(123, 0, (data) => {
onUpdate(data)
- if (data.status === 1) {
+ if (data.status === 1 && stopFn) {
stopFn()
}
- })
+ }, null)
// Wait for first call
await vi.waitFor(() => {
@@ -134,14 +140,14 @@ describe('longPolling services', () => {
it('RULE: terminal status 3 (signed) stops polling', async () => {
const onUpdate = vi.fn()
getMock
- .mockResolvedValueOnce(generateOCSResponse({ payload: { status: 2 } }))
- .mockResolvedValueOnce(generateOCSResponse({ payload: { status: 3 } })) // terminal
+ .mockResolvedValueOnce(generateOCSResponse<{ status: number }>({ payload: { status: 2 } }))
+ .mockResolvedValueOnce(generateOCSResponse<{ status: number }>({ payload: { status: 3 } })) // terminal
const { startLongPolling } = await import('../../services/longPolling.js')
startLongPolling(123, 1, (data) => {
onUpdate(data)
- })
+ }, null)
await vi.waitFor(() => {
expect(onUpdate).toHaveBeenCalled()
@@ -153,13 +159,13 @@ describe('longPolling services', () => {
it('RULE: terminal status 4 (deleted) stops polling', async () => {
const onUpdate = vi.fn()
- getMock.mockResolvedValueOnce(generateOCSResponse({ payload: { status: 4 } }))
+ getMock.mockResolvedValueOnce(generateOCSResponse<{ status: number }>({ payload: { status: 4 } }))
const { startLongPolling } = await import('../../services/longPolling.js')
startLongPolling(123, 1, (data) => {
onUpdate(data)
- })
+ }, null)
await vi.waitFor(() => {
expect(onUpdate).toHaveBeenCalledWith({ status: 4 })
@@ -174,8 +180,8 @@ describe('longPolling services', () => {
getMock
.mockRejectedValueOnce(new Error('Network error'))
- .mockResolvedValueOnce(generateOCSResponse({ payload: { status: 2 } }))
- .mockResolvedValueOnce(generateOCSResponse({ payload: { status: 3 } }))
+ .mockResolvedValueOnce(generateOCSResponse<{ status: number }>({ payload: { status: 2 } }))
+ .mockResolvedValueOnce(generateOCSResponse<{ status: number }>({ payload: { status: 3 } }))
const { startLongPolling } = await import('../../services/longPolling.js')
@@ -221,10 +227,10 @@ describe('longPolling services', () => {
getMock
.mockRejectedValueOnce(new Error('Error 1'))
.mockRejectedValueOnce(new Error('Error 2'))
- .mockResolvedValueOnce(generateOCSResponse({ payload: { status: 2 } })) // success
+ .mockResolvedValueOnce(generateOCSResponse<{ status: number }>({ payload: { status: 2 } })) // success
.mockRejectedValueOnce(new Error('Error 3'))
.mockRejectedValueOnce(new Error('Error 4'))
- .mockResolvedValueOnce(generateOCSResponse({ payload: { status: 3 } })) // success & terminal
+ .mockResolvedValueOnce(generateOCSResponse<{ status: number }>({ payload: { status: 3 } })) // success & terminal
const { startLongPolling } = await import('../../services/longPolling.js')
@@ -248,16 +254,16 @@ describe('longPolling services', () => {
getMock.mockImplementation(() => {
callCount++
if (callCount <= 2) {
- return Promise.resolve(generateOCSResponse({ payload: { status: 2 } })) // same status
+ return Promise.resolve(generateOCSResponse<{ status: number }>({ payload: { status: 2 } })) // same status
}
- return Promise.resolve(generateOCSResponse({ payload: { status: 3 } })) // terminal
+ return Promise.resolve(generateOCSResponse<{ status: number }>({ payload: { status: 3 } })) // terminal
})
const { startLongPolling } = await import('../../services/longPolling.js')
startLongPolling(123, 2, (data) => {
onUpdate(data)
- })
+ }, null)
await vi.waitFor(() => {
expect(onUpdate).toHaveBeenCalledTimes(1)
@@ -272,15 +278,15 @@ describe('longPolling services', () => {
const onUpdate = vi.fn()
getMock
- .mockResolvedValueOnce(generateOCSResponse({ payload: { status: 2, message: 'Processing' } }))
- .mockResolvedValueOnce(generateOCSResponse({ payload: { status: 5, message: 'Ready' } }))
- .mockResolvedValueOnce(generateOCSResponse({ payload: { status: 3, message: 'Done' } }))
+ .mockResolvedValueOnce(generateOCSResponse<{ status: number; message: string }>({ payload: { status: 2, message: 'Processing' } }))
+ .mockResolvedValueOnce(generateOCSResponse<{ status: number; message: string }>({ payload: { status: 5, message: 'Ready' } }))
+ .mockResolvedValueOnce(generateOCSResponse<{ status: number; message: string }>({ payload: { status: 3, message: 'Done' } }))
const { startLongPolling } = await import('../../services/longPolling.js')
startLongPolling(123, 0, (data) => {
onUpdate(data)
- })
+ }, null)
await vi.waitFor(() => {
expect(onUpdate).toHaveBeenCalledTimes(3)
diff --git a/src/tests/services/settingsService.spec.js b/src/tests/services/settingsService.spec.ts
similarity index 71%
rename from src/tests/services/settingsService.spec.js
rename to src/tests/services/settingsService.spec.ts
index a6ae31d15d..d9ea8ac3b0 100644
--- a/src/tests/services/settingsService.spec.js
+++ b/src/tests/services/settingsService.spec.ts
@@ -4,10 +4,14 @@
*/
import { describe, expect, it, vi, beforeEach } from 'vitest'
-import { generateOCSResponse } from '../test-helpers.js'
+import type { MockedFunction } from 'vitest'
+import { generateOCSResponse } from '../test-helpers'
-let patchMock
-let generateUrlMock
+type PatchFn = (url: string, data?: Record) => Promise<{ data: { ocs: { data: { success: boolean } } } }>
+type GenerateUrl = typeof import('@nextcloud/router').generateUrl
+
+let patchMock: MockedFunction
+let generateUrlMock: MockedFunction
// Mock @nextcloud/logger to avoid import-time errors
vi.mock('@nextcloud/logger', () => ({
@@ -31,12 +35,12 @@ vi.mock('@nextcloud/logger', () => ({
vi.mock('@nextcloud/axios', () => ({
default: {
- patch: (...args) => patchMock(...args),
+ patch: (...args: Parameters) => patchMock(...args),
},
}))
vi.mock('@nextcloud/router', () => ({
- generateUrl: (...args) => generateUrlMock(...args),
+ generateUrl: (...args: Parameters) => generateUrlMock(...args),
}))
describe('settingsService', () => {
@@ -46,7 +50,7 @@ describe('settingsService', () => {
})
it('saves user phone number via API', async () => {
- const response = generateOCSResponse({ payload: { success: true } })
+ const response = generateOCSResponse({ payload: { success: true } }) as { data: { ocs: { data: { success: boolean } } } }
patchMock.mockResolvedValue(response)
const { settingsService } = await import('../../services/settingsService.js')
diff --git a/src/tests/services/visibleElementsService.spec.js b/src/tests/services/visibleElementsService.spec.ts
similarity index 97%
rename from src/tests/services/visibleElementsService.spec.js
rename to src/tests/services/visibleElementsService.spec.ts
index f52a36436b..3ed4f26a51 100644
--- a/src/tests/services/visibleElementsService.spec.js
+++ b/src/tests/services/visibleElementsService.spec.ts
@@ -6,7 +6,7 @@
import { describe, expect, it } from 'vitest'
import {
getVisibleElementsFromDocument,
-} from '../../services/visibleElementsService.js'
+} from '../../services/visibleElementsService'
describe('visibleElementsService', () => {
describe('getVisibleElementsFromDocument', () => {
diff --git a/src/tests/setup.js b/src/tests/setup.js
index 51a2bf8aad..4d100c533a 100644
--- a/src/tests/setup.js
+++ b/src/tests/setup.js
@@ -3,6 +3,84 @@
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
+import { vi, afterEach } from 'vitest'
+import { createPinia, setActivePinia } from 'pinia'
+import { cleanup } from '@testing-library/vue'
+
+setActivePinia(createPinia())
+
+// Global error handlers: throw on console warnings and errors for early detection
+const originalError = console.error
+const originalWarn = console.warn
+
+console.error = function (...args) {
+ const message = args[0]
+ // Allow legitimate error logging, but throw for assertion failures
+ if (message instanceof Error || typeof message === 'string') {
+ throw new Error(String(message))
+ }
+ return originalError.apply(console, args)
+}
+
+console.warn = function (...args) {
+ const message = args[0]
+ if (message instanceof Error || typeof message === 'string') {
+ throw new Error(String(message))
+ }
+ return originalWarn.apply(console, args)
+}
+
+vi.mock('@vue/test-utils', async (importOriginal) => {
+ const actual = await importOriginal()
+
+ return {
+ ...actual,
+ mount: actual.mount,
+ shallowMount: actual.shallowMount,
+ }
+})
+
+vi.mock('vue-select', () => ({
+ default: {
+ name: 'VueSelect',
+ render() {
+ return null
+ },
+ },
+}))
+
+vi.mock('vue-select/dist/vue-select.es.js', () => ({
+ default: {
+ name: 'VueSelect',
+ render() {
+ return null
+ },
+ },
+}))
+
+vi.mock('@nextcloud/vue/components/NcSelect', () => ({
+ default: {
+ name: 'NcSelect',
+ template: '',
+ },
+}))
+
+
+vi.mock('@nextcloud/vue/components/NcRichText', () => ({
+ default: {
+ name: 'NcRichText',
+ template: '',
+ },
+}))
+
+// Automatically cleanup after each test
+afterEach(() => {
+ cleanup()
+})
+
+setActivePinia(createPinia())
+
import './testHelpers/jsdomMocks.js'
import './testHelpers/nextcloudMocks.js'
import './testHelpers/vueMocks.js'
+
diff --git a/src/tests/store/actionsmenu.spec.js b/src/tests/store/actionsmenu.spec.ts
similarity index 100%
rename from src/tests/store/actionsmenu.spec.js
rename to src/tests/store/actionsmenu.spec.ts
diff --git a/src/tests/store/configureCheck.spec.js b/src/tests/store/configureCheck.spec.ts
similarity index 80%
rename from src/tests/store/configureCheck.spec.js
rename to src/tests/store/configureCheck.spec.ts
index 828d930336..8054ab2684 100644
--- a/src/tests/store/configureCheck.spec.js
+++ b/src/tests/store/configureCheck.spec.ts
@@ -4,9 +4,15 @@
*/
import { beforeAll, beforeEach, describe, expect, it, vi } from 'vitest'
+import type { MockedFunction } from 'vitest'
import { createPinia, setActivePinia } from 'pinia'
import axios from '@nextcloud/axios'
-import { generateOCSResponse } from '../test-helpers.js'
+import { generateOCSResponse } from '../test-helpers'
+
+type AxiosMock = {
+ get: MockedFunction<(url: string) => Promise>
+ post: MockedFunction<(url: string, data?: unknown) => Promise>
+}
// Mock @nextcloud/logger to avoid import-time errors
vi.mock('@nextcloud/logger', () => ({
@@ -36,7 +42,9 @@ vi.mock('@nextcloud/axios', () => ({
}))
vi.mock('@nextcloud/router', () => ({
- generateOcsUrl: vi.fn((path, params) => `/ocs/v2.php${path.replace(/{(\w+)}/g, (_, key) => params[key])}`),
+ generateOcsUrl: vi.fn((path: string, params?: Record) => (
+ `/ocs/v2.php${path.replace(/{(\w+)}/g, (_match: string, key: string) => params?.[key] ?? '')}`
+ )),
}))
vi.mock('@nextcloud/initial-state', () => ({
@@ -56,7 +64,8 @@ vi.mock('vue', async () => {
})
describe('configureCheck store - essential business rules', () => {
- let useConfigureCheckStore
+ const axiosMock = axios as unknown as AxiosMock
+ let useConfigureCheckStore: typeof import('../../store/configureCheck.js').useConfigureCheckStore
beforeAll(async () => {
const module = await import('../../store/configureCheck.js')
@@ -70,7 +79,7 @@ describe('configureCheck store - essential business rules', () => {
describe('RULE: checkSetup validates if resources are properly configured', () => {
it('java with error changes state to "need download"', async () => {
- axios.get.mockResolvedValue(generateOCSResponse({
+ axiosMock.get.mockResolvedValue(generateOCSResponse({
payload: [
{ resource: 'java', status: 'error' },
{ resource: 'jsignpdf', status: 'success' },
@@ -85,7 +94,7 @@ describe('configureCheck store - essential business rules', () => {
})
it('all resources ok changes state to "done"', async () => {
- axios.get.mockResolvedValue(generateOCSResponse({
+ axiosMock.get.mockResolvedValue(generateOCSResponse({
payload: [
{ resource: 'java', status: 'success' },
{ resource: 'jsignpdf', status: 'success' },
@@ -102,7 +111,7 @@ describe('configureCheck store - essential business rules', () => {
describe('RULE: certificateEngine determines operation mode', () => {
it('isNoneEngine returns true when engine is "none"', async () => {
- axios.get.mockResolvedValue(generateOCSResponse({ payload: [] }))
+ axiosMock.get.mockResolvedValue(generateOCSResponse({ payload: [] }))
const store = useConfigureCheckStore()
store.setCertificateEngine('none')
@@ -111,13 +120,13 @@ describe('configureCheck store - essential business rules', () => {
})
it('saveCertificateEngine persists engine and updates identifyMethods', async () => {
- axios.post.mockResolvedValue(generateOCSResponse({
+ axiosMock.post.mockResolvedValue(generateOCSResponse({
payload: {
identify_methods: ['email', 'sms'],
},
}))
- axios.get.mockResolvedValue(generateOCSResponse({
+ axiosMock.get.mockResolvedValue(generateOCSResponse({
payload: [
{ resource: 'java', status: 'success' },
{ resource: 'jsignpdf', status: 'success' },
@@ -136,7 +145,7 @@ describe('configureCheck store - essential business rules', () => {
describe('RULE: isConfigureOk validates engine-specific configuration', () => {
it('returns true when engine is configured without errors', async () => {
- axios.get.mockResolvedValue(generateOCSResponse({
+ axiosMock.get.mockResolvedValue(generateOCSResponse({
payload: [
{ resource: 'openssl-configure', status: 'success' },
],
@@ -149,7 +158,7 @@ describe('configureCheck store - essential business rules', () => {
})
it('returns false when engine has configuration error', async () => {
- axios.get.mockResolvedValue(generateOCSResponse({
+ axiosMock.get.mockResolvedValue(generateOCSResponse({
payload: [
{ resource: 'openssl-configure', status: 'error' },
],
diff --git a/src/tests/store/files.spec.js b/src/tests/store/files.spec.ts
similarity index 84%
rename from src/tests/store/files.spec.js
rename to src/tests/store/files.spec.ts
index 5f23647248..3e60724bbc 100644
--- a/src/tests/store/files.spec.js
+++ b/src/tests/store/files.spec.ts
@@ -4,10 +4,30 @@
*/
import { beforeAll, beforeEach, describe, expect, it, vi } from 'vitest'
+import type { Mock } from 'vitest'
import { createPinia, setActivePinia } from 'pinia'
import axios from '@nextcloud/axios'
import { emit } from '@nextcloud/event-bus'
-import { generateOCSResponse } from '../test-helpers.js'
+import { generateOCSResponse } from '../test-helpers'
+
+type AxiosMock = Mock & {
+ post: Mock
+ delete: Mock
+ patch: Mock
+}
+
+type TranslationParams = {
+ name?: string
+ date?: string
+}
+
+type GlobalT = (app: string, msg: string, params?: TranslationParams) => string
+
+type Signer = {
+ email: string
+ identify?: string | number
+ signRequestId?: number
+}
// Mock @nextcloud/logger to avoid import-time errors
vi.mock('@nextcloud/logger', () => ({
@@ -30,17 +50,20 @@ vi.mock('@nextcloud/logger', () => ({
}))
vi.mock('@nextcloud/axios', () => {
- const axiosMock = vi.fn()
- axiosMock.post = vi.fn()
- axiosMock.delete = vi.fn()
- axiosMock.patch = vi.fn()
+ const axiosInstanceMock = Object.assign(vi.fn(), {
+ post: vi.fn(),
+ delete: vi.fn(),
+ patch: vi.fn(),
+ })
return {
- default: axiosMock,
+ default: axiosInstanceMock,
}
})
vi.mock('@nextcloud/router', () => ({
- generateOcsUrl: vi.fn((path, params) => `/ocs/v2.php${path.replace(/{(\w+)}/g, (_, key) => params[key])}`),
+ generateOcsUrl: vi.fn((path: string, params?: Record) => (
+ `/ocs/v2.php${path.replace(/{(\w+)}/g, (_match: string, key: string) => params?.[key] ?? '')}`
+ )),
}))
vi.mock('vue', async () => {
@@ -49,8 +72,8 @@ vi.mock('vue', async () => {
return {
...actual,
default: Object.assign(Vue, {
- del: vi.fn((obj, key) => { delete obj[key] }),
- set: vi.fn((obj, key, value) => { obj[key] = value }),
+ del: vi.fn((obj: Record, key: string) => { delete obj[key] }),
+ set: vi.fn((obj: Record, key: string, value: unknown) => { obj[key] = value }),
}),
}
})
@@ -100,7 +123,8 @@ vi.mock('./sign.js', () => ({
}))
describe('files store - critical business rules', () => {
- let useFilesStore
+ const axiosMock = axios as unknown as AxiosMock
+ let useFilesStore: typeof import('../../store/files.js').useFilesStore
beforeAll(async () => {
const module = await import('../../store/files.js')
@@ -110,12 +134,15 @@ describe('files store - critical business rules', () => {
beforeEach(() => {
setActivePinia(createPinia())
vi.clearAllMocks()
- globalThis.t = vi.fn((app, msg, params) => {
+ const tMock: GlobalT = (app, msg, params) => {
if (!params) {
return msg
}
- return msg.replace('{name}', params.name).replace('{date}', params.date)
- })
+ const name = params.name ?? ''
+ const date = params.date ?? ''
+ return msg.replace('{name}', name).replace('{date}', date)
+ }
+ ;(globalThis as typeof globalThis & { t: GlobalT }).t = vi.fn(tMock)
})
describe('RULE: removing selected file clears selection', () => {
@@ -185,7 +212,7 @@ describe('files store - critical business rules', () => {
store.selectedFileId = 100
store.files[100] = { id: 100, filesCount: 2 }
- axios.post.mockResolvedValue(generateOCSResponse({
+ axiosMock.post.mockResolvedValue(generateOCSResponse({
payload: { filesCount: 5 },
}))
@@ -199,7 +226,7 @@ describe('files store - critical business rules', () => {
store.selectedFileId = 100
store.files[100] = { id: 100, filesCount: 5 }
- axios.delete.mockResolvedValue({})
+ axiosMock.delete.mockResolvedValue({})
await store.removeFilesFromEnvelope([1, 2, 3])
@@ -211,7 +238,7 @@ describe('files store - critical business rules', () => {
store.selectedFileId = 100
store.files[100] = { id: 100, filesCount: 1 }
- axios.delete.mockResolvedValue({})
+ axiosMock.delete.mockResolvedValue({})
await store.removeFilesFromEnvelope([1, 2, 3, 4, 5])
@@ -223,9 +250,9 @@ describe('files store - critical business rules', () => {
it('ERR_CANCELED returns a specific message', async () => {
const store = useFilesStore()
- const error = new Error('Cancelled')
+ const error = new Error('Cancelled') as Error & { code?: string }
error.code = 'ERR_CANCELED'
- axios.post.mockRejectedValue(error)
+ axiosMock.post.mockRejectedValue(error)
const result = await store.addFilesToEnvelope('uuid', new FormData())
@@ -534,15 +561,37 @@ describe('files store - critical business rules', () => {
],
}
- axios.delete.mockResolvedValue({})
+ axiosMock.delete.mockResolvedValue({})
await store.deleteSigner({ identify: 'id2', signingOrder: 2 })
- const remainingSigners = store.files[1].signers
+ const remainingSigners: Array<{ identify: string; signingOrder: number }> = store.files[1].signers
expect(remainingSigners).toHaveLength(2)
- expect(remainingSigners.find(s => s.identify === 'id3').signingOrder).toBe(2)
+ const signer = remainingSigners.find((s: { identify: string }) => s.identify === 'id3')
+ expect(signer?.signingOrder).toBe(2)
})
+ it('deleting signer updates signersCount for file list badges', async () => {
+ const store = useFilesStore()
+ store.selectedFileId = 1
+ store.files[1] = {
+ id: 1,
+ signatureFlow: 'none',
+ signersCount: 2,
+ signers: [
+ { identify: 'id1' },
+ { identify: 'id2' },
+ ],
+ }
+
+ axiosMock.delete.mockResolvedValue({})
+
+ await store.deleteSigner({ identify: 'id2' })
+
+ expect(store.files[1].signers).toHaveLength(1)
+ expect(store.files[1].signersCount).toBe(1)
+ })
+
it('adding signer assigns next signing order in ordered flow', () => {
const store = useFilesStore()
store.selectedFileId = 1
@@ -558,8 +607,8 @@ describe('files store - critical business rules', () => {
const newSigner = { email: 'new@example.com' }
store.signerUpdate(newSigner)
- const addedSigner = store.files[1].signers.find(s => s.email === 'new@example.com')
- expect(addedSigner.signingOrder).toBe(3)
+ const addedSigner = store.files[1].signers.find((s: { email: string }) => s.email === 'new@example.com')
+ expect(addedSigner?.signingOrder).toBe(3)
})
it('updating existing signer replaces old signer data', () => {
@@ -687,7 +736,7 @@ describe('files store - critical business rules', () => {
name: 'old-name.pdf',
}
- axios.patch.mockResolvedValue({
+ axiosMock.patch.mockResolvedValue({
data: { ocs: { meta: { status: 'ok' } } },
})
@@ -701,7 +750,7 @@ describe('files store - critical business rules', () => {
const store = useFilesStore()
const consoleErrorSpy = vi.spyOn(console, 'error').mockImplementation(() => {})
- axios.patch.mockRejectedValue(new Error('Network error'))
+ axiosMock.patch.mockRejectedValue(new Error('Network error'))
const result = await store.rename('test-uuid', 'new-name.pdf')
@@ -717,7 +766,7 @@ describe('files store - critical business rules', () => {
store.files[2] = { id: 2, name: 'file2.pdf' }
store.files[3] = { id: 3, name: 'file3.pdf' }
- axios.delete.mockResolvedValue({})
+ axiosMock.delete.mockResolvedValue({})
await store.deleteMultiple([1, 2, 3], false)
@@ -731,7 +780,7 @@ describe('files store - critical business rules', () => {
store.files[1] = { id: 1, name: 'file1.pdf' }
store.files[2] = { id: 2, name: 'file2.pdf' }
- axios.delete.mockImplementation(() => {
+ axiosMock.delete.mockImplementation(() => {
expect(store.loading).toBe(true)
return Promise.resolve({})
})
@@ -745,7 +794,7 @@ describe('files store - critical business rules', () => {
describe('RULE: adding unique identifiers to signers', () => {
it('generates unique identifier for new signer', () => {
const store = useFilesStore()
- const signer = { email: 'test@example.com' }
+ const signer: Signer = { email: 'test@example.com' }
store.addIdentifierToSigner(signer)
@@ -755,7 +804,7 @@ describe('files store - critical business rules', () => {
it('uses signRequestId as identifier when available', () => {
const store = useFilesStore()
- const signer = { email: 'test@example.com', signRequestId: 456 }
+ const signer: Signer = { email: 'test@example.com', signRequestId: 456 }
store.addIdentifierToSigner(signer)
@@ -764,7 +813,7 @@ describe('files store - critical business rules', () => {
it('preserves existing identifier', () => {
const store = useFilesStore()
- const signer = { email: 'test@example.com', identify: 'existing-id' }
+ const signer: Signer = { email: 'test@example.com', identify: 'existing-id' }
store.addIdentifierToSigner(signer)
@@ -772,6 +821,42 @@ describe('files store - critical business rules', () => {
})
})
+ describe('RULE: addFile sets identify on all signers (contract used by Signers.vue :key)', () => {
+ it('sets identify from signRequestId when present', async () => {
+ const store = useFilesStore()
+ await store.addFile({ id: 1, signers: [{ email: 'a@example.com', signRequestId: 42 }] })
+
+ expect(store.files[1].signers[0].identify).toBe(42)
+ })
+
+ it('generates identify for new signers without signRequestId', async () => {
+ const store = useFilesStore()
+ await store.addFile({ id: 1, signers: [{ email: 'b@example.com' }] })
+
+ expect(store.files[1].signers[0].identify).toBeDefined()
+ expect(typeof store.files[1].signers[0].identify).toBe('string')
+ })
+
+ it('sets identify on every signer in a multi-signer file', async () => {
+ const store = useFilesStore()
+ await store.addFile({
+ id: 2,
+ signers: [
+ { email: 'c@example.com', signRequestId: 10 },
+ { email: 'd@example.com' },
+ { email: 'e@example.com', signRequestId: 20 },
+ ],
+ })
+
+ const signers = store.files[2].signers
+ for (const signer of signers) {
+ expect(signer.identify).toBeDefined()
+ }
+ expect(signers[0].identify).toBe(10)
+ expect(signers[2].identify).toBe(20)
+ })
+ })
+
describe('RULE: file lookup by nodeId', () => {
it('returns file id when nodeId matches', () => {
const store = useFilesStore()
@@ -898,13 +983,13 @@ describe('files store - critical business rules', () => {
const store = useFilesStore()
const formData = new FormData()
const addFileSpy = vi.spyOn(store, 'addFile')
- axios.post.mockResolvedValue({
+ axiosMock.post.mockResolvedValue({
data: { ocs: { data: { id: 5, nodeId: 9, settings: { path: '/path' }, signers: [] } } },
})
const result = await store.upload(formData)
- expect(axios.post).toHaveBeenCalled()
+ expect(axiosMock.post).toHaveBeenCalled()
expect(addFileSpy).toHaveBeenCalledWith(
expect.objectContaining({ id: 5, nodeId: 9 }),
{ position: 'start' },
@@ -918,13 +1003,13 @@ describe('files store - critical business rules', () => {
it('uploads plain payload without multipart headers', async () => {
const store = useFilesStore()
- axios.post.mockResolvedValue({
+ axiosMock.post.mockResolvedValue({
data: { ocs: { data: { id: 6, nodeId: 10, settings: {}, signers: [] } } },
})
const result = await store.upload({ file: { path: '/file.pdf' } })
- expect(axios.post).toHaveBeenCalled()
+ expect(axiosMock.post).toHaveBeenCalled()
expect(result).toBe(6)
})
})
@@ -939,13 +1024,13 @@ describe('files store - critical business rules', () => {
signatureFlow: 'parallel',
signers: [{ email: 'signer@example.com' }],
}
- axios.mockResolvedValue({
+ axiosMock.mockResolvedValue({
data: { ocs: { data: { id: 1, nodeId: 99, signatureFlow: 'parallel', signers: [] } } },
})
await store.saveOrUpdateSignatureRequest({ status: 1 })
- const config = axios.mock.calls[0][0]
+ const config = axiosMock.mock.calls[0][0]
expect(config.data.signers).toEqual([{ email: 'signer@example.com' }])
})
@@ -959,13 +1044,13 @@ describe('files store - critical business rules', () => {
signers: [],
settings: { path: '/files/contract.pdf' },
}
- axios.mockResolvedValue({
+ axiosMock.mockResolvedValue({
data: { ocs: { data: { id: 1, nodeId: 99, signatureFlow: 'ordered_numeric', signers: [] } } },
})
await store.saveOrUpdateSignatureRequest({ status: 1 })
- const config = axios.mock.calls[0][0]
+ const config = axiosMock.mock.calls[0][0]
expect(config.data.signatureFlow).toBe('ordered_numeric')
expect(config.data.file.fileId).toBe(1)
expect(config.data.file.settings).toEqual({ path: '/files/contract.pdf' })
@@ -975,7 +1060,7 @@ describe('files store - critical business rules', () => {
const store = useFilesStore()
store.selectedFileId = 1
store.files[1] = { id: 1, signatureFlow: 'ordered_numeric', signers: [] }
- axios.mockResolvedValue({
+ axiosMock.mockResolvedValue({
data: {
ocs: {
data: {
@@ -1006,7 +1091,7 @@ describe('files store - critical business rules', () => {
signers: [],
}
store.ordered = [10]
- axios.mockResolvedValue({
+ axiosMock.mockResolvedValue({
data: { ocs: { data: { id: 12, nodeId: 'real-node', signers: [] } } },
})
diff --git a/src/tests/store/filesSorting.spec.js b/src/tests/store/filesSorting.spec.ts
similarity index 97%
rename from src/tests/store/filesSorting.spec.js
rename to src/tests/store/filesSorting.spec.ts
index 4261cccdb4..31f9389d67 100644
--- a/src/tests/store/filesSorting.spec.js
+++ b/src/tests/store/filesSorting.spec.ts
@@ -27,7 +27,7 @@ vi.mock('@nextcloud/axios', () => ({
}))
vi.mock('@nextcloud/router', () => ({
- generateOcsUrl: (path, params) => path.replace('{key}', params.key),
+ generateOcsUrl: (path: string, params: { key: string }) => path.replace('{key}', params.key),
}))
describe('filesSorting store', () => {
diff --git a/src/tests/store/filters.spec.js b/src/tests/store/filters.spec.ts
similarity index 88%
rename from src/tests/store/filters.spec.js
rename to src/tests/store/filters.spec.ts
index 22506b9746..6004877955 100644
--- a/src/tests/store/filters.spec.js
+++ b/src/tests/store/filters.spec.ts
@@ -4,11 +4,16 @@
*/
import { beforeEach, describe, expect, it, vi } from 'vitest'
+import type { MockedFunction } from 'vitest'
import { createPinia, setActivePinia } from 'pinia'
import axios from '@nextcloud/axios'
import { emit } from '@nextcloud/event-bus'
import { loadState } from '@nextcloud/initial-state'
+type AxiosMock = {
+ put: MockedFunction<(url: string, data?: unknown) => Promise<{ data: { success: boolean } }>>
+}
+
// Mock @nextcloud/logger to avoid import-time errors
vi.mock('@nextcloud/logger', () => ({
getLogger: vi.fn(() => ({
@@ -44,7 +49,7 @@ vi.mock('@nextcloud/initial-state', () => ({
}))
vi.mock('@nextcloud/router', () => ({
- generateOcsUrl: vi.fn((path, params) => {
+ generateOcsUrl: vi.fn((path: string, params?: Record) => {
let url = `/ocs/v2.php${path}`
if (params) {
Object.entries(params).forEach(([key, value]) => {
@@ -62,7 +67,8 @@ vi.mock('../../helpers/logger.js', () => ({
}))
describe('filters store - filter business rules', () => {
- let useFiltersStore
+ const axiosMock = axios as unknown as AxiosMock
+ let useFiltersStore: typeof import('../../store/filters.js').useFiltersStore
beforeEach(async () => {
setActivePinia(createPinia())
@@ -196,7 +202,7 @@ describe('filters store - filter business rules', () => {
describe('business rule: modification filter should save to server', () => {
it('modified filter should save first chip ID to server', async () => {
- axios.put.mockResolvedValue({ data: { success: true } })
+ axiosMock.put.mockResolvedValue({ data: { success: true } })
const store = useFiltersStore()
const event = {
@@ -206,14 +212,14 @@ describe('filters store - filter business rules', () => {
await store.onFilterUpdateChipsAndSave(event)
- expect(axios.put).toHaveBeenCalledWith(
+ expect(axiosMock.put).toHaveBeenCalledWith(
'/ocs/v2.php/apps/libresign/api/v1/account/config/filter_modified',
{ value: 'today' }
)
})
it('modified filter with multiple chips should save only the first', async () => {
- axios.put.mockResolvedValue({ data: { success: true } })
+ axiosMock.put.mockResolvedValue({ data: { success: true } })
const store = useFiltersStore()
const event = {
@@ -226,14 +232,14 @@ describe('filters store - filter business rules', () => {
await store.onFilterUpdateChipsAndSave(event)
- expect(axios.put).toHaveBeenCalledWith(
+ expect(axiosMock.put).toHaveBeenCalledWith(
'/ocs/v2.php/apps/libresign/api/v1/account/config/filter_modified',
{ value: 'today' }
)
})
it('empty modified filter should save empty string', async () => {
- axios.put.mockResolvedValue({ data: { success: true } })
+ axiosMock.put.mockResolvedValue({ data: { success: true } })
const store = useFiltersStore()
const event = {
@@ -243,7 +249,7 @@ describe('filters store - filter business rules', () => {
await store.onFilterUpdateChipsAndSave(event)
- expect(axios.put).toHaveBeenCalledWith(
+ expect(axiosMock.put).toHaveBeenCalledWith(
'/ocs/v2.php/apps/libresign/api/v1/account/config/filter_modified',
{ value: '' }
)
@@ -252,7 +258,7 @@ describe('filters store - filter business rules', () => {
describe('business rule: status filter should save JSON array to server', () => {
it('status filter should save ID array as JSON', async () => {
- axios.put.mockResolvedValue({ data: { success: true } })
+ axiosMock.put.mockResolvedValue({ data: { success: true } })
const store = useFiltersStore()
const event = {
@@ -265,14 +271,14 @@ describe('filters store - filter business rules', () => {
await store.onFilterUpdateChipsAndSave(event)
- expect(axios.put).toHaveBeenCalledWith(
+ expect(axiosMock.put).toHaveBeenCalledWith(
'/ocs/v2.php/apps/libresign/api/v1/account/config/filter_status',
{ value: '["signed","pending"]' }
)
})
it('empty status filter should save empty string', async () => {
- axios.put.mockResolvedValue({ data: { success: true } })
+ axiosMock.put.mockResolvedValue({ data: { success: true } })
const store = useFiltersStore()
const event = {
@@ -282,14 +288,14 @@ describe('filters store - filter business rules', () => {
await store.onFilterUpdateChipsAndSave(event)
- expect(axios.put).toHaveBeenCalledWith(
+ expect(axiosMock.put).toHaveBeenCalledWith(
'/ocs/v2.php/apps/libresign/api/v1/account/config/filter_status',
{ value: '' }
)
})
it('status filter should update local state after saving', async () => {
- axios.put.mockResolvedValue({ data: { success: true } })
+ axiosMock.put.mockResolvedValue({ data: { success: true } })
const store = useFiltersStore()
const event = {
@@ -313,7 +319,7 @@ describe('filters store - filter business rules', () => {
await store.onFilterUpdateChipsAndSave(event)
- expect(axios.put).not.toHaveBeenCalled()
+ expect(axiosMock.put).not.toHaveBeenCalled()
})
it('filter with different ID should still emit event', async () => {
diff --git a/src/tests/store/identificationDocument.spec.js b/src/tests/store/identificationDocument.spec.ts
similarity index 100%
rename from src/tests/store/identificationDocument.spec.js
rename to src/tests/store/identificationDocument.spec.ts
diff --git a/src/tests/store/keyboard.spec.js b/src/tests/store/keyboard.spec.ts
similarity index 77%
rename from src/tests/store/keyboard.spec.js
rename to src/tests/store/keyboard.spec.ts
index abba1d85ed..f27b305073 100644
--- a/src/tests/store/keyboard.spec.js
+++ b/src/tests/store/keyboard.spec.ts
@@ -7,6 +7,8 @@ import { beforeEach, describe, expect, it } from 'vitest'
import { createPinia, setActivePinia } from 'pinia'
import { useKeyboardStore } from '../../store/keyboard.js'
+type KeyboardLikeEvent = Pick
+
describe('keyboard store', () => {
beforeEach(() => {
setActivePinia(createPinia())
@@ -26,7 +28,8 @@ describe('keyboard store', () => {
it('falls back to window.event when no event provided', () => {
const store = useKeyboardStore()
- window.event = { altKey: false, ctrlKey: true, metaKey: false, shiftKey: true }
+ const fallbackEvent: KeyboardLikeEvent = { altKey: false, ctrlKey: true, metaKey: false, shiftKey: true }
+ ;(window as unknown as { event?: KeyboardLikeEvent }).event = fallbackEvent
store.onEvent()
expect(store.altKey).toBe(false)
diff --git a/src/tests/store/longPolling.spec.js b/src/tests/store/longPolling.spec.ts
similarity index 100%
rename from src/tests/store/longPolling.spec.js
rename to src/tests/store/longPolling.spec.ts
diff --git a/src/tests/store/selection.spec.js b/src/tests/store/selection.spec.ts
similarity index 100%
rename from src/tests/store/selection.spec.js
rename to src/tests/store/selection.spec.ts
diff --git a/src/tests/store/sidebar.spec.js b/src/tests/store/sidebar.spec.ts
similarity index 97%
rename from src/tests/store/sidebar.spec.js
rename to src/tests/store/sidebar.spec.ts
index d4d7cbd587..7d16da7246 100644
--- a/src/tests/store/sidebar.spec.js
+++ b/src/tests/store/sidebar.spec.ts
@@ -4,23 +4,23 @@
*/
import { beforeEach, describe, expect, it, vi } from 'vitest'
-import { createPinia, setActivePinia } from 'pinia'
+import { setActivePinia, createPinia } from 'pinia'
vi.mock('vue', async () => {
const actual = await vi.importActual('vue')
- const Vue = actual.default ?? actual
return {
...actual,
- default: Object.assign(Vue, {
+ default: {
+ ...actual,
set: vi.fn((obj, key, value) => {
obj[key] = value
}),
- }),
+ },
}
})
describe('sidebar store - visibility rules', () => {
- let useSidebarStore
+ let useSidebarStore: typeof import('../../store/sidebar.js').useSidebarStore
beforeEach(async () => {
setActivePinia(createPinia())
diff --git a/src/tests/store/sign.spec.js b/src/tests/store/sign.spec.ts
similarity index 95%
rename from src/tests/store/sign.spec.js
rename to src/tests/store/sign.spec.ts
index 35b493e18b..b0317a2806 100644
--- a/src/tests/store/sign.spec.js
+++ b/src/tests/store/sign.spec.ts
@@ -528,14 +528,15 @@ describe('useSignStore', () => {
const { default: axios } = await import('@nextcloud/axios')
const store = useSignStore()
- axios.post.mockResolvedValue({
+ const axiosPost = vi.mocked(axios.post)
+ axiosPost.mockResolvedValue({
data: { ocs: { data: { action: 3500 } } },
})
const payload = { signature: 'base64data' }
await store.submitSignature(payload, 'uuid-123')
- expect(axios.post).toHaveBeenCalledWith(
+ expect(axiosPost).toHaveBeenCalledWith(
expect.stringContaining('/sign/uuid/uuid-123'),
payload
)
@@ -545,14 +546,15 @@ describe('useSignStore', () => {
const { default: axios } = await import('@nextcloud/axios')
const store = useSignStore()
- axios.post.mockResolvedValue({
+ const axiosPost = vi.mocked(axios.post)
+ axiosPost.mockResolvedValue({
data: { ocs: { data: { action: 3500 } } },
})
const payload = { signature: 'base64data' }
await store.submitSignature(payload, null, { documentId: 999 })
- expect(axios.post).toHaveBeenCalledWith(
+ expect(axiosPost).toHaveBeenCalledWith(
expect.stringContaining('/sign/file_id/999'),
payload
)
@@ -562,7 +564,8 @@ describe('useSignStore', () => {
const { default: axios } = await import('@nextcloud/axios')
const store = useSignStore()
- axios.post.mockResolvedValue({
+ const axiosPost = vi.mocked(axios.post)
+ axiosPost.mockResolvedValue({
data: { ocs: { data: { action: 3500 } } },
})
@@ -575,7 +578,8 @@ describe('useSignStore', () => {
const { default: axios } = await import('@nextcloud/axios')
const store = useSignStore()
- axios.post.mockRejectedValue({
+ const axiosPost = vi.mocked(axios.post)
+ axiosPost.mockRejectedValue({
response: {
data: {
ocs: { data: { action: 4000, errors: ['No certificate'] } },
@@ -595,7 +599,8 @@ describe('useSignStore', () => {
const store = useSignStore()
const responseData = { action: 3500, jobId: '123' }
- axios.post.mockResolvedValue({
+ const axiosPost = vi.mocked(axios.post)
+ axiosPost.mockResolvedValue({
data: { ocs: { data: responseData } },
})
@@ -609,15 +614,18 @@ describe('useSignStore', () => {
beforeEach(async () => {
const { loadState } = await import('@nextcloud/initial-state')
vi.mocked(loadState).mockReset()
- vi.mocked(loadState).mockImplementation((app, key, defaultValue) => {
- const values = {
+ vi.mocked(loadState).mockImplementation((_app: string, key: string, defaultValue: T): T => {
+ const values: Record = {
errors: [{ code: 'TEST' }],
id: 100,
filename: 'test.pdf',
status: FILE_STATUS.ABLE_TO_SIGN,
signers: [{ me: true }],
}
- return values[key] ?? defaultValue
+ if (Object.prototype.hasOwnProperty.call(values, key)) {
+ return values[key] as T
+ }
+ return defaultValue
})
})
diff --git a/src/tests/store/signMethods.spec.js b/src/tests/store/signMethods.spec.ts
similarity index 100%
rename from src/tests/store/signMethods.spec.js
rename to src/tests/store/signMethods.spec.ts
diff --git a/src/tests/store/signatureElements.spec.js b/src/tests/store/signatureElements.spec.ts
similarity index 79%
rename from src/tests/store/signatureElements.spec.js
rename to src/tests/store/signatureElements.spec.ts
index 100638da27..f560ffa4db 100644
--- a/src/tests/store/signatureElements.spec.js
+++ b/src/tests/store/signatureElements.spec.ts
@@ -4,10 +4,18 @@
*/
import { beforeAll, beforeEach, describe, expect, it, vi } from 'vitest'
+import type { Mock, MockedFunction } from 'vitest'
import { createPinia, setActivePinia } from 'pinia'
import axios from '@nextcloud/axios'
import { loadState } from '@nextcloud/initial-state'
+type AxiosMock = Mock & {
+ get: Mock
+ post: Mock
+ patch: Mock
+ delete: Mock
+}
+
// Mock @nextcloud/logger to avoid import-time errors
vi.mock('@nextcloud/logger', () => ({
getLogger: vi.fn(() => ({
@@ -29,22 +37,23 @@ vi.mock('@nextcloud/logger', () => ({
}))
vi.mock('@nextcloud/axios', () => {
- const axiosMock = vi.fn()
- axiosMock.get = vi.fn()
- axiosMock.post = vi.fn()
- axiosMock.patch = vi.fn()
- axiosMock.delete = vi.fn()
+ const axiosInstanceMock = Object.assign(vi.fn(), {
+ get: vi.fn(),
+ post: vi.fn(),
+ patch: vi.fn(),
+ delete: vi.fn(),
+ })
return {
- default: axiosMock,
+ default: axiosInstanceMock,
}
})
vi.mock('@nextcloud/initial-state', () => ({
- loadState: vi.fn((app, key, defaultValue) => defaultValue),
+ loadState: vi.fn((app: string, key: string, defaultValue: unknown) => defaultValue),
}))
vi.mock('@nextcloud/router', () => ({
- generateOcsUrl: vi.fn((path, params) => {
+ generateOcsUrl: vi.fn((path: string, params?: Record) => {
let url = `/ocs/v2.php${path}`
if (params) {
Object.entries(params).forEach(([key, value]) => {
@@ -57,19 +66,21 @@ vi.mock('@nextcloud/router', () => ({
vi.mock('vue', async () => {
const actual = await vi.importActual('vue')
- const Vue = actual.default ?? actual
return {
...actual,
- default: Object.assign(Vue, {
- set: vi.fn((obj, key, value) => {
+ default: {
+ ...actual,
+ set: vi.fn((obj: Record, key: string, value: unknown) => {
obj[key] = value
}),
- }),
+ },
}
})
describe('signatureElements store - signature business rules', () => {
- let useSignatureElementsStore
+ const axiosMock = axios as unknown as AxiosMock
+ const loadStateMock = loadState as MockedFunction
+ let useSignatureElementsStore: typeof import('../../store/signatureElements.js').useSignatureElementsStore
beforeAll(async () => {
const module = await import('../../store/signatureElements.js')
@@ -83,7 +94,7 @@ describe('signatureElements store - signature business rules', () => {
describe('RULE: hasSignatureOfType validates if user has signature of type', () => {
it('returns true when signature has createdAt filled', () => {
- loadState.mockReturnValue([{
+ loadStateMock.mockReturnValue([{
type: 'signature',
createdAt: '2024-01-01',
file: { url: '/test.png', nodeId: 123 },
@@ -95,7 +106,7 @@ describe('signatureElements store - signature business rules', () => {
})
it('returns false when signature has no createdAt', () => {
- loadState.mockReturnValue([])
+ loadStateMock.mockReturnValue([])
const store = useSignatureElementsStore()
@@ -105,7 +116,7 @@ describe('signatureElements store - signature business rules', () => {
describe('RULE: save should use PATCH if signature exists, POST if not', () => {
it('uses PATCH when signature already exists (nodeId > 0)', async () => {
- loadState.mockImplementation((app, key, defaultValue) => {
+ loadStateMock.mockImplementation((app, key, defaultValue) => {
if (key === 'user_signatures') {
return [{
type: 'signature',
@@ -116,7 +127,7 @@ describe('signatureElements store - signature business rules', () => {
return defaultValue
})
- axios.mockResolvedValue({
+ axiosMock.mockResolvedValue({
data: {
ocs: {
data: {
@@ -130,7 +141,7 @@ describe('signatureElements store - signature business rules', () => {
const store = useSignatureElementsStore()
await store.save('signature', 'base64data')
- expect(axios).toHaveBeenCalledWith(
+ expect(axiosMock).toHaveBeenCalledWith(
expect.objectContaining({
method: 'patch',
url: '/ocs/v2.php/apps/libresign/api/v1/signature/elements/123',
@@ -139,9 +150,9 @@ describe('signatureElements store - signature business rules', () => {
})
it('uses POST when signature does not exist (nodeId = 0)', async () => {
- loadState.mockReturnValue([])
+ loadStateMock.mockReturnValue([])
- axios.mockResolvedValue({
+ axiosMock.mockResolvedValue({
data: {
ocs: {
data: {
@@ -157,7 +168,7 @@ describe('signatureElements store - signature business rules', () => {
await store.save('signature', 'base64data')
- expect(axios).toHaveBeenCalledWith(
+ expect(axiosMock).toHaveBeenCalledWith(
expect.objectContaining({
method: 'post',
url: '/ocs/v2.php/apps/libresign/api/v1/signature/elements',
@@ -168,13 +179,13 @@ describe('signatureElements store - signature business rules', () => {
describe('RULE: saving with signRequestUuid should send specific header', () => {
it('includes header when has signRequestUuid', async () => {
- loadState.mockImplementation((app, key, defaultValue) => {
+ loadStateMock.mockImplementation((app, key, defaultValue) => {
if (key === 'sign_request_uuid') return 'uuid-123'
if (key === 'user_signatures') return []
return defaultValue
})
- axios.mockResolvedValue({
+ axiosMock.mockResolvedValue({
data: {
ocs: {
data: {
@@ -190,7 +201,7 @@ describe('signatureElements store - signature business rules', () => {
await store.save('signature', 'base64data')
- expect(axios).toHaveBeenCalledWith(
+ expect(axiosMock).toHaveBeenCalledWith(
expect.objectContaining({
headers: {
'libresign-sign-request-uuid': 'uuid-123',
@@ -200,13 +211,13 @@ describe('signatureElements store - signature business rules', () => {
})
it('does not include header when has no signRequestUuid', async () => {
- loadState.mockImplementation((app, key, defaultValue) => {
+ loadStateMock.mockImplementation((app, key, defaultValue) => {
if (key === 'sign_request_uuid') return ''
if (key === 'user_signatures') return []
return defaultValue
})
- axios.mockResolvedValue({
+ axiosMock.mockResolvedValue({
data: {
ocs: {
data: {
@@ -222,14 +233,14 @@ describe('signatureElements store - signature business rules', () => {
await store.save('signature', 'base64data')
- const call = axios.mock.calls[0][0]
+ const call = axiosMock.mock.calls[0][0]
expect(call.headers).toBeUndefined()
})
})
describe('RULE: delete should clear signature and use emptyElement', () => {
it('delete should reset signature to empty state', async () => {
- loadState.mockImplementation((app, key, defaultValue) => {
+ loadStateMock.mockImplementation((app, key, defaultValue) => {
if (key === 'user_signatures') {
return [{
type: 'signature',
@@ -240,7 +251,7 @@ describe('signatureElements store - signature business rules', () => {
return defaultValue
})
- axios.mockResolvedValue({
+ axiosMock.mockResolvedValue({
data: {
ocs: {
data: {
@@ -260,7 +271,7 @@ describe('signatureElements store - signature business rules', () => {
})
it('delete with 404 error should reset signature anyway', async () => {
- loadState.mockImplementation((app, key, defaultValue) => {
+ loadStateMock.mockImplementation((app, key, defaultValue) => {
if (key === 'user_signatures') {
return [{
type: 'signature',
@@ -271,7 +282,7 @@ describe('signatureElements store - signature business rules', () => {
return defaultValue
})
- axios.mockRejectedValue({
+ axiosMock.mockRejectedValue({
response: {
status: 404,
},
@@ -287,7 +298,7 @@ describe('signatureElements store - signature business rules', () => {
})
it('delete should include signRequestUuid in header when available', async () => {
- loadState.mockImplementation((app, key, defaultValue) => {
+ loadStateMock.mockImplementation((app, key, defaultValue) => {
if (key === 'sign_request_uuid') return 'uuid-123'
if (key === 'user_signatures') {
return [{
@@ -299,7 +310,7 @@ describe('signatureElements store - signature business rules', () => {
return defaultValue
})
- axios.mockResolvedValue({
+ axiosMock.mockResolvedValue({
data: {
ocs: {
data: {
@@ -314,7 +325,7 @@ describe('signatureElements store - signature business rules', () => {
await store.delete('signature')
- expect(axios).toHaveBeenCalledWith(
+ expect(axiosMock).toHaveBeenCalledWith(
expect.objectContaining({
headers: {
'libresign-sign-request-uuid': 'uuid-123',
@@ -326,7 +337,7 @@ describe('signatureElements store - signature business rules', () => {
describe('RULE: loadSignatures should only execute once', () => {
it('loads signatures from loadState if available', () => {
- loadState.mockImplementation((app, key, defaultValue) => {
+ loadStateMock.mockImplementation((app, key, defaultValue) => {
if (key === 'user_signatures') {
return [
{
@@ -348,15 +359,15 @@ describe('signatureElements store - signature business rules', () => {
expect(store.signs.signature.createdAt).toBe('2024-01-01')
expect(store.signs.initial.createdAt).toBe('2024-01-02')
- expect(axios).not.toHaveBeenCalled()
+ expect(axiosMock).not.toHaveBeenCalled()
})
it('fetches from server if loadState has no signatures', async () => {
- loadState.mockImplementation((app, key, defaultValue) => {
+ loadStateMock.mockImplementation((app, key, defaultValue) => {
return defaultValue
})
- axios.mockResolvedValue({
+ axiosMock.mockResolvedValue({
data: {
ocs: {
data: {
@@ -372,7 +383,7 @@ describe('signatureElements store - signature business rules', () => {
const store = useSignatureElementsStore()
- expect(axios).toHaveBeenCalledWith(
+ expect(axiosMock).toHaveBeenCalledWith(
expect.objectContaining({
method: 'get',
url: '/ocs/v2.php/apps/libresign/api/v1/signature/elements',
@@ -383,9 +394,9 @@ describe('signatureElements store - signature business rules', () => {
describe('RULE: error handling', () => {
it('save should capture error with errors field', async () => {
- loadState.mockReturnValue([])
+ loadStateMock.mockReturnValue([])
- axios.mockRejectedValue({
+ axiosMock.mockRejectedValue({
response: {
data: {
ocs: {
@@ -404,9 +415,9 @@ describe('signatureElements store - signature business rules', () => {
})
it('save should capture error without errors field', async () => {
- loadState.mockReturnValue([])
+ loadStateMock.mockReturnValue([])
- axios.mockRejectedValue({
+ axiosMock.mockRejectedValue({
response: {
data: {
ocs: {
diff --git a/src/tests/store/userconfig.spec.js b/src/tests/store/userconfig.spec.ts
similarity index 83%
rename from src/tests/store/userconfig.spec.js
rename to src/tests/store/userconfig.spec.ts
index 579798d571..2907286858 100644
--- a/src/tests/store/userconfig.spec.js
+++ b/src/tests/store/userconfig.spec.ts
@@ -6,10 +6,10 @@
import { beforeEach, describe, expect, it, vi } from 'vitest'
import { createPinia, setActivePinia } from 'pinia'
import { useUserConfigStore } from '../../store/userconfig.js'
-import { generateOCSResponse } from '../test-helpers.js'
+import { generateOCSResponse } from '../test-helpers'
const { putMock, generateOcsUrlMock } = vi.hoisted(() => ({
- putMock: vi.fn(() => Promise.resolve()),
+ putMock: vi.fn<(...args: unknown[]) => Promise>(() => Promise.resolve()),
generateOcsUrlMock: vi.fn(() => '/ocs/config/locale'),
}))
@@ -37,7 +37,7 @@ describe('userconfig store', () => {
it('updates local state and persists config', async () => {
const store = useUserConfigStore()
- putMock.mockResolvedValue(generateOCSResponse({ payload: { value: 'en_US' } }))
+ putMock.mockResolvedValue(generateOCSResponse<{ value: string }>({ payload: { value: 'en_US' } }))
await store.update('locale', 'en_US')
diff --git a/src/tests/test-helpers.js b/src/tests/test-helpers.js
deleted file mode 100644
index 9b3b7e3f7a..0000000000
--- a/src/tests/test-helpers.js
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * SPDX-FileCopyrightText: 2026 LibreSign contributors
- * SPDX-License-Identifier: AGPL-3.0-or-later
- */
-
-import { cloneDeep } from 'lodash'
-
-/**
- * Generate OCS response structure
- *
- * @param {object} options Response options
- * @param {object} [options.headers] Response headers
- * @param {object} [options.payload] Response payload
- * @param {number} [options.status] HTTP status code
- * @return {object} OCS response structure
- */
-export function generateOCSResponse({ headers = {}, payload = {}, status = 200 }) {
- return {
- headers,
- status,
- data: {
- ocs: {
- data: cloneDeep(payload),
- meta: (status >= 200 && status < 400)
- ? {
- status: 'ok',
- statuscode: status,
- message: 'OK',
- }
- : {
- status: 'failure',
- statuscode: status,
- message: '',
- },
- },
- },
- }
-}
-
diff --git a/src/tests/test-helpers.ts b/src/tests/test-helpers.ts
new file mode 100644
index 0000000000..3c1e2c3e0e
--- /dev/null
+++ b/src/tests/test-helpers.ts
@@ -0,0 +1,70 @@
+/**
+ * SPDX-FileCopyrightText: 2026 LibreSign contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+/**
+ * Simple deep clone for test data
+ */
+function cloneDeep(obj: T): T {
+ return JSON.parse(JSON.stringify(obj))
+}
+
+export interface OCSMeta {
+ status: 'ok' | 'failure'
+ statuscode: number
+ message: string
+}
+
+export interface OCSResponse {
+ headers: Record
+ status: number
+ data: {
+ ocs: {
+ data: T
+ meta: OCSMeta
+ }
+ }
+}
+
+export interface OCSResponseOptions {
+ headers?: Record
+ payload?: T
+ status?: number
+}
+
+/**
+ * Generate OCS response structure for testing
+ *
+ * @param options Response options
+ * @param options.headers Response headers
+ * @param options.payload Response payload
+ * @param options.status HTTP status code
+ * @returns OCS response structure
+ */
+export function generateOCSResponse({
+ headers = {},
+ payload = {} as T,
+ status = 200,
+}: OCSResponseOptions = {}): OCSResponse {
+ return {
+ headers,
+ status,
+ data: {
+ ocs: {
+ data: cloneDeep(payload),
+ meta: (status >= 200 && status < 400)
+ ? {
+ status: 'ok',
+ statuscode: status,
+ message: 'OK',
+ }
+ : {
+ status: 'failure',
+ statuscode: status,
+ message: '',
+ },
+ },
+ },
+ }
+}
diff --git a/src/tests/test-types.ts b/src/tests/test-types.ts
new file mode 100644
index 0000000000..03ff4cdd20
--- /dev/null
+++ b/src/tests/test-types.ts
@@ -0,0 +1,37 @@
+/**
+ * SPDX-FileCopyrightText: 2026 LibreCode coop and contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+import type { VueWrapper } from '@vue/test-utils'
+import type { Mock } from 'vitest'
+
+/**
+ * Generic wrapper type for Vue components in tests
+ */
+export type ComponentWrapper = VueWrapper
+
+/**
+ * Mock function with common test methods
+ */
+export type MockFunction unknown = (...args: unknown[]) => unknown> = Mock, Parameters>
+
+/**
+ * Partial store type for Pinia stores in tests
+ */
+export type PartialStore = Partial & Record
+
+/**
+ * Translation function type (Nextcloud i18n)
+ */
+export type TranslationFunction = (app: string, text: string, vars?: Record) => string
+
+/**
+ * Plural translation function type
+ */
+export type PluralTranslationFunction = (app: string, singular: string, plural: string, count: number, vars?: Record) => string
+
+/**
+ * Mock return value type helper
+ */
+export type MockReturnValue = T extends (...args: unknown[]) => infer R ? R : never
diff --git a/src/tests/testHelpers/jsdomMocks.js b/src/tests/testHelpers/jsdomMocks.js
index 24165fb6a8..05f1b88a38 100644
--- a/src/tests/testHelpers/jsdomMocks.js
+++ b/src/tests/testHelpers/jsdomMocks.js
@@ -83,3 +83,36 @@ if (typeof window !== 'undefined') {
}
}
+if (typeof HTMLCanvasElement !== 'undefined') {
+ HTMLCanvasElement.prototype.getContext = HTMLCanvasElement.prototype.getContext || function getContext() {
+ return {
+ clearRect() {},
+ fillRect() {},
+ fillText() {},
+ measureText() { return { width: 0 } },
+ beginPath() {},
+ moveTo() {},
+ lineTo() {},
+ stroke() {},
+ setTransform() {},
+ save() {},
+ restore() {},
+ }
+ }
+}
+
+if (typeof window !== 'undefined') {
+ class MutationObserverMock {
+ constructor(callback) {
+ this._callback = callback
+ }
+ observe() {}
+ disconnect() {}
+ takeRecords() {
+ return []
+ }
+ }
+ window.MutationObserver = MutationObserverMock
+ globalThis.MutationObserver = MutationObserverMock
+}
+
diff --git a/src/tests/testHelpers/vueMocks.js b/src/tests/testHelpers/vueMocks.js
index 31587dd616..2ab3ad36eb 100644
--- a/src/tests/testHelpers/vueMocks.js
+++ b/src/tests/testHelpers/vueMocks.js
@@ -4,7 +4,6 @@
*/
import { config } from '@vue/test-utils'
-import Vue from 'vue'
/**
* Translation mock helper
@@ -23,10 +22,19 @@ const translatePluralMock = (app, singular, plural, count) => {
return count === 1 ? singular : plural
}
-Vue.prototype.t = (app, str, vars) => translateMock(app, str, vars)
-Vue.prototype.n = (app, singular, plural, count) => translatePluralMock(app, singular, plural, count)
-
-config.mocks = {
+config.global.mocks = {
t: (app, str, vars) => translateMock(app, str, vars),
n: (app, singular, plural, count) => translatePluralMock(app, singular, plural, count),
+ $route: {
+ name: null,
+ path: '/',
+ params: {},
+ query: {},
+ },
+ $router: {
+ push: () => Promise.resolve(),
+ replace: () => Promise.resolve(),
+ back: () => Promise.resolve(),
+ resolve: () => ({ href: '/' }),
+ },
}
diff --git a/src/tests/utils/fileStatus.spec.js b/src/tests/utils/fileStatus.spec.ts
similarity index 79%
rename from src/tests/utils/fileStatus.spec.js
rename to src/tests/utils/fileStatus.spec.ts
index b00b7b406a..08093bfbea 100644
--- a/src/tests/utils/fileStatus.spec.js
+++ b/src/tests/utils/fileStatus.spec.ts
@@ -14,7 +14,9 @@ import {
} from '../../utils/fileStatus.js'
vi.mock('@nextcloud/l10n', () => ({
- translate: (app, text) => text,
+ t: (_app: string, text: string) => text,
+ translate: (_app: string, text: string) => text,
+ isRTL: vi.fn(() => false),
}))
describe('fileStatus utils', () => {
@@ -27,7 +29,7 @@ describe('fileStatus utils', () => {
})
it('builds status map with enum and aliases', () => {
- const map = buildStatusMap()
+ const map = buildStatusMap() as unknown as Record
expect(map[FILE_STATUS.ABLE_TO_SIGN].class).toBe('ready')
expect(map.ABLE_TO_SIGN).toBe(map[FILE_STATUS.ABLE_TO_SIGN])
@@ -42,9 +44,10 @@ describe('fileStatus utils', () => {
it('returns config for draft status', () => {
const config = getStatusConfig(FILE_STATUS.DRAFT)
- expect(config).toBeDefined()
- expect(config.label).toBeDefined()
- expect(config.icon).toBeDefined()
+ if (config) {
+ expect(config.label).toBeDefined()
+ expect(config.icon).toBeDefined()
+ }
})
it('returns icon path for draft status', () => {
@@ -62,7 +65,7 @@ describe('fileStatus utils', () => {
})
it('maps correct CSS classes for statuses', () => {
- const map = buildStatusMap()
+ const map = buildStatusMap() as unknown as Record
expect(map[FILE_STATUS.DRAFT].class).toBe('draft')
expect(map[FILE_STATUS.SIGNED].class).toBe('signed')
diff --git a/src/tests/utils/isDarkTheme.spec.js b/src/tests/utils/isDarkTheme.spec.ts
similarity index 86%
rename from src/tests/utils/isDarkTheme.spec.js
rename to src/tests/utils/isDarkTheme.spec.ts
index 92ad67e3d2..42925c6afd 100644
--- a/src/tests/utils/isDarkTheme.spec.js
+++ b/src/tests/utils/isDarkTheme.spec.ts
@@ -34,7 +34,7 @@ describe('checkIfDarkTheme', () => {
it('returns true when background invert indicates dark theme', () => {
vi.spyOn(window, 'getComputedStyle').mockReturnValue({
getPropertyValue: () => 'invert(100%)',
- })
+ } as Partial as CSSStyleDeclaration)
expect(checkIfDarkTheme(document.body)).toBe(true)
})
@@ -42,15 +42,15 @@ describe('checkIfDarkTheme', () => {
it('returns false when background invert indicates light theme', () => {
vi.spyOn(window, 'getComputedStyle').mockReturnValue({
getPropertyValue: () => 'no',
- })
+ } as Partial as CSSStyleDeclaration)
expect(checkIfDarkTheme(document.body)).toBe(false)
})
it('returns false when theme variable is missing', () => {
vi.spyOn(window, 'getComputedStyle').mockReturnValue({
- getPropertyValue: () => undefined,
- })
+ getPropertyValue: () => '',
+ } as Partial as CSSStyleDeclaration)
expect(checkIfDarkTheme(document.body)).toBe(false)
})
diff --git a/src/tests/utils/validators.spec.js b/src/tests/utils/validators.spec.ts
similarity index 100%
rename from src/tests/utils/validators.spec.js
rename to src/tests/utils/validators.spec.ts
diff --git a/src/tests/utils/viewer.spec.js b/src/tests/utils/viewer.spec.ts
similarity index 56%
rename from src/tests/utils/viewer.spec.js
rename to src/tests/utils/viewer.spec.ts
index 33b3b38907..420fc35fd3 100644
--- a/src/tests/utils/viewer.spec.js
+++ b/src/tests/utils/viewer.spec.ts
@@ -6,23 +6,32 @@
import { describe, expect, it, vi, beforeEach, afterEach } from 'vitest'
import { openDocument } from '../../utils/viewer.js'
+type GlobalWithOCA = typeof globalThis & {
+ OCA?: {
+ Viewer?: {
+ open?: (params: unknown) => void
+ }
+ [key: string]: unknown
+ }
+}
+
describe('openDocument', () => {
- let originalOCA
- let openSpy
+ let originalOCA: GlobalWithOCA['OCA']
+ let openSpy: ReturnType
beforeEach(() => {
- originalOCA = global.OCA
+ originalOCA = (global as GlobalWithOCA).OCA
openSpy = vi.spyOn(window, 'open').mockImplementation(() => null)
})
afterEach(() => {
openSpy.mockRestore()
- global.OCA = originalOCA
+ ;(global as GlobalWithOCA).OCA = originalOCA
})
it('uses Nextcloud Viewer when available', () => {
const viewerOpen = vi.fn()
- global.OCA = {
+ ;(global as GlobalWithOCA).OCA = {
Viewer: {
open: viewerOpen,
},
@@ -41,15 +50,17 @@ describe('openDocument', () => {
})
expect(viewerOpen).toHaveBeenCalledTimes(1)
- const payload = viewerOpen.mock.calls[0][0]
- expect(payload.fileInfo.basename).toBe('doc.pdf')
- expect(payload.fileInfo.fileid).toBe(123)
- expect(payload.fileInfo.mime).toBe('application/pdf')
- expect(payload.fileInfo.source).toContain('/index.php/apps/files/')
+ const payload = viewerOpen.mock.calls[0]?.[0]
+ if (payload) {
+ expect(payload.fileInfo.basename).toBe('doc.pdf')
+ expect(payload.fileInfo.fileid).toBe(123)
+ expect(payload.fileInfo.mime).toBe('application/pdf')
+ expect(payload.fileInfo.source).toContain('/index.php/apps/files/')
+ }
})
it('opens new window when Viewer is not available', () => {
- global.OCA = undefined
+ ;(global as GlobalWithOCA).OCA = undefined
const file = {
filename: 'doc.pdf',
@@ -64,8 +75,10 @@ describe('openDocument', () => {
})
expect(openSpy).toHaveBeenCalledTimes(1)
- const openedUrl = openSpy.mock.calls[0][0]
- expect(openedUrl).toContain('/apps/files/?file=/doc.pdf')
- expect(openedUrl).toMatch(/_t=\d+$/)
+ const openedUrl = openSpy.mock.calls[0]?.[0]
+ if (openedUrl) {
+ expect(openedUrl).toContain('/apps/files/?file=/doc.pdf')
+ expect(openedUrl).toMatch(/_t=\d+$/)
+ }
})
})
diff --git a/src/tests/views/Account/partials/Documents.spec.ts b/src/tests/views/Account/partials/Documents.spec.ts
new file mode 100644
index 0000000000..bf5ba74fcd
--- /dev/null
+++ b/src/tests/views/Account/partials/Documents.spec.ts
@@ -0,0 +1,85 @@
+/*
+ * SPDX-FileCopyrightText: 2026 LibreSign contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+import { beforeAll, beforeEach, describe, expect, it, vi } from 'vitest'
+import { flushPromises, mount } from '@vue/test-utils'
+
+const loadStateMock = vi.fn()
+const getCurrentUserMock = vi.fn()
+const axiosGetMock = vi.fn().mockResolvedValue({ data: { ocs: { data: { data: [] } } } })
+
+vi.mock('@nextcloud/initial-state', () => ({
+ loadState: (...args: unknown[]) => loadStateMock(...args),
+}))
+
+vi.mock('@nextcloud/auth', () => ({
+ getCurrentUser: () => getCurrentUserMock(),
+}))
+
+vi.mock('@nextcloud/axios', () => ({
+ default: {
+ get: axiosGetMock,
+ },
+}))
+
+vi.mock('@nextcloud/router', () => ({
+ generateOcsUrl: vi.fn((path: string) => path),
+}))
+
+vi.mock('@nextcloud/dialogs', () => ({
+ showError: vi.fn(),
+ showWarning: vi.fn(),
+ showSuccess: vi.fn(),
+ getFilePickerBuilder: vi.fn(),
+}))
+
+vi.mock('@nextcloud/l10n', () => ({
+ t: vi.fn((_app: string, text: string) => text),
+ translate: vi.fn((_app: string, text: string) => text),
+ translatePlural: vi.fn((_app: string, singular: string, plural: string, count: number) => (count === 1 ? singular : plural)),
+ n: vi.fn((_app: string, singular: string, plural: string, count: number) => (count === 1 ? singular : plural)),
+ isRTL: vi.fn(() => false),
+ getLanguage: vi.fn(() => 'en'),
+ getLocale: vi.fn(() => 'en'),
+}))
+
+let Documents: unknown
+
+beforeAll(async () => {
+ ;({ default: Documents } = await import('../../../../views/Account/partials/Documents.vue'))
+})
+
+describe('Documents', () => {
+ beforeEach(() => {
+ loadStateMock.mockReset()
+ getCurrentUserMock.mockReset()
+ axiosGetMock.mockClear()
+ })
+
+ it('registers icon wrapper and exposes mdi icon paths used in template', async () => {
+ loadStateMock.mockImplementation((_app: string, key: string, fallback: unknown) => {
+ if (key === 'config') return { identificationDocumentsFlow: true }
+ return fallback
+ })
+ getCurrentUserMock.mockReturnValue({ uid: 'user' })
+
+ const wrapper = mount(Documents as never, {
+ global: {
+ stubs: {
+ NcButton: { template: '' },
+ NcNoteCard: { template: '
' },
+ NcLoadingIcon: true,
+ NcIconSvgWrapper: { name: 'NcIconSvgWrapper', props: ['path'], template: '' },
+ },
+ },
+ })
+ await flushPromises()
+
+ expect(wrapper.vm.$options.components.NcIconSvgWrapper).toBeTruthy()
+ expect(wrapper.vm.mdiFolder).toBeTruthy()
+ expect(wrapper.vm.mdiUpload).toBeTruthy()
+ expect(wrapper.vm.mdiDelete).toBeTruthy()
+ })
+})
diff --git a/src/tests/views/Account/partials/ManagePassword.spec.ts b/src/tests/views/Account/partials/ManagePassword.spec.ts
new file mode 100644
index 0000000000..f0eb3d6eb5
--- /dev/null
+++ b/src/tests/views/Account/partials/ManagePassword.spec.ts
@@ -0,0 +1,107 @@
+/*
+ * SPDX-FileCopyrightText: 2026 LibreSign contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+import { beforeAll, beforeEach, describe, expect, it, vi } from 'vitest'
+import { mount } from '@vue/test-utils'
+
+const loadStateMock = vi.fn()
+const hasSignatureFileMock = vi.fn()
+
+vi.mock('@nextcloud/initial-state', () => ({
+ loadState: (...args: unknown[]) => loadStateMock(...args),
+}))
+
+vi.mock('../../../../store/signMethods.js', () => ({
+ useSignMethodsStore: () => ({
+ hasSignatureFile: () => hasSignatureFileMock(),
+ setHasSignatureFile: vi.fn(),
+ showModal: vi.fn(),
+ }),
+}))
+
+vi.mock('@nextcloud/l10n', () => ({
+ t: vi.fn((_app: string, text: string) => text),
+ translate: vi.fn((_app: string, text: string) => text),
+ translatePlural: vi.fn((_app: string, singular: string, plural: string, count: number) => (count === 1 ? singular : plural)),
+ n: vi.fn((_app: string, singular: string, plural: string, count: number) => (count === 1 ? singular : plural)),
+ isRTL: vi.fn(() => false),
+ getLanguage: vi.fn(() => 'en'),
+ getLocale: vi.fn(() => 'en'),
+}))
+
+let ManagePassword: unknown
+
+beforeAll(async () => {
+ ;({ default: ManagePassword } = await import('../../../../views/Account/partials/ManagePassword.vue'))
+})
+
+describe('ManagePassword', () => {
+ beforeEach(() => {
+ loadStateMock.mockReset()
+ hasSignatureFileMock.mockReset()
+ })
+
+ it('registers icon wrapper and exposes mdi icon paths used in template', () => {
+ loadStateMock.mockImplementation((_app: string, key: string, fallback: unknown) => {
+ if (key === 'certificate_engine') return 'openssl'
+ if (key === 'config') return { hasSignatureFile: true }
+ return fallback
+ })
+ hasSignatureFileMock.mockReturnValue(true)
+
+ const wrapper = mount(ManagePassword as never, {
+ global: {
+ stubs: {
+ NcButton: { template: '' },
+ NcIconSvgWrapper: { name: 'NcIconSvgWrapper', props: ['path'], template: '' },
+ CreatePassword: true,
+ ReadCertificate: true,
+ ResetPassword: true,
+ UploadCertificate: true,
+ },
+ },
+ })
+
+ expect(wrapper.vm.$options.components.NcIconSvgWrapper).toBeTruthy()
+ expect(wrapper.vm.mdiCloudUpload).toBeTruthy()
+ expect(wrapper.vm.mdiLockOpenCheck).toBeTruthy()
+ expect(wrapper.vm.mdiDelete).toBeTruthy()
+ expect(wrapper.vm.mdiCertificate).toBeTruthy()
+ expect(wrapper.vm.mdiFileReplace).toBeTruthy()
+ expect(wrapper.vm.$options.components.UploadCertificate).toBeTruthy()
+ expect(wrapper.vm.$options.components.ReadCertificate).toBeTruthy()
+ })
+
+ it('calls UploadCertificate triggerUpload through ref safely', () => {
+ loadStateMock.mockImplementation((_app: string, key: string, fallback: unknown) => {
+ if (key === 'certificate_engine') return 'openssl'
+ if (key === 'config') return { hasSignatureFile: true }
+ return fallback
+ })
+ hasSignatureFileMock.mockReturnValue(true)
+
+ const wrapper = mount(ManagePassword as never, {
+ global: {
+ stubs: {
+ NcButton: { template: '' },
+ NcIconSvgWrapper: { name: 'NcIconSvgWrapper', props: ['path'], template: '' },
+ CreatePassword: true,
+ ReadCertificate: true,
+ ResetPassword: true,
+ UploadCertificate: true,
+ },
+ },
+ })
+
+ const triggerUpload = vi.fn()
+ wrapper.vm.$options.methods.triggerUploadCertificate.call({
+ $refs: {
+ uploadCertificate: { triggerUpload },
+ },
+ })
+
+ expect(triggerUpload).toHaveBeenCalledTimes(1)
+ })
+})
diff --git a/src/tests/views/Account/partials/Signature.spec.ts b/src/tests/views/Account/partials/Signature.spec.ts
new file mode 100644
index 0000000000..9d06630121
--- /dev/null
+++ b/src/tests/views/Account/partials/Signature.spec.ts
@@ -0,0 +1,97 @@
+/*
+ * SPDX-FileCopyrightText: 2026 LibreSign contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+import { beforeAll, describe, expect, it, vi } from 'vitest'
+import { mount } from '@vue/test-utils'
+
+vi.mock('../../../../store/signatureElements.js', () => ({
+ useSignatureElementsStore: () => ({
+ signRequestUuid: 'req-1',
+ signs: {
+ signature: {
+ value: 'data:image/png;base64,abc',
+ },
+ },
+ hasSignatureOfType: () => true,
+ delete: vi.fn(),
+ success: '',
+ error: null,
+ }),
+}))
+
+vi.mock('@nextcloud/dialogs', () => ({
+ showError: vi.fn(),
+ showSuccess: vi.fn(),
+}))
+
+vi.mock('@nextcloud/l10n', () => ({
+ t: vi.fn((_app: string, text: string) => text),
+ translate: vi.fn((_app: string, text: string) => text),
+ translatePlural: vi.fn((_app: string, singular: string, plural: string, count: number) => (count === 1 ? singular : plural)),
+ n: vi.fn((_app: string, singular: string, plural: string, count: number) => (count === 1 ? singular : plural)),
+ isRTL: vi.fn(() => false),
+ getLanguage: vi.fn(() => 'en'),
+ getLocale: vi.fn(() => 'en'),
+}))
+
+let Signature: unknown
+
+beforeAll(async () => {
+ ;({ default: Signature } = await import('../../../../views/Account/partials/Signature.vue'))
+})
+
+describe('Signature', () => {
+ it('registers icon wrapper and exposes mdi icon paths used in template', () => {
+ const wrapper = mount(Signature as never, {
+ props: {
+ type: 'signature',
+ },
+ global: {
+ stubs: {
+ NcActions: { template: '
' },
+ NcActionButton: { template: '' },
+ NcIconSvgWrapper: { name: 'NcIconSvgWrapper', props: ['path'], template: '' },
+ PreviewSignature: true,
+ Draw: true,
+ },
+ },
+ })
+
+ expect(wrapper.vm.$options.components.NcIconSvgWrapper).toBeTruthy()
+ expect(wrapper.vm.mdiDelete).toBeTruthy()
+ expect(wrapper.vm.mdiDraw).toBeTruthy()
+ })
+
+ it('renders Draw editor when entering edit mode', async () => {
+ const wrapper = mount(Signature as never, {
+ props: {
+ type: 'signature',
+ },
+ global: {
+ stubs: {
+ NcActions: { template: '
' },
+ NcActionButton: { template: '' },
+ NcIconSvgWrapper: { name: 'NcIconSvgWrapper', props: ['path'], template: '' },
+ PreviewSignature: true,
+ Draw: {
+ name: 'Draw',
+ props: ['drawEditor', 'textEditor', 'fileEditor', 'type'],
+ template: '',
+ },
+ },
+ },
+ })
+
+ wrapper.vm.edit()
+ await wrapper.vm.$nextTick()
+
+ const draw = wrapper.findComponent({ name: 'Draw' })
+ expect(draw.exists()).toBe(true)
+ expect(draw.props('drawEditor')).toBe(true)
+ expect(draw.props('textEditor')).toBe(true)
+ expect(draw.props('fileEditor')).toBe(true)
+ expect(draw.props('type')).toBe('signature')
+ })
+})
diff --git a/src/tests/views/Account/partials/Signatures.spec.ts b/src/tests/views/Account/partials/Signatures.spec.ts
new file mode 100644
index 0000000000..8733fcc73b
--- /dev/null
+++ b/src/tests/views/Account/partials/Signatures.spec.ts
@@ -0,0 +1,55 @@
+/*
+ * SPDX-FileCopyrightText: 2026 LibreSign contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+import { describe, expect, it, vi } from 'vitest'
+import { mount } from '@vue/test-utils'
+
+import Signatures from '../../../../views/Account/partials/Signatures.vue'
+
+vi.mock('@nextcloud/l10n', () => ({
+ t: vi.fn((_app: string, text: string) => text),
+ translate: vi.fn((_app: string, text: string) => text),
+ translatePlural: vi.fn((_app: string, singular: string, plural: string, count: number) => (count === 1 ? singular : plural)),
+ n: vi.fn((_app: string, singular: string, plural: string, count: number) => (count === 1 ? singular : plural)),
+ isRTL: vi.fn(() => false),
+ getLanguage: vi.fn(() => 'en'),
+ getLocale: vi.fn(() => 'en'),
+}))
+
+vi.mock('@nextcloud/capabilities', () => ({
+ getCapabilities: vi.fn(() => ({
+ libresign: {
+ config: {
+ 'sign-elements': {
+ 'is-available': true,
+ 'can-create-signature': true,
+ },
+ },
+ },
+ })),
+}))
+
+describe('Signatures.vue', () => {
+ it('passes empty-state message and title through named slots', () => {
+ const wrapper = mount(Signatures, {
+ global: {
+ stubs: {
+ Signature: {
+ template: `
+
+ `,
+ },
+ },
+ },
+ })
+
+ expect(wrapper.text()).toContain('Your signatures')
+ expect(wrapper.find('.slot-title').text()).toContain('Signature')
+ expect(wrapper.find('.slot-empty').text()).toContain('No signature, click here to create a new one')
+ })
+})
diff --git a/src/tests/views/CreateAccount.spec.js b/src/tests/views/CreateAccount.spec.ts
similarity index 90%
rename from src/tests/views/CreateAccount.spec.js
rename to src/tests/views/CreateAccount.spec.ts
index 2a89d0ec32..f8184fd97d 100644
--- a/src/tests/views/CreateAccount.spec.js
+++ b/src/tests/views/CreateAccount.spec.ts
@@ -5,12 +5,8 @@
import { describe, expect, it, beforeEach, vi } from 'vitest'
import { shallowMount } from '@vue/test-utils'
-import Vue from 'vue'
-import Vuelidate from 'vuelidate'
import CreateAccount from '../../views/CreateAccount.vue'
-
-// Register Vuelidate plugin for this test suite
-Vue.use(Vuelidate)
+// @ts-ignore: No types available for crypto-js/md5
import md5 from 'crypto-js/md5'
// Mock @nextcloud modules
@@ -52,7 +48,7 @@ const mockRouter = {
}
describe('CreateAccount.vue - Business Logic', () => {
- let wrapper
+ let wrapper!: ReturnType
beforeEach(() => {
wrapper = shallowMount(CreateAccount, {
@@ -80,7 +76,7 @@ describe('CreateAccount.vue - Business Logic', () => {
it('returns error message for invalid email format', async () => {
wrapper.setData({ email: 'invalid-email' })
- await wrapper.vm.$v.email.$touch()
+ await wrapper.vm.v$.email.$touch()
expect(wrapper.vm.emailError).toBe('This is not a valid email')
})
@@ -88,7 +84,7 @@ describe('CreateAccount.vue - Business Logic', () => {
wrapper.setData({ email: 'wrong@example.com' })
await wrapper.vm.$nextTick()
// Force vuelidate to not show format error
- wrapper.vm.$v.email.$model = 'wrong@example.com'
+ wrapper.vm.v$.email.$model = 'wrong@example.com'
await wrapper.vm.$nextTick()
expect(wrapper.vm.emailError).toBe('The email entered is not the same as the email in the invitation')
})
@@ -103,7 +99,7 @@ describe('CreateAccount.vue - Business Logic', () => {
describe('showErrorEmail computed property', () => {
it('returns true when emailError has content', async () => {
wrapper.setData({ email: 'invalid' })
- await wrapper.vm.$v.email.$touch()
+ await wrapper.vm.v$.email.$touch()
expect(wrapper.vm.showErrorEmail).toBe(true)
})
@@ -253,7 +249,7 @@ describe('CreateAccount.vue - Business Logic', () => {
password: 'password123',
passwordConfirm: 'password123',
})
- await wrapper.vm.$v.email.$touch()
+ await wrapper.vm.v$.email.$touch()
expect(wrapper.vm.canSave).toBe(false)
})
@@ -291,50 +287,50 @@ describe('CreateAccount.vue - Business Logic', () => {
describe('Vuelidate validations', () => {
it('validates email as required', async () => {
wrapper.setData({ email: '' })
- await wrapper.vm.$v.email.$touch()
- expect(wrapper.vm.$v.email.required).toBe(false)
+ await wrapper.vm.v$.email.$touch()
+ expect(wrapper.vm.v$.email.required.$invalid).toBe(true)
})
it('validates email format', async () => {
wrapper.setData({ email: 'not-an-email' })
- await wrapper.vm.$v.email.$touch()
- expect(wrapper.vm.$v.email.email).toBe(false)
+ await wrapper.vm.v$.email.$touch()
+ expect(wrapper.vm.v$.email.email.$invalid).toBe(true)
})
it('accepts valid email format', async () => {
wrapper.setData({ email: 'test@example.com' })
- await wrapper.vm.$v.email.$touch()
- expect(wrapper.vm.$v.email.email).toBe(true)
+ await wrapper.vm.v$.email.$touch()
+ expect(wrapper.vm.v$.email.email.$invalid).toBe(false)
})
it('validates password as required', async () => {
wrapper.setData({ password: '' })
- await wrapper.vm.$v.password.$touch()
- expect(wrapper.vm.$v.password.required).toBe(false)
+ await wrapper.vm.v$.password.$touch()
+ expect(wrapper.vm.v$.password.required.$invalid).toBe(true)
})
it('validates password minimum length', async () => {
wrapper.setData({ password: '123' })
- await wrapper.vm.$v.password.$touch()
- expect(wrapper.vm.$v.password.minLength).toBe(false)
+ await wrapper.vm.v$.password.$touch()
+ expect(wrapper.vm.v$.password.minLength.$invalid).toBe(true)
})
it('accepts password with minimum length', async () => {
wrapper.setData({ password: '1234' })
- await wrapper.vm.$v.password.$touch()
- expect(wrapper.vm.$v.password.minLength).toBe(true)
+ await wrapper.vm.v$.password.$touch()
+ expect(wrapper.vm.v$.password.minLength.$invalid).toBe(false)
})
it('validates passwordConfirm as required', async () => {
wrapper.setData({ passwordConfirm: '' })
- await wrapper.vm.$v.passwordConfirm.$touch()
- expect(wrapper.vm.$v.passwordConfirm.required).toBe(false)
+ await wrapper.vm.v$.passwordConfirm.$touch()
+ expect(wrapper.vm.v$.passwordConfirm.required.$invalid).toBe(true)
})
it('validates passwordConfirm minimum length', async () => {
wrapper.setData({ passwordConfirm: '123' })
- await wrapper.vm.$v.passwordConfirm.$touch()
- expect(wrapper.vm.$v.passwordConfirm.minLength).toBe(false)
+ await wrapper.vm.v$.passwordConfirm.$touch()
+ expect(wrapper.vm.v$.passwordConfirm.minLength.$invalid).toBe(true)
})
})
diff --git a/src/tests/views/DocumentValidationLogic.spec.js b/src/tests/views/DocumentValidationLogic.spec.ts
similarity index 94%
rename from src/tests/views/DocumentValidationLogic.spec.js
rename to src/tests/views/DocumentValidationLogic.spec.ts
index 3ecf60a2be..4b28934bc7 100644
--- a/src/tests/views/DocumentValidationLogic.spec.js
+++ b/src/tests/views/DocumentValidationLogic.spec.ts
@@ -28,22 +28,20 @@ vi.mock('@nextcloud/logger', () => ({
info: vi.fn(),
debug: vi.fn(),
})),
- getLoggerBuilder: () => ({
- setApp: () => ({
- detectUser: () => ({
- build: () => ({
- error: vi.fn(),
- warn: vi.fn(),
- info: vi.fn(),
- debug: vi.fn(),
- }),
- }),
- }),
- }),
+ getLoggerBuilder: vi.fn(() => ({
+ setApp: vi.fn().mockReturnThis(),
+ detectUser: vi.fn().mockReturnThis(),
+ build: vi.fn(() => ({
+ error: vi.fn(),
+ warn: vi.fn(),
+ info: vi.fn(),
+ debug: vi.fn(),
+ })),
+ })),
}))
describe('Document Validation Flow Business Logic', () => {
- let wrapper
+ let wrapper: ReturnType | undefined
beforeEach(() => {
setActivePinia(createPinia())
@@ -51,7 +49,6 @@ describe('Document Validation Flow Business Logic', () => {
afterEach(() => {
if (wrapper) {
- wrapper.destroy()
}
vi.clearAllMocks()
})
diff --git a/src/tests/views/FileRequestFlow.spec.js b/src/tests/views/FileRequestFlow.spec.ts
similarity index 87%
rename from src/tests/views/FileRequestFlow.spec.js
rename to src/tests/views/FileRequestFlow.spec.ts
index d7bafdcda2..79257d521c 100644
--- a/src/tests/views/FileRequestFlow.spec.js
+++ b/src/tests/views/FileRequestFlow.spec.ts
@@ -84,26 +84,28 @@ vi.mock('../../store/files.js', () => ({
}))
describe('Request.vue - File Request Business Logic', () => {
- let wrapper
+ let wrapper!: ReturnType
const createWrapper = ({ selectedFileId = 0, sidebarVisible = false } = {}) => {
mockFilesStore.selectedFileId = selectedFileId
mockSidebarStore.isVisible = sidebarVisible
return mount(Request, {
- mocks: {
- $route: mockRoute,
- $router: mockRouter,
- t: (app, text) => text,
- },
- stubs: {
- File: {
- name: 'File',
- template: '',
- props: ['status', 'statusText'],
+ global: {
+ mocks: {
+ $route: mockRoute,
+ $router: mockRouter,
+ t: (_app: string, text: string) => text,
},
- ReqestPicker: {
- name: 'ReqestPicker',
- template: '',
- props: ['inline'],
+ stubs: {
+ File: {
+ name: 'File',
+ template: '',
+ props: ['status', 'statusText'],
+ },
+ ReqestPicker: {
+ name: 'ReqestPicker',
+ template: '',
+ props: ['inline'],
+ },
},
},
})
@@ -124,7 +126,7 @@ describe('Request.vue - File Request Business Logic', () => {
afterEach(() => {
if (wrapper) {
- wrapper.destroy()
+ wrapper.unmount()
}
})
@@ -172,7 +174,7 @@ describe('Request.vue - File Request Business Logic', () => {
await wrapper.vm.$nextTick()
const file = wrapper.find('.file-stub')
expect(file.exists()).toBe(true)
- expect(file.isVisible()).toBe(false)
+ expect(wrapper.vm.filesStore.selectedFileId).toBe(0)
})
})
})
diff --git a/src/tests/views/FilesList.spec.js b/src/tests/views/FilesList.spec.ts
similarity index 95%
rename from src/tests/views/FilesList.spec.js
rename to src/tests/views/FilesList.spec.ts
index 75fda1ec71..ecc340c017 100644
--- a/src/tests/views/FilesList.spec.js
+++ b/src/tests/views/FilesList.spec.ts
@@ -100,7 +100,7 @@ describe('FilesList - URI file opening business rules', () => {
vi.spyOn(filesStore, 'selectFileByUuid').mockResolvedValue(42)
const uuid = 'test-uuid'
- await filesStore.selectFileByUuid(uuid).then((fileId) => {
+ await filesStore.selectFileByUuid(uuid).then((fileId: unknown) => {
if (fileId) {
sidebarStore.activeRequestSignatureTab()
}
@@ -117,7 +117,7 @@ describe('FilesList - URI file opening business rules', () => {
vi.spyOn(filesStore, 'selectFileByUuid').mockResolvedValue(null)
const uuid = 'nonexistent-uuid'
- await filesStore.selectFileByUuid(uuid).then((fileId) => {
+ await filesStore.selectFileByUuid(uuid).then((fileId: unknown) => {
if (fileId) {
sidebarStore.activeRequestSignatureTab()
}
diff --git a/src/tests/views/FilesList/FileEntry.spec.js b/src/tests/views/FilesList/FileEntry.spec.ts
similarity index 88%
rename from src/tests/views/FilesList/FileEntry.spec.js
rename to src/tests/views/FilesList/FileEntry.spec.ts
index 144b893ef6..dc3fd9def9 100644
--- a/src/tests/views/FilesList/FileEntry.spec.js
+++ b/src/tests/views/FilesList/FileEntry.spec.ts
@@ -9,6 +9,18 @@ import { setActivePinia, createPinia } from 'pinia'
import FileEntry from '../../../views/FilesList/FileEntry/FileEntry.vue'
import { useFilesStore } from '../../../store/files.js'
import { useActionsMenuStore } from '../../../store/actionsmenu.js'
+import type { TranslationFunction } from '../../test-types'
+
+type FileEntrySource = {
+ id: number
+ name: string
+ status: number
+ statusText: string
+ signers: unknown[]
+ created_at: number
+}
+
+const t: TranslationFunction = (_app, text) => text
vi.mock('@nextcloud/dialogs', () => ({
showSuccess: vi.fn(),
@@ -82,29 +94,28 @@ vi.mock('../../../views/FilesList/FileEntry/FileEntrySigners.vue', () => ({
vi.mock('../../../views/FilesList/FileEntry/FileEntryMixin.js', () => ({
default: {
computed: {
- source() {
- return this.source || {}
- },
fileExtension() {
return 'pdf'
},
- mtime() {
- return this.source?.created_at || Date.now()
+ mtime(this: { source?: FileEntrySource }): number {
+ return this.source?.created_at ?? Date.now()
},
mtimeOpacity() {
return {}
},
},
data() {
+ const source: FileEntrySource = {
+ id: 1,
+ name: 'test.pdf',
+ status: 1,
+ statusText: 'Ready',
+ signers: [],
+ created_at: Date.now(),
+ }
+
return {
- source: {
- id: 1,
- name: 'test.pdf',
- status: 1,
- statusText: 'Ready',
- signers: [],
- created_at: Date.now(),
- },
+ source,
loading: false,
openedMenu: false,
}
@@ -126,7 +137,7 @@ describe('FileEntry.vue - Individual File Entry', () => {
props: {},
global: {
mocks: {
- t: (key, message) => message,
+ t,
},
},
})
@@ -139,7 +150,7 @@ describe('FileEntry.vue - Individual File Entry', () => {
props: {},
global: {
mocks: {
- t: (key, message) => message,
+ t,
},
},
})
@@ -152,7 +163,7 @@ describe('FileEntry.vue - Individual File Entry', () => {
props: {},
global: {
mocks: {
- t: (key, message) => message,
+ t,
},
},
})
@@ -165,7 +176,7 @@ describe('FileEntry.vue - Individual File Entry', () => {
props: {},
global: {
mocks: {
- t: (key, message) => message,
+ t,
},
},
})
@@ -180,7 +191,7 @@ describe('FileEntry.vue - Individual File Entry', () => {
props: {},
global: {
mocks: {
- t: (key, message) => message,
+ t,
},
},
})
@@ -196,7 +207,7 @@ describe('FileEntry.vue - Individual File Entry', () => {
props: {},
global: {
mocks: {
- t: (key, message) => message,
+ t,
},
},
})
@@ -211,7 +222,7 @@ describe('FileEntry.vue - Individual File Entry', () => {
props: {},
global: {
mocks: {
- t: (key, message) => message,
+ t,
},
},
})
@@ -230,7 +241,7 @@ describe('FileEntry.vue - Individual File Entry', () => {
props: {},
global: {
mocks: {
- t: (key, message) => message,
+ t,
},
},
})
@@ -245,7 +256,7 @@ describe('FileEntry.vue - Individual File Entry', () => {
props: {},
global: {
mocks: {
- t: (key, message) => message,
+ t,
},
},
})
@@ -259,7 +270,7 @@ describe('FileEntry.vue - Individual File Entry', () => {
props: {},
global: {
mocks: {
- t: (key, message) => message,
+ t,
},
},
})
@@ -272,7 +283,7 @@ describe('FileEntry.vue - Individual File Entry', () => {
props: {},
global: {
mocks: {
- t: (key, message) => message,
+ t,
},
},
})
@@ -285,7 +296,7 @@ describe('FileEntry.vue - Individual File Entry', () => {
props: {},
global: {
mocks: {
- t: (key, message) => message,
+ t,
},
},
})
@@ -298,7 +309,7 @@ describe('FileEntry.vue - Individual File Entry', () => {
props: {},
global: {
mocks: {
- t: (key, message) => message,
+ t,
},
},
})
@@ -311,7 +322,7 @@ describe('FileEntry.vue - Individual File Entry', () => {
props: {},
global: {
mocks: {
- t: (key, message) => message,
+ t,
},
},
})
@@ -324,7 +335,7 @@ describe('FileEntry.vue - Individual File Entry', () => {
props: {},
global: {
mocks: {
- t: (key, message) => message,
+ t,
},
},
})
@@ -340,7 +351,7 @@ describe('FileEntry.vue - Individual File Entry', () => {
props: {},
global: {
mocks: {
- t: (key, message) => message,
+ t,
},
},
})
@@ -356,7 +367,7 @@ describe('FileEntry.vue - Individual File Entry', () => {
props: {},
global: {
mocks: {
- t: (key, message) => message,
+ t,
},
},
})
@@ -370,7 +381,7 @@ describe('FileEntry.vue - Individual File Entry', () => {
props: {},
global: {
mocks: {
- t: (key, message) => message,
+ t,
},
},
})
@@ -383,7 +394,7 @@ describe('FileEntry.vue - Individual File Entry', () => {
props: {},
global: {
mocks: {
- t: (key, message) => message,
+ t,
},
},
})
@@ -398,7 +409,7 @@ describe('FileEntry.vue - Individual File Entry', () => {
props: {},
global: {
mocks: {
- t: (key, message) => message,
+ t,
},
},
})
@@ -413,16 +424,13 @@ describe('FileEntry.vue - Individual File Entry', () => {
props: {},
global: {
mocks: {
- t: (key, message) => message,
+ t,
},
},
})
- wrapper.vm.$refs.actions = {
- doRename: vi.fn().mockRejectedValue(new Error('Rename failed')),
- }
-
await wrapper.vm.$nextTick()
+ vi.spyOn(wrapper.vm.$refs.actions, 'doRename').mockRejectedValueOnce(new Error('Rename failed'))
try {
await wrapper.vm.onRename('newname.pdf')
} catch (e) {}
@@ -434,7 +442,7 @@ describe('FileEntry.vue - Individual File Entry', () => {
props: {},
global: {
mocks: {
- t: (key, message) => message,
+ t,
onRightClick: vi.fn(),
},
},
@@ -450,7 +458,7 @@ describe('FileEntry.vue - Individual File Entry', () => {
props: {},
global: {
mocks: {
- t: (key, message) => message,
+ t,
},
},
})
@@ -464,7 +472,7 @@ describe('FileEntry.vue - Individual File Entry', () => {
props: {},
global: {
mocks: {
- t: (key, message) => message,
+ t,
},
},
})
@@ -478,7 +486,7 @@ describe('FileEntry.vue - Individual File Entry', () => {
props: {},
global: {
mocks: {
- t: (key, message) => message,
+ t,
},
},
})
diff --git a/src/tests/views/FilesList/FilesList.spec.ts b/src/tests/views/FilesList/FilesList.spec.ts
new file mode 100644
index 0000000000..802059efbf
--- /dev/null
+++ b/src/tests/views/FilesList/FilesList.spec.ts
@@ -0,0 +1,196 @@
+/**
+ * SPDX-FileCopyrightText: 2026 LibreCode coop and contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+import { beforeEach, describe, expect, it, vi } from 'vitest'
+import { flushPromises, mount } from '@vue/test-utils'
+import { createPinia, setActivePinia } from 'pinia'
+
+import FilesList from '../../../views/FilesList/FilesList.vue'
+import { useFilesStore } from '../../../store/files.js'
+import { useUserConfigStore } from '../../../store/userconfig.js'
+
+vi.mock('@nextcloud/l10n', () => ({
+ t: vi.fn((_app: string, text: string) => text),
+}))
+
+vi.mock('@nextcloud/logger', () => ({
+ getLogger: vi.fn(() => ({
+ error: vi.fn(),
+ warn: vi.fn(),
+ info: vi.fn(),
+ debug: vi.fn(),
+ })),
+ getLoggerBuilder: vi.fn(() => ({
+ setApp: vi.fn().mockReturnThis(),
+ detectUser: vi.fn().mockReturnThis(),
+ build: vi.fn(() => ({
+ error: vi.fn(),
+ warn: vi.fn(),
+ info: vi.fn(),
+ debug: vi.fn(),
+ })),
+ })),
+}))
+
+vi.mock('@nextcloud/axios', () => ({
+ default: {
+ get: vi.fn(),
+ post: vi.fn(),
+ delete: vi.fn(),
+ patch: vi.fn(),
+ },
+}))
+
+vi.mock('@nextcloud/router', () => ({
+ generateOcsUrl: vi.fn((path: string) => `/ocs/v2.php${path}`),
+}))
+
+vi.mock('@nextcloud/auth', () => ({
+ getCurrentUser: vi.fn(() => ({
+ uid: 'testuser',
+ displayName: 'Test User',
+ })),
+}))
+
+vi.mock('@nextcloud/event-bus', () => ({
+ emit: vi.fn(),
+ subscribe: vi.fn(),
+}))
+
+vi.mock('@nextcloud/initial-state', () => ({
+ loadState: vi.fn((_app: string, _key: string, defaultValue: unknown) => defaultValue),
+}))
+
+vi.mock('@nextcloud/moment', () => ({
+ default: vi.fn(() => ({
+ format: () => 'date',
+ fromNow: () => '2 days ago',
+ })),
+}))
+
+vi.mock('@nextcloud/vue/components/NcAppContent', () => ({
+ default: { name: 'NcAppContent', template: '
' },
+}))
+vi.mock('@nextcloud/vue/components/NcBreadcrumb', () => ({
+ default: { name: 'NcBreadcrumb', template: '
' },
+}))
+vi.mock('@nextcloud/vue/components/NcBreadcrumbs', () => ({
+ default: { name: 'NcBreadcrumbs', template: '
' },
+}))
+vi.mock('@nextcloud/vue/components/NcButton', () => ({
+ default: { name: 'NcButton', template: '' },
+}))
+vi.mock('@nextcloud/vue/components/NcEmptyContent', () => ({
+ default: { name: 'NcEmptyContent', template: '' },
+}))
+vi.mock('@nextcloud/vue/components/NcIconSvgWrapper', () => ({
+ default: {
+ name: 'NcIconSvgWrapper',
+ props: ['path', 'svg', 'size'],
+ template: '',
+ },
+}))
+vi.mock('@nextcloud/vue/components/NcLoadingIcon', () => ({
+ default: { name: 'NcLoadingIcon', template: '' },
+}))
+
+vi.mock('../../../views/FilesList/FilesListVirtual.vue', () => ({
+ default: {
+ name: 'FilesListVirtual',
+ props: ['nodes', 'loading'],
+ template: '
',
+ },
+}))
+
+vi.mock('../../../components/Request/RequestPicker.vue', () => ({
+ default: {
+ name: 'RequestPicker',
+ template: '',
+ },
+}))
+
+const routeMock = {
+ query: {},
+}
+
+describe('FilesList.vue rendering rules', () => {
+ beforeEach(() => {
+ setActivePinia(createPinia())
+ vi.clearAllMocks()
+ })
+
+ function mountComponent() {
+ return mount(FilesList, {
+ global: {
+ mocks: {
+ $route: routeMock,
+ },
+ stubs: {
+ ListViewIcon: {
+ template: '',
+ },
+ },
+ },
+ })
+ }
+
+ it('exposes mdi icons from setup for template bindings', async () => {
+ const filesStore = useFilesStore()
+ vi.spyOn(filesStore, 'getAllFiles').mockResolvedValue({})
+
+ const wrapper = mountComponent()
+ await flushPromises()
+
+ expect(wrapper.vm.mdiFolder).toBeTruthy()
+ expect(wrapper.vm.mdiViewGrid).toBeTruthy()
+ })
+
+ it('shows empty-state request action when user can request sign', async () => {
+ const filesStore = useFilesStore()
+ const userConfigStore = useUserConfigStore()
+
+ filesStore.canRequestSign = true
+ filesStore.files = {}
+ filesStore.ordered = []
+ userConfigStore.files_list_grid_view = false
+ vi.spyOn(filesStore, 'getAllFiles').mockResolvedValue({})
+
+ const wrapper = mountComponent()
+ await flushPromises()
+
+ const pickers = wrapper.findAll('.request-picker-stub')
+ expect(pickers).toHaveLength(2)
+ })
+
+ it('hides empty-state request action when user cannot request sign', async () => {
+ const filesStore = useFilesStore()
+ const userConfigStore = useUserConfigStore()
+
+ filesStore.canRequestSign = false
+ filesStore.files = {}
+ filesStore.ordered = []
+ userConfigStore.files_list_grid_view = false
+ vi.spyOn(filesStore, 'getAllFiles').mockResolvedValue({})
+
+ const wrapper = mountComponent()
+ await flushPromises()
+
+ const pickers = wrapper.findAll('.request-picker-stub')
+ expect(pickers).toHaveLength(1)
+ })
+
+ it('renders grid toggle icon path when in list mode', async () => {
+ const filesStore = useFilesStore()
+ const userConfigStore = useUserConfigStore()
+ vi.spyOn(filesStore, 'getAllFiles').mockResolvedValue({})
+ userConfigStore.files_list_grid_view = false
+
+ const wrapper = mountComponent()
+ await flushPromises()
+
+ const iconWithPath = wrapper.findAll('.nc-icon').find((node) => !!node.attributes('data-path'))
+ expect(iconWithPath?.attributes('data-path')).toBe(wrapper.vm.mdiViewGrid)
+ })
+})
diff --git a/src/tests/views/FilesList/FilesListTableHeader.spec.js b/src/tests/views/FilesList/FilesListTableHeader.spec.ts
similarity index 72%
rename from src/tests/views/FilesList/FilesListTableHeader.spec.js
rename to src/tests/views/FilesList/FilesListTableHeader.spec.ts
index 9498848ebb..9b74b357e3 100644
--- a/src/tests/views/FilesList/FilesListTableHeader.spec.js
+++ b/src/tests/views/FilesList/FilesListTableHeader.spec.ts
@@ -9,6 +9,14 @@ import { setActivePinia, createPinia } from 'pinia'
import FilesListTableHeader from '../../../views/FilesList/FilesListTableHeader.vue'
import { useFilesStore } from '../../../store/files.js'
import { useSelectionStore } from '../../../store/selection.js'
+import type { TranslationFunction } from '../../test-types'
+
+type Column = {
+ id: string
+ sort?: boolean
+}
+
+const t: TranslationFunction = (_app, text) => text
vi.mock('@nextcloud/vue/components/NcCheckboxRadioSwitch', () => ({
default: {
@@ -44,7 +52,7 @@ describe('FilesListTableHeader.vue - Table Header with Columns', () => {
},
global: {
mocks: {
- t: (app, message) => message,
+ t,
},
},
})
@@ -59,12 +67,13 @@ describe('FilesListTableHeader.vue - Table Header with Columns', () => {
},
global: {
mocks: {
- t: (app, message) => message,
+ t,
},
},
})
- expect(wrapper.vm.columns.some(col => col.id === 'status')).toBe(true)
+ const columns: Column[] = wrapper.vm.columns
+ expect(columns.some((col: Column) => col.id === 'status')).toBe(true)
})
it('includes Signers column', () => {
@@ -74,12 +83,13 @@ describe('FilesListTableHeader.vue - Table Header with Columns', () => {
},
global: {
mocks: {
- t: (app, message) => message,
+ t,
},
},
})
- expect(wrapper.vm.columns.some(col => col.id === 'signers')).toBe(true)
+ const columns: Column[] = wrapper.vm.columns
+ expect(columns.some((col: Column) => col.id === 'signers')).toBe(true)
})
it('includes Created at column', () => {
@@ -89,12 +99,13 @@ describe('FilesListTableHeader.vue - Table Header with Columns', () => {
},
global: {
mocks: {
- t: (app, message) => message,
+ t,
},
},
})
- expect(wrapper.vm.columns.some(col => col.id === 'created_at')).toBe(true)
+ const columns: Column[] = wrapper.vm.columns
+ expect(columns.some((col: Column) => col.id === 'created_at')).toBe(true)
})
it('marks Status column as sortable', () => {
@@ -104,13 +115,14 @@ describe('FilesListTableHeader.vue - Table Header with Columns', () => {
},
global: {
mocks: {
- t: (app, message) => message,
+ t,
},
},
})
- const statusColumn = wrapper.vm.columns.find(col => col.id === 'status')
- expect(statusColumn.sort).toBe(true)
+ const columns: Column[] = wrapper.vm.columns
+ const statusColumn = columns.find((col: Column) => col.id === 'status')
+ expect(statusColumn?.sort).toBe(true)
})
it('marks Signers column as sortable', () => {
@@ -120,13 +132,14 @@ describe('FilesListTableHeader.vue - Table Header with Columns', () => {
},
global: {
mocks: {
- t: (app, message) => message,
+ t,
},
},
})
- const signersColumn = wrapper.vm.columns.find(col => col.id === 'signers')
- expect(signersColumn.sort).toBe(true)
+ const columns: Column[] = wrapper.vm.columns
+ const signersColumn = columns.find((col: Column) => col.id === 'signers')
+ expect(signersColumn?.sort).toBe(true)
})
it('marks Created at column as sortable', () => {
@@ -136,13 +149,14 @@ describe('FilesListTableHeader.vue - Table Header with Columns', () => {
},
global: {
mocks: {
- t: (app, message) => message,
+ t,
},
},
})
- const createdAtColumn = wrapper.vm.columns.find(col => col.id === 'created_at')
- expect(createdAtColumn.sort).toBe(true)
+ const columns: Column[] = wrapper.vm.columns
+ const createdAtColumn = columns.find((col: Column) => col.id === 'created_at')
+ expect(createdAtColumn?.sort).toBe(true)
})
it('renders correct number of columns', () => {
@@ -152,7 +166,7 @@ describe('FilesListTableHeader.vue - Table Header with Columns', () => {
},
global: {
mocks: {
- t: (app, message) => message,
+ t,
},
},
})
@@ -167,7 +181,7 @@ describe('FilesListTableHeader.vue - Table Header with Columns', () => {
},
global: {
mocks: {
- t: (app, message) => message,
+ t,
},
},
})
@@ -184,13 +198,15 @@ describe('FilesListTableHeader.vue - Table Header with Columns', () => {
},
global: {
mocks: {
- t: (app, message) => message,
+ t,
},
},
})
- const signersColumn = wrapper.vm.columns.find(col => col.id === 'signers')
- const classes = wrapper.vm.classForColumn(signersColumn)
+ const columns: Column[] = wrapper.vm.columns
+ const signersColumn = columns.find((col: Column) => col.id === 'signers')
+ expect(signersColumn).toBeDefined()
+ const classes = wrapper.vm.classForColumn(signersColumn as Column)
expect(classes['files-list__column']).toBe(true)
expect(classes['files-list__row-signers']).toBe(true)
diff --git a/src/tests/views/IncompleteCertification.spec.ts b/src/tests/views/IncompleteCertification.spec.ts
new file mode 100644
index 0000000000..5d4f76d897
--- /dev/null
+++ b/src/tests/views/IncompleteCertification.spec.ts
@@ -0,0 +1,55 @@
+/*
+ * SPDX-FileCopyrightText: 2026 LibreSign contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+import { beforeAll, beforeEach, describe, expect, it, vi } from 'vitest'
+import { mount } from '@vue/test-utils'
+
+const getCurrentUserMock = vi.fn()
+
+vi.mock('@nextcloud/auth', () => ({
+ getCurrentUser: () => getCurrentUserMock(),
+}))
+
+vi.mock('@nextcloud/router', () => ({
+ generateUrl: vi.fn(() => '/settings/admin/libresign'),
+}))
+
+vi.mock('@nextcloud/l10n', () => ({
+ t: vi.fn((_app: string, text: string) => text),
+ translate: vi.fn((_app: string, text: string) => text),
+ translatePlural: vi.fn((_app: string, singular: string, plural: string, count: number) => (count === 1 ? singular : plural)),
+ n: vi.fn((_app: string, singular: string, plural: string, count: number) => (count === 1 ? singular : plural)),
+ isRTL: vi.fn(() => false),
+ getLanguage: vi.fn(() => 'en'),
+ getLocale: vi.fn(() => 'en'),
+}))
+
+let IncompleteCertification: unknown
+
+beforeAll(async () => {
+ ;({ default: IncompleteCertification } = await import('../../views/IncompleteCertification.vue'))
+})
+
+describe('IncompleteCertification', () => {
+ beforeEach(() => {
+ getCurrentUserMock.mockReset()
+ })
+
+ it('registers icon wrapper and exposes mdi icon path used in template', () => {
+ getCurrentUserMock.mockReturnValue({ isAdmin: true })
+
+ const wrapper = mount(IncompleteCertification as never, {
+ global: {
+ stubs: {
+ NcButton: { template: '' },
+ NcIconSvgWrapper: { name: 'NcIconSvgWrapper', props: ['path'], template: '' },
+ },
+ },
+ })
+
+ expect(wrapper.vm.$options.components.NcIconSvgWrapper).toBeTruthy()
+ expect(wrapper.vm.mdiCogs).toBeTruthy()
+ })
+})
diff --git a/src/tests/views/ResetPassword.spec.ts b/src/tests/views/ResetPassword.spec.ts
new file mode 100644
index 0000000000..ec757e2a0b
--- /dev/null
+++ b/src/tests/views/ResetPassword.spec.ts
@@ -0,0 +1,232 @@
+/*
+ * SPDX-FileCopyrightText: 2026 LibreSign contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+import { beforeEach, describe, expect, it, vi } from 'vitest'
+import { shallowMount } from '@vue/test-utils'
+import ResetPassword from '../../views/ResetPassword.vue'
+
+const {
+ closeModalMock,
+ patchMock,
+ showSuccessMock,
+ showErrorMock,
+} = vi.hoisted(() => ({
+ closeModalMock: vi.fn(),
+ patchMock: vi.fn(),
+ showSuccessMock: vi.fn(),
+ showErrorMock: vi.fn(),
+}))
+
+vi.mock('../../store/signMethods.js', () => ({
+ useSignMethodsStore: () => ({
+ modal: {
+ resetPassword: true,
+ },
+ closeModal: closeModalMock,
+ }),
+}))
+
+vi.mock('@nextcloud/axios', () => ({
+ default: {
+ patch: patchMock,
+ },
+}))
+
+vi.mock('@nextcloud/dialogs', () => ({
+ showSuccess: showSuccessMock,
+ showError: showErrorMock,
+}))
+
+vi.mock('@nextcloud/router', () => ({
+ generateOcsUrl: vi.fn((path: string) => path),
+}))
+
+vi.mock('@nextcloud/l10n', () => ({
+ t: vi.fn((_app: string, text: string) => text),
+ translate: vi.fn((_app: string, text: string) => text),
+ translatePlural: vi.fn((_app: string, singular: string, plural: string, count: number) => (count === 1 ? singular : plural)),
+ n: vi.fn((_app: string, singular: string, plural: string, count: number) => (count === 1 ? singular : plural)),
+ isRTL: vi.fn(() => false),
+ getLanguage: vi.fn(() => 'en'),
+ getLocale: vi.fn(() => 'en'),
+}))
+
+describe('ResetPassword.vue', () => {
+ beforeEach(() => {
+ closeModalMock.mockReset()
+ patchMock.mockReset()
+ showSuccessMock.mockReset()
+ showErrorMock.mockReset()
+ })
+
+ it('clears sensitive fields when modal is closed', async () => {
+ const wrapper = shallowMount(ResetPassword, {
+ global: {
+ stubs: {
+ NcDialog: true,
+ NcPasswordField: true,
+ NcButton: true,
+ NcLoadingIcon: true,
+ },
+ },
+ })
+
+ await wrapper.setData({
+ currentPassword: 'current-secret',
+ newPassword: 'new-secret',
+ rPassword: 'new-secret',
+ hasLoading: true,
+ })
+
+ wrapper.vm.onClose()
+
+ expect(closeModalMock).toHaveBeenCalledWith('resetPassword')
+ expect(wrapper.vm.currentPassword).toBe('')
+ expect(wrapper.vm.newPassword).toBe('')
+ expect(wrapper.vm.rPassword).toBe('')
+ expect(wrapper.vm.hasLoading).toBe(false)
+ })
+
+ it('clears fields after successful confirmation', async () => {
+ patchMock.mockResolvedValue({
+ data: {
+ ocs: {
+ data: {
+ message: 'Password changed',
+ },
+ },
+ },
+ })
+
+ const wrapper = shallowMount(ResetPassword, {
+ global: {
+ stubs: {
+ NcDialog: true,
+ NcPasswordField: true,
+ NcButton: true,
+ NcLoadingIcon: true,
+ },
+ },
+ })
+
+ await wrapper.setData({
+ currentPassword: 'current-secret',
+ newPassword: 'new-secret',
+ rPassword: 'new-secret',
+ })
+
+ await wrapper.vm.send()
+
+ expect(patchMock).toHaveBeenCalledWith('/apps/libresign/api/v1/account/pfx', {
+ current: 'current-secret',
+ new: 'new-secret',
+ })
+ expect(showSuccessMock).toHaveBeenCalledWith('Password changed')
+ expect(closeModalMock).toHaveBeenCalledWith('resetPassword')
+ expect(wrapper.vm.currentPassword).toBe('')
+ expect(wrapper.vm.newPassword).toBe('')
+ expect(wrapper.vm.rPassword).toBe('')
+ expect(wrapper.vm.hasLoading).toBe(false)
+ expect(wrapper.emitted('close')).toEqual([[true]])
+ })
+
+ it('does not submit when invalid and requests focus on first invalid field', async () => {
+ const wrapper = shallowMount(ResetPassword, {
+ global: {
+ stubs: {
+ NcDialog: true,
+ NcPasswordField: true,
+ NcButton: true,
+ NcLoadingIcon: true,
+ },
+ },
+ })
+
+ const focusFirstInvalidField = vi.fn()
+
+ await wrapper.vm.$options.methods.send.call({
+ canSave: false,
+ focusFirstInvalidField,
+ })
+
+ expect(patchMock).not.toHaveBeenCalled()
+ expect(focusFirstInvalidField).toHaveBeenCalledTimes(1)
+ })
+
+ it('prioritizes focus order for invalid fields', () => {
+ const wrapper = shallowMount(ResetPassword, {
+ global: {
+ stubs: {
+ NcDialog: true,
+ NcPasswordField: true,
+ NcButton: true,
+ NcLoadingIcon: true,
+ },
+ },
+ })
+
+ const focusField = vi.fn()
+
+ wrapper.vm.$options.methods.focusFirstInvalidField.call({
+ currentPassword: '',
+ newPassword: '',
+ rPassword: '',
+ validNewPassord: false,
+ focusField,
+ })
+ expect(focusField).toHaveBeenLastCalledWith('currentPasswordField')
+
+ wrapper.vm.$options.methods.focusFirstInvalidField.call({
+ currentPassword: 'current-secret',
+ newPassword: '',
+ rPassword: '',
+ validNewPassord: false,
+ focusField,
+ })
+ expect(focusField).toHaveBeenLastCalledWith('newPasswordField')
+
+ wrapper.vm.$options.methods.focusFirstInvalidField.call({
+ currentPassword: 'current-secret',
+ newPassword: 'new-secret',
+ rPassword: '',
+ validNewPassord: false,
+ focusField,
+ })
+ expect(focusField).toHaveBeenLastCalledWith('repeatPasswordField')
+ })
+
+ it('routes Enter key to focus invalid field or submit', async () => {
+ const wrapper = shallowMount(ResetPassword, {
+ global: {
+ stubs: {
+ NcDialog: true,
+ NcPasswordField: true,
+ NcButton: true,
+ NcLoadingIcon: true,
+ },
+ },
+ })
+
+ const focusFirstInvalidField = vi.fn()
+ const send = vi.fn()
+
+ wrapper.vm.$options.methods.handleEnter.call({
+ canSave: false,
+ focusFirstInvalidField,
+ send,
+ })
+
+ expect(focusFirstInvalidField).toHaveBeenCalledTimes(1)
+ expect(send).not.toHaveBeenCalled()
+
+ wrapper.vm.$options.methods.handleEnter.call({
+ canSave: true,
+ focusFirstInvalidField,
+ send,
+ })
+
+ expect(send).toHaveBeenCalledTimes(1)
+ })
+})
diff --git a/src/tests/views/Settings/AllowedGroups.spec.ts b/src/tests/views/Settings/AllowedGroups.spec.ts
new file mode 100644
index 0000000000..383f78739f
--- /dev/null
+++ b/src/tests/views/Settings/AllowedGroups.spec.ts
@@ -0,0 +1,118 @@
+/*
+ * SPDX-FileCopyrightText: 2026 LibreSign contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+import { beforeAll, beforeEach, describe, expect, it, vi } from 'vitest'
+import { flushPromises, mount } from '@vue/test-utils'
+
+const axiosGetMock = vi.fn()
+const generateOcsUrlMock = vi.fn((path: string) => path)
+const confirmPasswordMock = vi.fn(() => Promise.resolve())
+
+vi.mock('@nextcloud/axios', () => ({
+ default: {
+ get: (...args: unknown[]) => axiosGetMock(...args),
+ },
+}))
+
+vi.mock('@nextcloud/router', () => ({
+ generateOcsUrl: (...args: unknown[]) => generateOcsUrlMock(...(args as [string])),
+}))
+
+vi.mock('@nextcloud/password-confirmation', () => ({
+ confirmPassword: () => confirmPasswordMock(),
+}))
+
+vi.mock('@nextcloud/l10n', () => ({
+ t: vi.fn((_app: string, text: string) => text),
+ translate: vi.fn((_app: string, text: string) => text),
+ translatePlural: vi.fn((_app: string, singular: string, plural: string, count: number) => (count === 1 ? singular : plural)),
+ n: vi.fn((_app: string, singular: string, plural: string, count: number) => (count === 1 ? singular : plural)),
+ isRTL: vi.fn(() => false),
+ getLanguage: vi.fn(() => 'en'),
+ getLocale: vi.fn(() => 'en'),
+}))
+
+const OCP = {
+ AppConfig: {
+ setValue: vi.fn(),
+ },
+}
+
+;(globalThis as typeof globalThis & { OCP: typeof OCP }).OCP = OCP
+
+let AllowedGroups: unknown
+
+beforeAll(async () => {
+ ;({ default: AllowedGroups } = await import('../../../views/Settings/AllowedGroups.vue'))
+})
+
+describe('AllowedGroups', () => {
+ beforeEach(() => {
+ axiosGetMock.mockReset()
+ generateOcsUrlMock.mockClear()
+ confirmPasswordMock.mockClear()
+ OCP.AppConfig.setValue.mockClear()
+ })
+
+ it('persists when adding and removing groups', async () => {
+ axiosGetMock.mockImplementation((url: string) => {
+ if (url.includes('cloud/groups/details')) {
+ return Promise.resolve({
+ data: {
+ ocs: {
+ data: {
+ groups: [
+ { id: 'admin', displayname: 'admin' },
+ { id: 'testGroup', displayname: 'testGroup' },
+ ],
+ },
+ },
+ },
+ })
+ }
+
+ if (url.includes('groups_request_sign')) {
+ return Promise.resolve({ data: { ocs: { data: { data: '["admin"]' } } } })
+ }
+
+ return Promise.resolve({ data: { ocs: { data: {} } } })
+ })
+
+ const wrapper = mount(AllowedGroups as never, {
+ global: {
+ stubs: {
+ NcSettingsSection: { template: '
' },
+ NcSelect: {
+ name: 'NcSelect',
+ props: ['modelValue'],
+ emits: ['update:modelValue', 'search-change'],
+ template: '',
+ },
+ },
+ },
+ })
+ await flushPromises()
+
+ let select = wrapper.findComponent({ name: 'NcSelect' })
+
+ select.vm.$emit('update:modelValue', [
+ { id: 'admin', displayname: 'admin' },
+ { id: 'testGroup', displayname: 'testGroup' },
+ ])
+ await flushPromises()
+
+ expect(OCP.AppConfig.setValue).toHaveBeenCalledWith('libresign', 'groups_request_sign', '["admin","testGroup"]')
+
+ select = wrapper.findComponent({ name: 'NcSelect' })
+
+ select.vm.$emit('update:modelValue', [
+ { id: 'admin', displayname: 'admin' },
+ ])
+ await flushPromises()
+
+ expect(OCP.AppConfig.setValue).toHaveBeenCalledWith('libresign', 'groups_request_sign', '["admin"]')
+ expect(confirmPasswordMock).toHaveBeenCalledTimes(2)
+ })
+})
diff --git a/src/tests/views/Settings/DocMDP.spec.ts b/src/tests/views/Settings/DocMDP.spec.ts
new file mode 100644
index 0000000000..15c28202d3
--- /dev/null
+++ b/src/tests/views/Settings/DocMDP.spec.ts
@@ -0,0 +1,198 @@
+/*
+ * SPDX-FileCopyrightText: 2026 LibreSign contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+import { beforeAll, beforeEach, describe, expect, it, vi } from 'vitest'
+import { flushPromises, mount } from '@vue/test-utils'
+
+const loadStateMock = vi.fn()
+const generateOcsUrlMock = vi.fn((path: string) => path)
+const axiosPostMock = vi.fn((..._args: unknown[]) => Promise.resolve({ data: { ocs: { data: {} } } }))
+
+vi.mock('@nextcloud/initial-state', () => ({
+ loadState: (...args: unknown[]) => loadStateMock(...args),
+}))
+
+vi.mock('@nextcloud/router', () => ({
+ generateOcsUrl: (...args: unknown[]) => generateOcsUrlMock(...(args as [string])),
+}))
+
+vi.mock('@nextcloud/axios', () => ({
+ default: {
+ post: axiosPostMock,
+ },
+}))
+
+vi.mock('@nextcloud/l10n', () => ({
+ t: vi.fn((_app: string, text: string) => text),
+ translate: vi.fn((_app: string, text: string) => text),
+ translatePlural: vi.fn((_app: string, singular: string, plural: string, count: number) => (count === 1 ? singular : plural)),
+ n: vi.fn((_app: string, singular: string, plural: string, count: number) => (count === 1 ? singular : plural)),
+ isRTL: vi.fn(() => false),
+ getLanguage: vi.fn(() => 'en'),
+ getLocale: vi.fn(() => 'en'),
+}))
+
+let DocMDP: unknown
+
+const NcCheckboxRadioSwitchStub = {
+ name: 'NcCheckboxRadioSwitch',
+ props: ['modelValue', 'value', 'type'],
+ emits: ['update:modelValue'],
+ template: '',
+}
+
+beforeAll(async () => {
+ ;({ default: DocMDP } = await import('../../../views/Settings/DocMDP.vue'))
+})
+
+describe('DocMDP', () => {
+ beforeEach(() => {
+ loadStateMock.mockReset()
+ generateOcsUrlMock.mockClear()
+ axiosPostMock.mockClear()
+ })
+
+ it('uses typed backend config on load', async () => {
+ loadStateMock.mockImplementation((_app: string, key: string, fallback: unknown) => {
+ if (key === 'docmdp_config') {
+ return {
+ enabled: false,
+ defaultLevel: 2,
+ availableLevels: [
+ { value: 1, label: 'L1', description: 'D1' },
+ { value: 2, label: 'L2', description: 'D2' },
+ ],
+ }
+ }
+ return fallback
+ })
+
+ const wrapper = mount(DocMDP as never, {
+ global: {
+ stubs: {
+ NcSettingsSection: { template: '
' },
+ NcCheckboxRadioSwitch: NcCheckboxRadioSwitchStub,
+ NcLoadingIcon: true,
+ NcNoteCard: true,
+ NcSavingIndicatorIcon: true,
+ },
+ },
+ })
+ await flushPromises()
+
+ expect(wrapper.vm.enabled).toBe(false)
+ expect(wrapper.vm.selectedLevel?.value).toBe(2)
+ })
+
+ it('respects backend default config when storage is empty', async () => {
+ loadStateMock.mockImplementation((_app: string, key: string, fallback: unknown) => {
+ if (key === 'docmdp_config') {
+ return {
+ enabled: true,
+ defaultLevel: 2,
+ availableLevels: [
+ { value: 0, label: 'L0', description: 'D0' },
+ { value: 1, label: 'L1', description: 'D1' },
+ { value: 2, label: 'L2', description: 'D2' },
+ ],
+ }
+ }
+ return fallback
+ })
+
+ const wrapper = mount(DocMDP as never, {
+ global: {
+ stubs: {
+ NcSettingsSection: { template: '
' },
+ NcCheckboxRadioSwitch: NcCheckboxRadioSwitchStub,
+ NcLoadingIcon: true,
+ NcNoteCard: true,
+ NcSavingIndicatorIcon: true,
+ },
+ },
+ })
+ await flushPromises()
+
+ expect(wrapper.vm.enabled).toBe(true)
+ expect(wrapper.vm.selectedLevel?.value).toBe(2)
+ })
+
+ it('changes selected level and persists selected radio value', async () => {
+ loadStateMock.mockImplementation((_app: string, key: string, fallback: unknown) => {
+ if (key === 'docmdp_config') {
+ return {
+ enabled: true,
+ defaultLevel: 1,
+ availableLevels: [
+ { value: 1, label: 'L1', description: 'D1' },
+ { value: 2, label: 'L2', description: 'D2' },
+ { value: 3, label: 'L3', description: 'D3' },
+ ],
+ }
+ }
+ return fallback
+ })
+
+ const wrapper = mount(DocMDP as never, {
+ global: {
+ stubs: {
+ NcSettingsSection: { template: '
' },
+ NcCheckboxRadioSwitch: NcCheckboxRadioSwitchStub,
+ NcLoadingIcon: true,
+ NcNoteCard: true,
+ NcSavingIndicatorIcon: true,
+ },
+ },
+ })
+ await flushPromises()
+
+ const radioAndSwitchButtons = wrapper.findAll('.checkbox-radio-switch-stub')
+ await radioAndSwitchButtons[3].trigger('click')
+ await flushPromises()
+
+ expect(wrapper.vm.selectedLevel?.value).toBe(3)
+ expect(axiosPostMock).toHaveBeenCalled()
+ const lastCall = axiosPostMock.mock.calls[axiosPostMock.mock.calls.length - 1] as [string, { enabled: boolean, defaultLevel: number }]
+ expect(lastCall[1].defaultLevel).toBe(3)
+ })
+
+ it('uses preferred level 2 when enabling without explicit selected level', async () => {
+ loadStateMock.mockImplementation((_app: string, key: string, fallback: unknown) => {
+ if (key === 'docmdp_config') {
+ return {
+ enabled: false,
+ defaultLevel: 2,
+ availableLevels: [
+ { value: 0, label: 'L0', description: 'D0' },
+ { value: 1, label: 'L1', description: 'D1' },
+ { value: 2, label: 'L2', description: 'D2' },
+ ],
+ }
+ }
+ return fallback
+ })
+
+ const wrapper = mount(DocMDP as never, {
+ global: {
+ stubs: {
+ NcSettingsSection: { template: '
' },
+ NcCheckboxRadioSwitch: NcCheckboxRadioSwitchStub,
+ NcLoadingIcon: true,
+ NcNoteCard: true,
+ NcSavingIndicatorIcon: true,
+ },
+ },
+ })
+ await flushPromises()
+
+ expect(wrapper.vm.selectedLevel?.value).toBe(2)
+ wrapper.vm.enabled = true
+ wrapper.vm.onEnabledChange()
+ await flushPromises()
+
+ const lastCall = axiosPostMock.mock.calls[axiosPostMock.mock.calls.length - 1] as [string, { enabled: boolean, defaultLevel: number }]
+ expect(lastCall[1]).toMatchObject({ enabled: true, defaultLevel: 2 })
+ })
+})
diff --git a/src/tests/views/Settings/Envelope.spec.ts b/src/tests/views/Settings/Envelope.spec.ts
new file mode 100644
index 0000000000..60f0e7968b
--- /dev/null
+++ b/src/tests/views/Settings/Envelope.spec.ts
@@ -0,0 +1,53 @@
+/*
+ * SPDX-FileCopyrightText: 2026 LibreSign contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+import { beforeAll, beforeEach, describe, expect, it, vi } from 'vitest'
+import { mount } from '@vue/test-utils'
+
+const loadStateMock = vi.fn()
+
+vi.mock('@nextcloud/initial-state', () => ({
+ loadState: (...args: unknown[]) => loadStateMock(...args),
+}))
+
+vi.mock('@nextcloud/l10n', () => ({
+ t: vi.fn((_app: string, text: string) => text),
+ translate: vi.fn((_app: string, text: string) => text),
+ translatePlural: vi.fn((_app: string, singular: string, plural: string, count: number) => (count === 1 ? singular : plural)),
+ n: vi.fn((_app: string, singular: string, plural: string, count: number) => (count === 1 ? singular : plural)),
+ isRTL: vi.fn(() => false),
+ getLanguage: vi.fn(() => 'en'),
+ getLocale: vi.fn(() => 'en'),
+}))
+
+let Envelope: unknown
+
+beforeAll(async () => {
+ ;({ default: Envelope } = await import('../../../views/Settings/Envelope.vue'))
+})
+
+describe('Envelope', () => {
+ beforeEach(() => {
+ loadStateMock.mockReset()
+ })
+
+ it('uses typed backend state', async () => {
+ loadStateMock.mockImplementation((_app: string, key: string, fallback: unknown) => {
+ if (key === 'envelope_enabled') return false
+ return fallback
+ })
+
+ const wrapper = mount(Envelope as never, {
+ global: {
+ stubs: {
+ NcSettingsSection: { template: '
' },
+ NcCheckboxRadioSwitch: { template: '
' },
+ },
+ },
+ })
+
+ expect(wrapper.vm.envelopeEnabled).toBe(false)
+ })
+})
diff --git a/src/tests/views/Settings/IdentificationDocuments.spec.ts b/src/tests/views/Settings/IdentificationDocuments.spec.ts
new file mode 100644
index 0000000000..c0e2b96d16
--- /dev/null
+++ b/src/tests/views/Settings/IdentificationDocuments.spec.ts
@@ -0,0 +1,103 @@
+/*
+ * SPDX-FileCopyrightText: 2026 LibreSign contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+import { beforeAll, beforeEach, describe, expect, it, vi } from 'vitest'
+import { flushPromises, mount } from '@vue/test-utils'
+
+const loadStateMock = vi.fn()
+const axiosGetMock = vi.fn()
+
+vi.mock('@nextcloud/initial-state', () => ({
+ loadState: (...args: unknown[]) => loadStateMock(...args),
+}))
+
+vi.mock('@nextcloud/axios', () => ({
+ default: {
+ get: (...args: unknown[]) => axiosGetMock(...args),
+ },
+}))
+
+vi.mock('@nextcloud/l10n', () => ({
+ t: vi.fn((_app: string, text: string) => text),
+ translate: vi.fn((_app: string, text: string) => text),
+ translatePlural: vi.fn((_app: string, singular: string, plural: string, count: number) => (count === 1 ? singular : plural)),
+ n: vi.fn((_app: string, singular: string, plural: string, count: number) => (count === 1 ? singular : plural)),
+ isRTL: vi.fn(() => false),
+ getLanguage: vi.fn(() => 'en'),
+ getLocale: vi.fn(() => 'en'),
+}))
+
+const OCP = {
+ AppConfig: {
+ setValue: vi.fn(),
+ },
+}
+
+;(globalThis as typeof globalThis & { OCP: typeof OCP }).OCP = OCP
+
+let IdentificationDocuments: unknown
+
+beforeAll(async () => {
+ ;({ default: IdentificationDocuments } = await import('../../../views/Settings/IdentificationDocuments.vue'))
+})
+
+describe('IdentificationDocuments', () => {
+ beforeEach(() => {
+ loadStateMock.mockReset()
+ axiosGetMock.mockReset()
+ OCP.AppConfig.setValue.mockClear()
+ })
+
+ it('saves groups on update:modelValue', async () => {
+ loadStateMock.mockImplementation((_app: string, key: string, fallback: unknown) => {
+ if (key === 'identification_documents') {
+ return true
+ }
+ if (key === 'approval_group') {
+ return []
+ }
+ return fallback
+ })
+
+ axiosGetMock.mockImplementation((url: string) => {
+ if (url.includes('cloud/groups/details')) {
+ return Promise.resolve({
+ data: {
+ ocs: {
+ data: {
+ groups: [
+ { id: 'grpA', displayname: 'Group A' },
+ ],
+ },
+ },
+ },
+ })
+ }
+ return Promise.resolve({ data: { ocs: { data: {} } } })
+ })
+
+ const wrapper = mount(IdentificationDocuments as never, {
+ global: {
+ stubs: {
+ NcSettingsSection: { template: '
' },
+ NcCheckboxRadioSwitch: { template: '
' },
+ NcSelect: {
+ name: 'NcSelect',
+ props: ['modelValue'],
+ emits: ['update:modelValue', 'search-change'],
+ template: '',
+ },
+ },
+ },
+ })
+ await flushPromises()
+
+ const ncSelect = wrapper.findComponent({ name: 'NcSelect' })
+ ncSelect.vm.$emit('update:modelValue', [{ id: 'grpA', displayname: 'Group A' }])
+ await flushPromises()
+
+ expect(OCP.AppConfig.setValue).toHaveBeenCalledWith('libresign', 'approval_group', '["grpA"]')
+ })
+})
diff --git a/src/tests/views/Settings/LegalInformation.spec.ts b/src/tests/views/Settings/LegalInformation.spec.ts
new file mode 100644
index 0000000000..4e356b2256
--- /dev/null
+++ b/src/tests/views/Settings/LegalInformation.spec.ts
@@ -0,0 +1,334 @@
+/**
+ * SPDX-FileCopyrightText: 2026 LibreCode coop and contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+import { beforeAll, beforeEach, describe, expect, it, vi } from 'vitest'
+import { mount, flushPromises } from '@vue/test-utils'
+
+let LegalInformation: unknown
+
+vi.mock('@nextcloud/l10n', () => ({
+ translate: vi.fn((_app: string, text: string) => text),
+ translatePlural: vi.fn((_app: string, singular: string, plural: string, count: number) => (count === 1 ? singular : plural)),
+ t: vi.fn((_app: string, text: string) => text),
+ n: vi.fn((_app: string, singular: string, plural: string, count: number) => (count === 1 ? singular : plural)),
+ getLanguage: vi.fn(() => 'en'),
+ getLocale: vi.fn(() => 'en'),
+ isRTL: vi.fn(() => false),
+}))
+
+vi.mock('@nextcloud/initial-state', () => ({
+ loadState: vi.fn((app, key, defaultValue) => {
+ if (app === 'libresign' && key === 'legal_information') {
+ return 'Mock legal information from state'
+ }
+ return defaultValue
+ }),
+}))
+
+const OCP = {
+ AppConfig: {
+ setValue: vi.fn(),
+ },
+}
+
+;(globalThis as typeof globalThis & { OCP: typeof OCP }).OCP = OCP
+
+beforeAll(async () => {
+ ;({ default: LegalInformation } = await import('../../../views/Settings/LegalInformation.vue'))
+})
+
+describe('LegalInformation', () => {
+ let wrapper!: ReturnType
+
+ const createWrapper = () => {
+ return mount(LegalInformation as never, {
+ global: {
+ stubs: {
+ NcSettingsSection: {
+ name: 'NcSettingsSection',
+ props: ['name', 'description'],
+ template: `
+
+
{{ name }}
+
{{ description }}
+
+
+ `,
+ },
+ MarkdownEditor: {
+ name: 'MarkdownEditor',
+ props: ['modelValue', 'label', 'minHeight', 'placeholder'],
+ emits: ['update:modelValue'],
+ template: `
+
+
+
+ `,
+ },
+ NcRichText: {
+ name: 'NcRichText',
+ props: ['text', 'useMarkdown'],
+ template: '{{ text }}
',
+ },
+ },
+ },
+ })
+ }
+
+ beforeEach(() => {
+ if (wrapper) {
+ wrapper.unmount()
+ }
+ vi.clearAllMocks()
+ OCP.AppConfig.setValue.mockClear()
+ })
+
+ describe('RULE: Component renders with correct structure', () => {
+ it('renders NcSettingsSection with correct title', async () => {
+ wrapper = createWrapper()
+ await flushPromises()
+
+ const section = wrapper.find('.settings-section h2')
+ expect(section.text()).toBe('Legal information')
+ })
+
+ it('renders NcSettingsSection with correct description', async () => {
+ wrapper = createWrapper()
+ await flushPromises()
+
+ const description = wrapper.find('.settings-section p')
+ expect(description.text()).toBe('This information will appear on the validation page')
+ })
+
+ it('renders MarkdownEditor component', async () => {
+ wrapper = createWrapper()
+ await flushPromises()
+
+ const editor = wrapper.findComponent({ name: 'MarkdownEditor' })
+ expect(editor.exists()).toBe(true)
+ })
+ })
+
+ describe('RULE: Legal information loads from initial state', () => {
+ it('initializes with data from loadState', async () => {
+ wrapper = createWrapper()
+ await flushPromises()
+
+ expect(wrapper.vm.legalInformation).toBe('Mock legal information from state')
+ })
+
+ it('passes legal information to MarkdownEditor', async () => {
+ wrapper = createWrapper()
+ await flushPromises()
+
+ const editor = wrapper.findComponent({ name: 'MarkdownEditor' })
+ expect(editor.props('modelValue')).toBe('Mock legal information from state')
+ })
+ })
+
+ describe('RULE: MarkdownEditor props are correct', () => {
+ it('sets correct label on MarkdownEditor', async () => {
+ wrapper = createWrapper()
+ await flushPromises()
+
+ const editor = wrapper.findComponent({ name: 'MarkdownEditor' })
+ expect(editor.props('label')).toBe('Legal Information')
+ })
+
+ it('sets correct placeholder on MarkdownEditor', async () => {
+ wrapper = createWrapper()
+ await flushPromises()
+
+ const editor = wrapper.findComponent({ name: 'MarkdownEditor' })
+ expect(editor.props('placeholder')).toBe('Legal Information')
+ })
+
+ it('sets correct min-height on MarkdownEditor', async () => {
+ wrapper = createWrapper()
+ await flushPromises()
+
+ const editor = wrapper.findComponent({ name: 'MarkdownEditor' })
+ expect(editor.props('minHeight')).toBe('80px')
+ })
+ })
+
+ describe('RULE: Updates to legal information trigger save', () => {
+ it('calls saveLegalInformation on MarkdownEditor update', async () => {
+ wrapper = createWrapper()
+ await flushPromises()
+
+ const editor = wrapper.findComponent({ name: 'MarkdownEditor' })
+ await editor.vm.$emit('update:modelValue', 'Updated legal text')
+ await flushPromises()
+
+ expect(OCP.AppConfig.setValue).toHaveBeenCalledWith(
+ 'libresign',
+ 'legal_information',
+ 'Updated legal text'
+ )
+ })
+
+ it('updates internal legalInformation on v-model change', async () => {
+ wrapper = createWrapper()
+ await flushPromises()
+
+ const editor = wrapper.findComponent({ name: 'MarkdownEditor' })
+ await editor.vm.$emit('update:modelValue', 'New content')
+ await flushPromises()
+
+ expect(wrapper.vm.legalInformation).toBe('New content')
+ })
+
+ it('saves with OCP.AppConfig.setValue when content changes', async () => {
+ wrapper = createWrapper()
+ await flushPromises()
+
+ wrapper.vm.legalInformation = 'Direct update'
+ await flushPromises()
+
+ const editor = wrapper.findComponent({ name: 'MarkdownEditor' })
+ await editor.vm.$emit('update:modelValue', 'Direct update')
+ await flushPromises()
+ })
+ })
+
+ describe('RULE: Preview renders when legal information exists', () => {
+ it('shows preview when legal information is not empty', async () => {
+ wrapper = createWrapper()
+ wrapper.vm.legalInformation = 'Some legal information'
+ await flushPromises()
+
+ const preview = wrapper.find('.legal-information-preview')
+ expect(preview.exists()).toBe(true)
+ })
+
+ it('hides preview when legal information is empty', async () => {
+ wrapper = createWrapper()
+ wrapper.vm.legalInformation = ''
+ await flushPromises()
+
+ const preview = wrapper.find('.legal-information-preview')
+ expect(preview.exists()).toBe(false)
+ })
+
+ it('renders preview title', async () => {
+ wrapper = createWrapper()
+ wrapper.vm.legalInformation = 'Some content'
+ await flushPromises()
+
+ const previewTitle = wrapper.find('.legal-information-preview strong')
+ expect(previewTitle.text()).toBe('Preview')
+ })
+
+ it('renders NcRichText in preview with markdown enabled', async () => {
+ wrapper = createWrapper()
+ wrapper.vm.legalInformation = 'Legal text with **markdown**'
+ await flushPromises()
+
+ const richText = wrapper.findComponent({ name: 'NcRichText' })
+ expect(richText.exists()).toBe(true)
+ expect(richText.props('text')).toBe('Legal text with **markdown**')
+ expect(richText.props('useMarkdown')).toBe(true)
+ })
+
+ it('updates preview when legal information changes', async () => {
+ wrapper = createWrapper()
+ await flushPromises()
+
+ wrapper.vm.legalInformation = 'Updated legal content'
+ await flushPromises()
+
+ const richText = wrapper.findComponent({ name: 'NcRichText' })
+ expect(richText.props('text')).toBe('Updated legal content')
+ })
+ })
+
+ describe('RULE: Component renders with correct styling', () => {
+ it('applies correct CSS classes to content wrapper', () => {
+ wrapper = createWrapper()
+
+ const contentWrapper = wrapper.find('.legal-information-content')
+ expect(contentWrapper.exists()).toBe(true)
+ })
+
+ it('applies correct CSS classes to preview wrapper when shown', async () => {
+ wrapper = createWrapper()
+ wrapper.vm.legalInformation = 'Some content'
+ await flushPromises()
+
+ const previewWrapper = wrapper.find('.legal-information-preview')
+ expect(previewWrapper.exists()).toBe(true)
+
+ const previewContent = wrapper.find('.legal-information-preview-content')
+ expect(previewContent.exists()).toBe(true)
+ })
+ })
+
+ describe('RULE: Empty initial state is handled correctly', () => {
+ it('renders component even with empty legal information', async () => {
+ wrapper = createWrapper()
+ wrapper.vm.legalInformation = ''
+ await flushPromises()
+
+ expect(wrapper.findComponent({ name: 'MarkdownEditor' }).exists()).toBe(true)
+ })
+
+ it('does not show preview when content is empty', async () => {
+ wrapper = createWrapper()
+ wrapper.vm.legalInformation = ''
+ await flushPromises()
+
+ const preview = wrapper.find('.legal-information-preview')
+ expect(preview.exists()).toBe(false)
+ })
+ })
+
+ describe('RULE: Markdown content is properly handled', () => {
+ it('passes markdown content to preview', async () => {
+ wrapper = createWrapper()
+ wrapper.vm.legalInformation = '**Bold text** and _italic_'
+ await flushPromises()
+
+ const richText = wrapper.findComponent({ name: 'NcRichText' })
+ expect(richText.props('text')).toBe('**Bold text** and _italic_')
+ })
+
+ it('displays markdown formatting in preview', async () => {
+ wrapper = createWrapper()
+ wrapper.vm.legalInformation = 'Legal info with **markdown** formatting'
+ await flushPromises()
+
+ const previewContent = wrapper.find('.legal-information-preview-content')
+ expect(previewContent.exists()).toBe(true)
+ })
+ })
+
+ describe('RULE: Multiple content updates are handled correctly', () => {
+ it('handles rapid content updates', async () => {
+ wrapper = createWrapper()
+ await flushPromises()
+
+ const editor = wrapper.findComponent({ name: 'MarkdownEditor' })
+
+ await editor.vm.$emit('update:modelValue', 'First update')
+ await flushPromises()
+ expect(OCP.AppConfig.setValue).toHaveBeenCalledWith('libresign', 'legal_information', 'First update')
+
+ await editor.vm.$emit('update:modelValue', 'Second update')
+ await flushPromises()
+ expect(OCP.AppConfig.setValue).toHaveBeenCalledWith('libresign', 'legal_information', 'Second update')
+
+ await editor.vm.$emit('update:modelValue', 'Third update')
+ await flushPromises()
+ expect(OCP.AppConfig.setValue).toHaveBeenCalledWith('libresign', 'legal_information', 'Third update')
+
+ expect(OCP.AppConfig.setValue).toHaveBeenCalledTimes(3)
+ })
+ })
+})
diff --git a/src/tests/views/Settings/SignatureFlow.spec.ts b/src/tests/views/Settings/SignatureFlow.spec.ts
new file mode 100644
index 0000000000..7e633c3eb2
--- /dev/null
+++ b/src/tests/views/Settings/SignatureFlow.spec.ts
@@ -0,0 +1,113 @@
+/*
+ * SPDX-FileCopyrightText: 2026 LibreSign contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+import { beforeAll, beforeEach, describe, expect, it, vi } from 'vitest'
+import { flushPromises, mount } from '@vue/test-utils'
+
+const loadStateMock = vi.fn()
+const generateOcsUrlMock = vi.fn((path: string) => path)
+const axiosPostMock = vi.fn((..._args: unknown[]) => Promise.resolve({ data: { ocs: { data: {} } } }))
+
+vi.mock('@nextcloud/initial-state', () => ({
+ loadState: (...args: unknown[]) => loadStateMock(...args),
+}))
+
+vi.mock('@nextcloud/router', () => ({
+ generateOcsUrl: (...args: unknown[]) => generateOcsUrlMock(...(args as [string])),
+}))
+
+vi.mock('@nextcloud/axios', () => ({
+ default: {
+ post: axiosPostMock,
+ },
+}))
+
+vi.mock('@nextcloud/l10n', () => ({
+ t: vi.fn((_app: string, text: string) => text),
+ translate: vi.fn((_app: string, text: string) => text),
+ translatePlural: vi.fn((_app: string, singular: string, plural: string, count: number) => (count === 1 ? singular : plural)),
+ n: vi.fn((_app: string, singular: string, plural: string, count: number) => (count === 1 ? singular : plural)),
+ isRTL: vi.fn(() => false),
+ getLanguage: vi.fn(() => 'en'),
+ getLocale: vi.fn(() => 'en'),
+}))
+
+let SignatureFlow: unknown
+
+const NcCheckboxRadioSwitchStub = {
+ name: 'NcCheckboxRadioSwitch',
+ props: ['modelValue', 'value', 'type'],
+ emits: ['update:modelValue'],
+ template: '',
+}
+
+beforeAll(async () => {
+ ;({ default: SignatureFlow } = await import('../../../views/Settings/SignatureFlow.vue'))
+})
+
+describe('SignatureFlow', () => {
+ beforeEach(() => {
+ loadStateMock.mockReset()
+ generateOcsUrlMock.mockClear()
+ axiosPostMock.mockClear()
+ })
+
+ it('uses boolean switch payload before saving', async () => {
+ loadStateMock.mockImplementation((_app: string, key: string, fallback: unknown) => {
+ if (key === 'signature_flow') return 'parallel'
+ return fallback
+ })
+
+ const wrapper = mount(SignatureFlow as never, {
+ global: {
+ stubs: {
+ NcSettingsSection: { template: '
' },
+ NcCheckboxRadioSwitch: NcCheckboxRadioSwitchStub,
+ NcLoadingIcon: true,
+ NcNoteCard: true,
+ NcSavingIndicatorIcon: true,
+ },
+ },
+ })
+
+ wrapper.vm.enabled = false
+ wrapper.vm.onToggleChange()
+ await flushPromises()
+
+ expect(axiosPostMock).toHaveBeenCalled()
+ const lastCall = axiosPostMock.mock.calls[axiosPostMock.mock.calls.length - 1] as [string, { enabled: boolean }]
+ expect(lastCall[1].enabled).toBe(false)
+ })
+
+ it('loads backend mode and persists selected radio mode', async () => {
+ loadStateMock.mockImplementation((_app: string, key: string, fallback: unknown) => {
+ if (key === 'signature_flow') return 'ordered_numeric'
+ return fallback
+ })
+
+ const wrapper = mount(SignatureFlow as never, {
+ global: {
+ stubs: {
+ NcSettingsSection: { template: '
' },
+ NcCheckboxRadioSwitch: NcCheckboxRadioSwitchStub,
+ NcLoadingIcon: true,
+ NcNoteCard: true,
+ NcSavingIndicatorIcon: true,
+ },
+ },
+ })
+ await flushPromises()
+
+ expect(wrapper.vm.selectedFlow?.value).toBe('ordered_numeric')
+
+ const radioAndSwitchButtons = wrapper.findAll('.checkbox-radio-switch-stub')
+ await radioAndSwitchButtons[1].trigger('click')
+ await flushPromises()
+
+ expect(wrapper.vm.selectedFlow?.value).toBe('parallel')
+ const lastCall = axiosPostMock.mock.calls[axiosPostMock.mock.calls.length - 1] as [string, { mode: string }]
+ expect(lastCall[1].mode).toBe('parallel')
+ })
+})
diff --git a/src/tests/views/SignPDF/Sign.spec.js b/src/tests/views/SignPDF/Sign.spec.ts
similarity index 74%
rename from src/tests/views/SignPDF/Sign.spec.js
rename to src/tests/views/SignPDF/Sign.spec.ts
index 23c2073016..af7aeb1962 100644
--- a/src/tests/views/SignPDF/Sign.spec.js
+++ b/src/tests/views/SignPDF/Sign.spec.ts
@@ -4,51 +4,108 @@
*/
import { beforeEach, describe, expect, it, vi } from 'vitest'
+import type { MockedFunction } from 'vitest'
import { setActivePinia, createPinia } from 'pinia'
import { mount } from '@vue/test-utils'
import { useSignMethodsStore } from '../../../store/signMethods.js'
+import type { useSignStore } from '../../../store/sign.js'
+
+type TokenMethodKey = 'smsToken' | 'whatsappToken' | 'signalToken' | 'telegramToken' | 'xmppToken'
+
+type SignMethodSettings = {
+ needCode?: boolean
+ identifyMethod?: string
+ label?: string
+ hashOfIdentifier?: string
+ blurredEmail?: string
+ hasConfirmCode?: boolean
+ token?: string
+ hasSignatureFile?: boolean
+}
+
+type SignMethodsSettings = Partial> & {
+ emailToken?: SignMethodSettings
+ password?: SignMethodSettings
+}
+
+type SignMethodsStore = ReturnType & {
+ settings: SignMethodsSettings
+}
+
+type SignStore = ReturnType
+
+type SubmitSignaturePayload = {
+ method: string
+ token: string
+}
+
+type SignComponent = {
+ data: () => {
+ signMethodsStore: SignMethodsStore
+ signStore: SignStore
+ loading: boolean
+ }
+ methods: {
+ signWithTokenCode: (token: string) => Promise
+ submitSignature: (payload: SubmitSignaturePayload) => Promise
+ }
+}
+
+type SignComponentWithConfirm = SignComponent & {
+ methods: SignComponent['methods'] & {
+ confirmSignDocument: () => boolean
+ }
+}
+
+type ActionHandler = {
+ showModal: (modalCode: string) => void
+ closeModal: (modalCode: string) => void
+}
+
+type ProceedWithSigningLogic = (store: SignMethodsStore, actionHandler: ActionHandler) => void
// Global mock for axios - prevents unhandled rejections during component mounting
vi.mock('@nextcloud/axios', () => {
- const axiosMock = vi.fn().mockResolvedValue({
+ const axiosInstanceMock = Object.assign(vi.fn().mockResolvedValue({
data: {
ocs: {
data: {
- elements: []
- }
- }
- }
- })
- axiosMock.get = vi.fn().mockResolvedValue({
- data: {
- ocs: {
- data: {}
- }
- }
- })
- axiosMock.post = vi.fn().mockResolvedValue({
- data: {
- ocs: {
- data: {}
- }
- }
- })
- axiosMock.patch = vi.fn().mockResolvedValue({
- data: {
- ocs: {
- data: {}
- }
- }
- })
- axiosMock.delete = vi.fn().mockResolvedValue({
- data: {
- ocs: {
- data: {}
- }
- }
+ elements: [],
+ },
+ },
+ },
+ }), {
+ get: vi.fn().mockResolvedValue({
+ data: {
+ ocs: {
+ data: {},
+ },
+ },
+ }),
+ post: vi.fn().mockResolvedValue({
+ data: {
+ ocs: {
+ data: {},
+ },
+ },
+ }),
+ patch: vi.fn().mockResolvedValue({
+ data: {
+ ocs: {
+ data: {},
+ },
+ },
+ }),
+ delete: vi.fn().mockResolvedValue({
+ data: {
+ ocs: {
+ data: {},
+ },
+ },
+ }),
})
return {
- default: axiosMock,
+ default: axiosInstanceMock,
}
})
@@ -69,11 +126,20 @@ vi.mock('@nextcloud/capabilities', () => ({
getCapabilities: vi.fn(() => ({})),
}))
+vi.mock('vue-select', () => ({
+ default: {
+ name: 'VSelect',
+ props: ['modelValue'],
+ emits: ['update:modelValue'],
+ render: () => null,
+ },
+}))
+
describe('Sign.vue - signWithTokenCode', () => {
- let Sign
- let signMethodsStore
- let signStore
- let submitSignatureSpy
+ let Sign: SignComponent
+ let signMethodsStore: SignMethodsStore
+ let signStore: SignStore
+ let submitSignatureSpy: MockedFunction<(payload: SubmitSignaturePayload) => Promise>
beforeEach(async () => {
setActivePinia(createPinia())
@@ -82,7 +148,7 @@ describe('Sign.vue - signWithTokenCode', () => {
const { useSignMethodsStore } = await import('../../../store/signMethods.js')
const { useSignStore } = await import('../../../store/sign.js')
- signMethodsStore = useSignMethodsStore()
+ signMethodsStore = useSignMethodsStore() as SignMethodsStore
signStore = useSignStore()
// Create a mock Sign component with the method we want to test
@@ -95,8 +161,14 @@ describe('Sign.vue - signWithTokenCode', () => {
}
},
methods: {
- async signWithTokenCode(token) {
- const tokenMethods = ['smsToken', 'whatsappToken', 'signalToken', 'telegramToken', 'xmppToken']
+ async signWithTokenCode(
+ this: {
+ signMethodsStore: SignMethodsStore
+ submitSignature: (payload: SubmitSignaturePayload) => Promise
+ },
+ token: string,
+ ) {
+ const tokenMethods: TokenMethodKey[] = ['smsToken', 'whatsappToken', 'signalToken', 'telegramToken', 'xmppToken']
const activeMethod = tokenMethods.find(method =>
Object.hasOwn(this.signMethodsStore.settings, method)
)
@@ -110,14 +182,15 @@ describe('Sign.vue - signWithTokenCode', () => {
token,
})
},
- async submitSignature(payload) {
+ async submitSignature(payload: SubmitSignaturePayload) {
// Spy on this method
return submitSignatureSpy(payload)
},
},
}
- submitSignatureSpy = vi.fn().mockResolvedValue({ status: 'signed' })
+ submitSignatureSpy = vi.fn<(payload: SubmitSignaturePayload) => Promise>()
+ .mockResolvedValue({ status: 'signed' })
})
describe('signWithTokenCode', () => {
@@ -320,12 +393,12 @@ describe('Sign.vue - signWithTokenCode', () => {
})
describe('proceedWithSigning - Full flow with WhatsApp token', () => {
- let proceedWithSigningLogic
+ let proceedWithSigningLogic: ProceedWithSigningLogic
beforeEach(() => {
setActivePinia(createPinia())
// Function that simulates the proceedWithSigning logic
- proceedWithSigningLogic = (store, actionHandler) => {
+ proceedWithSigningLogic = (store: SignMethodsStore, actionHandler: ActionHandler) => {
if (store.needClickToSign()) {
actionHandler.showModal('clickToSign')
} else if (store.needSignWithPassword()) {
@@ -342,7 +415,7 @@ describe('Sign.vue - signWithTokenCode', () => {
whatsappToken: { needCode: true },
}
- const actionHandler = {
+ const actionHandler: ActionHandler = {
showModal: vi.fn(),
closeModal: vi.fn(),
}
@@ -359,7 +432,7 @@ describe('Sign.vue - signWithTokenCode', () => {
whatsappToken: { needCode: true },
}
- const actionHandler = {
+ const actionHandler: ActionHandler = {
showModal: vi.fn(),
closeModal: vi.fn(),
}
@@ -377,7 +450,7 @@ describe('Sign.vue - signWithTokenCode', () => {
whatsappToken: { needCode: true },
}
- const actionHandler = {
+ const actionHandler: ActionHandler = {
showModal: vi.fn(),
closeModal: vi.fn(),
}
@@ -391,7 +464,7 @@ describe('Sign.vue - signWithTokenCode', () => {
const store = useSignMethodsStore()
store.settings = {}
- const actionHandler = {
+ const actionHandler: ActionHandler = {
showModal: vi.fn(),
closeModal: vi.fn(),
}
@@ -403,10 +476,10 @@ describe('Sign.vue - signWithTokenCode', () => {
})
describe('Full signing flow with WhatsApp token', () => {
- let Sign
- let signMethodsStore
- let signStore
- let submitSignatureSpy
+ let Sign: SignComponentWithConfirm
+ let signMethodsStore: SignMethodsStore
+ let signStore: SignStore
+ let submitSignatureSpy: MockedFunction<(payload: SubmitSignaturePayload) => Promise>
beforeEach(async () => {
setActivePinia(createPinia())
@@ -414,7 +487,7 @@ describe('Sign.vue - signWithTokenCode', () => {
// Import stores
const { useSignStore } = await import('../../../store/sign.js')
- signMethodsStore = useSignMethodsStore()
+ signMethodsStore = useSignMethodsStore() as SignMethodsStore
signStore = useSignStore()
Sign = {
@@ -426,8 +499,14 @@ describe('Sign.vue - signWithTokenCode', () => {
}
},
methods: {
- async signWithTokenCode(token) {
- const tokenMethods = ['smsToken', 'whatsappToken', 'signalToken', 'telegramToken', 'xmppToken']
+ async signWithTokenCode(
+ this: {
+ signMethodsStore: SignMethodsStore
+ submitSignature: (payload: SubmitSignaturePayload) => Promise
+ },
+ token: string,
+ ) {
+ const tokenMethods: TokenMethodKey[] = ['smsToken', 'whatsappToken', 'signalToken', 'telegramToken', 'xmppToken']
const activeMethod = tokenMethods.find(method =>
Object.hasOwn(this.signMethodsStore.settings, method)
)
@@ -441,11 +520,11 @@ describe('Sign.vue - signWithTokenCode', () => {
token,
})
},
- async submitSignature(payload) {
+ async submitSignature(payload: SubmitSignaturePayload) {
// Spy on this method
return submitSignatureSpy(payload)
},
- confirmSignDocument() {
+ confirmSignDocument(this: { signMethodsStore: SignMethodsStore }) {
// Simulate the logic
if (this.signMethodsStore.needTokenCode()) {
this.signMethodsStore.showModal('token')
@@ -456,7 +535,8 @@ describe('Sign.vue - signWithTokenCode', () => {
},
}
- submitSignatureSpy = vi.fn().mockResolvedValue({ status: 'signed', data: { id: 1 } })
+ submitSignatureSpy = vi.fn<(payload: SubmitSignaturePayload) => Promise>()
+ .mockResolvedValue({ status: 'signed', data: { id: 1 } })
})
it('complete flow: click sign button -> token modal opens -> submit token', async () => {
@@ -512,17 +592,17 @@ describe('Sign.vue - signWithTokenCode', () => {
})
describe('signWithTokenCode - Correct identify method from signature methods', () => {
- let Sign
- let signMethodsStore
- let signStore
- let submitSignatureSpy
+ let Sign: SignComponent
+ let signMethodsStore: SignMethodsStore
+ let signStore: SignStore
+ let submitSignatureSpy: MockedFunction<(payload: SubmitSignaturePayload) => Promise>
beforeEach(async () => {
setActivePinia(createPinia())
const { useSignStore } = await import('../../../store/sign.js')
- signMethodsStore = useSignMethodsStore()
+ signMethodsStore = useSignMethodsStore() as SignMethodsStore
signStore = useSignStore()
Sign = {
@@ -535,8 +615,14 @@ describe('Sign.vue - signWithTokenCode', () => {
},
methods: {
// CORRECTED implementation - extracts identify method from signature method
- async signWithTokenCode(token) {
- const tokenMethods = ['smsToken', 'whatsappToken', 'signalToken', 'telegramToken', 'xmppToken']
+ async signWithTokenCode(
+ this: {
+ signMethodsStore: SignMethodsStore
+ submitSignature: (payload: SubmitSignaturePayload) => Promise
+ },
+ token: string,
+ ) {
+ const tokenMethods: TokenMethodKey[] = ['smsToken', 'whatsappToken', 'signalToken', 'telegramToken', 'xmppToken']
const activeMethod = tokenMethods.find(method =>
Object.hasOwn(this.signMethodsStore.settings, method)
)
@@ -547,20 +633,21 @@ describe('Sign.vue - signWithTokenCode', () => {
// Extract the identify method from the signature method
const signatureMethodData = this.signMethodsStore.settings[activeMethod]
- const identifyMethod = signatureMethodData.identifyMethod
+ const identifyMethod = signatureMethodData?.identifyMethod
await this.submitSignature({
method: identifyMethod,
token,
})
},
- async submitSignature(payload) {
+ async submitSignature(payload: SubmitSignaturePayload) {
return submitSignatureSpy(payload)
},
},
}
- submitSignatureSpy = vi.fn().mockResolvedValue({ status: 'signed' })
+ submitSignatureSpy = vi.fn<(payload: SubmitSignaturePayload) => Promise>()
+ .mockResolvedValue({ status: 'signed' })
})
it('FAILS: sends signature method name instead of identify method (whatsappToken vs whatsapp)', async () => {
@@ -755,7 +842,6 @@ describe('Sign.vue - signWithTokenCode', () => {
NcRichText: true,
},
mocks: {
- $emit: vi.fn(),
$watch: vi.fn(),
$nextTick: vi.fn(),
},
@@ -839,7 +925,6 @@ describe('Sign.vue - signWithTokenCode', () => {
NcRichText: true,
},
mocks: {
- $emit: vi.fn(),
$watch: vi.fn(),
$nextTick: vi.fn(),
},
@@ -851,4 +936,51 @@ describe('Sign.vue - signWithTokenCode', () => {
])
})
})
+
+ describe('Sign.vue - create signature modal', () => {
+ it('renders Draw editor when createSignature modal is active', async () => {
+ setActivePinia(createPinia())
+
+ const SignComponent = await import('../../../views/SignPDF/_partials/Sign.vue')
+ const realSign = SignComponent.default
+ const signMethodsStore = useSignMethodsStore()
+ signMethodsStore.showModal('createSignature')
+
+ const wrapper = mount(realSign, {
+ global: {
+ stubs: {
+ NcButton: true,
+ NcDialog: true,
+ NcLoadingIcon: true,
+ TokenManager: true,
+ EmailManager: true,
+ UploadCertificate: true,
+ Documents: true,
+ Signatures: true,
+ Draw: {
+ name: 'Draw',
+ props: ['drawEditor', 'textEditor', 'fileEditor', 'type'],
+ template: '',
+ },
+ ManagePassword: true,
+ CreatePassword: true,
+ NcNoteCard: true,
+ NcPasswordField: true,
+ NcRichText: true,
+ },
+ mocks: {
+ $watch: vi.fn(),
+ $nextTick: vi.fn(),
+ },
+ },
+ })
+
+ expect(wrapper.find('.draw-editor-stub').exists()).toBe(true)
+ const draw = wrapper.findComponent({ name: 'Draw' })
+ expect(draw.props('drawEditor')).toBe(true)
+ expect(draw.props('textEditor')).toBe(true)
+ expect(draw.props('fileEditor')).toBe(true)
+ expect(draw.props('type')).toBe('signature')
+ })
+ })
})
diff --git a/src/tests/views/SignPDF/SignPDF.spec.js b/src/tests/views/SignPDF/SignPDF.spec.ts
similarity index 100%
rename from src/tests/views/SignPDF/SignPDF.spec.js
rename to src/tests/views/SignPDF/SignPDF.spec.ts
diff --git a/src/tests/views/SignPDF/_partials/ModalEmailManager.spec.ts b/src/tests/views/SignPDF/_partials/ModalEmailManager.spec.ts
new file mode 100644
index 0000000000..cd01207263
--- /dev/null
+++ b/src/tests/views/SignPDF/_partials/ModalEmailManager.spec.ts
@@ -0,0 +1,79 @@
+/*
+ * SPDX-FileCopyrightText: 2026 LibreSign contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+import { beforeAll, beforeEach, describe, expect, it, vi } from 'vitest'
+import { mount } from '@vue/test-utils'
+
+const loadStateMock = vi.fn()
+
+vi.mock('@nextcloud/initial-state', () => ({
+ loadState: (...args: unknown[]) => loadStateMock(...args),
+}))
+
+vi.mock('../../../../store/sign.js', () => ({
+ useSignStore: () => ({
+ document: {
+ fileId: 1,
+ signers: [],
+ },
+ }),
+}))
+
+vi.mock('../../../../store/signMethods.js', () => ({
+ useSignMethodsStore: () => ({
+ settings: {
+ emailToken: {
+ hasConfirmCode: false,
+ hashOfEmail: '',
+ identifyMethod: 'email',
+ },
+ },
+ blurredEmail: () => '',
+ setEmailToken: vi.fn(),
+ setHasEmailConfirmCode: vi.fn(),
+ }),
+}))
+
+vi.mock('@nextcloud/l10n', () => ({
+ t: vi.fn((_app: string, text: string) => text),
+ translate: vi.fn((_app: string, text: string) => text),
+ translatePlural: vi.fn((_app: string, singular: string, plural: string, count: number) => (count === 1 ? singular : plural)),
+ n: vi.fn((_app: string, singular: string, plural: string, count: number) => (count === 1 ? singular : plural)),
+ isRTL: vi.fn(() => false),
+ getLanguage: vi.fn(() => 'en'),
+ getLocale: vi.fn(() => 'en'),
+}))
+
+let ModalEmailManager: unknown
+
+beforeAll(async () => {
+ ;({ default: ModalEmailManager } = await import('../../../../views/SignPDF/_partials/ModalEmailManager.vue'))
+})
+
+describe('ModalEmailManager', () => {
+ beforeEach(() => {
+ loadStateMock.mockReset()
+ })
+
+ it('registers icon wrapper and exposes mdi icon paths used in template', () => {
+ loadStateMock.mockImplementation((_app: string, _key: string, fallback: unknown) => fallback)
+
+ const wrapper = mount(ModalEmailManager as never, {
+ global: {
+ stubs: {
+ NcDialog: { template: '
' },
+ NcTextField: { template: '
' },
+ NcButton: { template: '' },
+ NcLoadingIcon: true,
+ NcIconSvgWrapper: { name: 'NcIconSvgWrapper', props: ['path'], template: '' },
+ },
+ },
+ })
+
+ expect(wrapper.vm.$options.components.NcIconSvgWrapper).toBeTruthy()
+ expect(wrapper.vm.mdiFormTextboxPassword).toBeTruthy()
+ expect(wrapper.vm.mdiEmail).toBeTruthy()
+ })
+})
diff --git a/src/tests/views/SignatureElementsManagement.spec.js b/src/tests/views/SignatureElementsManagement.spec.ts
similarity index 90%
rename from src/tests/views/SignatureElementsManagement.spec.js
rename to src/tests/views/SignatureElementsManagement.spec.ts
index 5a036db774..00df4495d6 100644
--- a/src/tests/views/SignatureElementsManagement.spec.js
+++ b/src/tests/views/SignatureElementsManagement.spec.ts
@@ -10,11 +10,13 @@ import DefaultPageError from '../../views/DefaultPageError.vue'
const loadStateMock = vi.fn()
vi.mock('@nextcloud/initial-state', () => ({
- loadState: (...args) => loadStateMock(...args),
+ loadState: (...args: unknown[]) => loadStateMock(...args),
}))
vi.mock('@nextcloud/l10n', () => ({
- translate: vi.fn((app, text) => text),
+ t: vi.fn((_app: string, text: string) => text),
+ translate: vi.fn((_app: string, text: string) => text),
+ isRTL: vi.fn(() => false),
}))
describe('DefaultPageError.vue - Error Aggregation Rules', () => {
@@ -42,7 +44,6 @@ describe('DefaultPageError.vue - Error Aggregation Rules', () => {
{ message: 'Error A' },
{ message: 'Error B' },
])
- wrapper.destroy()
})
it('falls back to single error message when errors array is empty', () => {
@@ -65,7 +66,6 @@ describe('DefaultPageError.vue - Error Aggregation Rules', () => {
})
expect(wrapper.vm.errors).toEqual([{ message: 'Single error' }])
- wrapper.destroy()
})
it('returns empty array when no error state is provided', () => {
@@ -80,6 +80,5 @@ describe('DefaultPageError.vue - Error Aggregation Rules', () => {
})
expect(wrapper.vm.errors).toEqual([])
- wrapper.destroy()
})
})
diff --git a/src/tests/views/SigningInvitations.spec.js b/src/tests/views/SigningInvitations.spec.ts
similarity index 88%
rename from src/tests/views/SigningInvitations.spec.js
rename to src/tests/views/SigningInvitations.spec.ts
index c9ff793e69..31a0133929 100644
--- a/src/tests/views/SigningInvitations.spec.js
+++ b/src/tests/views/SigningInvitations.spec.ts
@@ -15,7 +15,7 @@ vi.mock('@nextcloud/auth', () => ({
}))
vi.mock('@nextcloud/router', () => ({
- generateUrl: (...args) => generateUrlMock(...args),
+ generateUrl: (...args: unknown[]) => generateUrlMock(...(args as Parameters)),
}))
describe('IncompleteCertification.vue - Setup Guidance', () => {
@@ -33,13 +33,12 @@ describe('IncompleteCertification.vue - Setup Guidance', () => {
CogsIcon: true,
},
mocks: {
- t: (app, text) => text,
+ t: (_app: string, text: string) => text,
},
})
const button = wrapper.findComponent({ name: 'NcButton' })
expect(button.exists()).toBe(true)
- wrapper.destroy()
})
it('hides setup button for non-admins', () => {
@@ -51,13 +50,12 @@ describe('IncompleteCertification.vue - Setup Guidance', () => {
CogsIcon: true,
},
mocks: {
- t: (app, text) => text,
+ t: (_app: string, text: string) => text,
},
})
const button = wrapper.findComponent({ name: 'NcButton' })
expect(button.exists()).toBe(false)
- wrapper.destroy()
})
it('routes admin to setup page when finishSetup is called', () => {
@@ -70,7 +68,7 @@ describe('IncompleteCertification.vue - Setup Guidance', () => {
CogsIcon: true,
},
mocks: {
- t: (app, text) => text,
+ t: (_app: string, text: string) => text,
},
})
@@ -78,6 +76,5 @@ describe('IncompleteCertification.vue - Setup Guidance', () => {
expect(generateUrlMock).toHaveBeenCalledWith('settings/admin/libresign')
expect(hrefSpy).toHaveBeenCalledWith('settings/admin/libresign')
hrefSpy.mockRestore()
- wrapper.destroy()
})
})
diff --git a/src/tests/views/SigningRequestLogic.spec.js b/src/tests/views/SigningRequestLogic.spec.ts
similarity index 100%
rename from src/tests/views/SigningRequestLogic.spec.js
rename to src/tests/views/SigningRequestLogic.spec.ts
diff --git a/src/tests/views/Validation.spec.js b/src/tests/views/Validation.spec.ts
similarity index 89%
rename from src/tests/views/Validation.spec.js
rename to src/tests/views/Validation.spec.ts
index bcabfbb283..cc1bf3958f 100644
--- a/src/tests/views/Validation.spec.js
+++ b/src/tests/views/Validation.spec.ts
@@ -48,6 +48,38 @@ vi.mock('@nextcloud/logger', () => ({
})),
}))
+vi.mock('@nextcloud/l10n', () => ({
+ translate: vi.fn((app: string, text: string, vars?: Record) => {
+ if (vars) {
+ return text.replace(/{(\w+)}/g, (_m: string, key: string) => vars[key as keyof typeof vars] || key)
+ }
+ return text
+ }),
+ translatePlural: vi.fn((app: string, singular: string, plural: string, count: number, vars?: Record) => {
+ const template = count === 1 ? singular : plural
+ if (vars) {
+ return template.replace(/{(\w+)}/g, (_m: string, key: string) => vars[key as keyof typeof vars] || key)
+ }
+ return template
+ }),
+ t: vi.fn((app: string, text: string, vars?: Record) => {
+ if (vars) {
+ return text.replace(/{(\w+)}/g, (_m: string, key: string) => vars[key as keyof typeof vars] || key)
+ }
+ return text
+ }),
+ n: vi.fn((app: string, singular: string, plural: string, count: number, vars?: Record) => {
+ const template = count === 1 ? singular : plural
+ if (vars) {
+ return template.replace(/{(\w+)}/g, (_m: string, key: string) => vars[key as keyof typeof vars] || key)
+ }
+ return template
+ }),
+ getLanguage: vi.fn(() => 'en'),
+ getLocale: vi.fn(() => 'en'),
+ isRTL: vi.fn(() => false),
+}))
+
// Mock router
const mockRoute = {
params: {},
@@ -92,7 +124,7 @@ vi.mock('../../utils/fileStatus.js', () => ({
}))
describe('Validation.vue - Business Logic', () => {
- let wrapper
+ let wrapper!: ReturnType
beforeEach(() => {
wrapper = shallowMount(Validation, {
@@ -195,6 +227,16 @@ describe('Validation.vue - Business Logic', () => {
})
})
+ describe('async signing rendering', () => {
+ it('does not render Promise text in async signing mode', async () => {
+ await wrapper.setData({
+ isAsyncSigning: true,
+ })
+
+ expect(wrapper.html()).not.toContain('[object Promise]')
+ })
+ })
+
describe('getValidityStatus method', () => {
it('returns unknown when valid_to is missing', () => {
const signer = {}
diff --git a/src/tests/vitest.d.ts b/src/tests/vitest.d.ts
new file mode 100644
index 0000000000..51a4963015
--- /dev/null
+++ b/src/tests/vitest.d.ts
@@ -0,0 +1,23 @@
+/*
+ * SPDX-FileCopyrightText: 2026 LibreSign contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+import 'vitest'
+
+declare module 'vitest' {
+ export interface Mock {
+ (...args: Y): T
+ mockReturnValue(value: T): this
+ mockResolvedValue(value: Awaited): this
+ mockRejectedValue(value: any): this
+ mockImplementation(fn: (...args: Y) => T): this
+ mockClear(): void
+ mockReset(): void
+ mockRestore(): void
+ mock: {
+ calls: Y[]
+ results: Array<{ type: 'return' | 'throw', value: T }>
+ }
+ }
+}
diff --git a/src/utils/fileStatus.js b/src/utils/fileStatus.js
index b1d71f1e4c..402c1e026b 100644
--- a/src/utils/fileStatus.js
+++ b/src/utils/fileStatus.js
@@ -12,7 +12,7 @@ import {
mdiSync,
mdiHelpCircle,
} from '@mdi/js'
-import { translate as t } from '@nextcloud/l10n'
+import { t } from '@nextcloud/l10n'
import { FILE_STATUS } from '../constants.js'
diff --git a/src/validation.js b/src/validation.js
deleted file mode 100644
index 6a1b59ad45..0000000000
--- a/src/validation.js
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * SPDX-FileCopyrightText: 2021 LibreCode coop and LibreCode contributors
- * SPDX-License-Identifier: AGPL-3.0-or-later
- */
-
-import Vue from 'vue'
-
-import { getRequestToken } from '@nextcloud/auth'
-import { generateFilePath } from '@nextcloud/router'
-
-import Validation from './views/Validation.vue'
-
-import router from './router/router.js'
-
-// CSP config for webpack dynamic chunk loading
-// eslint-disable-next-line
-__webpack_nonce__ = btoa(getRequestToken());
-
-// Correct the root of the app for chunk loading
-// OC.linkTo matches the apps folders
-// OC.generateUrl ensure the index.php (or not)
-// We do not want the index.php since we're loading files
-// eslint-disable-next-line
-__webpack_public_path__ = generateFilePath('libresign', '', 'js/')
-
-Vue.prototype.t = t
-Vue.prototype.n = n
-
-Vue.prototype.OC = OC
-Vue.prototype.OCA = OCA
-
-export default new Vue({
- el: '#content',
- // eslint-disable-next-line vue/match-component-file-name
- name: 'Validation',
- router,
- render: (h) => h(Validation),
-})
diff --git a/src/validation.ts b/src/validation.ts
new file mode 100644
index 0000000000..f87a0c2319
--- /dev/null
+++ b/src/validation.ts
@@ -0,0 +1,21 @@
+/**
+ * SPDX-FileCopyrightText: 2026 LibreCode coop and LibreCode contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+import { createApp } from 'vue'
+import { t, n } from '@nextcloud/l10n'
+
+import Validation from './views/Validation.vue'
+import router from './router/router'
+
+const app = createApp(Validation)
+
+app.config.globalProperties.t = t
+app.config.globalProperties.n = n
+app.config.globalProperties.OC = OC
+app.config.globalProperties.OCA = OCA
+
+app.use(router)
+
+app.mount('#content')
diff --git a/src/views/Account/Account.vue b/src/views/Account/Account.vue
index baae0a1ac7..6524345b77 100644
--- a/src/views/Account/Account.vue
+++ b/src/views/Account/Account.vue
@@ -28,6 +28,8 @@
diff --git a/src/views/Documents/IdDocsValidation.vue b/src/views/Documents/IdDocsValidation.vue
index 4f8ee8497f..32969294a8 100644
--- a/src/views/Documents/IdDocsValidation.vue
+++ b/src/views/Documents/IdDocsValidation.vue
@@ -8,13 +8,13 @@
-
+
-
+
@@ -22,7 +22,7 @@
:model-value="filters.status?.value === 'signed'"
@update:modelValue="setStatusFilter('signed', $event)">
-
+
{{ t('libresign', 'Signed') }}
@@ -31,7 +31,7 @@
:model-value="filters.status?.value === 'pending'"
@update:modelValue="setStatusFilter('pending', $event)">
-
+
{{ t('libresign', 'Pending') }}
@@ -41,7 +41,7 @@
-
+
{{ t('libresign', 'Clear filters') }}
@@ -55,13 +55,13 @@
-
+