+
404
diff --git a/packages/app/src/modules/app/pages/index.vue b/packages/app/src/modules/app/pages/index.vue
index 22c6eadb..daeea541 100644
--- a/packages/app/src/modules/app/pages/index.vue
+++ b/packages/app/src/modules/app/pages/index.vue
@@ -1,7 +1,12 @@
@@ -10,16 +15,13 @@ import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigge
-
- Open Source
+ {{ $t('home.open-source') }}
-
- Free
+ {{ $t('home.free') }}
-
- Self-hostable
+ {{ $t('home.self-hostable') }}
@@ -29,21 +31,18 @@ import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigge
-
- The open-source collection of handy online tools to help developers in their daily life.
+ {{ $t('app.description') }}
@@ -54,4 +53,22 @@ import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigge
+
+
+
+
+
+
+
+
+ {{ tool.title }}
+
+
+
+ {{ tool.description }}
+
+
+
+
+
diff --git a/packages/app/src/modules/shared/composables/useRefreshableState.test.ts b/packages/app/src/modules/shared/composables/useRefreshableState.test.ts
new file mode 100644
index 00000000..cfaf236e
--- /dev/null
+++ b/packages/app/src/modules/shared/composables/useRefreshableState.test.ts
@@ -0,0 +1,21 @@
+// @vitest-environment nuxt
+import { describe, expect, test } from 'vitest';
+import { useRefreshableState } from './useRefreshableState';
+
+describe('useRefreshableState composables', () => {
+ describe('useRefreshableState', () => {
+ test('the tuple provided by useRefreshableState contain the state that is the result of the provided function and a refresh function', () => {
+ let index = 0;
+
+ const [state, refresh] = useRefreshableState('key', () => ++index);
+
+ expect(state.value).to.equal(1);
+ expect(index).to.equal(1);
+
+ refresh();
+
+ expect(state.value).to.equal(2);
+ expect(index).to.equal(2);
+ });
+ });
+});
diff --git a/packages/app/src/modules/shared/composables/useRefreshableState.ts b/packages/app/src/modules/shared/composables/useRefreshableState.ts
new file mode 100644
index 00000000..c4d0fee7
--- /dev/null
+++ b/packages/app/src/modules/shared/composables/useRefreshableState.ts
@@ -0,0 +1,12 @@
+import { get } from '@vueuse/core';
+
+export function useRefreshableState
(key: string, getState: () => T | Ref) {
+ const state = useState(key, getState);
+
+ const refresh = () => {
+ const value = getState();
+ state.value = get(value);
+ };
+
+ return [state, refresh] as const;
+}
\ No newline at end of file
diff --git a/packages/app/src/modules/tools/definitions/token-generator/token-generator.models.ts b/packages/app/src/modules/tools/definitions/token-generator/token-generator.models.ts
new file mode 100644
index 00000000..a33e0993
--- /dev/null
+++ b/packages/app/src/modules/tools/definitions/token-generator/token-generator.models.ts
@@ -0,0 +1,28 @@
+import { sample as sampleImpl, times } from 'lodash-es';
+
+export function createToken({
+ withUppercase = true,
+ withLowercase = true,
+ withNumbers = true,
+ withSymbols = false,
+ length = 64,
+ alphabet,
+ sample = sampleImpl,
+}: {
+ withUppercase?: boolean;
+ withLowercase?: boolean;
+ withNumbers?: boolean;
+ withSymbols?: boolean;
+ length?: number;
+ alphabet?: string;
+ sample?: (str: string) => string;
+}) {
+ const allAlphabet = alphabet ?? [
+ withUppercase ? 'ABCDEFGHIJKLMOPQRSTUVWXYZ' : '',
+ withLowercase ? 'abcdefghijklmopqrstuvwxyz' : '',
+ withNumbers ? '0123456789' : '',
+ withSymbols ? '.,;:!?./-"\'#{([-|\\@)]=}*+' : '',
+ ].join('');
+
+ return times(length, () => sample(allAlphabet)).join('');
+}
diff --git a/packages/app/src/modules/tools/definitions/token-generator/token-generator.tool.ts b/packages/app/src/modules/tools/definitions/token-generator/token-generator.tool.ts
new file mode 100644
index 00000000..0c9da645
--- /dev/null
+++ b/packages/app/src/modules/tools/definitions/token-generator/token-generator.tool.ts
@@ -0,0 +1,9 @@
+import { defineTool } from '../../tools.models';
+
+export const tokenGeneratorTool = defineTool({
+ slug: 'token-generator',
+ entryFile: './token-generator.vue',
+ icon: 'i-tabler-key',
+ createdAt: new Date('2024-02-13'),
+ currentDirUrl: import.meta.url,
+});
diff --git a/packages/app/src/modules/tools/definitions/token-generator/token-generator.vue b/packages/app/src/modules/tools/definitions/token-generator/token-generator.vue
new file mode 100644
index 00000000..9d1e3389
--- /dev/null
+++ b/packages/app/src/modules/tools/definitions/token-generator/token-generator.vue
@@ -0,0 +1,36 @@
+
+
+
+
+
{{ token }}
+
+
+
+
diff --git a/packages/app/src/modules/tools/modules/tools.modules.ts b/packages/app/src/modules/tools/modules/tools.modules.ts
new file mode 100644
index 00000000..741f1103
--- /dev/null
+++ b/packages/app/src/modules/tools/modules/tools.modules.ts
@@ -0,0 +1,21 @@
+import { defineNuxtModule, extendPages } from '@nuxt/kit';
+import { toolDefinitions } from '../tools.registry';
+
+export default defineNuxtModule({
+ meta: {
+ name: 'tools',
+ },
+ setup() {
+ extendPages((pages) => {
+ pages.push(...toolDefinitions.map((tool) => {
+ return {
+ path: `/${tool.slug}`,
+ file: tool.entryFile,
+ meta: {
+ toolKey: tool.key,
+ },
+ };
+ }));
+ });
+ },
+});
diff --git a/packages/app/src/modules/tools/tools.models.ts b/packages/app/src/modules/tools/tools.models.ts
new file mode 100644
index 00000000..ffdadf32
--- /dev/null
+++ b/packages/app/src/modules/tools/tools.models.ts
@@ -0,0 +1,18 @@
+export function defineTool(toolDefinition: {
+ slug: string;
+ entryFile: string;
+ currentDirUrl: string;
+ icon: string;
+ createdAt: Date;
+}) {
+ const entryFile = new URL(toolDefinition.entryFile, toolDefinition.currentDirUrl).pathname;
+ const baseGithubUrlPath = entryFile.match(/(\/tools\/.*)$/)?.[1];
+ const entryFileGithubUrl = `https://github.com/CorentinTh/crucials-tools/blob/main${baseGithubUrlPath}`;
+
+ return {
+ ...toolDefinition,
+ key: toolDefinition.slug,
+ entryFile,
+ entryFileGithubUrl,
+ };
+}
diff --git a/packages/app/src/modules/tools/tools.registry.ts b/packages/app/src/modules/tools/tools.registry.ts
new file mode 100644
index 00000000..81a25c01
--- /dev/null
+++ b/packages/app/src/modules/tools/tools.registry.ts
@@ -0,0 +1,5 @@
+import { tokenGeneratorTool } from './definitions/token-generator/token-generator.tool';
+
+export const toolDefinitions = [
+ tokenGeneratorTool,
+];
diff --git a/packages/app/src/modules/tools/tools.store.ts b/packages/app/src/modules/tools/tools.store.ts
new file mode 100644
index 00000000..4ce3f2fd
--- /dev/null
+++ b/packages/app/src/modules/tools/tools.store.ts
@@ -0,0 +1,36 @@
+import { joinUrlPaths } from '@corentinth/chisels';
+import { toolDefinitions } from './tools.registry';
+
+export const useToolsStore = defineStore('tools', () => {
+ const { t, locale } = useI18n();
+
+ const localizedTools = computed(() => {
+ return toolDefinitions.map((tool) => {
+ const { key, slug } = tool;
+
+ return {
+ ...tool,
+ title: t(`tools.${key}.title`),
+ description: t(`tools.${key}.description`),
+ path: `/${joinUrlPaths(locale.value, slug)}`,
+ };
+ });
+ });
+
+ return {
+ tools: localizedTools,
+ getToolByKey({ key }: { key: unknown }) {
+ if (typeof key !== 'string') {
+ throw new TypeError('Invalid key');
+ }
+
+ const tool = localizedTools.value.find(tool => tool.key === key);
+
+ if (!tool) {
+ throw new Error('Tool not found');
+ }
+
+ return tool;
+ },
+ };
+});
diff --git a/packages/app/src/modules/ui/components/card/Card.vue b/packages/app/src/modules/ui/components/card/Card.vue
new file mode 100644
index 00000000..540ebe12
--- /dev/null
+++ b/packages/app/src/modules/ui/components/card/Card.vue
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
diff --git a/packages/app/src/modules/ui/components/card/CardContent.vue b/packages/app/src/modules/ui/components/card/CardContent.vue
new file mode 100644
index 00000000..1b0de108
--- /dev/null
+++ b/packages/app/src/modules/ui/components/card/CardContent.vue
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
diff --git a/packages/app/src/modules/ui/components/card/CardDescription.vue b/packages/app/src/modules/ui/components/card/CardDescription.vue
new file mode 100644
index 00000000..6f3f5cbe
--- /dev/null
+++ b/packages/app/src/modules/ui/components/card/CardDescription.vue
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
diff --git a/packages/app/src/modules/ui/components/card/CardFooter.vue b/packages/app/src/modules/ui/components/card/CardFooter.vue
new file mode 100644
index 00000000..68436283
--- /dev/null
+++ b/packages/app/src/modules/ui/components/card/CardFooter.vue
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
diff --git a/packages/app/src/modules/ui/components/card/CardHeader.vue b/packages/app/src/modules/ui/components/card/CardHeader.vue
new file mode 100644
index 00000000..7f4643e3
--- /dev/null
+++ b/packages/app/src/modules/ui/components/card/CardHeader.vue
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
diff --git a/packages/app/src/modules/ui/components/card/CardTitle.vue b/packages/app/src/modules/ui/components/card/CardTitle.vue
new file mode 100644
index 00000000..6eee469f
--- /dev/null
+++ b/packages/app/src/modules/ui/components/card/CardTitle.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
diff --git a/packages/app/src/modules/ui/components/card/index.ts b/packages/app/src/modules/ui/components/card/index.ts
new file mode 100644
index 00000000..9ff6d5e7
--- /dev/null
+++ b/packages/app/src/modules/ui/components/card/index.ts
@@ -0,0 +1,6 @@
+export { default as Card } from './Card.vue'
+export { default as CardContent } from './CardContent.vue'
+export { default as CardDescription } from './CardDescription.vue'
+export { default as CardFooter } from './CardFooter.vue'
+export { default as CardHeader } from './CardHeader.vue'
+export { default as CardTitle } from './CardTitle.vue'
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 6d80dab6..4f958376 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -10,6 +10,9 @@ importers:
packages/app:
dependencies:
+ '@corentinth/chisels':
+ specifier: ^1.1.0
+ version: 1.1.0
'@nuxt/fonts':
specifier: ^0.10.2
version: 0.10.2(ioredis@5.4.1)(magicast@0.3.5)(rollup@4.24.0)(vite@5.4.10(@types/node@22.8.0)(terser@5.36.0))
@@ -22,12 +25,21 @@ importers:
'@nuxtjs/i18n':
specifier: ^8.5.5
version: 8.5.5(magicast@0.3.5)(rollup@4.24.0)(vue@3.5.12(typescript@5.6.3))
+ '@nuxtjs/seo':
+ specifier: 2.0.0-rc.23
+ version: 2.0.0-rc.23(h3@1.13.0)(magicast@0.3.5)(rollup@4.24.0)(vite@5.4.10(@types/node@22.8.0)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))
+ '@pinia/nuxt':
+ specifier: ^0.5.5
+ version: 0.5.5(magicast@0.3.5)(rollup@4.24.0)(typescript@5.6.3)(vue@3.5.12(typescript@5.6.3))
class-variance-authority:
specifier: ^0.7.0
version: 0.7.0
clsx:
specifier: ^2.1.1
version: 2.1.1
+ lodash-es:
+ specifier: ^4.17.21
+ version: 4.17.21
lucide-vue-next:
specifier: ^0.453.0
version: 0.453.0(vue@3.5.12(typescript@5.6.3))
@@ -59,6 +71,9 @@ importers:
'@nuxtjs/tailwindcss':
specifier: ^6.12.2
version: 6.12.2(magicast@0.3.5)(rollup@4.24.0)
+ '@types/lodash-es':
+ specifier: ^4.17.12
+ version: 4.17.12
'@vueuse/core':
specifier: ^11.1.0
version: 11.1.0(vue@3.5.12(typescript@5.6.3))
@@ -295,6 +310,9 @@ packages:
resolution: {integrity: sha512-YLPHc8yASwjNkmcDMQMY35yiWjoKAKnhUbPRszBRS0YgH+IXtsMp61j+yTcnCE3oO2DgP0U3iejLC8FTtKDC8Q==}
engines: {node: '>=16.13'}
+ '@corentinth/chisels@1.1.0':
+ resolution: {integrity: sha512-l4qG6uXLKFWilt1Mnt5btCoCaIGVLiPOk95V6W3BPPJ9LE558tlet2EnU3z1gfSO7kqRTgkqLdcwwlzI9mMRNQ==}
+
'@csstools/selector-resolve-nested@3.0.0':
resolution: {integrity: sha512-ZoK24Yku6VJU1gS79a5PFmC8yn3wIapiKmPgun0hZgEI5AOqgH2kiPRsPz1qkGv4HL+wuDLH83yQyk6inMYrJQ==}
engines: {node: '>=18'}
@@ -1155,6 +1173,16 @@ packages:
resolution: {integrity: sha512-HVXRy61VBACIwmap1WxuhT9nNf6liU9L9LQSB6D7LDJ+8w57Cc6qWHRJ7dNI9sI/IQ2FQWk7PkTWriybAd3MlQ==}
engines: {node: ^14.16.0 || >=16.11.0}
+ '@nuxtjs/robots@4.1.9':
+ resolution: {integrity: sha512-zd0gw2ws0FDgWi9yE4mLoIX7yajefKCp0Skl9cm1PP9W1AOFIQTjbUnRMMKbXFF2d9QFRVKpfSnaBgblbzuVWg==}
+
+ '@nuxtjs/seo@2.0.0-rc.23':
+ resolution: {integrity: sha512-ER6CQlpvTkR/5JM6rqQZ7boXeuY/50nUCEx0eWmfU6Epvz79vbQ/SIoMlbBZ/0GbR+yWjo1oErMY+aRQoLtf6Q==}
+
+ '@nuxtjs/sitemap@6.1.2':
+ resolution: {integrity: sha512-g0sUijQMG+i/UusOORP2NnRqQdQfEqFe1B4TPgtn8/I4sAw3Lx30dxnNZOI2KLnLMajAOmyHbJGQ3dq5UbAy6w==}
+ engines: {node: '>=18.0.0'}
+
'@nuxtjs/tailwindcss@6.12.2':
resolution: {integrity: sha512-qPJiFH67CkTj/2kBGBzqXihOD1rQXMsbVS4vdQvfBxOBLPfGhU1yw7AATdhPl2BBjO2krjJLuZj39t7dnDYOwg==}
@@ -1243,6 +1271,9 @@ packages:
resolution: {integrity: sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==}
engines: {node: '>= 10.0.0'}
+ '@pinia/nuxt@0.5.5':
+ resolution: {integrity: sha512-wjxS7YqIesh4OLK+qE3ZjhdOJ5pYZQ+VlEmZNtTwzQn1Kavei/khovx7mzXVXNA/mvSPXVhb9xBzhyS3XMURtw==}
+
'@pkgjs/parseargs@0.11.0':
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
engines: {node: '>=14'}
@@ -1254,6 +1285,86 @@ packages:
'@polka/url@1.0.0-next.28':
resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==}
+ '@resvg/resvg-js-android-arm-eabi@2.6.2':
+ resolution: {integrity: sha512-FrJibrAk6v29eabIPgcTUMPXiEz8ssrAk7TXxsiZzww9UTQ1Z5KAbFJs+Z0Ez+VZTYgnE5IQJqBcoSiMebtPHA==}
+ engines: {node: '>= 10'}
+ cpu: [arm]
+ os: [android]
+
+ '@resvg/resvg-js-android-arm64@2.6.2':
+ resolution: {integrity: sha512-VcOKezEhm2VqzXpcIJoITuvUS/fcjIw5NA/w3tjzWyzmvoCdd+QXIqy3FBGulWdClvp4g+IfUemigrkLThSjAQ==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [android]
+
+ '@resvg/resvg-js-darwin-arm64@2.6.2':
+ resolution: {integrity: sha512-nmok2LnAd6nLUKI16aEB9ydMC6Lidiiq2m1nEBDR1LaaP7FGs4AJ90qDraxX+CWlVuRlvNjyYJTNv8qFjtL9+A==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@resvg/resvg-js-darwin-x64@2.6.2':
+ resolution: {integrity: sha512-GInyZLjgWDfsVT6+SHxQVRwNzV0AuA1uqGsOAW+0th56J7Nh6bHHKXHBWzUrihxMetcFDmQMAX1tZ1fZDYSRsw==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@resvg/resvg-js-linux-arm-gnueabihf@2.6.2':
+ resolution: {integrity: sha512-YIV3u/R9zJbpqTTNwTZM5/ocWetDKGsro0SWp70eGEM9eV2MerWyBRZnQIgzU3YBnSBQ1RcxRZvY/UxwESfZIw==}
+ engines: {node: '>= 10'}
+ cpu: [arm]
+ os: [linux]
+
+ '@resvg/resvg-js-linux-arm64-gnu@2.6.2':
+ resolution: {integrity: sha512-zc2BlJSim7YR4FZDQ8OUoJg5holYzdiYMeobb9pJuGDidGL9KZUv7SbiD4E8oZogtYY42UZEap7dqkkYuA91pg==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@resvg/resvg-js-linux-arm64-musl@2.6.2':
+ resolution: {integrity: sha512-3h3dLPWNgSsD4lQBJPb4f+kvdOSJHa5PjTYVsWHxLUzH4IFTJUAnmuWpw4KqyQ3NA5QCyhw4TWgxk3jRkQxEKg==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@resvg/resvg-js-linux-x64-gnu@2.6.2':
+ resolution: {integrity: sha512-IVUe+ckIerA7xMZ50duAZzwf1U7khQe2E0QpUxu5MBJNao5RqC0zwV/Zm965vw6D3gGFUl7j4m+oJjubBVoftw==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+
+ '@resvg/resvg-js-linux-x64-musl@2.6.2':
+ resolution: {integrity: sha512-UOf83vqTzoYQO9SZ0fPl2ZIFtNIz/Rr/y+7X8XRX1ZnBYsQ/tTb+cj9TE+KHOdmlTFBxhYzVkP2lRByCzqi4jQ==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+
+ '@resvg/resvg-js-win32-arm64-msvc@2.6.2':
+ resolution: {integrity: sha512-7C/RSgCa+7vqZ7qAbItfiaAWhyRSoD4l4BQAbVDqRRsRgY+S+hgS3in0Rxr7IorKUpGE69X48q6/nOAuTJQxeQ==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@resvg/resvg-js-win32-ia32-msvc@2.6.2':
+ resolution: {integrity: sha512-har4aPAlvjnLcil40AC77YDIk6loMawuJwFINEM7n0pZviwMkMvjb2W5ZirsNOZY4aDbo5tLx0wNMREp5Brk+w==}
+ engines: {node: '>= 10'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@resvg/resvg-js-win32-x64-msvc@2.6.2':
+ resolution: {integrity: sha512-ZXtYhtUr5SSaBrUDq7DiyjOFJqBVL/dOBN7N/qmi/pO0IgiWW/f/ue3nbvu9joWE5aAKDoIzy/CxsY0suwGosQ==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [win32]
+
+ '@resvg/resvg-js@2.6.2':
+ resolution: {integrity: sha512-xBaJish5OeGmniDj9cW5PRa/PtmuVU3ziqrbr5xJj901ZDN4TosrVaNZpEiLZAxdfnhAe7uQ7QFWfjPe9d9K2Q==}
+ engines: {node: '>= 10'}
+
+ '@resvg/resvg-wasm@2.6.2':
+ resolution: {integrity: sha512-FqALmHI8D4o6lk/LRWDnhw95z5eO+eAa6ORjVg09YRR7BkcM6oPHU9uyC0gtQG5vpFLvgpeU4+zEAz2H8APHNw==}
+ engines: {node: '>= 10'}
+
'@rollup/plugin-alias@5.1.1':
resolution: {integrity: sha512-PR9zDb+rOzkRb2VD+EuKB7UC41vU5DIwZ5qqCpk0KJudcWAyi8rvYOhS7+L5aZCspw1stTViLgN5v6FF1p5cgQ==}
engines: {node: '>=14.0.0'}
@@ -1419,10 +1530,22 @@ packages:
cpu: [x64]
os: [win32]
+ '@sec-ant/readable-stream@0.4.1':
+ resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==}
+
+ '@shuding/opentype.js@1.4.0-beta.0':
+ resolution: {integrity: sha512-3NgmNyH3l/Hv6EvsWJbsvpcpUba6R8IREQ83nH83cyakCw7uM1arZKNfHwv1Wz6jgqrF/j4x5ELvR6PnK9nTcA==}
+ engines: {node: '>= 8.0.0'}
+ hasBin: true
+
'@sindresorhus/merge-streams@2.3.0':
resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==}
engines: {node: '>=18'}
+ '@sindresorhus/merge-streams@4.0.0':
+ resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==}
+ engines: {node: '>=18'}
+
'@stylistic/eslint-plugin@2.9.0':
resolution: {integrity: sha512-OrDyFAYjBT61122MIY1a3SfEgy3YCMgt2vL4eoPmvTwDBwyQhAXurxNQznlRD/jESNfYWfID8Ej+31LljvF7Xg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -1456,6 +1579,12 @@ packages:
'@types/json-schema@7.0.15':
resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
+ '@types/lodash-es@4.17.12':
+ resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==}
+
+ '@types/lodash@4.17.12':
+ resolution: {integrity: sha512-sviUmCE8AYdaF/KIHLDJBQgeYzPBI0vf/17NaYehBJfYD1j6/L95Slh07NlyK2iNyBNaEkb3En2jRt+a8y3xZQ==}
+
'@types/mdast@4.0.4':
resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
@@ -1534,9 +1663,15 @@ packages:
resolution: {integrity: sha512-EaewX6lxSjRJnc+99+dqzTeoDZUfyrA52d2/HRrkI830kgovWsmIiTfmr0NZorzqic7ga+1bS60lRBUgR3n/Bw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@unhead/addons@1.11.10':
+ resolution: {integrity: sha512-e1ysH8KMB2UoxxBiuZZXpCXe6qQjmaARy/6Q9UgrxZuMqNZCJ5FaL/0/G4KQ5qPf5n4HCM+JAM/0mvco4v6Rtg==}
+
'@unhead/dom@1.11.10':
resolution: {integrity: sha512-nL1mdRzYVATZIYauK15zOI2YyM3YxCLfhbTqljEjDFJeiJUzTTi+a//5FHiUk84ewSucFnrwHNey/pEXFlyY1A==}
+ '@unhead/schema-org@1.11.10':
+ resolution: {integrity: sha512-U/aEFPtXMMYD1NB3kwuIzHDvkhTKozlxrfnd8yFMtvm/AfLbXv3IXquRPWnrUB6dxaV8iIatio2HJf6jLbgERA==}
+
'@unhead/schema@1.11.10':
resolution: {integrity: sha512-lXh7cm5XtFaw3gc+ZVXTSfIHXiBpAywbjtEiOsz5TR4GxOjj2rtfOAl4C3Difk1yupP6L2otYmOZdn/i8EXSJg==}
@@ -1551,6 +1686,22 @@ packages:
peerDependencies:
vue: '>=2.7 || >=3'
+ '@unocss/core@0.63.6':
+ resolution: {integrity: sha512-Q4QPgJ271Up89+vIqqOKgtdCKkFpHqvHN8W1LUlKPqtYnOvVYaOIVNAZowaIdEhPuc83yLc6Tg2+7riK18QKEw==}
+
+ '@unocss/extractor-arbitrary-variants@0.63.6':
+ resolution: {integrity: sha512-HJX0oAa9uzwKYoU8CoJdP1gxjuqFmOLxyZmITjStAmZNZpIxlz2wz4VrHmqml2dkvx/mifGGGc/GxZpQ36D12Q==}
+
+ '@unocss/preset-mini@0.63.6':
+ resolution: {integrity: sha512-pZDZbSuxabHSwPIy3zCgQ4MNdVCSHvOvZecreH+v96R1oOhquiwU8WiSbkxvZiKiLQJd7JUVW87E1pAzr5ZGGQ==}
+
+ '@unocss/preset-wind@0.63.6':
+ resolution: {integrity: sha512-W3oZ2TXSqStNE+X++kcspRTF2Szu2ej6NW5Kiyy6WQn/+ZD77AF4VtvzHtzFVZ2QKpEIovGBpU5tywooHbB7hw==}
+
+ '@unocss/rule-utils@0.63.6':
+ resolution: {integrity: sha512-moeDEq5d9mB8gSYeoqHMkXWWekaFFdhg7QCuwwCbxCc+NPMOgGkmfAoafz+y2tdvK7pEuT191RWOiHQ0MkA5oQ==}
+ engines: {node: '>=14'}
+
'@vercel/nft@0.26.5':
resolution: {integrity: sha512-NHxohEqad6Ra/r4lGknO52uc/GrWILXAMs1BB4401GTqww0fw1bAqzpG1XHuDO+dprg4GvsD9ZLLSsdo78p9hQ==}
engines: {node: '>=16'}
@@ -1807,6 +1958,10 @@ packages:
resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==}
engines: {node: '>=12'}
+ ast-kit@0.12.2:
+ resolution: {integrity: sha512-es1zHFsnZ4Y4efz412nnrU3KvVAhgqy90a7Yt9Wpi5vQ3l4aYMOX0Qx4FD0elKr5ITEhiUGCSFcgGYf4YTuACg==}
+ engines: {node: '>=16.14.0'}
+
ast-kit@1.3.0:
resolution: {integrity: sha512-ORycPY6qYSrAGMnSk1tlqy/Y0rFGk/WIYP/H6io0A+jXK2Jp3Il7h8vjfwaLvZUwanjiLwBeE5h3A9M+eQqeNw==}
engines: {node: '>=16.14.0'}
@@ -1844,6 +1999,10 @@ packages:
bare-events@2.5.0:
resolution: {integrity: sha512-/E8dDe9dsbLyh2qrZ64PEPadOQ0F4gbl1sUJOrmph7xOiIxfY8vwab/4bFLh4Y88/Hk/ujKcrQKc+ps0mv873A==}
+ base64-js@0.0.8:
+ resolution: {integrity: sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==}
+ engines: {node: '>= 0.4'}
+
base64-js@1.5.1:
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
@@ -1923,6 +2082,9 @@ packages:
resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
engines: {node: '>= 6'}
+ camelize@1.0.1:
+ resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==}
+
caniuse-api@3.0.0:
resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
@@ -1951,6 +2113,13 @@ packages:
resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==}
engines: {node: '>= 16'}
+ cheerio-select@2.1.0:
+ resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==}
+
+ cheerio@1.0.0:
+ resolution: {integrity: sha512-quS9HgjQpdaXOvsZz82Oz7uxtXiy6UIsIQcpBj7HRw2M63Skasm9qlDocAM7jNuaxdhpPU7c4kJN+gA5MCu4ww==}
+ engines: {node: '>=18.17'}
+
chokidar@3.6.0:
resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
engines: {node: '>= 8.10.0'}
@@ -1959,6 +2128,11 @@ packages:
resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
engines: {node: '>=10'}
+ chrome-launcher@1.1.2:
+ resolution: {integrity: sha512-YclTJey34KUm5jB1aEJCq807bSievi7Nb/TU4Gu504fUYi3jw3KCIaH6L7nFWQhdEgH3V+wCh+kKD1P5cXnfxw==}
+ engines: {node: '>=12.13.0'}
+ hasBin: true
+
ci-info@4.0.0:
resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==}
engines: {node: '>=8'}
@@ -2130,15 +2304,32 @@ packages:
crossws@0.3.1:
resolution: {integrity: sha512-HsZgeVYaG+b5zA+9PbIPGq4+J/CJynJuearykPsXx4V/eMhyQ5EDVg3Ak2FBZtVXCiOLu/U7IiwDHTr9MA+IKw==}
+ css-background-parser@0.1.0:
+ resolution: {integrity: sha512-2EZLisiZQ+7m4wwur/qiYJRniHX4K5Tc9w93MT3AS0WS1u5kaZ4FKXlOTBhOjc+CgEgPiGY+fX1yWD8UwpEqUA==}
+
+ css-box-shadow@1.0.0-3:
+ resolution: {integrity: sha512-9jaqR6e7Ohds+aWwmhe6wILJ99xYQbfmK9QQB9CcMjDbTxPZjwEmUQpU91OG05Xgm8BahT5fW+svbsQGjS/zPg==}
+
+ css-color-keywords@1.0.0:
+ resolution: {integrity: sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==}
+ engines: {node: '>=4'}
+
css-declaration-sorter@7.2.0:
resolution: {integrity: sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==}
engines: {node: ^14 || ^16 || >=18}
peerDependencies:
postcss: ^8.0.9
+ css-gradient-parser@0.0.16:
+ resolution: {integrity: sha512-3O5QdqgFRUbXvK1x5INf1YkBz1UKSWqrd63vWsum8MNHDBYD5urm3QtxZbKU259OrEXNM26lP/MPY3d1IGkBgA==}
+ engines: {node: '>=16'}
+
css-select@5.1.0:
resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==}
+ css-to-react-native@3.2.0:
+ resolution: {integrity: sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==}
+
css-tree@2.2.1:
resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==}
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
@@ -2351,6 +2542,9 @@ packages:
electron-to-chromium@1.5.45:
resolution: {integrity: sha512-vOzZS6uZwhhbkZbcRyiy99Wg+pYFV5hk+5YaECvx0+Z31NR3Tt5zS6dze2OepT6PCTzVzT0dIJItti+uAW5zmw==}
+ emoji-regex@10.4.0:
+ resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==}
+
emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
@@ -2365,6 +2559,9 @@ packages:
resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==}
engines: {node: '>= 0.8'}
+ encoding-sniffer@0.2.0:
+ resolution: {integrity: sha512-ju7Wq1kg04I3HtiYIOrUrdfdDvkyO9s5XM8QAj/bN61Yo/Vb4vgJxy5vi4Yxk01gWHbrofpPtpxM8bKger9jhg==}
+
enhanced-resolve@5.17.1:
resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==}
engines: {node: '>=10.13.0'}
@@ -2640,6 +2837,10 @@ packages:
resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
engines: {node: '>=16.17'}
+ execa@9.4.1:
+ resolution: {integrity: sha512-5eo/BRqZm3GYce+1jqX/tJ7duA2AnE39i88fuedNFUV8XxGxUpF3aWkBRfbUcjV49gCkvS/pzc0YrCPhaIewdg==}
+ engines: {node: ^18.19.0 || >=20.5.0}
+
externality@1.0.2:
resolution: {integrity: sha512-LyExtJWKxtgVzmgtEHyQtLFpw1KFhQphF9nTG8TpAIVkiI/xQ3FJh75tRFLYl4hkn7BNIIdLJInuDAavX35pMw==}
@@ -2673,6 +2874,13 @@ packages:
picomatch:
optional: true
+ fflate@0.7.4:
+ resolution: {integrity: sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==}
+
+ figures@6.1.0:
+ resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==}
+ engines: {node: '>=18'}
+
file-entry-cache@8.0.0:
resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
engines: {node: '>=16.0.0'}
@@ -2743,6 +2951,10 @@ packages:
function-bind@1.1.2:
resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+ fuse.js@7.0.0:
+ resolution: {integrity: sha512-14F4hBIxqKvD4Zz/XjDc3y94mNZN6pRv3U13Udo0lNLCWRBUsrMv2xwcF/y/Z5sV6+FQW+/ow68cHpm4sunt8Q==}
+ engines: {node: '>=10'}
+
gauge@3.0.2:
resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==}
engines: {node: '>=10'}
@@ -2767,6 +2979,10 @@ packages:
resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
engines: {node: '>=16'}
+ get-stream@9.0.1:
+ resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==}
+ engines: {node: '>=18'}
+
get-tsconfig@4.8.1:
resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==}
@@ -2839,6 +3055,11 @@ packages:
resolution: {integrity: sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ h3-compression@0.3.2:
+ resolution: {integrity: sha512-B+yCKyDRnO0BXSfjAP4tCXJgJwmnKp3GyH5Yh66mY9KuOCrrGQSPk/gBFG2TgH7OyB/6mvqNZ1X0XNVuy0qRsw==}
+ peerDependencies:
+ h3: ^1.6.0
+
h3@1.13.0:
resolution: {integrity: sha512-vFEAu/yf8UMUcB4s43OaDaigcqpQd14yanmOsn+NcRX3/guSKncyE2rOYhq8RIchgJrPSs/QiIddnTTR1ddiAg==}
@@ -2864,6 +3085,10 @@ packages:
resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
engines: {node: '>= 0.4'}
+ hex-rgb@4.3.0:
+ resolution: {integrity: sha512-Ox1pJVrDCyGHMG9CFg1tmrRUMRPRsAWYc/PinY0XzJU4K7y7vjNoLKIQ7BR5UJMCxNN8EM1MNDmHWA/B3aZUuw==}
+ engines: {node: '>=6'}
+
hookable@5.5.3:
resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==}
@@ -2874,6 +3099,9 @@ packages:
resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==}
engines: {node: '>=8'}
+ htmlparser2@9.1.0:
+ resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==}
+
http-assert@1.5.0:
resolution: {integrity: sha512-uPpH7OKX4H25hBmU6G1jWNaqJGpTXxey+YOUizJUAgu0AjLUeC8D73hTrhvDS5D+GJN1DN1+hhc/eF/wpxtp0w==}
engines: {node: '>= 0.8'}
@@ -2909,6 +3137,14 @@ packages:
resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
engines: {node: '>=16.17.0'}
+ human-signals@8.0.0:
+ resolution: {integrity: sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==}
+ engines: {node: '>=18.18.0'}
+
+ iconv-lite@0.6.3:
+ resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
+ engines: {node: '>=0.10.0'}
+
ieee754@1.2.1:
resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
@@ -2919,6 +3155,11 @@ packages:
image-meta@0.2.1:
resolution: {integrity: sha512-K6acvFaelNxx8wc2VjbIzXKDVB0Khs0QT35U6NkGfTdCmjLNcO2945m7RFNR9/RPVFm48hq7QPzK8uGH18HCGw==}
+ image-size@1.1.1:
+ resolution: {integrity: sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==}
+ engines: {node: '>=16.x'}
+ hasBin: true
+
import-fresh@3.3.0:
resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
engines: {node: '>=6'}
@@ -3022,6 +3263,10 @@ packages:
resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==}
engines: {node: '>=12'}
+ is-plain-obj@4.1.0:
+ resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
+ engines: {node: '>=12'}
+
is-reference@1.2.1:
resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==}
@@ -3036,6 +3281,14 @@ packages:
resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ is-stream@4.0.1:
+ resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==}
+ engines: {node: '>=18'}
+
+ is-unicode-supported@2.1.0:
+ resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==}
+ engines: {node: '>=18'}
+
is-what@4.1.16:
resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==}
engines: {node: '>=12.13'}
@@ -3167,6 +3420,9 @@ packages:
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
engines: {node: '>= 0.8.0'}
+ lighthouse-logger@2.0.1:
+ resolution: {integrity: sha512-ioBrW3s2i97noEmnXxmUq7cjIcVRjT5HBpAYy8zE11CxU9HqlWHHeRxfeN1tn8F7OEMVPIC9x1f8t3Z7US9ehQ==}
+
lilconfig@2.1.0:
resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
engines: {node: '>=10'}
@@ -3175,6 +3431,9 @@ packages:
resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==}
engines: {node: '>=14'}
+ linebreak@1.1.0:
+ resolution: {integrity: sha512-MHp03UImeVhB7XZtjd0E4n6+3xr5Dq/9xI/5FptGk5FrbDR3zagPa2DS6U8ks/3HjbKWG9Q1M2ufOzxV2qLYSQ==}
+
lines-and-columns@1.2.4:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
@@ -3194,6 +3453,9 @@ packages:
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
engines: {node: '>=10'}
+ lodash-es@4.17.21:
+ resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==}
+
lodash.defaults@4.2.0:
resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==}
@@ -3249,6 +3511,9 @@ packages:
markdown-table@3.0.4:
resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==}
+ marky@1.2.5:
+ resolution: {integrity: sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==}
+
mdast-util-find-and-replace@3.0.1:
resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==}
@@ -3570,6 +3835,10 @@ packages:
resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ npm-run-path@6.0.0:
+ resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==}
+ engines: {node: '>=18'}
+
npmlog@5.0.1:
resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==}
deprecated: This package is no longer supported.
@@ -3582,6 +3851,25 @@ packages:
engines: {node: ^16.10.0 || >=18.0.0}
hasBin: true
+ nuxt-link-checker@3.1.2:
+ resolution: {integrity: sha512-Uvs1l257h9e4CFxzSHjoVKYvtaWJWfpD1bdMLQxFKJ32W6MkkdK2n2yAL47pmink7NOf5YsHPLFDS3m7R8l45w==}
+
+ nuxt-og-image@3.0.6:
+ resolution: {integrity: sha512-9Z/aTH7Sb6/BtpmhntH0VYeww5i96tq1rkKHRhIi2n1dIVfOTFYQHM/7hFkktvVsfrHPlZmB0ZdLTaQbbDDQSA==}
+ engines: {node: '>=18.0.0'}
+
+ nuxt-schema-org@3.4.1:
+ resolution: {integrity: sha512-RBtmWXUYihI2USRM77mwx/wPnRVPhYeK25dOFTk2BMeAvdvdCJRSP5LvMTe3C/YB5rnaeB69l6BVgw8j03C6ww==}
+
+ nuxt-seo-experiments@4.0.1:
+ resolution: {integrity: sha512-L60bkTFwfW+pQcxkCRhoW20c9+qiJiYgDKTWFDT58cS68M8vm76+H28UCMrmWRe3i3r2oDqQEAjR0QUiDVQgNg==}
+
+ nuxt-site-config-kit@2.2.18:
+ resolution: {integrity: sha512-iPtf2X1fvI9m9VV04edSqNGC2EzQ1aLB7F2/AOxYRktCJxHeTdBGifuNPc90EaEIOfWx+gf3lmRd4EppGoAMSA==}
+
+ nuxt-site-config@2.2.18:
+ resolution: {integrity: sha512-NU39ANP1kvRBzpEWV496y/lf9PKVv3t1VKX3zmQ1POcbzAXU4gm0Mh5NKOaLEcoXj6bQnziFNqjzHX3DAA8Aog==}
+
nuxt@3.13.2:
resolution: {integrity: sha512-Bjc2qRsipfBhjXsBEJCN+EUAukhdgFv/KoIR5HFB2hZOYRSqXBod3oWQs78k3ja1nlIhAEdBG533898KJxUtJw==}
engines: {node: ^14.18.0 || >=16.10.0}
@@ -3681,6 +3969,9 @@ packages:
resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
engines: {node: '>=6'}
+ parse-css-color@0.2.1:
+ resolution: {integrity: sha512-bwS/GGIFV3b6KS4uwpzCFj4w297Yl3uqnSgIPsoQkx7GMLROXfMnWvxfNkL0oh8HVhZA4hvJoEoEIqonfJ3BWg==}
+
parse-git-config@3.0.0:
resolution: {integrity: sha512-wXoQGL1D+2COYWCD35/xbiKma1Z15xvZL8cI25wvxzled58V51SJM04Urt/uznS900iQor7QO04SgdfT/XlbuA==}
engines: {node: '>=8'}
@@ -3697,12 +3988,25 @@ packages:
resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
engines: {node: '>=8'}
+ parse-ms@4.0.0:
+ resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==}
+ engines: {node: '>=18'}
+
parse-path@7.0.0:
resolution: {integrity: sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==}
parse-url@8.1.0:
resolution: {integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==}
+ parse5-htmlparser2-tree-adapter@7.1.0:
+ resolution: {integrity: sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==}
+
+ parse5-parser-stream@7.1.2:
+ resolution: {integrity: sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==}
+
+ parse5@7.2.0:
+ resolution: {integrity: sha512-ZkDsAOcxsUMZ4Lz5fVciOehNcJ+Gb8gTzcA4yl3wnc273BAybYWrQ+Ks/OjCjSEpjvQkDSeZbybK9qj2VHHdGA==}
+
parseurl@1.3.3:
resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
engines: {node: '>= 0.8'}
@@ -3762,6 +4066,18 @@ packages:
resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
engines: {node: '>=0.10.0'}
+ pinia@2.2.4:
+ resolution: {integrity: sha512-K7ZhpMY9iJ9ShTC0cR2+PnxdQRuwVIsXDO/WIEV/RnMC/vmSoKDTKW/exNQYPI+4ij10UjXqdNiEHwn47McANQ==}
+ peerDependencies:
+ '@vue/composition-api': ^1.4.0
+ typescript: '>=4.4.4'
+ vue: ^2.6.14 || ^3.3.0
+ peerDependenciesMeta:
+ '@vue/composition-api':
+ optional: true
+ typescript:
+ optional: true
+
pirates@4.0.6:
resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
engines: {node: '>= 6'}
@@ -3769,6 +4085,11 @@ packages:
pkg-types@1.2.1:
resolution: {integrity: sha512-sQoqa8alT3nHjGuTjuKgOnvjo4cljkufdtLMnO2LBP/wRwuDlo1tkaEdMxCRhyGRPacv/ztlZgDPm2b7FAmEvw==}
+ playwright-core@1.48.1:
+ resolution: {integrity: sha512-Yw/t4VAFX/bBr1OzwCuOMZkY1Cnb4z/doAFSwf4huqAGWmf9eMNjmK7NiOljCdLmxeRYcGPPmcDgU0zOlzP0YA==}
+ engines: {node: '>=18'}
+ hasBin: true
+
pluralize@8.0.0:
resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==}
engines: {node: '>=4'}
@@ -3998,6 +4319,10 @@ packages:
resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==}
engines: {node: ^14.13.1 || >=16.0.0}
+ pretty-ms@9.1.0:
+ resolution: {integrity: sha512-o1piW0n3tgKIKCwk2vpM/vOV13zjJzvP37Ioze54YlTHE06m4tjEbzg9WsKkvTuyYln2DHjo5pY4qrZGI0otpw==}
+ engines: {node: '>=18'}
+
process-nextick-args@2.0.1:
resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
@@ -4022,6 +4347,9 @@ packages:
queue-tick@1.0.1:
resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==}
+ queue@6.0.2:
+ resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==}
+
radix-vue@1.9.7:
resolution: {integrity: sha512-1xleWzWNFPfAMmb81gu/4/MV8dXMvc7j2EIjutBpBcKwxdJfeIcQg4k9De18L2rL1/GZg5wA9KykeKTM4MjWow==}
peerDependencies:
@@ -4164,6 +4492,16 @@ packages:
safe-buffer@5.2.1:
resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
+ safer-buffer@2.1.2:
+ resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
+
+ satori-html@0.3.2:
+ resolution: {integrity: sha512-wjTh14iqADFKDK80e51/98MplTGfxz2RmIzh0GqShlf4a67+BooLywF17TvJPD6phO0Hxm7Mf1N5LtRYvdkYRA==}
+
+ satori@0.11.2:
+ resolution: {integrity: sha512-uEPLbx89BfwzJroECvnTg8IQ+XxqkMl0apvB41mm8fmc6brzHA8bu9Etu43UoUF4ECnACPiDDFz6PfYDG0S46Q==}
+ engines: {node: '>=16'}
+
scslre@0.3.0:
resolution: {integrity: sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==}
engines: {node: ^14.0.0 || >=16.0.0}
@@ -4245,6 +4583,11 @@ packages:
sisteransi@1.0.5:
resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
+ site-config-stack@2.2.18:
+ resolution: {integrity: sha512-kwyuCwYZBJikuLN3IB15cGT7SHQQxAitLaDs1b6eNZbb+tBHubVUhj0pnFZnZZi4+5eNCO+3HiZxaU3qpFxP2A==}
+ peerDependencies:
+ vue: ^3
+
slash@5.1.0:
resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==}
engines: {node: '>=14.16'}
@@ -4320,6 +4663,9 @@ packages:
resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
engines: {node: '>=12'}
+ string.prototype.codepointat@0.2.1:
+ resolution: {integrity: sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==}
+
string_decoder@1.1.1:
resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
@@ -4338,6 +4684,10 @@ packages:
resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
engines: {node: '>=12'}
+ strip-final-newline@4.0.0:
+ resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==}
+ engines: {node: '>=18'}
+
strip-indent@3.0.0:
resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
engines: {node: '>=8'}
@@ -4571,6 +4921,10 @@ packages:
resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==}
engines: {node: '>=14.0'}
+ undici@6.20.1:
+ resolution: {integrity: sha512-AjQF1QsmqfJys+LXfGTNum+qw4S88CojRInG/6t31W/1fk6G59s92bnAvGz5Cmur+kQv2SURXEvvudLmbrE8QA==}
+ engines: {node: '>=18.17'}
+
unenv@1.10.0:
resolution: {integrity: sha512-wY5bskBQFL9n3Eca5XnhH6KbUo/tfvkwm9OpcdCvLaeA7piBNbavbOKJySEwQ1V0RH6HvNlSAFRTpvTqgKRQXQ==}
@@ -4587,6 +4941,10 @@ packages:
resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==}
engines: {node: '>=18'}
+ unicorn-magic@0.3.0:
+ resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==}
+ engines: {node: '>=18'}
+
unifont@0.1.5:
resolution: {integrity: sha512-sfSPHFIu50SVyjGJ9zE6lDCqz/axfmsaeeiEQ3+JuzPN1bImtmBuaGdjvsQbksrI8fyWcDOZvlxVt4VSg7tepg==}
@@ -4609,6 +4967,10 @@ packages:
resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
engines: {node: '>= 10.0.0'}
+ unplugin-ast@0.10.0:
+ resolution: {integrity: sha512-IA1r4JGZ6O/Zn3CZxSShQBuJ2fbNCDGCtMOz0q+K2kOhgZHJUH3Y+hTthcitjH0vx5C0QN3lWwgsa/4cL1cS0w==}
+ engines: {node: '>=18.12.0'}
+
unplugin-vue-router@0.10.8:
resolution: {integrity: sha512-xi+eLweYAqolIoTRSmumbi6Yx0z5M0PLvl+NFNVWHJgmE2ByJG1SZbrn+TqyuDtIyln20KKgq8tqmL7aLoiFjw==}
peerDependencies:
@@ -4893,6 +5255,14 @@ packages:
webpack-virtual-modules@0.6.2:
resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==}
+ whatwg-encoding@3.1.1:
+ resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==}
+ engines: {node: '>=18'}
+
+ whatwg-mimetype@4.0.0:
+ resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==}
+ engines: {node: '>=18'}
+
whatwg-url@5.0.0:
resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
@@ -4980,6 +5350,13 @@ packages:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
+ yoctocolors@2.1.1:
+ resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==}
+ engines: {node: '>=18'}
+
+ yoga-wasm-web@0.3.3:
+ resolution: {integrity: sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA==}
+
zhead@2.2.4:
resolution: {integrity: sha512-8F0OI5dpWIA5IGG5NHUg9staDwz/ZPxZtvGVf01j7vHqSyZ0raHY+78atOVxRqb73AotX22uV1pXt3gYSstGag==}
@@ -5268,6 +5645,10 @@ snapshots:
dependencies:
mime: 3.0.0
+ '@corentinth/chisels@1.1.0':
+ dependencies:
+ lodash-es: 4.17.21
+
'@csstools/selector-resolve-nested@3.0.0(postcss-selector-parser@7.0.0)':
dependencies:
postcss-selector-parser: 7.0.0
@@ -6165,6 +6546,77 @@ snapshots:
- vue-i18n-bridge
- webpack-sources
+ '@nuxtjs/robots@4.1.9(magicast@0.3.5)(rollup@4.24.0)(vite@5.4.10(@types/node@22.8.0)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))':
+ dependencies:
+ '@nuxt/devtools-kit': 1.6.0(magicast@0.3.5)(rollup@4.24.0)(vite@5.4.10(@types/node@22.8.0)(terser@5.36.0))
+ '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@4.24.0)
+ consola: 3.2.3
+ defu: 6.1.4
+ nuxt-site-config: 2.2.18(magicast@0.3.5)(rollup@4.24.0)(vite@5.4.10(@types/node@22.8.0)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))
+ nuxt-site-config-kit: 2.2.18(magicast@0.3.5)(rollup@4.24.0)(vue@3.5.12(typescript@5.6.3))
+ pathe: 1.1.2
+ pkg-types: 1.2.1
+ sirv: 3.0.0
+ std-env: 3.7.0
+ ufo: 1.5.4
+ transitivePeerDependencies:
+ - magicast
+ - rollup
+ - supports-color
+ - vite
+ - vue
+ - webpack-sources
+
+ '@nuxtjs/seo@2.0.0-rc.23(h3@1.13.0)(magicast@0.3.5)(rollup@4.24.0)(vite@5.4.10(@types/node@22.8.0)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))':
+ dependencies:
+ '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@4.24.0)
+ '@nuxtjs/robots': 4.1.9(magicast@0.3.5)(rollup@4.24.0)(vite@5.4.10(@types/node@22.8.0)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))
+ '@nuxtjs/sitemap': 6.1.2(h3@1.13.0)(magicast@0.3.5)(rollup@4.24.0)(vite@5.4.10(@types/node@22.8.0)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))
+ defu: 6.1.4
+ nuxt-link-checker: 3.1.2(magicast@0.3.5)(rollup@4.24.0)(vite@5.4.10(@types/node@22.8.0)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))
+ nuxt-og-image: 3.0.6(magicast@0.3.5)(rollup@4.24.0)(vite@5.4.10(@types/node@22.8.0)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))
+ nuxt-schema-org: 3.4.1(magicast@0.3.5)(rollup@4.24.0)(vite@5.4.10(@types/node@22.8.0)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))
+ nuxt-seo-experiments: 4.0.1(magicast@0.3.5)(rollup@4.24.0)(vite@5.4.10(@types/node@22.8.0)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))
+ nuxt-site-config: 2.2.18(magicast@0.3.5)(rollup@4.24.0)(vite@5.4.10(@types/node@22.8.0)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))
+ nuxt-site-config-kit: 2.2.18(magicast@0.3.5)(rollup@4.24.0)(vue@3.5.12(typescript@5.6.3))
+ pkg-types: 1.2.1
+ ufo: 1.5.4
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - h3
+ - magicast
+ - rollup
+ - supports-color
+ - vite
+ - vue
+ - webpack-sources
+
+ '@nuxtjs/sitemap@6.1.2(h3@1.13.0)(magicast@0.3.5)(rollup@4.24.0)(vite@5.4.10(@types/node@22.8.0)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))':
+ dependencies:
+ '@nuxt/devtools-kit': 1.6.0(magicast@0.3.5)(rollup@4.24.0)(vite@5.4.10(@types/node@22.8.0)(terser@5.36.0))
+ '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@4.24.0)
+ chalk: 5.3.0
+ defu: 6.1.4
+ h3-compression: 0.3.2(h3@1.13.0)
+ nuxt-site-config: 2.2.18(magicast@0.3.5)(rollup@4.24.0)(vite@5.4.10(@types/node@22.8.0)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))
+ nuxt-site-config-kit: 2.2.18(magicast@0.3.5)(rollup@4.24.0)(vue@3.5.12(typescript@5.6.3))
+ ofetch: 1.4.1
+ pathe: 1.1.2
+ pkg-types: 1.2.1
+ radix3: 1.1.2
+ semver: 7.6.3
+ sirv: 3.0.0
+ site-config-stack: 2.2.18(vue@3.5.12(typescript@5.6.3))
+ ufo: 1.5.4
+ transitivePeerDependencies:
+ - h3
+ - magicast
+ - rollup
+ - supports-color
+ - vite
+ - vue
+ - webpack-sources
+
'@nuxtjs/tailwindcss@6.12.2(magicast@0.3.5)(rollup@4.24.0)':
dependencies:
'@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@4.24.0)
@@ -6250,6 +6702,19 @@ snapshots:
'@parcel/watcher-win32-ia32': 2.4.1
'@parcel/watcher-win32-x64': 2.4.1
+ '@pinia/nuxt@0.5.5(magicast@0.3.5)(rollup@4.24.0)(typescript@5.6.3)(vue@3.5.12(typescript@5.6.3))':
+ dependencies:
+ '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@4.24.0)
+ pinia: 2.2.4(typescript@5.6.3)(vue@3.5.12(typescript@5.6.3))
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - magicast
+ - rollup
+ - supports-color
+ - typescript
+ - vue
+ - webpack-sources
+
'@pkgjs/parseargs@0.11.0':
optional: true
@@ -6257,6 +6722,59 @@ snapshots:
'@polka/url@1.0.0-next.28': {}
+ '@resvg/resvg-js-android-arm-eabi@2.6.2':
+ optional: true
+
+ '@resvg/resvg-js-android-arm64@2.6.2':
+ optional: true
+
+ '@resvg/resvg-js-darwin-arm64@2.6.2':
+ optional: true
+
+ '@resvg/resvg-js-darwin-x64@2.6.2':
+ optional: true
+
+ '@resvg/resvg-js-linux-arm-gnueabihf@2.6.2':
+ optional: true
+
+ '@resvg/resvg-js-linux-arm64-gnu@2.6.2':
+ optional: true
+
+ '@resvg/resvg-js-linux-arm64-musl@2.6.2':
+ optional: true
+
+ '@resvg/resvg-js-linux-x64-gnu@2.6.2':
+ optional: true
+
+ '@resvg/resvg-js-linux-x64-musl@2.6.2':
+ optional: true
+
+ '@resvg/resvg-js-win32-arm64-msvc@2.6.2':
+ optional: true
+
+ '@resvg/resvg-js-win32-ia32-msvc@2.6.2':
+ optional: true
+
+ '@resvg/resvg-js-win32-x64-msvc@2.6.2':
+ optional: true
+
+ '@resvg/resvg-js@2.6.2':
+ optionalDependencies:
+ '@resvg/resvg-js-android-arm-eabi': 2.6.2
+ '@resvg/resvg-js-android-arm64': 2.6.2
+ '@resvg/resvg-js-darwin-arm64': 2.6.2
+ '@resvg/resvg-js-darwin-x64': 2.6.2
+ '@resvg/resvg-js-linux-arm-gnueabihf': 2.6.2
+ '@resvg/resvg-js-linux-arm64-gnu': 2.6.2
+ '@resvg/resvg-js-linux-arm64-musl': 2.6.2
+ '@resvg/resvg-js-linux-x64-gnu': 2.6.2
+ '@resvg/resvg-js-linux-x64-musl': 2.6.2
+ '@resvg/resvg-js-win32-arm64-msvc': 2.6.2
+ '@resvg/resvg-js-win32-ia32-msvc': 2.6.2
+ '@resvg/resvg-js-win32-x64-msvc': 2.6.2
+
+ '@resvg/resvg-wasm@2.6.2': {}
+
'@rollup/plugin-alias@5.1.1(rollup@4.24.0)':
optionalDependencies:
rollup: 4.24.0
@@ -6380,8 +6898,17 @@ snapshots:
'@rollup/rollup-win32-x64-msvc@4.24.0':
optional: true
+ '@sec-ant/readable-stream@0.4.1': {}
+
+ '@shuding/opentype.js@1.4.0-beta.0':
+ dependencies:
+ fflate: 0.7.4
+ string.prototype.codepointat: 0.2.1
+
'@sindresorhus/merge-streams@2.3.0': {}
+ '@sindresorhus/merge-streams@4.0.0': {}
+
'@stylistic/eslint-plugin@2.9.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.3)':
dependencies:
'@typescript-eslint/utils': 8.11.0(eslint@9.13.0(jiti@2.3.3))(typescript@5.6.3)
@@ -6419,6 +6946,12 @@ snapshots:
'@types/json-schema@7.0.15': {}
+ '@types/lodash-es@4.17.12':
+ dependencies:
+ '@types/lodash': 4.17.12
+
+ '@types/lodash@4.17.12': {}
+
'@types/mdast@4.0.4':
dependencies:
'@types/unist': 3.0.3
@@ -6518,11 +7051,29 @@ snapshots:
'@typescript-eslint/types': 8.11.0
eslint-visitor-keys: 3.4.3
+ '@unhead/addons@1.11.10(rollup@4.24.0)':
+ dependencies:
+ '@rollup/pluginutils': 5.1.3(rollup@4.24.0)
+ '@unhead/schema': 1.11.10
+ '@unhead/shared': 1.11.10
+ magic-string: 0.30.12
+ mlly: 1.7.2
+ ufo: 1.5.4
+ unplugin: 1.14.1
+ unplugin-ast: 0.10.0(rollup@4.24.0)
+ transitivePeerDependencies:
+ - rollup
+ - webpack-sources
+
'@unhead/dom@1.11.10':
dependencies:
'@unhead/schema': 1.11.10
'@unhead/shared': 1.11.10
+ '@unhead/schema-org@1.11.10':
+ dependencies:
+ ufo: 1.5.4
+
'@unhead/schema@1.11.10':
dependencies:
hookable: 5.5.3
@@ -6546,6 +7097,29 @@ snapshots:
unhead: 1.11.10
vue: 3.5.12(typescript@5.6.3)
+ '@unocss/core@0.63.6': {}
+
+ '@unocss/extractor-arbitrary-variants@0.63.6':
+ dependencies:
+ '@unocss/core': 0.63.6
+
+ '@unocss/preset-mini@0.63.6':
+ dependencies:
+ '@unocss/core': 0.63.6
+ '@unocss/extractor-arbitrary-variants': 0.63.6
+ '@unocss/rule-utils': 0.63.6
+
+ '@unocss/preset-wind@0.63.6':
+ dependencies:
+ '@unocss/core': 0.63.6
+ '@unocss/preset-mini': 0.63.6
+ '@unocss/rule-utils': 0.63.6
+
+ '@unocss/rule-utils@0.63.6':
+ dependencies:
+ '@unocss/core': 0.63.6
+ magic-string: 0.30.12
+
'@vercel/nft@0.26.5':
dependencies:
'@mapbox/node-pre-gyp': 1.0.11
@@ -6904,6 +7478,11 @@ snapshots:
assertion-error@2.0.1: {}
+ ast-kit@0.12.2:
+ dependencies:
+ '@babel/parser': 7.26.0
+ pathe: 1.1.2
+
ast-kit@1.3.0:
dependencies:
'@babel/parser': 7.26.0
@@ -6941,6 +7520,8 @@ snapshots:
bare-events@2.5.0:
optional: true
+ base64-js@0.0.8: {}
+
base64-js@1.5.1: {}
binary-extensions@2.3.0: {}
@@ -7022,6 +7603,8 @@ snapshots:
camelcase-css@2.0.1: {}
+ camelize@1.0.1: {}
+
caniuse-api@3.0.0:
dependencies:
browserslist: 4.24.2
@@ -7052,6 +7635,29 @@ snapshots:
check-error@2.1.1: {}
+ cheerio-select@2.1.0:
+ dependencies:
+ boolbase: 1.0.0
+ css-select: 5.1.0
+ css-what: 6.1.0
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+ domutils: 3.1.0
+
+ cheerio@1.0.0:
+ dependencies:
+ cheerio-select: 2.1.0
+ dom-serializer: 2.0.0
+ domhandler: 5.0.3
+ domutils: 3.1.0
+ encoding-sniffer: 0.2.0
+ htmlparser2: 9.1.0
+ parse5: 7.2.0
+ parse5-htmlparser2-tree-adapter: 7.1.0
+ parse5-parser-stream: 7.1.2
+ undici: 6.20.1
+ whatwg-mimetype: 4.0.0
+
chokidar@3.6.0:
dependencies:
anymatch: 3.1.3
@@ -7066,6 +7672,15 @@ snapshots:
chownr@2.0.0: {}
+ chrome-launcher@1.1.2:
+ dependencies:
+ '@types/node': 22.8.0
+ escape-string-regexp: 4.0.0
+ is-wsl: 2.2.0
+ lighthouse-logger: 2.0.1
+ transitivePeerDependencies:
+ - supports-color
+
ci-info@4.0.0: {}
citty@0.1.6:
@@ -7202,10 +7817,18 @@ snapshots:
dependencies:
uncrypto: 0.1.3
+ css-background-parser@0.1.0: {}
+
+ css-box-shadow@1.0.0-3: {}
+
+ css-color-keywords@1.0.0: {}
+
css-declaration-sorter@7.2.0(postcss@8.4.47):
dependencies:
postcss: 8.4.47
+ css-gradient-parser@0.0.16: {}
+
css-select@5.1.0:
dependencies:
boolbase: 1.0.0
@@ -7214,6 +7837,12 @@ snapshots:
domutils: 3.1.0
nth-check: 2.1.1
+ css-to-react-native@3.2.0:
+ dependencies:
+ camelize: 1.0.1
+ css-color-keywords: 1.0.0
+ postcss-value-parser: 4.2.0
+
css-tree@2.2.1:
dependencies:
mdn-data: 2.0.28
@@ -7390,6 +8019,8 @@ snapshots:
electron-to-chromium@1.5.45: {}
+ emoji-regex@10.4.0: {}
+
emoji-regex@8.0.0: {}
emoji-regex@9.2.2: {}
@@ -7398,6 +8029,11 @@ snapshots:
encodeurl@2.0.0: {}
+ encoding-sniffer@0.2.0:
+ dependencies:
+ iconv-lite: 0.6.3
+ whatwg-encoding: 3.1.1
+
enhanced-resolve@5.17.1:
dependencies:
graceful-fs: 4.2.11
@@ -7850,6 +8486,21 @@ snapshots:
signal-exit: 4.1.0
strip-final-newline: 3.0.0
+ execa@9.4.1:
+ dependencies:
+ '@sindresorhus/merge-streams': 4.0.0
+ cross-spawn: 7.0.3
+ figures: 6.1.0
+ get-stream: 9.0.1
+ human-signals: 8.0.0
+ is-plain-obj: 4.1.0
+ is-stream: 4.0.1
+ npm-run-path: 6.0.0
+ pretty-ms: 9.1.0
+ signal-exit: 4.1.0
+ strip-final-newline: 4.0.0
+ yoctocolors: 2.1.1
+
externality@1.0.2:
dependencies:
enhanced-resolve: 5.17.1
@@ -7883,6 +8534,12 @@ snapshots:
optionalDependencies:
picomatch: 4.0.2
+ fflate@0.7.4: {}
+
+ figures@6.1.0:
+ dependencies:
+ is-unicode-supported: 2.1.0
+
file-entry-cache@8.0.0:
dependencies:
flat-cache: 4.0.1
@@ -7970,6 +8627,8 @@ snapshots:
function-bind@1.1.2: {}
+ fuse.js@7.0.0: {}
+
gauge@3.0.2:
dependencies:
aproba: 2.0.0
@@ -7992,6 +8651,11 @@ snapshots:
get-stream@8.0.1: {}
+ get-stream@9.0.1:
+ dependencies:
+ '@sec-ant/readable-stream': 0.4.1
+ is-stream: 4.0.1
+
get-tsconfig@4.8.1:
dependencies:
resolve-pkg-maps: 1.0.0
@@ -8083,6 +8747,10 @@ snapshots:
dependencies:
duplexer: 0.1.2
+ h3-compression@0.3.2(h3@1.13.0):
+ dependencies:
+ h3: 1.13.0
+
h3@1.13.0:
dependencies:
cookie-es: 1.2.2
@@ -8112,12 +8780,21 @@ snapshots:
dependencies:
function-bind: 1.1.2
+ hex-rgb@4.3.0: {}
+
hookable@5.5.3: {}
hosted-git-info@2.8.9: {}
html-tags@3.3.1: {}
+ htmlparser2@9.1.0:
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+ domutils: 3.1.0
+ entities: 4.5.0
+
http-assert@1.5.0:
dependencies:
deep-equal: 1.0.1
@@ -8161,12 +8838,22 @@ snapshots:
human-signals@5.0.0: {}
+ human-signals@8.0.0: {}
+
+ iconv-lite@0.6.3:
+ dependencies:
+ safer-buffer: 2.1.2
+
ieee754@1.2.1: {}
ignore@5.3.2: {}
image-meta@0.2.1: {}
+ image-size@1.1.1:
+ dependencies:
+ queue: 6.0.2
+
import-fresh@3.3.0:
dependencies:
parent-module: 1.0.1
@@ -8263,6 +8950,8 @@ snapshots:
is-path-inside@4.0.0: {}
+ is-plain-obj@4.1.0: {}
+
is-reference@1.2.1:
dependencies:
'@types/estree': 1.0.6
@@ -8275,6 +8964,10 @@ snapshots:
is-stream@3.0.0: {}
+ is-stream@4.0.1: {}
+
+ is-unicode-supported@2.1.0: {}
+
is-what@4.1.16: {}
is-wsl@2.2.0:
@@ -8420,10 +9113,22 @@ snapshots:
prelude-ls: 1.2.1
type-check: 0.4.0
+ lighthouse-logger@2.0.1:
+ dependencies:
+ debug: 2.6.9
+ marky: 1.2.5
+ transitivePeerDependencies:
+ - supports-color
+
lilconfig@2.1.0: {}
lilconfig@3.1.2: {}
+ linebreak@1.1.0:
+ dependencies:
+ base64-js: 0.0.8
+ unicode-trie: 2.0.0
+
lines-and-columns@1.2.4: {}
listhen@1.9.0:
@@ -8460,6 +9165,8 @@ snapshots:
dependencies:
p-locate: 5.0.0
+ lodash-es@4.17.21: {}
+
lodash.defaults@4.2.0: {}
lodash.isarguments@3.1.0: {}
@@ -8518,6 +9225,8 @@ snapshots:
markdown-table@3.0.4: {}
+ marky@1.2.5: {}
+
mdast-util-find-and-replace@3.0.1:
dependencies:
'@types/mdast': 4.0.4
@@ -9040,6 +9749,11 @@ snapshots:
dependencies:
path-key: 4.0.0
+ npm-run-path@6.0.0:
+ dependencies:
+ path-key: 4.0.0
+ unicorn-magic: 0.3.0
+
npmlog@5.0.1:
dependencies:
are-we-there-yet: 2.0.0
@@ -9053,6 +9767,143 @@ snapshots:
nuxi@3.15.0: {}
+ nuxt-link-checker@3.1.2(magicast@0.3.5)(rollup@4.24.0)(vite@5.4.10(@types/node@22.8.0)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3)):
+ dependencies:
+ '@nuxt/devtools-kit': 1.6.0(magicast@0.3.5)(rollup@4.24.0)(vite@5.4.10(@types/node@22.8.0)(terser@5.36.0))
+ '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@4.24.0)
+ '@vueuse/core': 11.1.0(vue@3.5.12(typescript@5.6.3))
+ chalk: 5.3.0
+ cheerio: 1.0.0
+ diff: 7.0.0
+ fuse.js: 7.0.0
+ magic-string: 0.30.12
+ nuxt-site-config: 2.2.18(magicast@0.3.5)(rollup@4.24.0)(vite@5.4.10(@types/node@22.8.0)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))
+ nuxt-site-config-kit: 2.2.18(magicast@0.3.5)(rollup@4.24.0)(vue@3.5.12(typescript@5.6.3))
+ pathe: 1.1.2
+ pkg-types: 1.2.1
+ radix3: 1.1.2
+ sirv: 2.0.4
+ site-config-stack: 2.2.18(vue@3.5.12(typescript@5.6.3))
+ ufo: 1.5.4
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - magicast
+ - rollup
+ - supports-color
+ - vite
+ - vue
+ - webpack-sources
+
+ nuxt-og-image@3.0.6(magicast@0.3.5)(rollup@4.24.0)(vite@5.4.10(@types/node@22.8.0)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3)):
+ dependencies:
+ '@nuxt/devtools-kit': 1.6.0(magicast@0.3.5)(rollup@4.24.0)(vite@5.4.10(@types/node@22.8.0)(terser@5.36.0))
+ '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@4.24.0)
+ '@resvg/resvg-js': 2.6.2
+ '@resvg/resvg-wasm': 2.6.2
+ '@unocss/core': 0.63.6
+ '@unocss/preset-wind': 0.63.6
+ chrome-launcher: 1.1.2
+ defu: 6.1.4
+ execa: 9.4.1
+ image-size: 1.1.1
+ magic-string: 0.30.12
+ nuxt-site-config: 2.2.18(magicast@0.3.5)(rollup@4.24.0)(vite@5.4.10(@types/node@22.8.0)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))
+ nuxt-site-config-kit: 2.2.18(magicast@0.3.5)(rollup@4.24.0)(vue@3.5.12(typescript@5.6.3))
+ nypm: 0.3.12
+ ofetch: 1.4.1
+ ohash: 1.1.4
+ pathe: 1.1.2
+ pkg-types: 1.2.1
+ playwright-core: 1.48.1
+ radix3: 1.1.2
+ satori: 0.11.2
+ satori-html: 0.3.2
+ sirv: 3.0.0
+ std-env: 3.7.0
+ strip-literal: 2.1.0
+ ufo: 1.5.4
+ unplugin: 1.14.1
+ unwasm: 0.3.9
+ yoga-wasm-web: 0.3.3
+ transitivePeerDependencies:
+ - magicast
+ - rollup
+ - supports-color
+ - vite
+ - vue
+ - webpack-sources
+
+ nuxt-schema-org@3.4.1(magicast@0.3.5)(rollup@4.24.0)(vite@5.4.10(@types/node@22.8.0)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3)):
+ dependencies:
+ '@nuxt/devtools-kit': 1.6.0(magicast@0.3.5)(rollup@4.24.0)(vite@5.4.10(@types/node@22.8.0)(terser@5.36.0))
+ '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@4.24.0)
+ '@unhead/schema-org': 1.11.10
+ nuxt-site-config: 2.2.18(magicast@0.3.5)(rollup@4.24.0)(vite@5.4.10(@types/node@22.8.0)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))
+ nuxt-site-config-kit: 2.2.18(magicast@0.3.5)(rollup@4.24.0)(vue@3.5.12(typescript@5.6.3))
+ pathe: 1.1.2
+ sirv: 3.0.0
+ transitivePeerDependencies:
+ - magicast
+ - rollup
+ - supports-color
+ - vite
+ - vue
+ - webpack-sources
+
+ nuxt-seo-experiments@4.0.1(magicast@0.3.5)(rollup@4.24.0)(vite@5.4.10(@types/node@22.8.0)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3)):
+ dependencies:
+ '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@4.24.0)
+ '@unhead/addons': 1.11.10(rollup@4.24.0)
+ defu: 6.1.4
+ escape-string-regexp: 5.0.0
+ fast-glob: 3.3.2
+ image-size: 1.1.1
+ nuxt-site-config: 2.2.18(magicast@0.3.5)(rollup@4.24.0)(vite@5.4.10(@types/node@22.8.0)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))
+ nuxt-site-config-kit: 2.2.18(magicast@0.3.5)(rollup@4.24.0)(vue@3.5.12(typescript@5.6.3))
+ pathe: 1.1.2
+ ufo: 1.5.4
+ transitivePeerDependencies:
+ - magicast
+ - rollup
+ - supports-color
+ - vite
+ - vue
+ - webpack-sources
+
+ nuxt-site-config-kit@2.2.18(magicast@0.3.5)(rollup@4.24.0)(vue@3.5.12(typescript@5.6.3)):
+ dependencies:
+ '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@4.24.0)
+ '@nuxt/schema': 3.13.2(rollup@4.24.0)
+ pkg-types: 1.2.1
+ site-config-stack: 2.2.18(vue@3.5.12(typescript@5.6.3))
+ std-env: 3.7.0
+ ufo: 1.5.4
+ transitivePeerDependencies:
+ - magicast
+ - rollup
+ - supports-color
+ - vue
+ - webpack-sources
+
+ nuxt-site-config@2.2.18(magicast@0.3.5)(rollup@4.24.0)(vite@5.4.10(@types/node@22.8.0)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3)):
+ dependencies:
+ '@nuxt/devtools-kit': 1.6.0(magicast@0.3.5)(rollup@4.24.0)(vite@5.4.10(@types/node@22.8.0)(terser@5.36.0))
+ '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@4.24.0)
+ '@nuxt/schema': 3.13.2(rollup@4.24.0)
+ nuxt-site-config-kit: 2.2.18(magicast@0.3.5)(rollup@4.24.0)(vue@3.5.12(typescript@5.6.3))
+ pathe: 1.1.2
+ pkg-types: 1.2.1
+ sirv: 2.0.4
+ site-config-stack: 2.2.18(vue@3.5.12(typescript@5.6.3))
+ ufo: 1.5.4
+ transitivePeerDependencies:
+ - magicast
+ - rollup
+ - supports-color
+ - vite
+ - vue
+ - webpack-sources
+
nuxt@3.13.2(@parcel/watcher@2.4.1)(@types/node@22.8.0)(eslint@9.13.0(jiti@2.3.3))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.24.0)(terser@5.36.0)(typescript@5.6.3)(vite@5.4.10(@types/node@22.8.0)(terser@5.36.0)):
dependencies:
'@nuxt/devalue': 2.0.2
@@ -9265,6 +10116,11 @@ snapshots:
dependencies:
callsites: 3.1.0
+ parse-css-color@0.2.1:
+ dependencies:
+ color-name: 1.1.4
+ hex-rgb: 4.3.0
+
parse-git-config@3.0.0:
dependencies:
git-config-path: 2.0.0
@@ -9284,6 +10140,8 @@ snapshots:
json-parse-even-better-errors: 2.3.1
lines-and-columns: 1.2.4
+ parse-ms@4.0.0: {}
+
parse-path@7.0.0:
dependencies:
protocols: 2.0.1
@@ -9292,6 +10150,19 @@ snapshots:
dependencies:
parse-path: 7.0.0
+ parse5-htmlparser2-tree-adapter@7.1.0:
+ dependencies:
+ domhandler: 5.0.3
+ parse5: 7.2.0
+
+ parse5-parser-stream@7.1.2:
+ dependencies:
+ parse5: 7.2.0
+
+ parse5@7.2.0:
+ dependencies:
+ entities: 4.5.0
+
parseurl@1.3.3: {}
path-exists@4.0.0: {}
@@ -9327,6 +10198,14 @@ snapshots:
pify@2.3.0: {}
+ pinia@2.2.4(typescript@5.6.3)(vue@3.5.12(typescript@5.6.3)):
+ dependencies:
+ '@vue/devtools-api': 6.6.4
+ vue: 3.5.12(typescript@5.6.3)
+ vue-demi: 0.14.10(vue@3.5.12(typescript@5.6.3))
+ optionalDependencies:
+ typescript: 5.6.3
+
pirates@4.0.6: {}
pkg-types@1.2.1:
@@ -9335,6 +10214,8 @@ snapshots:
mlly: 1.7.2
pathe: 1.1.2
+ playwright-core@1.48.1: {}
+
pluralize@8.0.0: {}
portfinder@1.0.32:
@@ -9547,6 +10428,10 @@ snapshots:
pretty-bytes@6.1.1: {}
+ pretty-ms@9.1.0:
+ dependencies:
+ parse-ms: 4.0.0
+
process-nextick-args@2.0.1: {}
process@0.11.10: {}
@@ -9564,6 +10449,10 @@ snapshots:
queue-tick@1.0.1: {}
+ queue@6.0.2:
+ dependencies:
+ inherits: 2.0.4
+
radix-vue@1.9.7(vue@3.5.12(typescript@5.6.3)):
dependencies:
'@floating-ui/dom': 1.6.11
@@ -9740,6 +10629,26 @@ snapshots:
safe-buffer@5.2.1: {}
+ safer-buffer@2.1.2: {}
+
+ satori-html@0.3.2:
+ dependencies:
+ ultrahtml: 1.5.3
+
+ satori@0.11.2:
+ dependencies:
+ '@shuding/opentype.js': 1.4.0-beta.0
+ css-background-parser: 0.1.0
+ css-box-shadow: 1.0.0-3
+ css-gradient-parser: 0.0.16
+ css-to-react-native: 3.2.0
+ emoji-regex: 10.4.0
+ escape-html: 1.0.3
+ linebreak: 1.1.0
+ parse-css-color: 0.2.1
+ postcss-value-parser: 4.2.0
+ yoga-wasm-web: 0.3.3
+
scslre@0.3.0:
dependencies:
'@eslint-community/regexpp': 4.11.1
@@ -9841,6 +10750,11 @@ snapshots:
sisteransi@1.0.5: {}
+ site-config-stack@2.2.18(vue@3.5.12(typescript@5.6.3)):
+ dependencies:
+ ufo: 1.5.4
+ vue: 3.5.12(typescript@5.6.3)
+
slash@5.1.0: {}
slashes@3.0.12: {}
@@ -9911,6 +10825,8 @@ snapshots:
emoji-regex: 9.2.2
strip-ansi: 7.1.0
+ string.prototype.codepointat@0.2.1: {}
+
string_decoder@1.1.1:
dependencies:
safe-buffer: 5.1.2
@@ -9929,6 +10845,8 @@ snapshots:
strip-final-newline@3.0.0: {}
+ strip-final-newline@4.0.0: {}
+
strip-indent@3.0.0:
dependencies:
min-indent: 1.0.1
@@ -10167,6 +11085,8 @@ snapshots:
dependencies:
'@fastify/busboy': 2.1.1
+ undici@6.20.1: {}
+
unenv@1.10.0:
dependencies:
consola: 3.2.3
@@ -10194,6 +11114,8 @@ snapshots:
unicorn-magic@0.1.0: {}
+ unicorn-magic@0.3.0: {}
+
unifont@0.1.5:
dependencies:
css-tree: 3.0.0
@@ -10239,6 +11161,19 @@ snapshots:
universalify@2.0.1: {}
+ unplugin-ast@0.10.0(rollup@4.24.0):
+ dependencies:
+ '@antfu/utils': 0.7.10
+ '@babel/generator': 7.26.0
+ '@babel/parser': 7.26.0
+ '@rollup/pluginutils': 5.1.3(rollup@4.24.0)
+ ast-kit: 0.12.2
+ magic-string-ast: 0.6.2
+ unplugin: 1.14.1
+ transitivePeerDependencies:
+ - rollup
+ - webpack-sources
+
unplugin-vue-router@0.10.8(rollup@4.24.0)(vue-router@4.4.5(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3)):
dependencies:
'@babel/types': 7.26.0
@@ -10526,6 +11461,12 @@ snapshots:
webpack-virtual-modules@0.6.2: {}
+ whatwg-encoding@3.1.1:
+ dependencies:
+ iconv-lite: 0.6.3
+
+ whatwg-mimetype@4.0.0: {}
+
whatwg-url@5.0.0:
dependencies:
tr46: 0.0.3
@@ -10598,6 +11539,10 @@ snapshots:
yocto-queue@0.1.0: {}
+ yoctocolors@2.1.1: {}
+
+ yoga-wasm-web@0.3.3: {}
+
zhead@2.2.4: {}
zip-stream@6.0.1: