tests and formatting

This commit is contained in:
Saxon Fletcher committed 2026-01-29 16:05:17 +10:00
1 parent b7b1c76d31
commit 91cffa72fb
3 files changed
+396 -55

No files matched your search

@@ -2,7 +2,7 @@ import { describe, test, expect } from 'vitest'
import { resolveFrameworkLibraryKey } from './Connect.utils'
describe('Connect.utils:resolveFrameworkLibraryKey', () => {
test('should return null when framework is not provided', () => {
test('should return null if no framework provided', () => {
const result = resolveFrameworkLibraryKey({
framework: undefined,
frameworkVariant: undefined,
@@ -11,7 +11,7 @@ describe('Connect.utils:resolveFrameworkLibraryKey', () => {
expect(result).toBeNull()
})
test('should return null when framework is empty string', () => {
test('should return null for empty framework string', () => {
const result = resolveFrameworkLibraryKey({
framework: '',
frameworkVariant: undefined,
@@ -20,75 +20,63 @@ describe('Connect.utils:resolveFrameworkLibraryKey', () => {
expect(result).toBeNull()
})
test('should return library directly if provided', () => {
test('should return explicit library if provided', () => {
const result = resolveFrameworkLibraryKey({
framework: 'nextjs',
frameworkVariant: 'app',
library: 'supabasejs',
library: 'custom-library',
})
expect(result).toBe('supabasejs')
expect(result).toBe('custom-library')
})
test('should resolve library for nextjs with app variant', () => {
test('should resolve library for Next.js App Router', () => {
const result = resolveFrameworkLibraryKey({
framework: 'nextjs',
frameworkVariant: 'app',
library: undefined,
})
// nextjs > app > supabasejs
// Next.js App Router has supabasejs as its library
expect(result).toBe('supabasejs')
})
test('should resolve library for nextjs with pages variant', () => {
test('should resolve library for Next.js Pages Router', () => {
const result = resolveFrameworkLibraryKey({
framework: 'nextjs',
frameworkVariant: 'pages',
library: undefined,
})
// nextjs > pages > supabasejs
expect(result).toBe('supabasejs')
})
test('should resolve library for react with vite variant', () => {
test('should resolve library for React with Vite variant', () => {
const result = resolveFrameworkLibraryKey({
framework: 'react',
frameworkVariant: 'vite',
library: undefined,
})
// react > vite > supabasejs
expect(result).toBe('supabasejs')
})
test('should resolve library for react with create-react-app variant', () => {
test('should resolve library for React with Create React App variant', () => {
const result = resolveFrameworkLibraryKey({
framework: 'react',
frameworkVariant: 'create-react-app',
library: undefined,
})
// react > create-react-app > supabasejs
expect(result).toBe('supabasejs')
})
test('should resolve library for framework without variants (nuxt)', () => {
const result = resolveFrameworkLibraryKey({
framework: 'nuxt',
frameworkVariant: undefined,
library: undefined,
})
// nuxt has single child: supabasejs
expect(result).toBe('supabasejs')
})
test('should resolve library for framework without variants (remix)', () => {
test('should resolve library for framework without variants (Remix)', () => {
const result = resolveFrameworkLibraryKey({
framework: 'remix',
frameworkVariant: undefined,
library: undefined,
})
// Remix has single child which is supabasejs
expect(result).toBe('supabasejs')
})
test('should resolve library for mobile framework (flutter)', () => {
test('should resolve library for Flutter', () => {
const result = resolveFrameworkLibraryKey({
framework: 'flutter',
frameworkVariant: undefined,
@@ -97,7 +85,7 @@ describe('Connect.utils:resolveFrameworkLibraryKey', () => {
expect(result).toBe('supabaseflutter')
})
test('should resolve library for mobile framework (swift)', () => {
test('should resolve library for Swift', () => {
const result = resolveFrameworkLibraryKey({
framework: 'swift',
frameworkVariant: undefined,
@@ -106,7 +94,7 @@ describe('Connect.utils:resolveFrameworkLibraryKey', () => {
expect(result).toBe('supabaseswift')
})
test('should resolve library for mobile framework (android kotlin)', () => {
test('should resolve library for Android Kotlin', () => {
const result = resolveFrameworkLibraryKey({
framework: 'androidkotlin',
frameworkVariant: undefined,
@@ -115,16 +103,7 @@ describe('Connect.utils:resolveFrameworkLibraryKey', () => {
expect(result).toBe('supabasekt')
})
test('should resolve library for expo react native', () => {
const result = resolveFrameworkLibraryKey({
framework: 'exporeactnative',
frameworkVariant: undefined,
library: undefined,
})
expect(result).toBe('supabasejs')
})
test('should resolve library for flask (python)', () => {
test('should resolve library for Flask (Python)', () => {
const result = resolveFrameworkLibraryKey({
framework: 'flask',
frameworkVariant: undefined,
@@ -133,6 +112,16 @@ describe('Connect.utils:resolveFrameworkLibraryKey', () => {
expect(result).toBe('supabasepy')
})
test('should fallback to first variant library when variant not specified for multi-variant framework', () => {
const result = resolveFrameworkLibraryKey({
framework: 'nextjs',
frameworkVariant: undefined,
library: undefined,
})
// Should get library from first variant (app router)
expect(result).toBe('supabasejs')
})
test('should return null for unknown framework', () => {
const result = resolveFrameworkLibraryKey({
framework: 'unknown-framework',
@@ -142,23 +131,93 @@ describe('Connect.utils:resolveFrameworkLibraryKey', () => {
expect(result).toBeNull()
})
test('should fallback to first variant when frameworkVariant not specified for multi-variant framework', () => {
test('should handle SvelteKit framework', () => {
const result = resolveFrameworkLibraryKey({
framework: 'nextjs',
framework: 'sveltekit',
frameworkVariant: undefined,
library: undefined,
})
// Should use first variant (app) and its first library
expect(result).toBe('supabasejs')
})
test('should handle invalid variant by falling back', () => {
test('should handle Nuxt framework', () => {
const result = resolveFrameworkLibraryKey({
framework: 'nextjs',
frameworkVariant: 'invalid-variant',
framework: 'nuxt',
frameworkVariant: undefined,
library: undefined,
})
expect(result).toBe('supabasejs')
})
test('should handle Vue.js framework', () => {
const result = resolveFrameworkLibraryKey({
framework: 'vuejs',
frameworkVariant: undefined,
library: undefined,
})
expect(result).toBe('supabasejs')
})
test('should handle Solid.js framework', () => {
const result = resolveFrameworkLibraryKey({
framework: 'solidjs',
frameworkVariant: undefined,
library: undefined,
})
expect(result).toBe('supabasejs')
})
test('should handle Astro framework', () => {
const result = resolveFrameworkLibraryKey({
framework: 'astro',
frameworkVariant: undefined,
library: undefined,
})
expect(result).toBe('supabasejs')
})
test('should handle Expo React Native', () => {
const result = resolveFrameworkLibraryKey({
framework: 'exporeactnative',
frameworkVariant: undefined,
library: undefined,
})
expect(result).toBe('supabasejs')
})
test('should handle Ionic React', () => {
const result = resolveFrameworkLibraryKey({
framework: 'ionicreact',
frameworkVariant: undefined,
library: undefined,
})
expect(result).toBe('supabasejs')
})
test('should handle Ionic Angular', () => {
const result = resolveFrameworkLibraryKey({
framework: 'ionicangular',
frameworkVariant: undefined,
library: undefined,
})
expect(result).toBe('supabasejs')
})
test('should handle Refine framework', () => {
const result = resolveFrameworkLibraryKey({
framework: 'refine',
frameworkVariant: undefined,
library: undefined,
})
expect(result).toBe('supabasejs')
})
test('should handle TanStack Start framework', () => {
const result = resolveFrameworkLibraryKey({
framework: 'tanstack',
frameworkVariant: undefined,
library: undefined,
})
// Invalid variant should fallback to first child
expect(result).toBe('supabasejs')
})
})
+1
View File
@@ -193,6 +193,7 @@
"eslint-plugin-barrel-files": "^2.0.7",
"graphql-ws": "5.14.1",
"import-in-the-middle": "^2.0.0",
"jsdom": "^27.4.0",
"jsdom-testing-mocks": "^1.13.1",
"libpg-query": "17.6.0",
"msw": "^2.3.0",
+292 -11
View File
@@ -771,7 +771,7 @@ importers:
version: 4.3.2(supports-color@8.1.1)(typescript@5.9.3)(vite@7.3.1(@types/node@22.19.7)(jiti@2.6.1)(sass@1.97.2)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))
vitest:
specifier: 'catalog:'
version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.7)(@vitest/ui@3.2.4)(jiti@2.6.1)(msw@2.12.7(@types/node@22.19.7)(typescript@5.9.3))(sass@1.97.2)(supports-color@8.1.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2)
version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.7)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@27.4.0(@noble/hashes@1.8.0)(supports-color@8.1.1))(msw@2.12.7(@types/node@22.19.7)(typescript@5.9.3))(sass@1.97.2)(supports-color@8.1.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2)
apps/studio:
dependencies:
@@ -1306,7 +1306,7 @@ importers:
version: 4.3.2(supports-color@8.1.1)(typescript@5.9.3)(vite@7.3.1(@types/node@22.19.7)(jiti@2.6.1)(sass@1.97.2)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))
vitest:
specifier: 'catalog:'
version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.7)(@vitest/ui@3.2.4)(jiti@2.6.1)(msw@2.12.7(@types/node@22.19.7)(typescript@5.9.3))(sass@1.97.2)(supports-color@8.1.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2)
version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.7)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@27.4.0(@noble/hashes@1.8.0)(supports-color@8.1.1))(msw@2.12.7(@types/node@22.19.7)(typescript@5.9.3))(sass@1.97.2)(supports-color@8.1.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2)
apps/ui-library:
dependencies:
@@ -2007,7 +2007,7 @@ importers:
version: 7.3.1(@types/node@22.19.7)(jiti@2.6.1)(sass@1.97.2)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2)
vitest:
specifier: 'catalog:'
version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.7)(@vitest/ui@3.2.4)(jiti@2.6.1)(msw@2.12.7(@types/node@22.19.7)(typescript@5.9.3))(sass@1.97.2)(supports-color@8.1.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2)
version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.7)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@27.4.0(@noble/hashes@1.8.0)(supports-color@8.1.1))(msw@2.12.7(@types/node@22.19.7)(typescript@5.9.3))(sass@1.97.2)(supports-color@8.1.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2)
packages/api-types:
devDependencies:
@@ -2113,7 +2113,7 @@ importers:
version: 5.9.3
vitest:
specifier: 'catalog:'
version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.7)(@vitest/ui@3.2.4)(jiti@2.6.1)(msw@2.12.7(@types/node@22.19.7)(typescript@5.9.3))(sass@1.97.2)(supports-color@8.1.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2)
version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.7)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@27.4.0(@noble/hashes@1.8.0)(supports-color@8.1.1))(msw@2.12.7(@types/node@22.19.7)(typescript@5.9.3))(sass@1.97.2)(supports-color@8.1.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2)
packages/config:
dependencies:
@@ -2248,7 +2248,7 @@ importers:
version: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2)
vitest:
specifier: 'catalog:'
version: 3.2.4(@types/debug@4.1.12)(@types/node@25.0.9)(@vitest/ui@3.2.4)(jiti@2.6.1)(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(sass@1.97.2)(supports-color@8.1.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2)
version: 3.2.4(@types/debug@4.1.12)(@types/node@25.0.9)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@27.4.0(@noble/hashes@1.8.0)(supports-color@8.1.1))(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(sass@1.97.2)(supports-color@8.1.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2)
packages/shared-data:
devDependencies:
@@ -2497,7 +2497,7 @@ importers:
version: 7.3.1(@types/node@22.19.7)(jiti@2.6.1)(sass@1.97.2)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2)
vitest:
specifier: 'catalog:'
version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.7)(@vitest/ui@3.2.4)(jiti@2.6.1)(msw@2.12.7(@types/node@22.19.7)(typescript@5.9.3))(sass@1.97.2)(supports-color@8.1.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2)
version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.7)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@27.4.0(@noble/hashes@1.8.0)(supports-color@8.1.1))(msw@2.12.7(@types/node@22.19.7)(typescript@5.9.3))(sass@1.97.2)(supports-color@8.1.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2)
packages/ui-patterns:
dependencies:
@@ -2699,10 +2699,13 @@ importers:
version: 7.3.1(@types/node@22.19.7)(jiti@2.6.1)(sass@1.97.2)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2)
vitest:
specifier: 'catalog:'
version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.7)(@vitest/ui@3.2.4)(jiti@2.6.1)(msw@2.12.7(@types/node@22.19.7)(typescript@5.9.3))(sass@1.97.2)(supports-color@8.1.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2)
version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.7)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@27.4.0(@noble/hashes@1.8.0)(supports-color@8.1.1))(msw@2.12.7(@types/node@22.19.7)(typescript@5.9.3))(sass@1.97.2)(supports-color@8.1.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2)
packages:
'@acemir/cssom@0.9.31':
resolution: {integrity: sha512-ZnR3GSaH+/vJ0YlHau21FjfLYjMpYVIzTD8M8vIEQvIGxeOXyXdzCI140rrCY862p/C/BbzWsjc1dgnM9mkoTA==}
'@adobe/css-tools@4.4.4':
resolution: {integrity: sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==}
@@ -2795,6 +2798,15 @@ packages:
peerDependencies:
graphql: '*'
'@asamuzakjp/css-color@4.1.1':
resolution: {integrity: sha512-B0Hv6G3gWGMn0xKJ0txEi/jM5iFpT3MfDxmhZFb4W047GvytCf1DHQ1D69W3zHI4yWe2aTZAA0JnbMZ7Xc8DuQ==}
'@asamuzakjp/dom-selector@6.7.6':
resolution: {integrity: sha512-hBaJER6A9MpdG3WgdlOolHmbOYvSk46y7IQN/1+iqiCuUu6iWdQrs9DGKF8ocqsEqWujWf/V7b7vaDgiUmIvUg==}
'@asamuzakjp/nwsapi@2.3.9':
resolution: {integrity: sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==}
'@aws-crypto/crc32@5.2.0':
resolution: {integrity: sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==}
engines: {node: '>=16.0.0'}
@@ -3294,6 +3306,38 @@ packages:
'@effect-ts/otel-node':
optional: true
'@csstools/color-helpers@5.1.0':
resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==}
engines: {node: '>=18'}
'@csstools/css-calc@2.1.4':
resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==}
engines: {node: '>=18'}
peerDependencies:
'@csstools/css-parser-algorithms': ^3.0.5
'@csstools/css-tokenizer': ^3.0.4
'@csstools/css-color-parser@3.1.0':
resolution: {integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==}
engines: {node: '>=18'}
peerDependencies:
'@csstools/css-parser-algorithms': ^3.0.5
'@csstools/css-tokenizer': ^3.0.4
'@csstools/css-parser-algorithms@3.0.5':
resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==}
engines: {node: '>=18'}
peerDependencies:
'@csstools/css-tokenizer': ^3.0.4
'@csstools/css-syntax-patches-for-csstree@1.0.25':
resolution: {integrity: sha512-g0Kw9W3vjx5BEBAF8c5Fm2NcB/Fs8jJXh85aXqwEXiL+tqtOut07TWgyaGzAAfTM+gKckrrncyeGEZPcaRgm2Q==}
engines: {node: '>=18'}
'@csstools/css-tokenizer@3.0.4':
resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==}
engines: {node: '>=18'}
'@ctrl/tinycolor@3.6.1':
resolution: {integrity: sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==}
engines: {node: '>=10'}
@@ -3685,6 +3729,15 @@ packages:
resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@exodus/bytes@1.9.0':
resolution: {integrity: sha512-lagqsvnk09NKogQaN/XrtlWeUF8SRhT12odMvbTIIaVObqzwAogL6jhR4DAp0gPuKoM1AOVrKUshJpRdpMFrww==}
engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
peerDependencies:
'@noble/hashes': ^1.8.0 || ^2.0.0
peerDependenciesMeta:
'@noble/hashes':
optional: true
'@exodus/schemasafe@1.3.0':
resolution: {integrity: sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==}
@@ -9441,6 +9494,9 @@ packages:
bezier-easing@2.1.0:
resolution: {integrity: sha512-gbIqZ/eslnUFC1tjEvtz0sgx+xTK20wDnYMIA27VA04R7w6xxXQPZDbibjA9DTWZRA2CXtwHykkVzlCaAJAZig==}
bidi-js@1.0.3:
resolution: {integrity: sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==}
big-integer@1.6.52:
resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==}
engines: {node: '>=0.6'}
@@ -10235,6 +10291,10 @@ packages:
resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==}
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
cssstyle@5.3.7:
resolution: {integrity: sha512-7D2EPVltRrsTkhpQmksIu+LxeWAIEk6wRDMJ1qljlv+CKHJM+cJLlfhWIzNA44eAsHXSNe3+vO6DW1yCYx8SuQ==}
engines: {node: '>=20'}
csstype@3.1.3:
resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
@@ -10414,6 +10474,10 @@ packages:
resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==}
engines: {node: '>= 12'}
data-urls@6.0.1:
resolution: {integrity: sha512-euIQENZg6x8mj3fO6o9+fOW8MimUI4PpD/fZBhJfeioZVy9TUpM4UY7KjQNVZFlqwJ0UdzRDzkycB997HEq1BQ==}
engines: {node: '>=20'}
data-view-buffer@1.0.2:
resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==}
engines: {node: '>= 0.4'}
@@ -10508,6 +10572,9 @@ packages:
decimal.js-light@2.5.1:
resolution: {integrity: sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==}
decimal.js@10.6.0:
resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==}
decko@1.2.0:
resolution: {integrity: sha512-m8FnyHXV1QX+S1cl+KPFDIl6NMkxtKsy6+U/aYyjrOqWMuwAwYWu7ePqrsUHtDR5Y8Yk2pi/KIDSgF+vT4cPOQ==}
@@ -12244,6 +12311,10 @@ packages:
hosted-git-info@2.8.9:
resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
html-encoding-sniffer@6.0.0:
resolution: {integrity: sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg==}
engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
html-escaper@2.0.2:
resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
@@ -12683,6 +12754,9 @@ packages:
resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==}
engines: {node: '>=0.10.0'}
is-potential-custom-element-name@1.0.1:
resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
is-primitive@3.0.1:
resolution: {integrity: sha512-GljRxhWvlCNRfZyORiH77FwdFwGcMO620o37EOYC0ORWdq+WYNVqW0w2Juzew4M+L81l6/QS3t5gkkihyRqv9w==}
engines: {node: '>=0.10.0'}
@@ -12957,6 +13031,15 @@ packages:
resolution: {integrity: sha512-wLrulXiLpjmcUYOYGEvz4XARkrmdVpyxzdBl9IAMbQ+ib2/UhUTRCn49McdNfXLff2ysGBUms49ZKX0LR1Q0gg==}
engines: {node: '>=14'}
jsdom@27.4.0:
resolution: {integrity: sha512-mjzqwWRD9Y1J1KUi7W97Gja1bwOOM5Ug0EZ6UDK3xS7j7mndrkwozHtSblfomlzyB4NepioNt+B2sOSzczVgtQ==}
engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
peerDependencies:
canvas: ^3.0.0
peerDependenciesMeta:
canvas:
optional: true
jsep@1.4.0:
resolution: {integrity: sha512-B7qPcEVE3NVkmSJbaYxvv4cHkVW7DQsZz13pUMrfS8z8Q/BuShN+gcTXrUlPiGqM2/t/EEaI030bpxMqY8gMlw==}
engines: {node: '>= 10.16.0'}
@@ -14818,6 +14901,9 @@ packages:
parse5@7.3.0:
resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==}
parse5@8.0.0:
resolution: {integrity: sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==}
parseurl@1.3.3:
resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
engines: {node: '>= 0.8'}
@@ -16395,6 +16481,10 @@ packages:
resolution: {integrity: sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==}
engines: {node: '>=11.0.0'}
saxes@6.0.0:
resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==}
engines: {node: '>=v12.22.7'}
scheduler@0.23.2:
resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
@@ -17112,6 +17202,9 @@ packages:
peerDependencies:
react: ^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
symbol-tree@3.2.4:
resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
sync-fetch@0.6.0:
resolution: {integrity: sha512-IELLEvzHuCfc1uTsshPK58ViSdNqXxlml1U+fmwJIKLYKOr/rAtBrorE2RYm5IHaMpDNlmC0fr1LAvdXvyheEQ==}
engines: {node: '>=18'}
@@ -17351,6 +17444,10 @@ packages:
tr46@0.0.3:
resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
tr46@6.0.0:
resolution: {integrity: sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==}
engines: {node: '>=20'}
tree-dump@1.1.0:
resolution: {integrity: sha512-rMuvhU4MCDbcbnleZTFezWsaZXRFemSqAM+7jPnzUl1fo9w3YEKOxAeui0fz3OI4EU4hf23iyA7uQRVko+UaBA==}
engines: {node: '>=10.0'}
@@ -18239,6 +18336,10 @@ packages:
w3c-keyname@2.2.8:
resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==}
w3c-xmlserializer@5.0.0:
resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==}
engines: {node: '>=18'}
warning@4.0.3:
resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==}
@@ -18266,6 +18367,10 @@ packages:
webidl-conversions@3.0.1:
resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
webidl-conversions@8.0.1:
resolution: {integrity: sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==}
engines: {node: '>=20'}
webpack-bundle-analyzer@4.10.1:
resolution: {integrity: sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ==}
engines: {node: '>= 10.13.0'}
@@ -18300,6 +18405,14 @@ packages:
resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==}
engines: {node: '>=18'}
whatwg-mimetype@5.0.0:
resolution: {integrity: sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw==}
engines: {node: '>=20'}
whatwg-url@15.1.0:
resolution: {integrity: sha512-2ytDk0kiEj/yu90JOAp44PVPUkO9+jVhyf+SybKlRHSDlvOOZhdPIrr7xTH64l4WixO2cP+wQIcgujkGBPPz6g==}
engines: {node: '>=20'}
whatwg-url@5.0.0:
resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
@@ -18415,6 +18528,10 @@ packages:
xml-lexer@0.2.2:
resolution: {integrity: sha512-G0i98epIwiUEiKmMcavmVdhtymW+pCAohMRgybyIME9ygfVu8QheIi+YoQh3ngiThsT0SQzJT4R0sKDEv8Ou0w==}
xml-name-validator@5.0.0:
resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==}
engines: {node: '>=18'}
xml-reader@2.4.3:
resolution: {integrity: sha512-xWldrIxjeAMAu6+HSf9t50ot1uL5M+BtOidRCWHXIeewvSeIpscWCsp4Zxjk8kHHhdqFBrfK8U0EJeCcnyQ/gA==}
@@ -18422,6 +18539,9 @@ packages:
resolution: {integrity: sha512-bx8Q1STctnNaaDymWnkfQLKofs0mGNN7rLLapJlGuV3VlvegD7Ls4ggMjE3aUSWItCCzU0PEv45lI87iSigiCA==}
engines: {node: '>=20.0'}
xmlchars@2.2.0:
resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
xss@1.0.15:
resolution: {integrity: sha512-FVdlVVC67WOIPvfOwhoMETV72f6GbW7aOabBC3WxN/oUdoEMDyLz4OgRv5/gck2ZeNqEQu+Tb0kloovXOfpYVg==}
engines: {node: '>= 0.10.0'}
@@ -18557,6 +18677,9 @@ packages:
snapshots:
'@acemir/cssom@0.9.31':
optional: true
'@adobe/css-tools@4.4.4': {}
'@ai-sdk/amazon-bedrock@3.0.73(zod@3.25.76)':
@@ -18674,6 +18797,27 @@ snapshots:
transitivePeerDependencies:
- encoding
'@asamuzakjp/css-color@4.1.1':
dependencies:
'@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
'@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
'@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
'@csstools/css-tokenizer': 3.0.4
lru-cache: 11.2.4
optional: true
'@asamuzakjp/dom-selector@6.7.6':
dependencies:
'@asamuzakjp/nwsapi': 2.3.9
bidi-js: 1.0.3
css-tree: 3.1.0
is-potential-custom-element-name: 1.0.1
lru-cache: 11.2.4
optional: true
'@asamuzakjp/nwsapi@2.3.9':
optional: true
'@aws-crypto/crc32@5.2.0':
dependencies:
'@aws-crypto/util': 5.2.0
@@ -19804,6 +19948,34 @@ snapshots:
ts-pattern: 5.9.0
type-fest: 4.41.0
'@csstools/color-helpers@5.1.0':
optional: true
'@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)':
dependencies:
'@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
'@csstools/css-tokenizer': 3.0.4
optional: true
'@csstools/css-color-parser@3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)':
dependencies:
'@csstools/color-helpers': 5.1.0
'@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
'@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
'@csstools/css-tokenizer': 3.0.4
optional: true
'@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)':
dependencies:
'@csstools/css-tokenizer': 3.0.4
optional: true
'@csstools/css-syntax-patches-for-csstree@1.0.25':
optional: true
'@csstools/css-tokenizer@3.0.4':
optional: true
'@ctrl/tinycolor@3.6.1': {}
'@dagrejs/dagre@1.1.8':
@@ -20178,6 +20350,11 @@ snapshots:
'@eslint/core': 0.17.0
levn: 0.4.1
'@exodus/bytes@1.9.0(@noble/hashes@1.8.0)':
optionalDependencies:
'@noble/hashes': 1.8.0
optional: true
'@exodus/schemasafe@1.3.0': {}
'@faceless-ui/modal@3.0.0-beta.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
@@ -26569,7 +26746,7 @@ snapshots:
std-env: 3.10.0
test-exclude: 7.0.1
tinyrainbow: 2.0.0
vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.7)(@vitest/ui@3.2.4)(jiti@2.6.1)(msw@2.12.7(@types/node@22.19.7)(typescript@5.9.3))(sass@1.97.2)(supports-color@8.1.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2)
vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.7)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@27.4.0(@noble/hashes@1.8.0)(supports-color@8.1.1))(msw@2.12.7(@types/node@22.19.7)(typescript@5.9.3))(sass@1.97.2)(supports-color@8.1.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2)
transitivePeerDependencies:
- supports-color
@@ -26628,7 +26805,7 @@ snapshots:
sirv: 3.0.2
tinyglobby: 0.2.15
tinyrainbow: 2.0.0
vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.7)(@vitest/ui@3.2.4)(jiti@2.6.1)(msw@2.12.7(@types/node@22.19.7)(typescript@5.9.3))(sass@1.97.2)(supports-color@8.1.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2)
vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.7)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@27.4.0(@noble/hashes@1.8.0)(supports-color@8.1.1))(msw@2.12.7(@types/node@22.19.7)(typescript@5.9.3))(sass@1.97.2)(supports-color@8.1.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2)
'@vitest/utils@3.2.4':
dependencies:
@@ -27316,6 +27493,11 @@ snapshots:
bezier-easing@2.1.0: {}
bidi-js@1.0.3:
dependencies:
require-from-string: 2.0.2
optional: true
big-integer@1.6.52: {}
big.js@5.2.2: {}
@@ -28256,6 +28438,14 @@ snapshots:
dependencies:
css-tree: 2.2.1
cssstyle@5.3.7:
dependencies:
'@asamuzakjp/css-color': 4.1.1
'@csstools/css-syntax-patches-for-csstree': 1.0.25
css-tree: 3.1.0
lru-cache: 11.2.4
optional: true
csstype@3.1.3: {}
csstype@3.2.3: {}
@@ -28457,6 +28647,12 @@ snapshots:
data-uri-to-buffer@4.0.1: {}
data-urls@6.0.1:
dependencies:
whatwg-mimetype: 5.0.0
whatwg-url: 15.1.0
optional: true
data-view-buffer@1.0.2:
dependencies:
call-bound: 1.0.4
@@ -28528,6 +28724,9 @@ snapshots:
decimal.js-light@2.5.1: {}
decimal.js@10.6.0:
optional: true
decko@1.2.0: {}
decode-named-character-reference@1.2.0:
@@ -30571,6 +30770,13 @@ snapshots:
hosted-git-info@2.8.9: {}
html-encoding-sniffer@6.0.0(@noble/hashes@1.8.0):
dependencies:
'@exodus/bytes': 1.9.0(@noble/hashes@1.8.0)
transitivePeerDependencies:
- '@noble/hashes'
optional: true
html-escaper@2.0.2: {}
html-to-image@1.11.13: {}
@@ -30979,6 +31185,9 @@ snapshots:
is-plain-object@5.0.0: {}
is-potential-custom-element-name@1.0.1:
optional: true
is-primitive@3.0.1: {}
is-promise@4.0.0: {}
@@ -31228,6 +31437,35 @@ snapshots:
bezier-easing: 2.1.0
css-mediaquery: 0.1.2
jsdom@27.4.0(@noble/hashes@1.8.0)(supports-color@8.1.1):
dependencies:
'@acemir/cssom': 0.9.31
'@asamuzakjp/dom-selector': 6.7.6
'@exodus/bytes': 1.9.0(@noble/hashes@1.8.0)
cssstyle: 5.3.7
data-urls: 6.0.1
decimal.js: 10.6.0
html-encoding-sniffer: 6.0.0(@noble/hashes@1.8.0)
http-proxy-agent: 7.0.2(supports-color@8.1.1)
https-proxy-agent: 7.0.6(supports-color@8.1.1)
is-potential-custom-element-name: 1.0.1
parse5: 8.0.0
saxes: 6.0.0
symbol-tree: 3.2.4
tough-cookie: 6.0.0
w3c-xmlserializer: 5.0.0
webidl-conversions: 8.0.1
whatwg-mimetype: 4.0.0
whatwg-url: 15.1.0
ws: 8.19.0
xml-name-validator: 5.0.0
transitivePeerDependencies:
- '@noble/hashes'
- bufferutil
- supports-color
- utf-8-validate
optional: true
jsep@1.4.0: {}
jsesc@3.0.2: {}
@@ -34072,6 +34310,11 @@ snapshots:
dependencies:
entities: 6.0.1
parse5@8.0.0:
dependencies:
entities: 6.0.1
optional: true
parseurl@1.3.3: {}
pascal-case@3.1.2:
@@ -35972,6 +36215,11 @@ snapshots:
sax@1.4.4: {}
saxes@6.0.0:
dependencies:
xmlchars: 2.2.0
optional: true
scheduler@0.23.2:
dependencies:
loose-envify: 1.4.0
@@ -36918,6 +37166,9 @@ snapshots:
react: 18.3.1
use-sync-external-store: 1.6.0(react@18.3.1)
symbol-tree@3.2.4:
optional: true
sync-fetch@0.6.0:
dependencies:
node-fetch: 3.3.2
@@ -37193,6 +37444,11 @@ snapshots:
tr46@0.0.3: {}
tr46@6.0.0:
dependencies:
punycode: 2.3.1
optional: true
tree-dump@1.1.0(tslib@2.8.1):
dependencies:
tslib: 2.8.1
@@ -38088,7 +38344,7 @@ snapshots:
optionalDependencies:
vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2)
vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.19.7)(@vitest/ui@3.2.4)(jiti@2.6.1)(msw@2.12.7(@types/node@22.19.7)(typescript@5.9.3))(sass@1.97.2)(supports-color@8.1.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2):
vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.19.7)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@27.4.0(@noble/hashes@1.8.0)(supports-color@8.1.1))(msw@2.12.7(@types/node@22.19.7)(typescript@5.9.3))(sass@1.97.2)(supports-color@8.1.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2):
dependencies:
'@types/chai': 5.2.3
'@vitest/expect': 3.2.4
@@ -38117,6 +38373,7 @@ snapshots:
'@types/debug': 4.1.12
'@types/node': 22.19.7
'@vitest/ui': 3.2.4(vitest@3.2.4)
jsdom: 27.4.0(@noble/hashes@1.8.0)(supports-color@8.1.1)
transitivePeerDependencies:
- jiti
- less
@@ -38131,7 +38388,7 @@ snapshots:
- tsx
- yaml
vitest@3.2.4(@types/debug@4.1.12)(@types/node@25.0.9)(@vitest/ui@3.2.4)(jiti@2.6.1)(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(sass@1.97.2)(supports-color@8.1.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2):
vitest@3.2.4(@types/debug@4.1.12)(@types/node@25.0.9)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@27.4.0(@noble/hashes@1.8.0)(supports-color@8.1.1))(msw@2.12.7(@types/node@25.0.9)(typescript@5.9.3))(sass@1.97.2)(supports-color@8.1.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2):
dependencies:
'@types/chai': 5.2.3
'@vitest/expect': 3.2.4
@@ -38160,6 +38417,7 @@ snapshots:
'@types/debug': 4.1.12
'@types/node': 25.0.9
'@vitest/ui': 3.2.4(vitest@3.2.4)
jsdom: 27.4.0(@noble/hashes@1.8.0)(supports-color@8.1.1)
transitivePeerDependencies:
- jiti
- less
@@ -38216,6 +38474,11 @@ snapshots:
w3c-keyname@2.2.8: {}
w3c-xmlserializer@5.0.0:
dependencies:
xml-name-validator: 5.0.0
optional: true
warning@4.0.3:
dependencies:
loose-envify: 1.4.0
@@ -38239,6 +38502,9 @@ snapshots:
webidl-conversions@3.0.1: {}
webidl-conversions@8.0.1:
optional: true
webpack-bundle-analyzer@4.10.1:
dependencies:
'@discoveryjs/json-ext': 0.5.7
@@ -38335,6 +38601,15 @@ snapshots:
whatwg-mimetype@4.0.0: {}
whatwg-mimetype@5.0.0:
optional: true
whatwg-url@15.1.0:
dependencies:
tr46: 6.0.0
webidl-conversions: 8.0.1
optional: true
whatwg-url@5.0.0:
dependencies:
tr46: 0.0.3
@@ -38462,6 +38737,9 @@ snapshots:
dependencies:
eventemitter3: 2.0.3
xml-name-validator@5.0.0:
optional: true
xml-reader@2.4.3:
dependencies:
eventemitter3: 2.0.3
@@ -38474,6 +38752,9 @@ snapshots:
'@oozcitak/util': 10.0.0
js-yaml: 4.1.1
xmlchars@2.2.0:
optional: true
xss@1.0.15:
dependencies:
commander: 2.20.3