diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6ac54f6579..cdf1d5dc17 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -105,6 +105,15 @@ jobs: name: NAPI Build (Ubuntu E2E) runs-on: ubuntu-latest needs: napi-smoke + permissions: + contents: read + # Uploads to the remote task cache authenticate with a GitHub Actions OIDC token. + # Fork pull requests never receive one. + id-token: write + env: + VP_REMOTE_CACHE_URL: https://voidzero-remote-cache.voidzero-docs.workers.dev/projects/oxc-angular-compiler + # Only pushes to main upload. Pull requests only read, which needs no credentials. + VP_REMOTE_CACHE: ${{ github.event_name == 'push' && 'read-write' || 'read' }} steps: - uses: taiki-e/checkout-action@7d1e50e93dc4fb3bba58f85018fadf77898aee8b # v1.4.2 @@ -141,5 +150,7 @@ jobs: run: | pnpm --filter ./napi/angular-compiler exec playwright install --with-deps pnpm test:e2e + # `vp run compare` runs the harness's `compare --fixtures` in two tasks: the ngtsc baseline, + # which is cached, then the comparison with Oxc (see vite.config.ts). - name: Compare tests - run: pnpm --filter @oxc-angular/compare compare --fixtures + run: pnpm exec vp run compare diff --git a/.gitignore b/.gitignore index 95ddb197a7..14deb316bb 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,7 @@ node_modules /*.jsx /*.ts /*.tsx +!/vite.config.ts /*.ast.txt /*.cfg.txt /*.dot diff --git a/napi/angular-compiler/e2e/compare/fixtures/ng-baseline.ts b/napi/angular-compiler/e2e/compare/fixtures/ng-baseline.ts new file mode 100644 index 0000000000..81968310cb --- /dev/null +++ b/napi/angular-compiler/e2e/compare/fixtures/ng-baseline.ts @@ -0,0 +1,193 @@ +/** + * The fixtures' ngtsc reference outputs, and the baseline file that saves them. + * + * `scripts/generate-ng-baseline.ts` compiles every fixture with ngtsc and saves the outputs, and + * `--fixtures --ng-baseline ` reads them instead of compiling. This module loads only the + * Angular side of the harness, never Oxc or the comparison. + */ + +import { createHash } from 'node:crypto' +import { dirname, join, relative } from 'node:path' +import { fileURLToPath } from 'node:url' + +import ts from 'typescript' + +import { + compileWithNgtsc, + generateComponentSource, + type NgtscMode, +} from '../src/compilers/angular-ngtsc.js' +import type { CompilerOutput } from '../src/types.js' +import type { ComponentMetadata, Fixture } from './types.js' + +/** + * Path to the tsconfig.json used for fixture compilation. + * Using a shared tsconfig enables NgtscProgram caching across all fixtures, + * which dramatically speeds up compilation by reusing: + * - Parsed source files (especially @angular/*) + * - Module resolution results + * - The NgtscProgram for incremental compilation + */ +export const FIXTURE_TSCONFIG_PATH = join( + dirname(fileURLToPath(import.meta.url)), + '..', + 'tsconfig.json', +) + +/** + * The path ngtsc compiles a fixture at. Fixture paths look like `/fixtures/...`, which lies + * outside the project root (the tsconfig directory), and ngtsc leaves `filePath` and + * `lineNumber` out of `ɵsetClassDebugInfo` for a file outside the project, which never happens in + * a real build. Placing the file under the project root makes ngtsc emit them. + */ +function ngtscFilePath(filePath: string): string { + return join(dirname(FIXTURE_TSCONFIG_PATH), filePath) +} + +/** + * The ngtsc mode a fixture's reference output comes from: its `ngtscMode`, or else `full` when + * the file has components and each is standalone and provably imports nothing, and `local` + * otherwise. + * + * The file alone shows such a component has no directive dependencies, so Oxc compiles its + * template like a full build does, with the DOM-only instructions; ngtsc's local mode assumes + * dependencies and never uses them. Any other component needs what local mode assumes about + * the imports it cannot see. + */ +function referenceNgtscMode(fixture: Fixture, source: string): NgtscMode { + if (fixture.ngtscMode) { + return fixture.ngtscMode + } + const file = ts.createSourceFile('fixture.ts', source, ts.ScriptTarget.Latest) + let components = 0 + let allWithoutImports = true + const visit = (node: ts.Node): void => { + if (ts.isClassDeclaration(node)) { + for (const decorator of ts.getDecorators(node) ?? []) { + const call = decorator.expression + if ( + ts.isCallExpression(call) && + ts.isIdentifier(call.expression) && + call.expression.text === 'Component' + ) { + components++ + const config = call.arguments[0] + if ( + config === undefined || + !ts.isObjectLiteralExpression(config) || + !isStandaloneWithoutImports(config) + ) { + allWithoutImports = false + } + } + } + } + ts.forEachChild(node, visit) + } + visit(file) + return components > 0 && allWithoutImports ? 'full' : 'local' +} + +/** + * Whether a `@Component` config is standalone and its `imports` and `deferredImports` are each + * absent or `[]`, with no spread or shorthand property that could hide them. + */ +function isStandaloneWithoutImports(config: ts.ObjectLiteralExpression): boolean { + return config.properties.every((property) => { + if (!ts.isPropertyAssignment(property)) { + return false + } + const key = + ts.isIdentifier(property.name) || ts.isStringLiteral(property.name) + ? property.name.text + : undefined + if (key === 'standalone') { + return property.initializer.kind !== ts.SyntaxKind.FalseKeyword + } + if (key === 'imports' || key === 'deferredImports') { + return ( + ts.isArrayLiteralExpression(property.initializer) && + property.initializer.elements.length === 0 + ) + } + return true + }) +} +/** The component source generated from a component fixture's template and metadata. */ +export function componentSource(fixture: Fixture): string { + // Extract metadata from fixture for full component compilation testing + const metadata: ComponentMetadata = { + selector: fixture.selector, + standalone: fixture.standalone, + encapsulation: fixture.encapsulation, + changeDetection: fixture.changeDetection, + host: fixture.host, + preserveWhitespaces: fixture.preserveWhitespaces, + providers: fixture.providers, + viewProviders: fixture.viewProviders, + animations: fixture.animations, + schemas: fixture.schemas, + imports: fixture.imports, + hostDirectives: fixture.hostDirectives, + styles: fixture.styles, + exportAs: fixture.exportAs, + } + + return generateComponentSource(fixture.template!, fixture.className, metadata) +} + +/** What ngtsc compiles for a fixture. */ +type NgtscCompilation = { source: string; filePath: string; mode: NgtscMode } + +/** + * What the runner's test functions compile with ngtsc for a fixture, or `undefined` for a fixture + * they don't. The paths must stay those the test functions compile with Oxc. + */ +export function ngtscCompilation(fixture: Fixture): NgtscCompilation | undefined { + if (fixture.skip || fixture.skipReason) { + return undefined + } + const fixtureType = fixture.type || 'component' + if (fixtureType === 'factory' || fixtureType === 'directive' || fixtureType === 'injectable') { + return undefined + } + if (fixtureType === 'full-transform' || fixtureType === 'class-metadata') { + const source = fixture.sourceCode + const filePath = + fixtureType === 'full-transform' + ? ngtscFilePath(fixture.filePath || `${fixture.category}/${fixture.name}.ts`) + : join(dirname(FIXTURE_TSCONFIG_PATH), 'fixtures', fixture.category, `${fixture.name}.ts`) + return source ? { source, filePath, mode: referenceNgtscMode(fixture, source) } : undefined + } + const source = componentSource(fixture) + const filePath = fixture.filePath || `fixtures/${fixture.category}/${fixture.name}.component.ts` + return { source, filePath: ngtscFilePath(filePath), mode: referenceNgtscMode(fixture, source) } +} + +/** + * The baseline key of a compilation: a hash of its mode, path and source. The path is relative to + * the project root, except on a case-insensitive file system, where ngtsc embeds the absolute + * path in i18n message names. + */ +export function ngBaselineKey({ source, filePath, mode }: NgtscCompilation): string { + const path = ts.sys.useCaseSensitiveFileNames + ? relative(dirname(FIXTURE_TSCONFIG_PATH), filePath) + : filePath + return createHash('sha256') + .update(JSON.stringify([mode, path, source])) + .digest('hex') +} + +/** The ngtsc outputs read from `--ng-baseline`, by `ngBaselineKey`. */ +export const ngBaseline: { outputs?: Record } = {} + +/** A fixture's ngtsc output: from the baseline if it has it, compiled otherwise. */ +export async function compileReference(fixture: Fixture): Promise { + const compilation = ngtscCompilation(fixture)! + const saved = ngBaseline.outputs?.[ngBaselineKey(compilation)] + if (saved) { + return { ...saved, compilationTimeMs: 0 } + } + const { source, filePath, mode } = compilation + return compileWithNgtsc(source, filePath, { tsconfigPath: FIXTURE_TSCONFIG_PATH, mode }) +} diff --git a/napi/angular-compiler/e2e/compare/fixtures/runner.ts b/napi/angular-compiler/e2e/compare/fixtures/runner.ts index 8b674ae826..21652d6f35 100644 --- a/napi/angular-compiler/e2e/compare/fixtures/runner.ts +++ b/napi/angular-compiler/e2e/compare/fixtures/runner.ts @@ -13,42 +13,23 @@ import { cpus } from 'os' import { VERSION as ANGULAR_VERSION } from '@angular/compiler' import { compileFactory, Severity } from '@oxc-angular/vite/api' import pLimit from 'p-limit' -import ts from 'typescript' import { compareFullFileSemantically, type ImportDiff } from '../src/compare.js' -import { - compileWithNgtsc, - generateComponentSource, - printDiagnosticWarningSummary, - type NgtscMode, -} from '../src/compilers/angular-ngtsc.js' +import { printDiagnosticWarningSummary } from '../src/compilers/angular-ngtsc.js' import { compileWithOxcFullFile } from '../src/compilers/oxc.js' +import { loadNgBaseline } from '../src/ng-baseline.js' import { discoverFixtures } from './index.js' import { GLOBAL_KNOWN_DIFFERENCES, KNOWN_DIFFERENCES, type KnownDifference, } from './known-differences.js' - -/** - * Path to the tsconfig.json used for fixture compilation. - * Using a shared tsconfig enables NgtscProgram caching across all fixtures, - * which dramatically speeds up compilation by reusing: - * - Parsed source files (especially @angular/*) - * - Module resolution results - * - The NgtscProgram for incremental compilation - */ -const FIXTURE_TSCONFIG_PATH = join(dirname(fileURLToPath(import.meta.url)), '..', 'tsconfig.json') - -/** - * The path ngtsc compiles a fixture at. Fixture paths look like `/fixtures/...`, which lies - * outside the project root (the tsconfig directory), and ngtsc leaves `filePath` and - * `lineNumber` out of `ɵsetClassDebugInfo` for a file outside the project, which never happens in - * a real build. Placing the file under the project root makes ngtsc emit them. - */ -function ngtscFilePath(filePath: string): string { - return join(dirname(FIXTURE_TSCONFIG_PATH), filePath) -} +import { + compileReference, + componentSource, + FIXTURE_TSCONFIG_PATH, + ngBaseline, +} from './ng-baseline.js' /** * The `rootDirs` Oxc compiles a fixture with, so that `filePath` relative to it is the path @@ -59,75 +40,6 @@ function oxcRootDirs(filePath: string): string[] { return [isAbsolute(filePath) ? '/' : process.cwd()] } -/** - * The ngtsc mode a fixture's reference output comes from: its `ngtscMode`, or else `full` when - * the file has components and each is standalone and provably imports nothing, and `local` - * otherwise. - * - * The file alone shows such a component has no directive dependencies, so Oxc compiles its - * template like a full build does, with the DOM-only instructions; ngtsc's local mode assumes - * dependencies and never uses them. Any other component needs what local mode assumes about - * the imports it cannot see. - */ -function referenceNgtscMode(fixture: Fixture, source: string): NgtscMode { - if (fixture.ngtscMode) { - return fixture.ngtscMode - } - const file = ts.createSourceFile('fixture.ts', source, ts.ScriptTarget.Latest) - let components = 0 - let allWithoutImports = true - const visit = (node: ts.Node): void => { - if (ts.isClassDeclaration(node)) { - for (const decorator of ts.getDecorators(node) ?? []) { - const call = decorator.expression - if ( - ts.isCallExpression(call) && - ts.isIdentifier(call.expression) && - call.expression.text === 'Component' - ) { - components++ - const config = call.arguments[0] - if ( - config === undefined || - !ts.isObjectLiteralExpression(config) || - !isStandaloneWithoutImports(config) - ) { - allWithoutImports = false - } - } - } - } - ts.forEachChild(node, visit) - } - visit(file) - return components > 0 && allWithoutImports ? 'full' : 'local' -} - -/** - * Whether a `@Component` config is standalone and its `imports` and `deferredImports` are each - * absent or `[]`, with no spread or shorthand property that could hide them. - */ -function isStandaloneWithoutImports(config: ts.ObjectLiteralExpression): boolean { - return config.properties.every((property) => { - if (!ts.isPropertyAssignment(property)) { - return false - } - const key = - ts.isIdentifier(property.name) || ts.isStringLiteral(property.name) - ? property.name.text - : undefined - if (key === 'standalone') { - return property.initializer.kind !== ts.SyntaxKind.FalseKeyword - } - if (key === 'imports' || key === 'deferredImports') { - return ( - ts.isArrayLiteralExpression(property.initializer) && - property.initializer.elements.length === 0 - ) - } - return true - }) -} import type { Fixture, FixtureResult, @@ -135,7 +47,6 @@ import type { FixtureRunnerOptions, FixtureCompilerOutput, CategoryStats, - ComponentMetadata, FixtureType, } from './types.js' @@ -177,6 +88,9 @@ export async function runFixtures(options: FixtureRunnerOptions = {}): Promise { const filePath = fixture.filePath || `fixtures/${fixture.category}/${fixture.name}.component.ts` - // Extract metadata from fixture for full component compilation testing - const metadata: ComponentMetadata = { - selector: fixture.selector, - standalone: fixture.standalone, - encapsulation: fixture.encapsulation, - changeDetection: fixture.changeDetection, - host: fixture.host, - preserveWhitespaces: fixture.preserveWhitespaces, - providers: fixture.providers, - viewProviders: fixture.viewProviders, - animations: fixture.animations, - schemas: fixture.schemas, - imports: fixture.imports, - hostDirectives: fixture.hostDirectives, - styles: fixture.styles, - exportAs: fixture.exportAs, - } - // Generate the component source from template + metadata - const source = generateComponentSource(fixture.template!, fixture.className, metadata) + const source = componentSource(fixture) // Compile with Oxc full-file transform let oxcOutput: FixtureCompilerOutput @@ -395,10 +291,7 @@ async function testComponentFixture(fixture: Fixture, verbose?: boolean): Promis let tsOutput: FixtureCompilerOutput const tsStart = performance.now() try { - const result = await compileWithNgtsc(source, ngtscFilePath(filePath), { - tsconfigPath: FIXTURE_TSCONFIG_PATH, - mode: referenceNgtscMode(fixture, source), - }) + const result = await compileReference(fixture) tsOutput = { code: result.code, error: result.error, @@ -606,10 +499,7 @@ async function testFullTransformFixture( const tsStart = performance.now() try { - const result = await compileWithNgtsc(fixture.sourceCode, ngtscFilePath(filePath), { - mode: referenceNgtscMode(fixture, fixture.sourceCode), - tsconfigPath: FIXTURE_TSCONFIG_PATH, - }) + const result = await compileReference(fixture) tsOutput = { code: result.code, error: result.error, @@ -778,10 +668,7 @@ async function testClassMetadataFixture( let tsOutput: FixtureCompilerOutput const tsStart = performance.now() try { - const result = await compileWithNgtsc(fixture.sourceCode, filePath, { - mode: referenceNgtscMode(fixture, fixture.sourceCode), - tsconfigPath: FIXTURE_TSCONFIG_PATH, - }) + const result = await compileReference(fixture) tsOutput = { code: result.code, error: result.error, diff --git a/napi/angular-compiler/e2e/compare/fixtures/types.ts b/napi/angular-compiler/e2e/compare/fixtures/types.ts index 7a76a12ee8..196bc255ee 100644 --- a/napi/angular-compiler/e2e/compare/fixtures/types.ts +++ b/napi/angular-compiler/e2e/compare/fixtures/types.ts @@ -451,6 +451,9 @@ export interface FixtureRunnerOptions { /** Output path for the report */ outputPath?: string + + /** Read the fixtures' ngtsc outputs from this baseline file (see `ng-baseline.ts`) */ + ngBaselinePath?: string } // ============================================================================= diff --git a/napi/angular-compiler/e2e/compare/scripts/generate-ng-baseline.ts b/napi/angular-compiler/e2e/compare/scripts/generate-ng-baseline.ts new file mode 100644 index 0000000000..372bfd9b3e --- /dev/null +++ b/napi/angular-compiler/e2e/compare/scripts/generate-ng-baseline.ts @@ -0,0 +1,39 @@ +/** + * Compiles every fixture with ngtsc and saves the outputs, for `compare --fixtures --ng-baseline`. + * It loads only the Angular side of the harness, never Oxc or the comparison. + * + * Usage: oxnode scripts/generate-ng-baseline.ts [--category ]... [--save-ng-baseline ] + */ +import { resolve } from 'node:path' +import { parseArgs } from 'node:util' + +import { discoverFixtures } from '../fixtures/index.js' +import { compileReference, ngBaselineKey, ngtscCompilation } from '../fixtures/ng-baseline.js' +import { printDiagnosticWarningSummary } from '../src/compilers/angular-ngtsc.js' +import { saveNgBaseline } from '../src/ng-baseline.js' + +const { values } = parseArgs({ + options: { + category: { type: 'string', multiple: true }, + 'save-ng-baseline': { type: 'string', default: 'ng-baseline.json' }, + }, +}) + +const outputs: Record = {} +for (const fixture of await discoverFixtures(values.category)) { + const compilation = ngtscCompilation(fixture) + if (compilation) { + const { code, error } = await compileReference(fixture).catch((error: unknown) => ({ + code: '', + error: String(error), + })) + outputs[ngBaselineKey(compilation)] = { code, error } + } +} +printDiagnosticWarningSummary() + +// Sorted by key, without timings: the same fixtures and packages give the same file. +const sorted = Object.entries(outputs).sort(([a], [b]) => (a < b ? -1 : 1)) +const path = resolve(values['save-ng-baseline']) +await saveNgBaseline(Object.fromEntries(sorted), path) +console.log(`ngtsc baseline saved to: ${path} (${sorted.length} outputs)`) diff --git a/napi/angular-compiler/e2e/compare/src/compilers/angular-ngtsc.ts b/napi/angular-compiler/e2e/compare/src/compilers/angular-ngtsc.ts index 0a838114f7..f011643d87 100644 --- a/napi/angular-compiler/e2e/compare/src/compilers/angular-ngtsc.ts +++ b/napi/angular-compiler/e2e/compare/src/compilers/angular-ngtsc.ts @@ -632,16 +632,19 @@ export function loadTsConfig(tsconfigPath: string): { } const projectRoot = path.dirname(tsconfigPath) + // Without listing the project's files: callers use only the options, and NgtscProgram gets its + // files explicitly. Finding no files (TS18003) is then expected. const parsed = ts.parseJsonConfigFileContent( configFile.config, - ts.sys, + { ...ts.sys, readDirectory: () => [] }, projectRoot, undefined, tsconfigPath, ) + const parseErrors = parsed.errors.filter((d) => d.code !== 18003) - if (parsed.errors.length > 0) { - const errors = parsed.errors + if (parseErrors.length > 0) { + const errors = parseErrors .map((d) => ts.flattenDiagnosticMessageText(d.messageText, '\n')) .join('\n') throw new Error(`Failed to parse tsconfig: ${errors}`) diff --git a/napi/angular-compiler/e2e/compare/src/index.ts b/napi/angular-compiler/e2e/compare/src/index.ts index 04d1c7ccdd..11579f6960 100644 --- a/napi/angular-compiler/e2e/compare/src/index.ts +++ b/napi/angular-compiler/e2e/compare/src/index.ts @@ -177,6 +177,9 @@ try { categories: values.category, verbose: values.verbose, parallel: !values['no-parallel'] && values.parallel !== false, + // In fixture-only mode, --ng-baseline reads the fixtures' ngtsc outputs. + ngBaselinePath: + runFixturesOnly && values['ng-baseline'] ? resolve(values['ng-baseline']) : undefined, }) printFixtureSummary(fixtureReport) diff --git a/napi/angular-compiler/e2e/compare/src/ng-baseline.ts b/napi/angular-compiler/e2e/compare/src/ng-baseline.ts index 2763dc262b..5deac950bb 100644 --- a/napi/angular-compiler/e2e/compare/src/ng-baseline.ts +++ b/napi/angular-compiler/e2e/compare/src/ng-baseline.ts @@ -29,7 +29,10 @@ export interface NgBaselineData { /** * Save Angular baseline data to a JSON file. */ -export async function saveNgBaseline(data: NgBaselineData, outputPath: string): Promise { +export async function saveNgBaseline( + data: T, + outputPath: string, +): Promise { // No pretty-printing: baseline files are ~60-70MB for large projects. // Compact JSON is faster to write/parse and ~10% smaller. await writeFile(outputPath, JSON.stringify(data), 'utf-8') @@ -38,9 +41,9 @@ export async function saveNgBaseline(data: NgBaselineData, outputPath: string): /** * Load Angular baseline data from a JSON file. */ -export async function loadNgBaseline(baselinePath: string): Promise { +export async function loadNgBaseline(baselinePath: string): Promise { const content = await readFile(baselinePath, 'utf-8') - return JSON.parse(content) as NgBaselineData + return JSON.parse(content) as T } /** diff --git a/package.json b/package.json index accf057a83..6ddc4523cd 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,8 @@ "oxfmt": "catalog:", "oxlint": "^1.56.0", "oxlint-tsgolint": "^7.0.0", - "pkg-pr-new": "0.0.91" + "pkg-pr-new": "0.0.91", + "vite-plus": "^1.6.0" }, "packageManager": "pnpm@11.24.0" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 659ab66919..5ec91c1f35 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -52,16 +52,19 @@ importers: version: 3.10.8(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@24.1.0)(supports-color@8.1.1) oxfmt: specifier: 'catalog:' - version: 0.73.0 + version: 0.73.0(vite-plus@1.6.0(@types/node@24.1.0)(@vitest/ui@5.1.0(vitest@5.1.0))(esbuild@0.28.2)(jiti@2.7.0)(playwright@1.65.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3)) oxlint: specifier: ^1.56.0 - version: 1.93.0(oxlint-tsgolint@7.0.2006) + version: 1.93.0(oxlint-tsgolint@7.0.2006)(vite-plus@1.6.0(@types/node@24.1.0)(@vitest/ui@5.1.0(vitest@5.1.0))(esbuild@0.28.2)(jiti@2.7.0)(playwright@1.65.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3)) oxlint-tsgolint: specifier: ^7.0.0 version: 7.0.2006 pkg-pr-new: specifier: 0.0.91 version: 0.0.91 + vite-plus: + specifier: ^1.6.0 + version: 1.6.0(@types/node@24.1.0)(@vitest/ui@5.1.0(vitest@5.1.0))(esbuild@0.28.2)(jiti@2.7.0)(playwright@1.65.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3) napi/angular-compiler: dependencies: @@ -92,7 +95,7 @@ importers: version: 24.1.0 oxfmt: specifier: 'catalog:' - version: 0.73.0 + version: 0.73.0(vite-plus@1.6.0(@types/node@24.1.0)(@vitest/ui@5.1.0)(esbuild@0.28.2)(jiti@2.7.0)(playwright@1.65.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3)) rxjs: specifier: 'catalog:' version: 7.8.2 @@ -107,7 +110,7 @@ importers: version: 8.3.4(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15) vitest: specifier: 'catalog:' - version: 5.0.3(@types/node@24.1.0)(vite@8.3.4(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)) + version: 5.0.3(@types/node@24.1.0)(@vitest/browser-preview@5.1.0(@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3))(vitest@5.1.0))(@vitest/ui@5.1.0)(vite@8.3.4(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)) napi/angular-compiler/benchmarks/bitwarden: dependencies: @@ -286,7 +289,7 @@ importers: version: link:../.. '@sanity/types': specifier: 6.18.0 - version: 6.18.0(@types/react@19.2.14)(vitest@5.0.3(@types/node@22.19.15)(vite@8.3.4(@types/node@22.19.15)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15))) + version: 6.18.0(@types/react@19.2.14)(vitest@5.1.0) '@types/d3-force': specifier: 3.0.10 version: 3.0.10 @@ -411,13 +414,13 @@ importers: version: 0.158.0 oxfmt: specifier: 'catalog:' - version: 0.73.0 + version: 0.73.0(vite-plus@1.6.0(@types/node@24.1.0)(@vitest/ui@5.1.0)(esbuild@0.28.2)(jiti@2.7.0)(playwright@1.65.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3)) typescript: specifier: 'catalog:' version: 6.0.3 vitest: specifier: 'catalog:' - version: 5.0.3(@types/node@24.1.0)(vite@8.3.5(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)) + version: 5.0.3(@types/node@24.1.0)(@vitest/browser-preview@5.1.0(@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3))(vitest@5.1.0))(@vitest/ui@5.1.0)(vite@8.3.5(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)) napi/playground: dependencies: @@ -448,7 +451,7 @@ importers: devDependencies: '@angular/build': specifier: ^22.0.0 - version: 22.2.6(@angular/compiler-cli@22.2.4(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/compiler@22.2.2)(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)(zone.js@0.16.3))(@angular/platform-browser@22.2.2(@angular/animations@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)(zone.js@0.16.3)))(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)(zone.js@0.16.3))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)(zone.js@0.16.3)))(@types/node@24.1.0)(jiti@2.7.0)(postcss@8.5.32)(rollup@4.60.2)(supports-color@8.1.1)(tailwindcss@4.3.3)(tslib@2.8.1)(tsx@4.23.15)(typescript@6.0.3)(vitest@5.0.3(@types/node@24.1.0)(vite@8.3.4(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1)(tsx@4.23.15))) + version: 22.2.6(@angular/compiler-cli@22.2.4(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/compiler@22.2.2)(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)(zone.js@0.16.3))(@angular/platform-browser@22.2.2(@angular/animations@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)(zone.js@0.16.3)))(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)(zone.js@0.16.3))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)(zone.js@0.16.3)))(@types/node@24.1.0)(jiti@2.7.0)(postcss@8.5.32)(rollup@4.60.2)(supports-color@8.1.1)(tailwindcss@4.3.3)(tslib@2.8.1)(tsx@4.23.15)(typescript@6.0.3)(vitest@5.1.0) '@angular/compiler-cli': specifier: ^22.0.0 version: 22.2.4(@angular/compiler@22.2.2)(typescript@6.0.3) @@ -643,6 +646,10 @@ packages: '@angular/platform-browser': 22.2.2 rxjs: ^6.5.3 || ^7.4.0 + '@babel/code-frame@7.29.7': + resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} + engines: {node: '>=6.9.0'} + '@babel/code-frame@8.0.6': resolution: {integrity: sha512-uMHhvmDmwFiLuiozaoRYTZHqMFuu3fem/X9JY78lohAuLoh8LSGGC8JqUzo2cVuBsBxkjMZNk56CE7ock8Xxkw==} engines: {node: ^22.18.0 || >=24.11.0} @@ -675,6 +682,10 @@ packages: resolution: {integrity: sha512-+6HYEBnsDRZHJtUTAEfMQd0zMDqdFHS7C+5vAsEZqBUr3vEMWOWlHJ0Jz1gS8jJIlCvLsuA6ivmeoqzH936YcA==} engines: {node: ^22.18.0 || >=24.11.0} + '@babel/helper-validator-identifier@7.29.7': + resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} + engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@8.0.6': resolution: {integrity: sha512-HYx0YmuchRxRSpnjvcNffnPS8DCauKNmnumIuHG3jnQAVewRA7kfJGwF13ayEpSZs7s4R/oBH4eppuXcAQd5JQ==} engines: {node: ^22.18.0 || >=24.11.0} @@ -692,6 +703,10 @@ packages: engines: {node: ^22.18.0 || >=24.11.0} hasBin: true + '@babel/runtime@7.29.13': + resolution: {integrity: sha512-v+oN26xP4YIlQsbQ/CbTH1WG5m/l/DjKKZNy/Kp3f/AFvbgt7Em/D0FeMM3O2hX0YzeN2M16W8lOpyhIkfCBcQ==} + engines: {node: '>=6.9.0'} + '@babel/template@8.0.0': resolution: {integrity: sha512-eAD0QW/AlbamBbw0FeGiwasbCVPq5ncW0HNVyLP3B9czqLyh4gvw+5JTSNt6le9+ziAU7mqDZsKTHf3jTb4chQ==} engines: {node: ^22.18.0 || >=24.11.0} @@ -704,6 +719,9 @@ packages: resolution: {integrity: sha512-c+xgSWboV2pdwXP67BUWDVRHi2BO5Q3KwxyFVs7taVTY+fsK47/L51ZXQoV9rozHJDNHvJ4v4WEsI/IlxV2l2A==} engines: {node: ^22.18.0 || >=24.11.0} + '@blazediff/core@1.10.0': + resolution: {integrity: sha512-AOQff0zgR7cGsZL+4E7hVkmujoPUpm0J9xzWGWZj5wCjd3gmxESXAPfKyuzs93VdpQNFhHlBhfOjrcZ+XTERtQ==} + '@bufbuild/protobuf@2.16.0': resolution: {integrity: sha512-FWa0sPlqYGJgpTs6OxBRcL/AW4JT0OIO+W1ajerluoTVh8CV0B7XM1qsNCRgnkSCkRCgOICKHRQlY17jrsm0+Q==} @@ -1999,6 +2017,10 @@ packages: cpu: [x64] os: [win32] + '@oxc-project/runtime@0.158.0': + resolution: {integrity: sha512-OYWBlK/wnZHyol5jkvBJadD8KTR6DJfFDRClqrU6kBDQKHd4bXNZALg3qfXk0aFl6F5loSxMT24EZurNWE4MKQ==} + engines: {node: ^20.19.0 || >=22.12.0} + '@oxc-project/types@0.156.0': resolution: {integrity: sha512-1Duyg48TdJNdyhEB8Xn1L36bT9Pv6GUtlKjHxOys8xkaF/rQq3XJE+bAurSK/AgIz5mGFsb77cn9Pb20+WCScw==} @@ -2133,42 +2155,84 @@ packages: cpu: [arm] os: [android] + '@oxfmt/binding-android-arm-eabi@0.78.0': + resolution: {integrity: sha512-1x9NPGQG5WMOOT8spRP4hPbeqwB/P9ayxFo4EUDSle6mLmtYRqE6suXgHr93/S2nnszy77LlIa8klkKdWtHbMw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + '@oxfmt/binding-android-arm64@0.73.0': resolution: {integrity: sha512-dBoypjC2/xeyKyIhN2waX0/XeoccH9k0lVVe+sGRc4X8HSJVRtqyZDoXdr7bGY9A75c51dX0z0dLDpGQKwCdCg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] + '@oxfmt/binding-android-arm64@0.78.0': + resolution: {integrity: sha512-1muYaW9SiPEq8NIPGX0B20oUwCx6HWiCsZem/2jU7UsOzoXLT4YxWq6ybdhwKSKl0PyAfvyMyPF7FsI1To7AdA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + '@oxfmt/binding-darwin-arm64@0.73.0': resolution: {integrity: sha512-Tn7Y+qWIpCQK+qdYwBcn6YvqeBuPiuG3tcNlYg16a5QL2o3rSmrgBB1nCyYqo0uvc1LNrfQW9/CK2tzFuID/Fg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] + '@oxfmt/binding-darwin-arm64@0.78.0': + resolution: {integrity: sha512-jl4KJdo8HrVpLmcSYS/7oDXPH8Hzd6VrzgUFRAbY0j6cSRjcDkUnpuAStuNLoqvMtZEi7Rdy68BBriCgWJcy2g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + '@oxfmt/binding-darwin-x64@0.73.0': resolution: {integrity: sha512-yVb0E0tg/+9Xc9YJCBq66qF1DC/aN5mhb5nnHz0k4ikwkMANtSul2VPDSwjYdXR6/DFimc+pPUgLBqkIa5Ctuw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] + '@oxfmt/binding-darwin-x64@0.78.0': + resolution: {integrity: sha512-RwOhQgAQi1qV3TeuTfrgGkCWEL3eDFIql/lo4rt2xpGHqyolKa+W5cFbb+M9IvwMwQbplii5Gbv1ZQQPTJlNug==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + '@oxfmt/binding-freebsd-x64@0.73.0': resolution: {integrity: sha512-IKR4lFnBkYNL9Uqdxa5GMTQLvnLj+3sDwTvh2atHCzah0xeo+1xR5bigRU8uyXlOsA4VpXUn0UAimq4E4RBGmQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] + '@oxfmt/binding-freebsd-x64@0.78.0': + resolution: {integrity: sha512-MAXydj01mLjMUlnmo7sYVm+7kdBdU9Nwaux2Q1f9oLNqt3CCdego1oMoZ30qDyZQGQXfVJZEU1yRV7mSzwKDVA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + '@oxfmt/binding-linux-arm-gnueabihf@0.73.0': resolution: {integrity: sha512-7qnZ4g0ZCO3aZevOOQpZIABYwwXJW1lLDo2elviGdPQ0i11255xKEMFsi97fC1/nauQFseCJfELUy/k2JoOP+g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] + '@oxfmt/binding-linux-arm-gnueabihf@0.78.0': + resolution: {integrity: sha512-rz6FVZRiWsq3O2YQgCoqZRwaQQaPQ70NBks4+KINjjPJOjBTd8g/iq6ynS97ode+qKGlhXtpc/xCl8LHzfOjyQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + '@oxfmt/binding-linux-arm-musleabihf@0.73.0': resolution: {integrity: sha512-36eBico2j/WPB84gb4FYd/jjqGCKOwU4M+TWLBUIqlnzTozQueLy0joA5BwsSp2OZFVkOlpCwvA3ndPamdiyLw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] + '@oxfmt/binding-linux-arm-musleabihf@0.78.0': + resolution: {integrity: sha512-lIK0XJi4JP1FnhuLjR/JWhQHGghZc+ghFNnbZTQC8kxsmrkW3ex8CeF7fp0FT+rEP0Nm6voCYkasL8poVWA9sQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + '@oxfmt/binding-linux-arm64-gnu@0.73.0': resolution: {integrity: sha512-VZ3cSgCAT18knKo52DcACmAuIoqG6qVEyeZRFbJd0xmYQ8GyYjuBc6IAh6MZHijT6q7p4/HPI+6ZWsCuhdV6iw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2176,6 +2240,13 @@ packages: os: [linux] libc: [glibc] + '@oxfmt/binding-linux-arm64-gnu@0.78.0': + resolution: {integrity: sha512-o2LJIHfW3ZADOjDVk5c7MM1M8CiAG43GTc4mlJAK23fOHgru4CvnqWedCoCXpIsKokoRdEa7XdQywPGZv1BAiA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + '@oxfmt/binding-linux-arm64-musl@0.73.0': resolution: {integrity: sha512-8YVzH59XSHcqwXNgc5qK851zCqwpmBgOifARXEPPe5/xTsIbHceYoPZAyqfpYV0CfKmzSaEDBgYHFza4rhx+Zw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2183,6 +2254,13 @@ packages: os: [linux] libc: [musl] + '@oxfmt/binding-linux-arm64-musl@0.78.0': + resolution: {integrity: sha512-G+lUaQk94Vo+4byyd8X2+pPXtd7wObpdbvBC8xyozZD0ROSVBI3XpNNR6HECkJq4Q51AwLuJG81f4x+4eqvSrw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + '@oxfmt/binding-linux-ppc64-gnu@0.73.0': resolution: {integrity: sha512-MqRJnmCys0rwOgpWyEidSA7v/bvOqfNDJhPkQoR9mPVYrvSmMaW2Xhdpl28cbTA+brOM1is62GjIvJplVlUVpw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2190,6 +2268,13 @@ packages: os: [linux] libc: [glibc] + '@oxfmt/binding-linux-ppc64-gnu@0.78.0': + resolution: {integrity: sha512-r76PAZf9/ZgF/iDRaIf8nLsr4x6ZHe/j2QLmWUjoQ46Sa11qMO68a5u5iux3y8vLzqYTS/xtKO9PjjMfyk5png==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + '@oxfmt/binding-linux-riscv64-gnu@0.73.0': resolution: {integrity: sha512-4t2F3SWJSK/O/kRRFnL0elJzn75fJGGu71gs1HtiWcS80SmJOpkHiwwLnTp9suGdns8VHEPxYS0GTcyVwHKWBA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2197,6 +2282,13 @@ packages: os: [linux] libc: [glibc] + '@oxfmt/binding-linux-riscv64-gnu@0.78.0': + resolution: {integrity: sha512-SQiXTt/c4aVoRXkJvhf4Y/sA1XYe3XjSMDbdX5PiAssBuHERoGtncQXz0KKWkXPejWTKlAL4mZSQZdHOCiw7TA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [glibc] + '@oxfmt/binding-linux-riscv64-musl@0.73.0': resolution: {integrity: sha512-D8b4I8I1kLdJQFwdFXNV+cwh3xWSiNKofjdGUk0nDpc0AHOds8T+poGbP9RWQMvgsvMb9OMgp/aV7ahBR37TbQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2204,6 +2296,13 @@ packages: os: [linux] libc: [musl] + '@oxfmt/binding-linux-riscv64-musl@0.78.0': + resolution: {integrity: sha512-VNB3wFUx/rAqwVNW+uyXxb+c0HUrmcS51UPkFMDWJY95c6Tck6u6HOyVLsqiYoC8kh2mGlwanYmjb/R2McvN0A==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [musl] + '@oxfmt/binding-linux-s390x-gnu@0.73.0': resolution: {integrity: sha512-QrC1S5VL1+N5rvorB15jH7CPvjVHA7GyUI5oVEd8Bd9m5605RDBQYTxDQ920DuylRoZOh2V7/xXpfCtFUrojUQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2211,6 +2310,13 @@ packages: os: [linux] libc: [glibc] + '@oxfmt/binding-linux-s390x-gnu@0.78.0': + resolution: {integrity: sha512-1nbI0Y7SXwx2f4mJmKt58MaDdjAcoaYM90pBMGdcZCsTW2taFW1/MUi3uQGRPAN2n+3PldCdO9m+D6x+gU/heg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + '@oxfmt/binding-linux-x64-gnu@0.73.0': resolution: {integrity: sha512-dFcUKQPltCEPa+YlkF3zqufn6nJPZdG73LpnjBvZFFsU3laCMssDXSYB99mVaj43FqdEgjpz5TO6gbYXcczd9g==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2218,6 +2324,13 @@ packages: os: [linux] libc: [glibc] + '@oxfmt/binding-linux-x64-gnu@0.78.0': + resolution: {integrity: sha512-I2z2ISPjrl3CSRF5fmQkNnoh46UVU1GjM1V0+COJyNZcj0SDNM4DrPP2/gXCX38YJ1P2BL6sF2VdsJ+pEYEbJQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + '@oxfmt/binding-linux-x64-musl@0.73.0': resolution: {integrity: sha512-LmQe+nV8e+eUwfPNCxDF+owbsg88toBiR/8rZRgVOeKQP3MaGefXZRvBoc1UG37iWEQ/9JlCXG9Mc4nf4N3agw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2225,30 +2338,61 @@ packages: os: [linux] libc: [musl] + '@oxfmt/binding-linux-x64-musl@0.78.0': + resolution: {integrity: sha512-YHt5nKKFxT4SruI57FHnEhGRSDuoFqNoAM3moYCClg70mjjS39gBBbdzaZv+N0otdzvQVuHTPu3jFu5tpqC3XQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + '@oxfmt/binding-openharmony-arm64@0.73.0': resolution: {integrity: sha512-8weOr1OKknE0G2DbR6ejJUT9AOsoBU6cXlsetmbihHv1K+bK7qP61T6lJxY0k/aAO7GyOJiRGNlL+04r4eH8Xg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] + '@oxfmt/binding-openharmony-arm64@0.78.0': + resolution: {integrity: sha512-WH21lBMU+LYzF7aMeozTZlyc44oa2F+I5OtQ7RwuidCDoAxgTyN1s34rx0PBYrio56+2G88U9VOnYJsyV7VMHQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + '@oxfmt/binding-win32-arm64-msvc@0.73.0': resolution: {integrity: sha512-mZV+QxXYgb8E18gzAFItb937VIsE4dqWdStrD3tRRC52UubOYEuU+e7NaIqUsGdB5YsJqNeuck3Ue/af2r9wyA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] + '@oxfmt/binding-win32-arm64-msvc@0.78.0': + resolution: {integrity: sha512-uNQqHJrtHIiSl8pMbhDktmGpA1hqwldWNO8kbNpNFhVt+BYk4C3Ge8nlJgkRtGjtMam0+542G5UQJJG6lLePbg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + '@oxfmt/binding-win32-ia32-msvc@0.73.0': resolution: {integrity: sha512-QJPUsbgUb97ZPPMkFUq6VQq0fLhC4Np19KL9aB/qKVwXnpKE6MIiILXqzhKnQ/UbnEDjKJ7Xv1d6zH4bYPCUdQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ia32] os: [win32] + '@oxfmt/binding-win32-ia32-msvc@0.78.0': + resolution: {integrity: sha512-W6omURRT39EHBPH4Z8sUPIOzWVjMbhCCCWcfT0sa6aeC+vOXNyBAJmpQRh5//KfPDX96jJlNith9i4N65wxB+Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + '@oxfmt/binding-win32-x64-msvc@0.73.0': resolution: {integrity: sha512-cGcze2fu+ykIaFtkEvZlkZ3HvnCLk+WISthtq99zWTWn0x13t5L9TxvGdLZMUMvtfYR+ICkiCwKnguVubdcw0w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] + '@oxfmt/binding-win32-x64-msvc@0.78.0': + resolution: {integrity: sha512-r9rWKeDVc7lIrj0Us9kP08W7FudYAoWyEdO40qnKk20bHiTbW/z2v4LoIxxUENQyFfApbeV2Gl9XsEgY/tY1dA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + '@oxlint-tsgolint/darwin-arm64@7.0.2006': resolution: {integrity: sha512-uc0MEHXZUDW23Zmo5X28eSNeSnP17jKnh9GiehpVZqhfy99ks8spyXT5Llar3tjDN7ppnQN0Qd9FK6WNkdD+fQ==} cpu: [arm64] @@ -2279,48 +2423,97 @@ packages: cpu: [x64] os: [win32] + '@oxlint/binding-android-arm-eabi@1.92.0': + resolution: {integrity: sha512-k3Sd4ixQfiOrybv1gT+AMI81HSdtAFsiCFx+xXxWdFkmKW2HNrSiOfwn20o5nl/ggwbzU1oNLDeU/fRPinTVZQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + '@oxlint/binding-android-arm-eabi@1.93.0': resolution: {integrity: sha512-KKw70pbD5Pvq3G2lJ+WQ71XPMjCmg37rkSe2+mDqCRP3PoTSdDMuEi4UOnE8JBtyNM7bek61EC2s0Jt7S7u+Sg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] + '@oxlint/binding-android-arm64@1.92.0': + resolution: {integrity: sha512-OZzgEuiTSG11QkBWdXEguiLOT6lL09KtfcC/BmvUQWBAjU5eVyBxIAsmWAXv8L85/eT6RE0GBEWTEFBAbYE74g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + '@oxlint/binding-android-arm64@1.93.0': resolution: {integrity: sha512-fvr1fTUZGelwRxKDt64pf28aL1WaWgviwz3X+E/FcRYvrlEahH0NECRz/c1SY+K+KWmZk5uAf6h1kQnyBkp/2A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] + '@oxlint/binding-darwin-arm64@1.92.0': + resolution: {integrity: sha512-We6XS7tIqxgUoany6uyGjj7mNsh/mwf4Gt9gUzhxG65NKo2Ow9s6tDfrVuI0FVg8n3YmpW5PBx80qFxiLwAfsA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + '@oxlint/binding-darwin-arm64@1.93.0': resolution: {integrity: sha512-VdvSN9JRf4Es6ZzoAdvEeh8tgKdw8L4H82WmA8MMPVfPdZGCwE/nI27Z1HrRHYQhPxOh4kmnxQEioSUFrOvDaw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] + '@oxlint/binding-darwin-x64@1.92.0': + resolution: {integrity: sha512-jKJWijmi6AxAZcXXWA6R/NLVZHxoRTbIMnV8znsHzeiVfuEefYcyR8SJGfbBPmkG+kveLFRcBGw0fBrjLqtGmQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + '@oxlint/binding-darwin-x64@1.93.0': resolution: {integrity: sha512-QR1V890Ml0YGRG0F/iV0K9igG+pOhe+VWd+aZnxY849rRHZf3F2gEoQks5+GVHf105X9Mh/6HdShTP5juekG2g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] + '@oxlint/binding-freebsd-x64@1.92.0': + resolution: {integrity: sha512-wkw01wvJPM8/4jh+MV3cp11859VuBc94N2q5uOzcBgdGIRAqMCg1O0W/+xsZ1fsInvuUcv2Xo4nd1nzcKhi9kg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + '@oxlint/binding-freebsd-x64@1.93.0': resolution: {integrity: sha512-jDfIbi30zZaKi+rTvig3sge+Xhi8pFFSgHxb0jzovc4qh8ETm/irKV9c7N/JsuwnYc5sbvf4IC8w1vQQ0IL+BA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] + '@oxlint/binding-linux-arm-gnueabihf@1.92.0': + resolution: {integrity: sha512-Elm6nW308MzmR8knvk0tPqQ4XE+PGKztjXv7kVZTRLkhBQZRXHUQoBLc4E30fiIuF6gkZO5f3EpJtQc4Ok/fXw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + '@oxlint/binding-linux-arm-gnueabihf@1.93.0': resolution: {integrity: sha512-qtxZ714ND/koFgVH00QgxlzZiIbRPmguaPhnHRU5DFFtrtEdOrSnZD4U/H2AzXrXkZ59eQbMBnJwbum5XohrIQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] + '@oxlint/binding-linux-arm-musleabihf@1.92.0': + resolution: {integrity: sha512-oylpBAoeogddjhTlSPsXrzGq/aeJsvaULz/hYXvWtGn/Wt8LPLC7gFhucCicbRnzEKsShrZxIA0KyHmtFNnijQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + '@oxlint/binding-linux-arm-musleabihf@1.93.0': resolution: {integrity: sha512-5pJ9NjMvH7WMUqXB6bTTOSemBm39w2cod27Hu3+Yom/GhbTeNXlYcpDx1o4CgBP6fhp0YHG66TNdVaUm6sHjsA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] + '@oxlint/binding-linux-arm64-gnu@1.92.0': + resolution: {integrity: sha512-/EWOI0wwY+74UGvC93TldpoNP8moIcidVUPbUSoX16/SEdF7ah209yxSQia4+9JdCRWYA3+yQMofXMgWKk/16Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + '@oxlint/binding-linux-arm64-gnu@1.93.0': resolution: {integrity: sha512-pRf+7jtbt2fHE23SX7qBxRgnBZicUgsoCK1PVIjnOk+t3a6UBkpt/GrKI99WlxsKUxftz/5nv/kfKvScmYywkw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2328,6 +2521,13 @@ packages: os: [linux] libc: [glibc] + '@oxlint/binding-linux-arm64-musl@1.92.0': + resolution: {integrity: sha512-9Se7Zuazr104yc2PaluriJW2rqvtaN6FSi9MSjQgZGeYb6LKvEcJ586tpjek0l7hNQNoir8MID7OENPH6juN1w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + '@oxlint/binding-linux-arm64-musl@1.93.0': resolution: {integrity: sha512-zM8Fd/K8sqGvsBcJBZ3oVZ3ctGWbszA08IaGt5gFFF5RcunppAI/ZnAXbouABvnWeJ//S44KKlfPZnDDbeiphg==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2335,6 +2535,13 @@ packages: os: [linux] libc: [musl] + '@oxlint/binding-linux-ppc64-gnu@1.92.0': + resolution: {integrity: sha512-88IAchs204I/xxAbAo3NRyz1m/29tn8jUAPvc4tK4FzrT2PLwZertd93ANF6231vwbAhYiD5gl0cX8Po5xsjWQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + '@oxlint/binding-linux-ppc64-gnu@1.93.0': resolution: {integrity: sha512-7qKCnvhZKDXJG2pdbLazd2hw4FxjJHbZOFrrbzyy5PdHfPLH9vnNUa1le01A8uItZuYKPBPncH+HCoEiFT4SgA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2342,6 +2549,13 @@ packages: os: [linux] libc: [glibc] + '@oxlint/binding-linux-riscv64-gnu@1.92.0': + resolution: {integrity: sha512-KtFdVdkfvBGcsrmnbjYJ9/XTDABnaniiwnptAcAm0pkaR2zhZ3sr/Xy+N1Xbz1Yq5Jegu7SoeNv9caTP0b5OTA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [glibc] + '@oxlint/binding-linux-riscv64-gnu@1.93.0': resolution: {integrity: sha512-2pgulxC6G8V5wE750NJE/fRkf9aO6i6yoj10wyaR2EdiNtan4OemsOtsQ0ZTXGdY8Q3IoTmlND3GYvjJsvikYg==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2349,6 +2563,13 @@ packages: os: [linux] libc: [glibc] + '@oxlint/binding-linux-riscv64-musl@1.92.0': + resolution: {integrity: sha512-V43CO5FPgHtwHup4H5+dIdwzZX2FhREQGsSBZx8V1UyFEAul0Q13qviKqZfSMM6G41CGtCekVpJGGOxW5v1y8Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [musl] + '@oxlint/binding-linux-riscv64-musl@1.93.0': resolution: {integrity: sha512-yWsn6Gg2PnGG5jlyDz5+pHGiMTMiy4adaa4WRMzDgzB8efaShk1JMmTHIBSVLQMh0tYXRs4CN5uJCO79r4Mi4g==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2356,6 +2577,13 @@ packages: os: [linux] libc: [musl] + '@oxlint/binding-linux-s390x-gnu@1.92.0': + resolution: {integrity: sha512-WooxeACzGH5q34olo7JgAk7XbVkTUNfwhR/TzmhwVs/y1p2R7ZWJo14hiyxiGcoYZR1iBnbBFHectADqb/KSog==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + '@oxlint/binding-linux-s390x-gnu@1.93.0': resolution: {integrity: sha512-WCn5plwp/ezS2RDPQKp0/EXEVRr9/dDexUdRKmsMFqzNM5xBSZ1wbsi3PuMk1VfkMRnI5BuazCsziCWMXRDOlw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2363,6 +2591,13 @@ packages: os: [linux] libc: [glibc] + '@oxlint/binding-linux-x64-gnu@1.92.0': + resolution: {integrity: sha512-lW2pLF1oFvNN780YUCtDyoUm8oFzZGJNcOFe9RtLMX5v5+FcWfAQvHUMMPF8H8kJB0HAi3dFmWDWLa5VPuY9mw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + '@oxlint/binding-linux-x64-gnu@1.93.0': resolution: {integrity: sha512-F2CGjb9LAkzH+IYTZSzd1klQ1vk5z6Utjax64WeLByCkYXbVDbsun+Oy2hLfW2MDSKCvW+jwy/9ld0EPgdeu+A==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2370,6 +2605,13 @@ packages: os: [linux] libc: [glibc] + '@oxlint/binding-linux-x64-musl@1.92.0': + resolution: {integrity: sha512-2BJAAB/eqPn7iD7mFVfs+1ZVUogAYOMCTaUgjAvbtNGg2ppCDE7gcv/9VSO6GCDybdFUqlcyeyjn9hRpl1ZHog==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + '@oxlint/binding-linux-x64-musl@1.93.0': resolution: {integrity: sha512-plf5DE2objcG8Tf7mXRuRa8tT8rzDkpjqXQtKoGsKHWkpgsialbON1+cCtoSEUTVbQUjXvuAm8vV9+3rR0yCBw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2377,30 +2619,58 @@ packages: os: [linux] libc: [musl] + '@oxlint/binding-openharmony-arm64@1.92.0': + resolution: {integrity: sha512-iLtjNqqa/2IV5qu/3rrkpVd42Ia3yeCn4fSZoEr+m5FoGHtZvAV6J6YuU3lewg5Rg5ORGvwhdgN+7gNzwkl7tA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + '@oxlint/binding-openharmony-arm64@1.93.0': resolution: {integrity: sha512-Kp2yJrKvoTe9FfKdO/xwLNUbs2bYTMKx0+aoQD1s0h/Tx0kSgtHSdGmrk8tTKdluosjFbo88qYRIaNIX43AfFw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] + '@oxlint/binding-win32-arm64-msvc@1.92.0': + resolution: {integrity: sha512-ryxiR3ZqB0OJzydMu+bVC3R7ZtoU7X1rI8sEgTBCCvQvgVwoCwqSFlfmhgiZ+9wZ4IdTsFeu9tdiF9KtRCbSHQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + '@oxlint/binding-win32-arm64-msvc@1.93.0': resolution: {integrity: sha512-vigjcHCFsR6KjnWTEVfaCxcMYapEuaK9FZa1MpewwQ1S+Xud3v0okfkj1RySsD6RF1NRHIjSlQSalTnKIaj3nA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] + '@oxlint/binding-win32-ia32-msvc@1.92.0': + resolution: {integrity: sha512-DaE9OChj4nsdEST32BP7saGu8WtjOinTy/eS88dZ0TvTfDV26ebRDhsI1rL9OKXfO+DgehzhAQMqdPr2jgfcFw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + '@oxlint/binding-win32-ia32-msvc@1.93.0': resolution: {integrity: sha512-0Ot3BEe/AAr2/uQhe55r8CmPlperYk2mQmxdutOru7oU0kir6IiEVHb1TG3GORRlfra97lPHVDLhgmihiKzLrg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ia32] os: [win32] + '@oxlint/binding-win32-x64-msvc@1.92.0': + resolution: {integrity: sha512-0AyhqX0ciFuEnHIL+B4PIMMX3s/IpGHNEbbUqwsNhSrzWUSlEOPw/q7qFnRsEJfiKedcqVfUE/aXYuSMtpiFyw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + '@oxlint/binding-win32-x64-msvc@1.93.0': resolution: {integrity: sha512-ZzzIIVs/Qkm8trUWYKF0OYub5ALlv50/3gsEZbKAvWgz+yNJX6uRmQ8ySPXU2Q0/Y9m4JCOjhpmC8XUYbPHX5Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] + '@oxlint/plugins@1.93.0': + resolution: {integrity: sha512-bKWQI1g9jn8bWUZsvhbOLfgva576Fbp1KwoTNSUCMdT9tlTAvQS2JkifX1UrhPPdyN4GHvM20HhvIMqqU1yotQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@parcel/watcher-android-arm64@2.6.0': resolution: {integrity: sha512-trgpLSCKRC/huFjXX/Smh+0sWe4+YtKfktIToiMl59ghz7z+qkH6kMvNnUbLyRs9N11t8l4svSCs1+5B3rOAhA==} engines: {node: '>= 10.0.0'} @@ -2758,6 +3028,9 @@ packages: engines: {node: '>=20'} hasBin: true + '@polka/url@1.0.0-next.29': + resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} + '@portabletext/to-html@6.0.0': resolution: {integrity: sha512-kMqr55pJDBsIyOHLeVccFMFfJxSdozS+A1TeYhiihIinSDhb6ibUxpQIpg0B1n54vZJJW8rDs+QayP3vQqLKUg==} engines: {node: '>=22.12'} @@ -3235,9 +3508,22 @@ packages: peerDependencies: vite: ^5.2.0 || ^6 || ^7 || ^8 + '@testing-library/dom@10.4.2': + resolution: {integrity: sha512-yzr2S9HyAIdhz2/6qHgbs665Q7PKVcDF05vsOlHPxG1mo36gKVesdYVeDLnXgfjJ03CrKRk08knc6+E/9m8v2Q==} + engines: {node: '>=18'} + + '@testing-library/user-event@14.6.9': + resolution: {integrity: sha512-/8boTjZHNXFi8JGUI2Ev05cq0Szh0OX35Bamkq6CK1ne+l1Xm8BKE3+nGgsnFgaYk0MX67Vh59cZDsNz5lJJEg==} + engines: {node: '>=12', npm: '>=6'} + peerDependencies: + '@testing-library/dom': '>=7.21.4' + '@tybys/wasm-util@0.10.3': resolution: {integrity: sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==} + '@types/aria-query@5.0.4': + resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} + '@types/chai@5.2.3': resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} @@ -3289,6 +3575,16 @@ packages: peerDependencies: vite: ^6.0.0 || ^7.0.0 || ^8.0.0 + '@vitest/browser-preview@5.1.0': + resolution: {integrity: sha512-z9SbodBSMoJtYy5VTCaSP5SSZfNYRlfIlR0P/uH1PAuhUJbstSyOYvxXCYmqG+EemIiZzd3uGUtREX5zbXLR8A==} + peerDependencies: + vitest: 5.1.0 + + '@vitest/browser@5.1.0': + resolution: {integrity: sha512-2sjGVAC/Rs8Jwv+xxBgklNG2g1LGyNgcFMBw71AcfBstLz25UGv1+fVvvZ+z8IfSuNg3nipERijnFtoEIdRDEA==} + peerDependencies: + vitest: 5.1.0 + '@vitest/mocker@5.0.3': resolution: {integrity: sha512-T8sWAIbkSyAjkwTcaEc3Iu0o9A27X1/kdXrizhZkGuSKScRQtRzclfAMpOTcGdXCsqxeWlpGy3XjqaW8CpLORg==} peerDependencies: @@ -3300,77 +3596,306 @@ packages: vite: optional: true - '@vitest/spy@5.0.3': - resolution: {integrity: sha512-XhFysQTB8AZ+P4gMi+Lpo99vg2AZi0qKpaB9yXQl37+CaMEAPO3iH/wGVnSyL5MPERiLezpqTVtrR6UZH5GCXg==} - - agent-base@9.0.0: - resolution: {integrity: sha512-TQf59BsZnytt8GdJKLPfUZ54g/iaUL2OWDSFCCvMOhsHduDQxO8xC4PNeyIkVcA5KwL2phPSv0douC0fgWzmnA==} - engines: {node: '>= 20'} - - ajv-formats@3.0.1: - resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} + '@vitest/mocker@5.1.0': + resolution: {integrity: sha512-5umB9/jlWcqVS6fsrFmv5Gdnpu6wAUio/lEOwAmvB7v+lFo/IW2B9FhAD0p19GCULTgMzLCdUmuCDCnAzWgppQ==} peerDependencies: - ajv: ^8.0.0 + msw: ^2.4.9 || ^3.0.0 + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: - ajv: + msw: + optional: true + vite: optional: true - ajv@8.20.0: - resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==} - - ansi-escapes@7.3.0: - resolution: {integrity: sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==} - engines: {node: '>=18'} - - ansi-regex@6.3.0: - resolution: {integrity: sha512-WpDfL7NO6j7tH88IDBNVdUJxDh9nmCteAVW9dsep846XdwF4naCBK+/tGLX3KJgcpgMRXCFlTM2hKGoK9FsdrQ==} - engines: {node: '>=12'} + '@vitest/pretty-format@5.1.0': + resolution: {integrity: sha512-IRx5mc30CrFzyMNni6SZKQ1r53kv049Mcvvk0WbWcD6PUz/bFjG4zYv0KosQAeonPpGp5WxqYBMqdSOfJfvVWw==} - ansi-styles@6.2.3: - resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} - engines: {node: '>=12'} + '@vitest/snapshot@5.1.0': + resolution: {integrity: sha512-6tLM70+37LVXz+A6QmOlMQUuj+taODAyXZhz58lNNNNKHH0D81yzPBEezKQQGPlABc8OpAQBOBVvssVLLQqixw==} - argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + '@vitest/spy@5.0.3': + resolution: {integrity: sha512-XhFysQTB8AZ+P4gMi+Lpo99vg2AZi0qKpaB9yXQl37+CaMEAPO3iH/wGVnSyL5MPERiLezpqTVtrR6UZH5GCXg==} - assertion-error@2.0.1: - resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} - engines: {node: '>=12'} + '@vitest/spy@5.1.0': + resolution: {integrity: sha512-2DPO5OMHWKrBngC+fCmTQqemNF0gidRhp3lxbBmRhW+M1XJrfgPpqNqWVevXtn2f2ufD5ZaR1B6B641aAlcX5A==} - autoprefixer@10.6.2: - resolution: {integrity: sha512-VOw9/yGTGwPPgzFcODtcv6zhEPIeIWkRSe10L2ri2f5vZ7ID7lCt6jZzRF5/ubgOZ+szYydmEF5AYsA5jxX1tA==} - engines: {node: ^10 || ^12 || >=14} - hasBin: true + '@vitest/ui@5.1.0': + resolution: {integrity: sha512-00S3x4NRmqIBUiTVWF9/xLaA9EP9KeKv0+1sBO7e2Y4luBISlW+2ttnhlk/zjbTqEvVhJWCCo7MXzu6zNbefqQ==} peerDependencies: - postcss: ^8.1.0 - - base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - - baseline-browser-mapping@2.11.21: - resolution: {integrity: sha512-uh8vpY/1/YyFkunIDFH/12p7/7VdPKA1hejMVEbdkEaWnUz0Hesvx5EbiU6XxjyHZIOju+ZMbQJkRh+es3/spQ==} - engines: {node: '>=6.0.0'} - hasBin: true - - beasties@0.5.4: - resolution: {integrity: sha512-8/lOOjT+PElYCnaUbmhgd3Uad5R1VTQ4Wg0k4rK8bX04m5WEqHNmnlLy3Q/lJ7dk25XA+72gayzc/skTfKKpcA==} - engines: {node: '>=20.19.0'} - - before-after-hook@4.0.0: - resolution: {integrity: sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==} - - boolbase@2.0.0: - resolution: {integrity: sha512-DkVaaQHymRhpYEYo9x1oo7Q7B0Y6KJUsjm3c9eTyFDby4MHLBTwZ6ZDWBel5zrYxj1WsZgC5oLpiz+93MluXeA==} - engines: {node: '>=20.19.0'} + vitest: 5.1.0 - braces@3.0.3: - resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} - engines: {node: '>=8'} + '@vitest/utils@5.1.0': + resolution: {integrity: sha512-V+qgCwkvVw+s1t1S5TaoBHsLi5Sz/YmohCMoOu0mZ8ZQst2bKhRYARAQucWpVg8D0mv0x5MHcWXY5QdOsoiGBQ==} - browserslist@4.28.9: - resolution: {integrity: sha512-EWazOblFYUvlGZcfGhPUPmYh3nikUxBVb+y9MJun5f3hBi812X+8MSQTujLBtgK3cf51fJWbWfOjyeO954d+Eg==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true + '@voidzero-dev/vite-plus-core@1.6.0': + resolution: {integrity: sha512-0UFh0AVjt3ZynvRk0BTCwysCeURhyZCoEGabEptwOzlvQjV2eGRcf5jPTfLGaKwgw2dKOQYH4vq/N3H7WUdIyw==} + engines: {node: ^20.19.0 || ^22.18.0 || >=24.11.0} + peerDependencies: + '@arethetypeswrong/core': ^0.18.1 + '@types/node': ^20.19.0 || >=22.12.0 + '@typescript/native-preview': '*' + '@vitejs/devtools': ^0.7.1 || ^0.8.0 + '@volar/typescript': ~2.4.0 + '@vue/language-core': ~3.2.0 || ~3.3.0 + esbuild: ^0.27.0 || ^0.28.0 + jiti: '>=1.21.0' + less: ^4.0.0 + publint: ^0.3.8 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + typescript: ^5.0.0 || ^6.0.0 || ^7.0.0 + unplugin-unused: '>=0.5.0' + unrun: '*' + vue-tsc: ~3.2.0 || ~3.3.0 + yaml: ^2.4.2 + peerDependenciesMeta: + '@arethetypeswrong/core': + optional: true + '@types/node': + optional: true + '@typescript/native-preview': + optional: true + '@vitejs/devtools': + optional: true + '@volar/typescript': + optional: true + '@vue/language-core': + optional: true + esbuild: + optional: true + jiti: + optional: true + less: + optional: true + publint: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + typescript: + optional: true + unplugin-unused: + optional: true + unrun: + optional: true + vue-tsc: + optional: true + yaml: + optional: true + + '@voidzero-dev/vite-plus-darwin-arm64@1.6.0': + resolution: {integrity: sha512-1IiE9eXsnLWesaHEI2l1L38+CChaQ82WJd3GpF+Ud7Kuq+T2x8TebUwLCPYatpTSDDs8z2w1yKAl7quoVZhetA==} + engines: {node: '>=20.0.0'} + cpu: [arm64] + os: [darwin] + + '@voidzero-dev/vite-plus-darwin-x64@1.6.0': + resolution: {integrity: sha512-oSsfR1ACQdFo60cuvInK5AZxPx7TAKyrt7NsUaNVZVj24ALsh+0hjZSRmWkJ3lF8aRtw1Lh8d7bkFXgQcQdKxQ==} + engines: {node: '>=20.0.0'} + cpu: [x64] + os: [darwin] + + '@voidzero-dev/vite-plus-linux-arm64-gnu@1.6.0': + resolution: {integrity: sha512-6m2vRctdtQDl+ARQwGTF9X6hg+JaVFtj4vkvBLy/dWpqiJzseGebJwKUjys8QuhXgcJocn3a+N6oh27vvfINUQ==} + engines: {node: '>=20.0.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@voidzero-dev/vite-plus-linux-arm64-musl@1.6.0': + resolution: {integrity: sha512-ZHx0byqPOQ/WiAxHbfdvTp8HICWAzKje8kfZ6ihLu9ZLQ1nOo0Ri5FAgYTAmLMfMXgU5qZuNFQFdp4k5ONe3jQ==} + engines: {node: '>=20.0.0'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@voidzero-dev/vite-plus-linux-x64-gnu@1.6.0': + resolution: {integrity: sha512-de7/qKZN6y7G2OMnsCcmBXeXyS39G4r5uyiz8jRbxbObj2nqxmlNs48aHqOaKzqiJeSqip+z4ALY/AIAl6h4rw==} + engines: {node: '>=20.0.0'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@voidzero-dev/vite-plus-linux-x64-musl@1.6.0': + resolution: {integrity: sha512-e+/9mDyhBeoDEwNPt4x8ubHztTsQE9kNHI9cBaE0Y+KIQPTxeV2W3OfPHfI5yTlKWtF8r3KN6kIRlXgaFvkBsw==} + engines: {node: '>=20.0.0'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@voidzero-dev/vite-plus-win32-arm64-msvc@1.6.0': + resolution: {integrity: sha512-xo4Ha1xDkmWp8LolKUtCsVifenjK3ReQNuJjcMt1PazAdd9QZR/Qn6Z8E3rbFjnWctSkhxR4wTd43z8Bkxb9vA==} + engines: {node: '>=20.0.0'} + cpu: [arm64] + os: [win32] + + '@voidzero-dev/vite-plus-win32-x64-msvc@1.6.0': + resolution: {integrity: sha512-0tC6Bv1FT6Qz9YikQepOibsZa2HE0kxYSIK1jReQh2/3dBUGz2tHib5+G2rQ7ebkHxmwS9gQHAeMmm07XfemSQ==} + engines: {node: '>=20.0.0'} + cpu: [x64] + os: [win32] + + '@yuku-core/binding-android-arm64@0.19.0': + resolution: {integrity: sha512-wdL2XmTiZixAOaHk9Z0JJZ8u9Qm8d333Zjpc6gaxXFX+UR5BlsfxZ7a2+2Rm71pamppsPYGUGFq2oVLbh6DISw==} + cpu: [arm64] + os: [android] + + '@yuku-core/binding-darwin-arm64@0.19.0': + resolution: {integrity: sha512-7sNJa6XJhyetnTy64jw3NEi4YgUcezHk1G5GH9FSvXAuC8wIlbaOwT9lgq5qo5sspjrZJQlBR1TWflP49uRpMw==} + cpu: [arm64] + os: [darwin] + + '@yuku-core/binding-darwin-x64@0.19.0': + resolution: {integrity: sha512-pTC7dYEc59isdyizc3nsuyFNBu2LU5wMYZ1be6UMr59PY/AJNtO1aBLWV0MgL/z7C1nv/2sX4TNjGgKLoeevJw==} + cpu: [x64] + os: [darwin] + + '@yuku-core/binding-freebsd-x64@0.19.0': + resolution: {integrity: sha512-xrZjF6XOEwyLOiDIfrwDdRCS6ghxcJeirNC1KivQhVcUwlRonaU79S3/Uiyx3lBylPnT8qKJ3/aMT+H52nGTJQ==} + cpu: [x64] + os: [freebsd] + + '@yuku-core/binding-linux-arm-gnu@0.19.0': + resolution: {integrity: sha512-0OyIH53C0I1CbADHn9FSdCfX5qbpeLwJhmOVhonFJNYheybOnkSJ50qGMfTJIb8y5zrwqvLs7FVBvz6Fk8maZg==} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@yuku-core/binding-linux-arm-musl@0.19.0': + resolution: {integrity: sha512-z/iPfkCOCSXE34VXNt0uP1ORSW+4mEa9b5CiJcWZeqZH08g49bFU/jRM2T04f+Wpw5mJ6HIzNBiojxeAbrHjeg==} + cpu: [arm] + os: [linux] + libc: [musl] + + '@yuku-core/binding-linux-arm64-gnu@0.19.0': + resolution: {integrity: sha512-jLNTi+gzaRwBJ+gwhCJ+rDb5dmx/8hEBx93UWd7hjMSqPTL1D1wvVSvXVAldV5kALvju7b0/m51EHEhs4+I1fA==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@yuku-core/binding-linux-arm64-musl@0.19.0': + resolution: {integrity: sha512-YwyPIdW/rN2Fmv0MTFWi47FaB3F9g+2b+sJISyAw83Yd60RWH4T3Nx6XkAHHVN+uKJNBAd6So7/BVihSiFYvuQ==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@yuku-core/binding-linux-x64-gnu@0.19.0': + resolution: {integrity: sha512-/vskaAXVX3ESR43FiTdfiYS7z1b9uoQJwVQ/0RgUHgN2sWoAyCZs+aX4CgU7eKGIHTVfp9VFwv+c+2XchYiEtQ==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@yuku-core/binding-linux-x64-musl@0.19.0': + resolution: {integrity: sha512-FuXL5igeSKib9Rye02TdH+D6SQezTyGxIATMu1Qsn/QywrzwpGl35OLpS2C1x5vpGLeVE2XgiLd5mVPFHmIglQ==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@yuku-core/binding-win32-arm64@0.19.0': + resolution: {integrity: sha512-YuJAe7zEKT1Xa7LuHlhGJpPnYQeVtvo0rZvNjJRqkH0hQGOw4C8QeP30Tg5VKGzZfo2x8CjhjEhKt4TmLwfmdg==} + cpu: [arm64] + os: [win32] + + '@yuku-core/binding-win32-x64@0.19.0': + resolution: {integrity: sha512-o8iY/mXwlRkedp0LNTr4+TEfXTPQwoNZmv6k+1WIAd1ZXEn8xJJTBCtB0osaVvdZo/x/cNmV16UrWrrGpM5Mvw==} + cpu: [x64] + os: [win32] + + '@yuku-toolchain/types@0.19.0': + resolution: {integrity: sha512-tFkNbsP4WXX9UMUC5syJGdK9dPMLK0PPaIuXCcCYH75sZ8MrebfBZ2XvCILRTw8AgLivSSCfDa4R67iYBDa4Kg==} + + agent-base@9.0.0: + resolution: {integrity: sha512-TQf59BsZnytt8GdJKLPfUZ54g/iaUL2OWDSFCCvMOhsHduDQxO8xC4PNeyIkVcA5KwL2phPSv0douC0fgWzmnA==} + engines: {node: '>= 20'} + + ajv-formats@3.0.1: + resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv@8.20.0: + resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==} + + ansi-escapes@7.3.0: + resolution: {integrity: sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==} + engines: {node: '>=18'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.3.0: + resolution: {integrity: sha512-WpDfL7NO6j7tH88IDBNVdUJxDh9nmCteAVW9dsep846XdwF4naCBK+/tGLX3KJgcpgMRXCFlTM2hKGoK9FsdrQ==} + engines: {node: '>=12'} + + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + + ansi-styles@6.2.3: + resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} + engines: {node: '>=12'} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + aria-query@5.3.0: + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + + assertion-error@2.0.1: + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} + + autoprefixer@10.6.2: + resolution: {integrity: sha512-VOw9/yGTGwPPgzFcODtcv6zhEPIeIWkRSe10L2ri2f5vZ7ID7lCt6jZzRF5/ubgOZ+szYydmEF5AYsA5jxX1tA==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + baseline-browser-mapping@2.11.21: + resolution: {integrity: sha512-uh8vpY/1/YyFkunIDFH/12p7/7VdPKA1hejMVEbdkEaWnUz0Hesvx5EbiU6XxjyHZIOju+ZMbQJkRh+es3/spQ==} + engines: {node: '>=6.0.0'} + hasBin: true + + beasties@0.5.4: + resolution: {integrity: sha512-8/lOOjT+PElYCnaUbmhgd3Uad5R1VTQ4Wg0k4rK8bX04m5WEqHNmnlLy3Q/lJ7dk25XA+72gayzc/skTfKKpcA==} + engines: {node: '>=20.19.0'} + + before-after-hook@4.0.0: + resolution: {integrity: sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==} + + boolbase@2.0.0: + resolution: {integrity: sha512-DkVaaQHymRhpYEYo9x1oo7Q7B0Y6KJUsjm3c9eTyFDby4MHLBTwZ6ZDWBel5zrYxj1WsZgC5oLpiz+93MluXeA==} + engines: {node: '>=20.19.0'} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist@4.28.9: + resolution: {integrity: sha512-EWazOblFYUvlGZcfGhPUPmYh3nikUxBVb+y9MJun5f3hBi812X+8MSQTujLBtgK3cf51fJWbWfOjyeO954d+Eg==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -3393,6 +3918,10 @@ packages: resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} engines: {node: '>=18'} + chai@6.3.0: + resolution: {integrity: sha512-XWAtwJ6OHO+tj0EKCs0Y2UamnyOxseZWltU4x2U2wh8g4AigdjwvtUjvLP2tqkA/avxHEtzxNaqGq/YGNwckKg==} + engines: {node: '>=18'} + chardet@2.1.1: resolution: {integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==} @@ -3480,6 +4009,10 @@ packages: supports-color: optional: true + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + detect-libc@2.1.2: resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} engines: {node: '>=8'} @@ -3488,6 +4021,9 @@ packages: resolution: {integrity: sha512-svtcdpS8CgJyqAjEQIXdb3OjhFVVYjzGAPO8WGCmRbrml64SPw/jJD4GoE98aR7r25A0XcgrK3F02yw9R/vhQw==} engines: {node: '>=0.3.1'} + dom-accessibility-api@0.5.16: + resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} + dom-serializer@3.1.1: resolution: {integrity: sha512-4MEa38/QexBob6gFNwu+EGdWvhJ1OKuNwdYY3Y3NyeWDQfnGeDYQUDfIRzWu5B5gsv03so2Uxd28YC6zrsx3Lw==} engines: {node: '>=20.19.0'} @@ -3618,10 +4154,16 @@ packages: fflate@0.4.8: resolution: {integrity: sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA==} + fflate@0.8.3: + resolution: {integrity: sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA==} + fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} + flatted@3.4.4: + resolution: {integrity: sha512-5+ybhBZANEJxaH3X5evAFatUxLfEHSr7n6kYJ+1Qd0mUqr4eu9gIf6GDbWHf8RJijHrjjO8G+la14SlL2SeS1Q==} + flru@1.0.2: resolution: {integrity: sha512-kWyh8ADvHBFz6ua5xYOPnUroZTT/bwWfrCeL0Wj1dzG4/YOmOcfJ99W8dOVyyynJN35rZ9aCOtHChqQovV7yog==} engines: {node: '>=6'} @@ -3749,6 +4291,9 @@ packages: js-tokens@10.0.0: resolution: {integrity: sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q==} + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + js-yaml@5.4.1: resolution: {integrity: sha512-28R/k+NAjeuf7+CKlTxWZVExJGwVVLwY06DgEnOMz2gEpfNkDcD7QvyiVPT0xy0XXhU8vHsd4Ot42OOPdJG7dQ==} hasBin: true @@ -3932,12 +4477,19 @@ packages: resolution: {integrity: sha512-lddSgOt3bPASrylL54ZSpy8nBHns+vBVSoILlVOx+dei300pnLRN958rj/EdlVLKuWlSESU3qdnDZdAI7FXYGg==} engines: {node: '>=22'} + lz-string@1.5.0: + resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} + hasBin: true + magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} magic-string@1.4.1: resolution: {integrity: sha512-8lyCu36ErXR0J9uaGKlKQoiLZKmtI63YGLE8G2o9jyRPdr4X47LusSOwgOJOzcVtp81fTAAjxR7BwKz682Jhow==} + magic-string@1.4.5: + resolution: {integrity: sha512-oLLC2+YvQUfAa+vxoufE/yc1icb87M9iXIRqAoR/2EhE/8cb3SF/+Gi0c2By1B+5Vz2e2vQtUvHiu1+63Znh+w==} + math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} @@ -4050,10 +4602,39 @@ packages: vite-plus: optional: true + oxfmt@0.78.0: + resolution: {integrity: sha512-uagX+70mKqh/YqxB6ON/lkxVPH6E1Z7pfP2x6XVRPPyiDCZtX6o1xIEeXAIXJ/2wA5ViX4RFuW+IAQn85yJdWg==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + '@astrojs/compiler-rs': ^0.5.0 + svelte: ^5.0.0 + vite-plus: '*' + peerDependenciesMeta: + '@astrojs/compiler-rs': + optional: true + svelte: + optional: true + vite-plus: + optional: true + oxlint-tsgolint@7.0.2006: resolution: {integrity: sha512-5B3UtH71kycPHUC1kFEIffivEAs49SUmkJuHZOZnTY0NPj4legp0bcsCQucuLVNCoJzDucS68P2C4WIhP+LypQ==} hasBin: true + oxlint@1.92.0: + resolution: {integrity: sha512-y9iRiRwVjVFqzKNXZJ9bT/GYRdf+F9Gy+a1Yju2Aq3xqqa4FJYXHI8VrxlpzxKDvkYRohvJX42m/eH+qkQPOFw==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + oxlint-tsgolint: '>=7.0.2005' + vite-plus: '*' + peerDependenciesMeta: + oxlint-tsgolint: + optional: true + vite-plus: + optional: true + oxlint@1.93.0: resolution: {integrity: sha512-19JMsQFX+YvEbcUTFQxjTwhvs0Ibg0D6CFneSLgpwnACWcY/6LjhpGpkPodh0T5aIT1pjMTLlYaeBFzaVgugTA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -4086,6 +4667,9 @@ packages: path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -4129,6 +4713,10 @@ packages: engines: {node: '>=20'} hasBin: true + pngjs@7.0.0: + resolution: {integrity: sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow==} + engines: {node: '>=14.19.0'} + postcss-import@17.0.1: resolution: {integrity: sha512-lthLZRa+sMc/xo+lG7TMUvOviwP9ngR0VULnvfXTyOE3JIc0mFrbjcubI6Jx52X+B3IKt9yfp6wwVWE768JezA==} engines: {node: '>=22.0.0'} @@ -4175,6 +4763,10 @@ packages: preact@10.29.3: resolution: {integrity: sha512-D9NL1GAnJZhc3RndVs4gDdxEeU9TcHgywMrhhOsnpdlvFjdbx0gAsLUnH6JEhlJH5giL7Tx5biWPUSEXE/HPzw==} + pretty-format@27.5.1: + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + prismjs@1.30.0: resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==} engines: {node: '>=6'} @@ -4201,6 +4793,9 @@ packages: queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + react-is@17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + read-cache@1.0.0: resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} @@ -4399,6 +4994,10 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} + sirv@3.0.2: + resolution: {integrity: sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==} + engines: {node: '>=18'} + slice-ansi@9.0.0: resolution: {integrity: sha512-SO/3iYL5S3W57LLEniscOGPZgOqZUPCx6d3dB+52B80yJ0XstzsC/eV8gnA4tM3MHDrKz+OCFSLNjswdSC+/bA==} engines: {node: '>=22'} @@ -4421,6 +5020,9 @@ packages: std-env@4.2.0: resolution: {integrity: sha512-oCUKSupKTHX53EyjDtuZQ64pjLJ6yYCtpmEw0goYxtjG9KpbRe8KAsl2tBUGU9DyMcJ0RwJ8GqJAFzMXcXW1Rw==} + std-env@4.3.0: + resolution: {integrity: sha512-OtU/EgQ1kIm5KwqQpBC6ZEMXrZRui11w8zgfTWp8cdO9B8OaPsbA8bTHO2P+HNo1VlUTGMVBwPhydu6poeXiag==} + string-width@7.2.0: resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} engines: {node: '>=18'} @@ -4463,10 +5065,18 @@ packages: resolution: {integrity: sha512-9APumHG7r4yOk4X4WlkmE71aZcv1gvin1czO3OQ1U9iJcFA5Ja/ygyb0vPOVHTthFozUYs8CLoLUlM8grb2lTQ==} engines: {node: '>=20.0.0'} + tinybench@6.2.3: + resolution: {integrity: sha512-Al01C2JIBnO2CXCAPbpAl6sUiOZHeThGtHYNTa51JRw9PyWOCdr+9Ong05R4qg/Sk3+H645E8ov1h2c58ityNw==} + engines: {node: '>=20.0.0'} + tinyexec@1.3.0: resolution: {integrity: sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ==} engines: {node: '>=18'} + tinyexec@1.3.1: + resolution: {integrity: sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA==} + engines: {node: '>=18'} + tinyglobby@0.2.17: resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} engines: {node: '>=12.0.0'} @@ -4475,10 +5085,18 @@ packages: resolution: {integrity: sha512-jBrmx4lYmaC9k/mgPbylxs7kBUxHtD8256up+HjLaDFfXScKJQyil+SWXSvhAtT7XHo+yTVlpB81PGmHP8oLSQ==} engines: {node: ^20.0.0 || >=22.0.0} + tinyrainbow@3.2.0: + resolution: {integrity: sha512-LgO3D9yZJjApUiuUfl9iFAwrtaX4+lok3wJIqttGoKCHlWUqHqbQpnxCf82L8FjgKsh4iGo78hqJwgL8F6To2A==} + engines: {node: '>=14.0.0'} + to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + tsconfck@3.1.6: resolution: {integrity: sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==} engines: {node: ^18 || >=20} @@ -4554,6 +5172,22 @@ packages: peerDependencies: vite: ^2 || ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + vite-plus@1.6.0: + resolution: {integrity: sha512-h6aIA80QcAhICBp2Xga8lPM9jOZm2VvPn7Ls531C7RjD9herrT1rPDUMY72IdFf1XyWDmFVEwO+W3EgXtSSMLQ==} + engines: {node: ^22.18.0 || ^24.11.0 || >=26.0.0} + hasBin: true + peerDependencies: + '@vitest/browser-playwright': 5.1.0 + '@vitest/browser-webdriverio': ^5.0.0-beta.5 || >=5.0.0 + playwright: '*' + peerDependenciesMeta: + '@vitest/browser-playwright': + optional: true + '@vitest/browser-webdriverio': + optional: true + playwright: + optional: true + vite-tsconfig-paths@6.1.1: resolution: {integrity: sha512-2cihq7zliibCCZ8P9cKJrQBkfgdvcFkOOc3Y02o3GWUDLgqjWsZudaoiuOwO/gzTzy17cS5F7ZPo4bsnS4DGkg==} peerDependencies: @@ -4624,41 +5258,82 @@ packages: optional: true '@vitejs/devtools': optional: true - esbuild: + esbuild: + optional: true + jiti: + optional: true + less: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + + vitest@5.0.3: + resolution: {integrity: sha512-xMw97S3rjdtj5dkVat7jCsqWBpvchs3RlpQctUqwJD0KkERk40vz2fJ77lDwW/Vzh/pk18eItYAzkodhSes3jQ==} + engines: {node: ^22.12.0 || ^24.0.0 || >=26.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@opentelemetry/api': ^1.9.0 + '@types/node': ^22.0.0 || >=24.0.0 + '@vitest/browser-playwright': 5.0.3 + '@vitest/browser-preview': 5.0.3 + '@vitest/browser-webdriverio': ^5.0.0-beta.5 || >=5.0.0 + '@vitest/coverage-istanbul': 5.0.3 + '@vitest/coverage-v8': 5.0.3 + '@vitest/ui': 5.0.3 + happy-dom: '*' + jsdom: '*' + vite: ^6.4.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@opentelemetry/api': optional: true - jiti: + '@types/node': optional: true - less: + '@vitest/browser-playwright': optional: true - sass: + '@vitest/browser-preview': optional: true - sass-embedded: + '@vitest/browser-webdriverio': optional: true - stylus: + '@vitest/coverage-istanbul': optional: true - sugarss: + '@vitest/coverage-v8': optional: true - terser: + '@vitest/ui': optional: true - tsx: + happy-dom: optional: true - yaml: + jsdom: optional: true - vitest@5.0.3: - resolution: {integrity: sha512-xMw97S3rjdtj5dkVat7jCsqWBpvchs3RlpQctUqwJD0KkERk40vz2fJ77lDwW/Vzh/pk18eItYAzkodhSes3jQ==} + vitest@5.1.0: + resolution: {integrity: sha512-MzmNFnrwa8v8lF1bLxw3UJ4EREwVOVb75VqJZmUDRjJ6EluK/x9th7qTbaeDk41WxE1GxWqmTXcdsfobfH5sOA==} engines: {node: ^22.12.0 || ^24.0.0 || >=26.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@opentelemetry/api': ^1.9.0 '@types/node': ^22.0.0 || >=24.0.0 - '@vitest/browser-playwright': 5.0.3 - '@vitest/browser-preview': 5.0.3 + '@vitest/browser-playwright': 5.1.0 + '@vitest/browser-preview': 5.1.0 '@vitest/browser-webdriverio': ^5.0.0-beta.5 || >=5.0.0 - '@vitest/coverage-istanbul': 5.0.3 - '@vitest/coverage-v8': 5.0.3 - '@vitest/ui': 5.0.3 + '@vitest/coverage-istanbul': 5.1.0 + '@vitest/coverage-v8': 5.1.0 + '@vitest/ui': 5.1.0 happy-dom: '*' jsdom: '*' vite: ^6.4.0 || ^7.0.0 || ^8.0.0 @@ -4705,6 +5380,18 @@ packages: resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==} engines: {node: '>=18'} + ws@8.22.2: + resolution: {integrity: sha512-/rEZ2ejown2N5gxVTHUu9bVVC7ttu0/Tgzf5hbTOixR3Fs7mbbXgn2DbdbcKgJOmpQMtrIUWivtYuVMnp/W/yA==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + xxhash-wasm@1.1.0: resolution: {integrity: sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==} @@ -4724,6 +5411,14 @@ packages: resolution: {integrity: sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==} engines: {node: '>=12.20'} + yuku-core@0.19.0: + resolution: {integrity: sha512-kYK9e1XdfirNhkipzW0wmMcSWcVF/CWnuugodfVYRCUwvoBefweL9HzB96OiKEhsx78V5WbUxbJqlizMX869Qg==} + engines: {node: '>=14.18.0'} + + yuku-parser@0.19.0: + resolution: {integrity: sha512-XrBh9ZiQK5mJVRxZBAvD6LwRyAYrK3MFtH3+onyuxFL5hFD44EC3QOmIC1FjTj6H2MMwq46/NAI+NZxLZPZgxg==} + engines: {node: '>=14.18.0'} + zod@4.5.4: resolution: {integrity: sha512-sC95tT5iHHH9gtpj6A81kh+NEaRAUFN+qlUPDUbRfOMvNf5QCBqsb3WgvnpVtK5Y+4UfA6KqufotuTvMGiTlsA==} @@ -4760,7 +5455,7 @@ snapshots: '@angular/core': 22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)(zone.js@0.16.3) tslib: 2.8.1 - '@angular/build@22.2.6(@angular/compiler-cli@22.2.4(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/compiler@22.2.2)(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)(zone.js@0.16.3))(@angular/platform-browser@22.2.2(@angular/animations@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)(zone.js@0.16.3)))(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)(zone.js@0.16.3))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)(zone.js@0.16.3)))(@types/node@24.1.0)(jiti@2.7.0)(postcss@8.5.32)(rollup@4.60.2)(supports-color@8.1.1)(tailwindcss@4.3.3)(tslib@2.8.1)(tsx@4.23.15)(typescript@6.0.3)(vitest@5.0.3(@types/node@24.1.0)(vite@8.3.4(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1)(tsx@4.23.15)))': + '@angular/build@22.2.6(@angular/compiler-cli@22.2.4(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/compiler@22.2.2)(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)(zone.js@0.16.3))(@angular/platform-browser@22.2.2(@angular/animations@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)(zone.js@0.16.3)))(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)(zone.js@0.16.3))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)(zone.js@0.16.3)))(@types/node@24.1.0)(jiti@2.7.0)(postcss@8.5.32)(rollup@4.60.2)(supports-color@8.1.1)(tailwindcss@4.3.3)(tslib@2.8.1)(tsx@4.23.15)(typescript@6.0.3)(vitest@5.1.0)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2202.6(chokidar@5.0.0) @@ -4801,7 +5496,7 @@ snapshots: postcss: 8.5.32 rollup: 4.60.2 tailwindcss: 4.3.3 - vitest: 5.0.3(@types/node@24.1.0)(vite@8.3.4(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1)(tsx@4.23.15)) + vitest: 5.1.0(@types/node@24.1.0)(@vitest/browser-preview@5.1.0)(@vitest/ui@5.1.0)(vite@8.3.4(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1)(tsx@4.23.15)) transitivePeerDependencies: - '@types/node' - '@vitejs/devtools' @@ -4900,6 +5595,12 @@ snapshots: rxjs: 7.8.2 tslib: 2.8.1 + '@babel/code-frame@7.29.7': + dependencies: + '@babel/helper-validator-identifier': 7.29.7 + js-tokens: 4.0.0 + picocolors: 1.1.1 + '@babel/code-frame@8.0.6': dependencies: '@babel/helper-validator-identifier': 8.0.6 @@ -4966,6 +5667,8 @@ snapshots: '@babel/helper-string-parser@8.0.6': {} + '@babel/helper-validator-identifier@7.29.7': {} + '@babel/helper-validator-identifier@8.0.6': {} '@babel/helper-validator-option@8.0.0': {} @@ -4979,6 +5682,8 @@ snapshots: dependencies: '@babel/types': 8.0.6 + '@babel/runtime@7.29.13': {} + '@babel/template@8.0.0': dependencies: '@babel/code-frame': 8.0.6 @@ -5000,6 +5705,8 @@ snapshots: '@babel/helper-string-parser': 8.0.6 '@babel/helper-validator-identifier': 8.0.6 + '@blazediff/core@1.10.0': {} + '@bufbuild/protobuf@2.16.0': {} '@emnapi/core@1.9.2': @@ -5924,6 +6631,8 @@ snapshots: '@oxc-parser/binding-win32-x64-msvc@0.158.0': optional: true + '@oxc-project/runtime@0.158.0': {} + '@oxc-project/types@0.156.0': {} '@oxc-project/types@0.158.0': {} @@ -5988,60 +6697,117 @@ snapshots: '@oxfmt/binding-android-arm-eabi@0.73.0': optional: true + '@oxfmt/binding-android-arm-eabi@0.78.0': + optional: true + '@oxfmt/binding-android-arm64@0.73.0': optional: true + '@oxfmt/binding-android-arm64@0.78.0': + optional: true + '@oxfmt/binding-darwin-arm64@0.73.0': optional: true + '@oxfmt/binding-darwin-arm64@0.78.0': + optional: true + '@oxfmt/binding-darwin-x64@0.73.0': optional: true + '@oxfmt/binding-darwin-x64@0.78.0': + optional: true + '@oxfmt/binding-freebsd-x64@0.73.0': optional: true + '@oxfmt/binding-freebsd-x64@0.78.0': + optional: true + '@oxfmt/binding-linux-arm-gnueabihf@0.73.0': optional: true + '@oxfmt/binding-linux-arm-gnueabihf@0.78.0': + optional: true + '@oxfmt/binding-linux-arm-musleabihf@0.73.0': optional: true + '@oxfmt/binding-linux-arm-musleabihf@0.78.0': + optional: true + '@oxfmt/binding-linux-arm64-gnu@0.73.0': optional: true + '@oxfmt/binding-linux-arm64-gnu@0.78.0': + optional: true + '@oxfmt/binding-linux-arm64-musl@0.73.0': optional: true + '@oxfmt/binding-linux-arm64-musl@0.78.0': + optional: true + '@oxfmt/binding-linux-ppc64-gnu@0.73.0': optional: true + '@oxfmt/binding-linux-ppc64-gnu@0.78.0': + optional: true + '@oxfmt/binding-linux-riscv64-gnu@0.73.0': optional: true + '@oxfmt/binding-linux-riscv64-gnu@0.78.0': + optional: true + '@oxfmt/binding-linux-riscv64-musl@0.73.0': optional: true + '@oxfmt/binding-linux-riscv64-musl@0.78.0': + optional: true + '@oxfmt/binding-linux-s390x-gnu@0.73.0': optional: true + '@oxfmt/binding-linux-s390x-gnu@0.78.0': + optional: true + '@oxfmt/binding-linux-x64-gnu@0.73.0': optional: true + '@oxfmt/binding-linux-x64-gnu@0.78.0': + optional: true + '@oxfmt/binding-linux-x64-musl@0.73.0': optional: true + '@oxfmt/binding-linux-x64-musl@0.78.0': + optional: true + '@oxfmt/binding-openharmony-arm64@0.73.0': optional: true + '@oxfmt/binding-openharmony-arm64@0.78.0': + optional: true + '@oxfmt/binding-win32-arm64-msvc@0.73.0': optional: true + '@oxfmt/binding-win32-arm64-msvc@0.78.0': + optional: true + '@oxfmt/binding-win32-ia32-msvc@0.73.0': optional: true + '@oxfmt/binding-win32-ia32-msvc@0.78.0': + optional: true + '@oxfmt/binding-win32-x64-msvc@0.73.0': optional: true + '@oxfmt/binding-win32-x64-msvc@0.78.0': + optional: true + '@oxlint-tsgolint/darwin-arm64@7.0.2006': optional: true @@ -6060,63 +6826,122 @@ snapshots: '@oxlint-tsgolint/win32-x64@7.0.2006': optional: true + '@oxlint/binding-android-arm-eabi@1.92.0': + optional: true + '@oxlint/binding-android-arm-eabi@1.93.0': optional: true + '@oxlint/binding-android-arm64@1.92.0': + optional: true + '@oxlint/binding-android-arm64@1.93.0': optional: true + '@oxlint/binding-darwin-arm64@1.92.0': + optional: true + '@oxlint/binding-darwin-arm64@1.93.0': optional: true + '@oxlint/binding-darwin-x64@1.92.0': + optional: true + '@oxlint/binding-darwin-x64@1.93.0': optional: true + '@oxlint/binding-freebsd-x64@1.92.0': + optional: true + '@oxlint/binding-freebsd-x64@1.93.0': optional: true + '@oxlint/binding-linux-arm-gnueabihf@1.92.0': + optional: true + '@oxlint/binding-linux-arm-gnueabihf@1.93.0': optional: true + '@oxlint/binding-linux-arm-musleabihf@1.92.0': + optional: true + '@oxlint/binding-linux-arm-musleabihf@1.93.0': optional: true + '@oxlint/binding-linux-arm64-gnu@1.92.0': + optional: true + '@oxlint/binding-linux-arm64-gnu@1.93.0': optional: true + '@oxlint/binding-linux-arm64-musl@1.92.0': + optional: true + '@oxlint/binding-linux-arm64-musl@1.93.0': optional: true + '@oxlint/binding-linux-ppc64-gnu@1.92.0': + optional: true + '@oxlint/binding-linux-ppc64-gnu@1.93.0': optional: true + '@oxlint/binding-linux-riscv64-gnu@1.92.0': + optional: true + '@oxlint/binding-linux-riscv64-gnu@1.93.0': optional: true + '@oxlint/binding-linux-riscv64-musl@1.92.0': + optional: true + '@oxlint/binding-linux-riscv64-musl@1.93.0': optional: true + '@oxlint/binding-linux-s390x-gnu@1.92.0': + optional: true + '@oxlint/binding-linux-s390x-gnu@1.93.0': optional: true + '@oxlint/binding-linux-x64-gnu@1.92.0': + optional: true + '@oxlint/binding-linux-x64-gnu@1.93.0': optional: true + '@oxlint/binding-linux-x64-musl@1.92.0': + optional: true + '@oxlint/binding-linux-x64-musl@1.93.0': optional: true + '@oxlint/binding-openharmony-arm64@1.92.0': + optional: true + '@oxlint/binding-openharmony-arm64@1.93.0': optional: true + '@oxlint/binding-win32-arm64-msvc@1.92.0': + optional: true + '@oxlint/binding-win32-arm64-msvc@1.93.0': optional: true + '@oxlint/binding-win32-ia32-msvc@1.92.0': + optional: true + '@oxlint/binding-win32-ia32-msvc@1.93.0': optional: true + '@oxlint/binding-win32-x64-msvc@1.92.0': + optional: true + '@oxlint/binding-win32-x64-msvc@1.93.0': optional: true + '@oxlint/plugins@1.93.0': {} + '@parcel/watcher-android-arm64@2.6.0': optional: true @@ -6427,6 +7252,8 @@ snapshots: dependencies: playwright: 1.65.0 + '@polka/url@1.0.0-next.29': {} + '@portabletext/to-html@6.0.0': dependencies: '@portabletext/toolkit': 6.0.0 @@ -6577,10 +7404,10 @@ snapshots: '@sanity/asset-utils@2.3.0': {} - '@sanity/client@8.9.0(vitest@5.0.3(@types/node@22.19.15)(vite@8.3.4(@types/node@22.19.15)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)))': + '@sanity/client@8.9.0(vitest@5.1.0)': dependencies: eventsource: 5.1.2 - get-it: 9.6.1(vitest@5.0.3(@types/node@22.19.15)(vite@8.3.4(@types/node@22.19.15)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15))) + get-it: 9.6.1(vitest@5.1.0) obug: 3.0.0 rxjs: 7.8.2 transitivePeerDependencies: @@ -6590,19 +7417,19 @@ snapshots: dependencies: '@sanity/signed-urls': 2.0.2 - '@sanity/media-library-types@1.7.1(@sanity/types@6.18.0(@types/react@19.2.14)(vitest@5.0.3(@types/node@22.19.15)(vite@8.3.4(@types/node@22.19.15)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15))))': + '@sanity/media-library-types@1.7.1(@sanity/types@6.18.0(@types/react@19.2.14)(vitest@5.1.0))': dependencies: - '@sanity/types': 6.18.0(@types/react@19.2.14)(vitest@5.0.3(@types/node@22.19.15)(vite@8.3.4(@types/node@22.19.15)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15))) + '@sanity/types': 6.18.0(@types/react@19.2.14)(vitest@5.1.0) '@sanity/signed-urls@2.0.2': dependencies: '@noble/ed25519': 3.0.1 '@noble/hashes': 2.0.1 - '@sanity/types@6.18.0(@types/react@19.2.14)(vitest@5.0.3(@types/node@22.19.15)(vite@8.3.4(@types/node@22.19.15)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)))': + '@sanity/types@6.18.0(@types/react@19.2.14)(vitest@5.1.0)': dependencies: - '@sanity/client': 8.9.0(vitest@5.0.3(@types/node@22.19.15)(vite@8.3.4(@types/node@22.19.15)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15))) - '@sanity/media-library-types': 1.7.1(@sanity/types@6.18.0(@types/react@19.2.14)(vitest@5.0.3(@types/node@22.19.15)(vite@8.3.4(@types/node@22.19.15)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)))) + '@sanity/client': 8.9.0(vitest@5.1.0) + '@sanity/media-library-types': 1.7.1(@sanity/types@6.18.0(@types/react@19.2.14)(vitest@5.1.0)) '@types/react': 19.2.14 transitivePeerDependencies: - vitest @@ -6735,95 +7562,342 @@ snapshots: tailwindcss: 4.3.3 vite: 8.3.4(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1)(tsx@4.23.15) + '@testing-library/dom@10.4.2': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/runtime': 7.29.13 + '@types/aria-query': 5.0.4 + aria-query: 5.3.0 + dom-accessibility-api: 0.5.16 + lz-string: 1.5.0 + picocolors: 1.1.1 + pretty-format: 27.5.1 + + '@testing-library/user-event@14.6.9(@testing-library/dom@10.4.2)': + dependencies: + '@testing-library/dom': 10.4.2 + '@tybys/wasm-util@0.10.3': dependencies: tslib: 2.8.1 optional: true - '@types/chai@5.2.3': - dependencies: - '@types/deep-eql': 4.0.2 - assertion-error: 2.0.1 + '@types/aria-query@5.0.4': {} + + '@types/chai@5.2.3': + dependencies: + '@types/deep-eql': 4.0.2 + assertion-error: 2.0.1 + + '@types/css-font-loading-module@0.0.12': {} + + '@types/d3-force@3.0.10': {} + + '@types/deep-eql@4.0.2': {} + + '@types/earcut@2.1.4': {} + + '@types/estree@1.0.8': + optional: true + + '@types/estree@1.0.9': {} + + '@types/fontfaceobserver@2.1.3': {} + + '@types/gensync@1.0.5': {} + + '@types/jsesc@2.5.1': {} + + '@types/node@22.19.15': + dependencies: + undici-types: 6.21.0 + + '@types/node@24.1.0': + dependencies: + undici-types: 7.8.0 + + '@types/prismjs@1.26.6': {} + + '@types/react@19.2.14': + dependencies: + csstype: 3.2.3 + + '@types/trusted-types@2.0.7': + optional: true + + '@vitejs/plugin-basic-ssl@2.3.0(vite@8.3.5(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1)(tsx@4.23.15))': + dependencies: + vite: 8.3.5(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1)(tsx@4.23.15) + + '@vitest/browser-preview@5.1.0(@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3))(vitest@5.1.0)': + dependencies: + '@testing-library/dom': 10.4.2 + '@testing-library/user-event': 14.6.9(@testing-library/dom@10.4.2) + '@vitest/browser': 5.1.0(@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3))(vitest@5.1.0) + vitest: 5.1.0(@types/node@24.1.0)(@vitest/browser-preview@5.1.0)(@vitest/ui@5.1.0(vitest@5.1.0))(@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3)) + transitivePeerDependencies: + - bufferutil + - msw + - utf-8-validate + - vite + + '@vitest/browser-preview@5.1.0(vite@8.3.4(@types/node@22.19.15)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15))(vitest@5.1.0)': + dependencies: + '@testing-library/dom': 10.4.2 + '@testing-library/user-event': 14.6.9(@testing-library/dom@10.4.2) + '@vitest/browser': 5.1.0(vite@8.3.4(@types/node@22.19.15)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15))(vitest@5.1.0) + vitest: 5.1.0(@types/node@22.19.15)(@vitest/browser-preview@5.1.0)(@vitest/ui@5.1.0)(vite@8.3.4(@types/node@22.19.15)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)) + transitivePeerDependencies: + - bufferutil + - msw + - utf-8-validate + - vite + optional: true + + '@vitest/browser-preview@5.1.0(vite@8.3.4(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1)(tsx@4.23.15))(vitest@5.1.0)': + dependencies: + '@testing-library/dom': 10.4.2 + '@testing-library/user-event': 14.6.9(@testing-library/dom@10.4.2) + '@vitest/browser': 5.1.0(vite@8.3.4(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1)(tsx@4.23.15))(vitest@5.1.0) + vitest: 5.1.0(@types/node@24.1.0)(@vitest/browser-preview@5.1.0)(@vitest/ui@5.1.0)(vite@8.3.4(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1)(tsx@4.23.15)) + transitivePeerDependencies: + - bufferutil + - msw + - utf-8-validate + - vite + optional: true + + '@vitest/browser@5.1.0(@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3))(vitest@5.1.0)': + dependencies: + '@blazediff/core': 1.10.0 + '@vitest/mocker': 5.1.0(@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3)) + '@vitest/ui': 5.1.0(vitest@5.1.0) + '@vitest/utils': 5.1.0 + magic-string: 1.4.5 + pngjs: 7.0.0 + sirv: 3.0.2 + tinyrainbow: 3.2.0 + vitest: 5.1.0(@types/node@24.1.0)(@vitest/browser-preview@5.1.0)(@vitest/ui@5.1.0(vitest@5.1.0))(@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3)) + ws: 8.22.2 + transitivePeerDependencies: + - bufferutil + - msw + - utf-8-validate + - vite + + '@vitest/browser@5.1.0(vite@8.3.4(@types/node@22.19.15)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15))(vitest@5.1.0)': + dependencies: + '@blazediff/core': 1.10.0 + '@vitest/mocker': 5.1.0(vite@8.3.4(@types/node@22.19.15)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)) + '@vitest/ui': 5.1.0(vitest@5.1.0) + '@vitest/utils': 5.1.0 + magic-string: 1.4.5 + pngjs: 7.0.0 + sirv: 3.0.2 + tinyrainbow: 3.2.0 + vitest: 5.1.0(@types/node@22.19.15)(@vitest/browser-preview@5.1.0)(@vitest/ui@5.1.0)(vite@8.3.4(@types/node@22.19.15)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)) + ws: 8.22.2 + transitivePeerDependencies: + - bufferutil + - msw + - utf-8-validate + - vite + optional: true + + '@vitest/browser@5.1.0(vite@8.3.4(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1)(tsx@4.23.15))(vitest@5.1.0)': + dependencies: + '@blazediff/core': 1.10.0 + '@vitest/mocker': 5.1.0(vite@8.3.4(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1)(tsx@4.23.15)) + '@vitest/ui': 5.1.0(vitest@5.1.0) + '@vitest/utils': 5.1.0 + magic-string: 1.4.5 + pngjs: 7.0.0 + sirv: 3.0.2 + tinyrainbow: 3.2.0 + vitest: 5.1.0(@types/node@24.1.0)(@vitest/browser-preview@5.1.0)(@vitest/ui@5.1.0)(vite@8.3.4(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1)(tsx@4.23.15)) + ws: 8.22.2 + transitivePeerDependencies: + - bufferutil + - msw + - utf-8-validate + - vite + optional: true + + '@vitest/mocker@5.0.3(vite@8.3.4(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15))': + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + '@vitest/spy': 5.0.3 + estree-walker: 3.0.3 + magic-string: 1.4.1 + optionalDependencies: + vite: 8.3.4(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15) + + '@vitest/mocker@5.0.3(vite@8.3.5(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15))': + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + '@vitest/spy': 5.0.3 + estree-walker: 3.0.3 + magic-string: 1.4.1 + optionalDependencies: + vite: 8.3.5(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15) + + '@vitest/mocker@5.1.0(@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3))': + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + '@vitest/spy': 5.1.0 + estree-walker: 3.0.3 + magic-string: 1.4.5 + optionalDependencies: + vite: '@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3)' + + '@vitest/mocker@5.1.0(vite@8.3.4(@types/node@22.19.15)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15))': + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + '@vitest/spy': 5.1.0 + estree-walker: 3.0.3 + magic-string: 1.4.5 + optionalDependencies: + vite: 8.3.4(@types/node@22.19.15)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15) + optional: true + + '@vitest/mocker@5.1.0(vite@8.3.4(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1)(tsx@4.23.15))': + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + '@vitest/spy': 5.1.0 + estree-walker: 3.0.3 + magic-string: 1.4.5 + optionalDependencies: + vite: 8.3.4(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1)(tsx@4.23.15) + optional: true + + '@vitest/pretty-format@5.1.0': + dependencies: + tinyrainbow: 3.2.0 + + '@vitest/snapshot@5.1.0': + dependencies: + '@vitest/pretty-format': 5.1.0 + '@vitest/utils': 5.1.0 + magic-string: 1.4.5 + pathe: 2.0.3 + + '@vitest/spy@5.0.3': {} + + '@vitest/spy@5.1.0': {} + + '@vitest/ui@5.1.0(vitest@5.0.3)': + dependencies: + '@vitest/utils': 5.1.0 + fflate: 0.8.3 + flatted: 3.4.4 + pathe: 2.0.3 + sirv: 3.0.2 + tinyrainbow: 3.2.0 + vitest: 5.0.3(@types/node@24.1.0)(@vitest/browser-preview@5.1.0(@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3))(vitest@5.1.0))(@vitest/ui@5.1.0)(vite@8.3.4(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)) + optional: true + + '@vitest/ui@5.1.0(vitest@5.1.0)': + dependencies: + '@vitest/utils': 5.1.0 + fflate: 0.8.3 + flatted: 3.4.4 + pathe: 2.0.3 + sirv: 3.0.2 + tinyrainbow: 3.2.0 + vitest: 5.1.0(@types/node@24.1.0)(@vitest/browser-preview@5.1.0)(@vitest/ui@5.1.0(vitest@5.1.0))(@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3)) + + '@vitest/utils@5.1.0': + dependencies: + '@vitest/pretty-format': 5.1.0 + convert-source-map: 2.0.0 + tinyrainbow: 3.2.0 + + '@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3)': + dependencies: + '@oxc-project/runtime': 0.158.0 + '@oxc-project/types': 0.158.0 + lightningcss: 1.33.0 + postcss: 8.5.32 + yuku-parser: 0.19.0 + optionalDependencies: + '@types/node': 24.1.0 + '@voidzero-dev/vite-plus-darwin-arm64': 1.6.0 + '@voidzero-dev/vite-plus-darwin-x64': 1.6.0 + '@voidzero-dev/vite-plus-linux-arm64-gnu': 1.6.0 + '@voidzero-dev/vite-plus-linux-arm64-musl': 1.6.0 + '@voidzero-dev/vite-plus-linux-x64-gnu': 1.6.0 + '@voidzero-dev/vite-plus-linux-x64-musl': 1.6.0 + '@voidzero-dev/vite-plus-win32-arm64-msvc': 1.6.0 + '@voidzero-dev/vite-plus-win32-x64-msvc': 1.6.0 + esbuild: 0.28.2 + fsevents: 2.3.3 + jiti: 2.7.0 + sass: 1.107.1 + sass-embedded: 1.104.1 + tsx: 4.23.15 + typescript: 6.0.3 + + '@voidzero-dev/vite-plus-darwin-arm64@1.6.0': + optional: true - '@types/css-font-loading-module@0.0.12': {} + '@voidzero-dev/vite-plus-darwin-x64@1.6.0': + optional: true - '@types/d3-force@3.0.10': {} + '@voidzero-dev/vite-plus-linux-arm64-gnu@1.6.0': + optional: true - '@types/deep-eql@4.0.2': {} + '@voidzero-dev/vite-plus-linux-arm64-musl@1.6.0': + optional: true - '@types/earcut@2.1.4': {} + '@voidzero-dev/vite-plus-linux-x64-gnu@1.6.0': + optional: true - '@types/estree@1.0.8': + '@voidzero-dev/vite-plus-linux-x64-musl@1.6.0': optional: true - '@types/estree@1.0.9': {} + '@voidzero-dev/vite-plus-win32-arm64-msvc@1.6.0': + optional: true - '@types/fontfaceobserver@2.1.3': {} + '@voidzero-dev/vite-plus-win32-x64-msvc@1.6.0': + optional: true - '@types/gensync@1.0.5': {} + '@yuku-core/binding-android-arm64@0.19.0': + optional: true - '@types/jsesc@2.5.1': {} + '@yuku-core/binding-darwin-arm64@0.19.0': + optional: true - '@types/node@22.19.15': - dependencies: - undici-types: 6.21.0 + '@yuku-core/binding-darwin-x64@0.19.0': + optional: true - '@types/node@24.1.0': - dependencies: - undici-types: 7.8.0 + '@yuku-core/binding-freebsd-x64@0.19.0': + optional: true - '@types/prismjs@1.26.6': {} + '@yuku-core/binding-linux-arm-gnu@0.19.0': + optional: true - '@types/react@19.2.14': - dependencies: - csstype: 3.2.3 + '@yuku-core/binding-linux-arm-musl@0.19.0': + optional: true - '@types/trusted-types@2.0.7': + '@yuku-core/binding-linux-arm64-gnu@0.19.0': optional: true - '@vitejs/plugin-basic-ssl@2.3.0(vite@8.3.5(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1)(tsx@4.23.15))': - dependencies: - vite: 8.3.5(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1)(tsx@4.23.15) + '@yuku-core/binding-linux-arm64-musl@0.19.0': + optional: true - '@vitest/mocker@5.0.3(vite@8.3.4(@types/node@22.19.15)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15))': - dependencies: - '@jridgewell/trace-mapping': 0.3.31 - '@vitest/spy': 5.0.3 - estree-walker: 3.0.3 - magic-string: 1.4.1 - optionalDependencies: - vite: 8.3.4(@types/node@22.19.15)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15) + '@yuku-core/binding-linux-x64-gnu@0.19.0': optional: true - '@vitest/mocker@5.0.3(vite@8.3.4(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1)(tsx@4.23.15))': - dependencies: - '@jridgewell/trace-mapping': 0.3.31 - '@vitest/spy': 5.0.3 - estree-walker: 3.0.3 - magic-string: 1.4.1 - optionalDependencies: - vite: 8.3.4(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1)(tsx@4.23.15) + '@yuku-core/binding-linux-x64-musl@0.19.0': optional: true - '@vitest/mocker@5.0.3(vite@8.3.4(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15))': - dependencies: - '@jridgewell/trace-mapping': 0.3.31 - '@vitest/spy': 5.0.3 - estree-walker: 3.0.3 - magic-string: 1.4.1 - optionalDependencies: - vite: 8.3.4(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15) + '@yuku-core/binding-win32-arm64@0.19.0': + optional: true - '@vitest/mocker@5.0.3(vite@8.3.5(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15))': - dependencies: - '@jridgewell/trace-mapping': 0.3.31 - '@vitest/spy': 5.0.3 - estree-walker: 3.0.3 - magic-string: 1.4.1 - optionalDependencies: - vite: 8.3.5(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15) + '@yuku-core/binding-win32-x64@0.19.0': + optional: true - '@vitest/spy@5.0.3': {} + '@yuku-toolchain/types@0.19.0': {} agent-base@9.0.0: {} @@ -6842,12 +7916,20 @@ snapshots: dependencies: environment: 1.1.0 + ansi-regex@5.0.1: {} + ansi-regex@6.3.0: {} + ansi-styles@5.2.0: {} + ansi-styles@6.2.3: {} argparse@2.0.1: {} + aria-query@5.3.0: + dependencies: + dequal: 2.0.3 + assertion-error@2.0.1: {} autoprefixer@10.6.2(postcss@8.5.32): @@ -6912,6 +7994,8 @@ snapshots: chai@6.2.2: {} + chai@6.3.0: {} + chardet@2.1.1: {} chokidar@5.0.0: @@ -6983,10 +8067,14 @@ snapshots: optionalDependencies: supports-color: 8.1.1 + dequal@2.0.3: {} + detect-libc@2.1.2: {} diff@9.0.0: {} + dom-accessibility-api@0.5.16: {} + dom-serializer@3.1.1: dependencies: domelementtype: 3.0.0 @@ -7123,10 +8211,14 @@ snapshots: fflate@0.4.8: {} + fflate@0.8.3: {} + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 + flatted@3.4.4: {} + flru@1.0.2: {} fontfaceobserver@2.3.0: {} @@ -7157,11 +8249,11 @@ snapshots: hasown: 2.0.4 math-intrinsics: 1.1.0 - get-it@9.6.1(vitest@5.0.3(@types/node@22.19.15)(vite@8.3.4(@types/node@22.19.15)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15))): + get-it@9.6.1(vitest@5.1.0): dependencies: undici: 7.30.0 optionalDependencies: - vitest: 5.0.3(@types/node@22.19.15)(vite@8.3.4(@types/node@22.19.15)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)) + vitest: 5.1.0(@types/node@22.19.15)(@vitest/browser-preview@5.1.0)(@vitest/ui@5.1.0)(vite@8.3.4(@types/node@22.19.15)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)) get-proto@1.0.1: dependencies: @@ -7238,6 +8330,8 @@ snapshots: js-tokens@10.0.0: {} + js-tokens@4.0.0: {} + js-yaml@5.4.1: dependencies: argparse: 2.0.1 @@ -7383,6 +8477,8 @@ snapshots: strip-ansi: 7.2.0 wrap-ansi: 10.0.1 + lz-string@1.5.0: {} + magic-string@0.30.21: dependencies: '@jridgewell/sourcemap-codec': 1.6.0 @@ -7391,6 +8487,10 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.6.0 + magic-string@1.4.5: + dependencies: + '@jridgewell/sourcemap-codec': 1.6.0 + math-intrinsics@1.1.0: {} merge2@1.4.1: {} @@ -7534,7 +8634,32 @@ snapshots: '@oxc-transform/binding-win32-ia32-msvc': 0.158.0 '@oxc-transform/binding-win32-x64-msvc': 0.158.0 - oxfmt@0.73.0: + oxfmt@0.73.0(vite-plus@1.6.0(@types/node@24.1.0)(@vitest/ui@5.1.0(vitest@5.1.0))(esbuild@0.28.2)(jiti@2.7.0)(playwright@1.65.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3)): + dependencies: + tinypool: 2.2.0 + optionalDependencies: + '@oxfmt/binding-android-arm-eabi': 0.73.0 + '@oxfmt/binding-android-arm64': 0.73.0 + '@oxfmt/binding-darwin-arm64': 0.73.0 + '@oxfmt/binding-darwin-x64': 0.73.0 + '@oxfmt/binding-freebsd-x64': 0.73.0 + '@oxfmt/binding-linux-arm-gnueabihf': 0.73.0 + '@oxfmt/binding-linux-arm-musleabihf': 0.73.0 + '@oxfmt/binding-linux-arm64-gnu': 0.73.0 + '@oxfmt/binding-linux-arm64-musl': 0.73.0 + '@oxfmt/binding-linux-ppc64-gnu': 0.73.0 + '@oxfmt/binding-linux-riscv64-gnu': 0.73.0 + '@oxfmt/binding-linux-riscv64-musl': 0.73.0 + '@oxfmt/binding-linux-s390x-gnu': 0.73.0 + '@oxfmt/binding-linux-x64-gnu': 0.73.0 + '@oxfmt/binding-linux-x64-musl': 0.73.0 + '@oxfmt/binding-openharmony-arm64': 0.73.0 + '@oxfmt/binding-win32-arm64-msvc': 0.73.0 + '@oxfmt/binding-win32-ia32-msvc': 0.73.0 + '@oxfmt/binding-win32-x64-msvc': 0.73.0 + vite-plus: 1.6.0(@types/node@24.1.0)(@vitest/ui@5.1.0(vitest@5.1.0))(esbuild@0.28.2)(jiti@2.7.0)(playwright@1.65.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3) + + oxfmt@0.73.0(vite-plus@1.6.0(@types/node@24.1.0)(@vitest/ui@5.1.0)(esbuild@0.28.2)(jiti@2.7.0)(playwright@1.65.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3)): dependencies: tinypool: 2.2.0 optionalDependencies: @@ -7557,6 +8682,58 @@ snapshots: '@oxfmt/binding-win32-arm64-msvc': 0.73.0 '@oxfmt/binding-win32-ia32-msvc': 0.73.0 '@oxfmt/binding-win32-x64-msvc': 0.73.0 + vite-plus: 1.6.0(@types/node@24.1.0)(@vitest/ui@5.1.0)(esbuild@0.28.2)(jiti@2.7.0)(playwright@1.65.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3) + + oxfmt@0.78.0(vite-plus@1.6.0(@types/node@24.1.0)(@vitest/ui@5.1.0(vitest@5.1.0))(esbuild@0.28.2)(jiti@2.7.0)(playwright@1.65.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3)): + dependencies: + tinypool: 2.2.0 + optionalDependencies: + '@oxfmt/binding-android-arm-eabi': 0.78.0 + '@oxfmt/binding-android-arm64': 0.78.0 + '@oxfmt/binding-darwin-arm64': 0.78.0 + '@oxfmt/binding-darwin-x64': 0.78.0 + '@oxfmt/binding-freebsd-x64': 0.78.0 + '@oxfmt/binding-linux-arm-gnueabihf': 0.78.0 + '@oxfmt/binding-linux-arm-musleabihf': 0.78.0 + '@oxfmt/binding-linux-arm64-gnu': 0.78.0 + '@oxfmt/binding-linux-arm64-musl': 0.78.0 + '@oxfmt/binding-linux-ppc64-gnu': 0.78.0 + '@oxfmt/binding-linux-riscv64-gnu': 0.78.0 + '@oxfmt/binding-linux-riscv64-musl': 0.78.0 + '@oxfmt/binding-linux-s390x-gnu': 0.78.0 + '@oxfmt/binding-linux-x64-gnu': 0.78.0 + '@oxfmt/binding-linux-x64-musl': 0.78.0 + '@oxfmt/binding-openharmony-arm64': 0.78.0 + '@oxfmt/binding-win32-arm64-msvc': 0.78.0 + '@oxfmt/binding-win32-ia32-msvc': 0.78.0 + '@oxfmt/binding-win32-x64-msvc': 0.78.0 + vite-plus: 1.6.0(@types/node@24.1.0)(@vitest/ui@5.1.0(vitest@5.1.0))(esbuild@0.28.2)(jiti@2.7.0)(playwright@1.65.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3) + + oxfmt@0.78.0(vite-plus@1.6.0(@types/node@24.1.0)(@vitest/ui@5.1.0)(esbuild@0.28.2)(jiti@2.7.0)(playwright@1.65.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3)): + dependencies: + tinypool: 2.2.0 + optionalDependencies: + '@oxfmt/binding-android-arm-eabi': 0.78.0 + '@oxfmt/binding-android-arm64': 0.78.0 + '@oxfmt/binding-darwin-arm64': 0.78.0 + '@oxfmt/binding-darwin-x64': 0.78.0 + '@oxfmt/binding-freebsd-x64': 0.78.0 + '@oxfmt/binding-linux-arm-gnueabihf': 0.78.0 + '@oxfmt/binding-linux-arm-musleabihf': 0.78.0 + '@oxfmt/binding-linux-arm64-gnu': 0.78.0 + '@oxfmt/binding-linux-arm64-musl': 0.78.0 + '@oxfmt/binding-linux-ppc64-gnu': 0.78.0 + '@oxfmt/binding-linux-riscv64-gnu': 0.78.0 + '@oxfmt/binding-linux-riscv64-musl': 0.78.0 + '@oxfmt/binding-linux-s390x-gnu': 0.78.0 + '@oxfmt/binding-linux-x64-gnu': 0.78.0 + '@oxfmt/binding-linux-x64-musl': 0.78.0 + '@oxfmt/binding-openharmony-arm64': 0.78.0 + '@oxfmt/binding-win32-arm64-msvc': 0.78.0 + '@oxfmt/binding-win32-ia32-msvc': 0.78.0 + '@oxfmt/binding-win32-x64-msvc': 0.78.0 + vite-plus: 1.6.0(@types/node@24.1.0)(@vitest/ui@5.1.0)(esbuild@0.28.2)(jiti@2.7.0)(playwright@1.65.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3) + optional: true oxlint-tsgolint@7.0.2006: optionalDependencies: @@ -7567,7 +8744,55 @@ snapshots: '@oxlint-tsgolint/win32-arm64': 7.0.2006 '@oxlint-tsgolint/win32-x64': 7.0.2006 - oxlint@1.93.0(oxlint-tsgolint@7.0.2006): + oxlint@1.92.0(oxlint-tsgolint@7.0.2006)(vite-plus@1.6.0(@types/node@24.1.0)(@vitest/ui@5.1.0(vitest@5.1.0))(esbuild@0.28.2)(jiti@2.7.0)(playwright@1.65.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3)): + optionalDependencies: + '@oxlint/binding-android-arm-eabi': 1.92.0 + '@oxlint/binding-android-arm64': 1.92.0 + '@oxlint/binding-darwin-arm64': 1.92.0 + '@oxlint/binding-darwin-x64': 1.92.0 + '@oxlint/binding-freebsd-x64': 1.92.0 + '@oxlint/binding-linux-arm-gnueabihf': 1.92.0 + '@oxlint/binding-linux-arm-musleabihf': 1.92.0 + '@oxlint/binding-linux-arm64-gnu': 1.92.0 + '@oxlint/binding-linux-arm64-musl': 1.92.0 + '@oxlint/binding-linux-ppc64-gnu': 1.92.0 + '@oxlint/binding-linux-riscv64-gnu': 1.92.0 + '@oxlint/binding-linux-riscv64-musl': 1.92.0 + '@oxlint/binding-linux-s390x-gnu': 1.92.0 + '@oxlint/binding-linux-x64-gnu': 1.92.0 + '@oxlint/binding-linux-x64-musl': 1.92.0 + '@oxlint/binding-openharmony-arm64': 1.92.0 + '@oxlint/binding-win32-arm64-msvc': 1.92.0 + '@oxlint/binding-win32-ia32-msvc': 1.92.0 + '@oxlint/binding-win32-x64-msvc': 1.92.0 + oxlint-tsgolint: 7.0.2006 + vite-plus: 1.6.0(@types/node@24.1.0)(@vitest/ui@5.1.0(vitest@5.1.0))(esbuild@0.28.2)(jiti@2.7.0)(playwright@1.65.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3) + + oxlint@1.93.0(oxlint-tsgolint@7.0.2006)(vite-plus@1.6.0(@types/node@24.1.0)(@vitest/ui@5.1.0(vitest@5.1.0))(esbuild@0.28.2)(jiti@2.7.0)(playwright@1.65.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3)): + optionalDependencies: + '@oxlint/binding-android-arm-eabi': 1.93.0 + '@oxlint/binding-android-arm64': 1.93.0 + '@oxlint/binding-darwin-arm64': 1.93.0 + '@oxlint/binding-darwin-x64': 1.93.0 + '@oxlint/binding-freebsd-x64': 1.93.0 + '@oxlint/binding-linux-arm-gnueabihf': 1.93.0 + '@oxlint/binding-linux-arm-musleabihf': 1.93.0 + '@oxlint/binding-linux-arm64-gnu': 1.93.0 + '@oxlint/binding-linux-arm64-musl': 1.93.0 + '@oxlint/binding-linux-ppc64-gnu': 1.93.0 + '@oxlint/binding-linux-riscv64-gnu': 1.93.0 + '@oxlint/binding-linux-riscv64-musl': 1.93.0 + '@oxlint/binding-linux-s390x-gnu': 1.93.0 + '@oxlint/binding-linux-x64-gnu': 1.93.0 + '@oxlint/binding-linux-x64-musl': 1.93.0 + '@oxlint/binding-openharmony-arm64': 1.93.0 + '@oxlint/binding-win32-arm64-msvc': 1.93.0 + '@oxlint/binding-win32-ia32-msvc': 1.93.0 + '@oxlint/binding-win32-x64-msvc': 1.93.0 + oxlint-tsgolint: 7.0.2006 + vite-plus: 1.6.0(@types/node@24.1.0)(@vitest/ui@5.1.0(vitest@5.1.0))(esbuild@0.28.2)(jiti@2.7.0)(playwright@1.65.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3) + + oxlint@1.93.0(oxlint-tsgolint@7.0.2006)(vite-plus@1.6.0(@types/node@24.1.0)(@vitest/ui@5.1.0)(esbuild@0.28.2)(jiti@2.7.0)(playwright@1.65.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3)): optionalDependencies: '@oxlint/binding-android-arm-eabi': 1.93.0 '@oxlint/binding-android-arm64': 1.93.0 @@ -7589,6 +8814,8 @@ snapshots: '@oxlint/binding-win32-ia32-msvc': 1.93.0 '@oxlint/binding-win32-x64-msvc': 1.93.0 oxlint-tsgolint: 7.0.2006 + vite-plus: 1.6.0(@types/node@24.1.0)(@vitest/ui@5.1.0)(esbuild@0.28.2)(jiti@2.7.0)(playwright@1.65.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3) + optional: true p-limit@7.3.3: dependencies: @@ -7612,6 +8839,8 @@ snapshots: path-parse@1.0.7: {} + pathe@2.0.3: {} + picocolors@1.1.1: {} picomatch@2.3.2: {} @@ -7693,6 +8922,8 @@ snapshots: dependencies: playwright-core: 1.65.0 + pngjs@7.0.0: {} + postcss-import@17.0.1(postcss@8.5.32): dependencies: postcss: 8.5.32 @@ -7741,6 +8972,12 @@ snapshots: preact@10.29.3: {} + pretty-format@27.5.1: + dependencies: + ansi-regex: 5.0.1 + ansi-styles: 5.2.0 + react-is: 17.0.2 + prismjs@1.30.0: {} proxy-agent-negotiate@1.1.0: {} @@ -7756,6 +8993,8 @@ snapshots: queue-microtask@1.2.3: {} + react-is@17.0.2: {} + read-cache@1.0.0: dependencies: pify: 2.3.0 @@ -7978,6 +9217,12 @@ snapshots: signal-exit@4.1.0: {} + sirv@3.0.2: + dependencies: + '@polka/url': 1.0.0-next.29 + mrmime: 2.0.1 + totalist: 3.0.1 + slice-ansi@9.0.0: dependencies: ansi-styles: 6.2.3 @@ -7996,6 +9241,8 @@ snapshots: std-env@4.2.0: {} + std-env@4.3.0: {} + string-width@7.2.0: dependencies: emoji-regex: 10.6.0 @@ -8031,8 +9278,12 @@ snapshots: tinybench@6.1.4: {} + tinybench@6.2.3: {} + tinyexec@1.3.0: {} + tinyexec@1.3.1: {} + tinyglobby@0.2.17: dependencies: fdir: 6.5.0(picomatch@4.0.7) @@ -8040,10 +9291,14 @@ snapshots: tinypool@2.2.0: {} + tinyrainbow@3.2.0: {} + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 + totalist@3.0.1: {} + tsconfck@3.1.6(typescript@6.0.3): optionalDependencies: typescript: 6.0.3 @@ -8102,6 +9357,131 @@ snapshots: dependencies: vite: 8.3.4(@types/node@22.19.15)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15) + vite-plus@1.6.0(@types/node@24.1.0)(@vitest/ui@5.1.0(vitest@5.1.0))(esbuild@0.28.2)(jiti@2.7.0)(playwright@1.65.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3): + dependencies: + '@oxc-project/runtime': 0.158.0 + '@oxc-project/types': 0.158.0 + '@oxlint/plugins': 1.93.0 + '@vitest/browser': 5.1.0(@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3))(vitest@5.1.0) + '@vitest/browser-preview': 5.1.0(@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3))(vitest@5.1.0) + '@vitest/mocker': 5.1.0(@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3)) + '@vitest/pretty-format': 5.1.0 + '@vitest/snapshot': 5.1.0 + '@vitest/spy': 5.1.0 + '@vitest/utils': 5.1.0 + oxfmt: 0.78.0(vite-plus@1.6.0(@types/node@24.1.0)(@vitest/ui@5.1.0(vitest@5.1.0))(esbuild@0.28.2)(jiti@2.7.0)(playwright@1.65.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3)) + oxlint: 1.93.0(oxlint-tsgolint@7.0.2006)(vite-plus@1.6.0(@types/node@24.1.0)(@vitest/ui@5.1.0(vitest@5.1.0))(esbuild@0.28.2)(jiti@2.7.0)(playwright@1.65.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3)) + oxlint-tsgolint: 7.0.2006 + vite: '@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3)' + vitest: 5.1.0(@types/node@24.1.0)(@vitest/browser-preview@5.1.0)(@vitest/ui@5.1.0(vitest@5.1.0))(@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3)) + optionalDependencies: + '@voidzero-dev/vite-plus-darwin-arm64': 1.6.0 + '@voidzero-dev/vite-plus-darwin-x64': 1.6.0 + '@voidzero-dev/vite-plus-linux-arm64-gnu': 1.6.0 + '@voidzero-dev/vite-plus-linux-arm64-musl': 1.6.0 + '@voidzero-dev/vite-plus-linux-x64-gnu': 1.6.0 + '@voidzero-dev/vite-plus-linux-x64-musl': 1.6.0 + '@voidzero-dev/vite-plus-win32-arm64-msvc': 1.6.0 + '@voidzero-dev/vite-plus-win32-x64-msvc': 1.6.0 + playwright: 1.65.0 + transitivePeerDependencies: + - '@arethetypeswrong/core' + - '@astrojs/compiler-rs' + - '@edge-runtime/vm' + - '@opentelemetry/api' + - '@types/node' + - '@typescript/native-preview' + - '@vitejs/devtools' + - '@vitest/coverage-istanbul' + - '@vitest/coverage-v8' + - '@vitest/ui' + - '@volar/typescript' + - '@vue/language-core' + - bufferutil + - esbuild + - happy-dom + - jiti + - jsdom + - less + - msw + - publint + - sass + - sass-embedded + - stylus + - sugarss + - svelte + - terser + - tsx + - typescript + - unplugin-unused + - unrun + - utf-8-validate + - vue-tsc + - yaml + + vite-plus@1.6.0(@types/node@24.1.0)(@vitest/ui@5.1.0)(esbuild@0.28.2)(jiti@2.7.0)(playwright@1.65.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3): + dependencies: + '@oxc-project/runtime': 0.158.0 + '@oxc-project/types': 0.158.0 + '@oxlint/plugins': 1.93.0 + '@vitest/browser': 5.1.0(@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3))(vitest@5.1.0) + '@vitest/browser-preview': 5.1.0(@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3))(vitest@5.1.0) + '@vitest/mocker': 5.1.0(@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3)) + '@vitest/pretty-format': 5.1.0 + '@vitest/snapshot': 5.1.0 + '@vitest/spy': 5.1.0 + '@vitest/utils': 5.1.0 + oxfmt: 0.78.0(vite-plus@1.6.0(@types/node@24.1.0)(@vitest/ui@5.1.0)(esbuild@0.28.2)(jiti@2.7.0)(playwright@1.65.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3)) + oxlint: 1.93.0(oxlint-tsgolint@7.0.2006)(vite-plus@1.6.0(@types/node@24.1.0)(@vitest/ui@5.1.0)(esbuild@0.28.2)(jiti@2.7.0)(playwright@1.65.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3)) + oxlint-tsgolint: 7.0.2006 + vite: '@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3)' + vitest: 5.1.0(@types/node@24.1.0)(@vitest/browser-preview@5.1.0(@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3))(vitest@5.1.0))(@vitest/ui@5.1.0)(@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3)) + optionalDependencies: + '@voidzero-dev/vite-plus-darwin-arm64': 1.6.0 + '@voidzero-dev/vite-plus-darwin-x64': 1.6.0 + '@voidzero-dev/vite-plus-linux-arm64-gnu': 1.6.0 + '@voidzero-dev/vite-plus-linux-arm64-musl': 1.6.0 + '@voidzero-dev/vite-plus-linux-x64-gnu': 1.6.0 + '@voidzero-dev/vite-plus-linux-x64-musl': 1.6.0 + '@voidzero-dev/vite-plus-win32-arm64-msvc': 1.6.0 + '@voidzero-dev/vite-plus-win32-x64-msvc': 1.6.0 + playwright: 1.65.0 + transitivePeerDependencies: + - '@arethetypeswrong/core' + - '@astrojs/compiler-rs' + - '@edge-runtime/vm' + - '@opentelemetry/api' + - '@types/node' + - '@typescript/native-preview' + - '@vitejs/devtools' + - '@vitest/coverage-istanbul' + - '@vitest/coverage-v8' + - '@vitest/ui' + - '@volar/typescript' + - '@vue/language-core' + - bufferutil + - esbuild + - happy-dom + - jiti + - jsdom + - less + - msw + - publint + - sass + - sass-embedded + - stylus + - sugarss + - svelte + - terser + - tsx + - typescript + - unplugin-unused + - unrun + - utf-8-validate + - vue-tsc + - yaml + optional: true + vite-tsconfig-paths@6.1.1(supports-color@8.1.1)(typescript@6.0.3)(vite@8.3.4(@types/node@22.19.15)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)): dependencies: debug: 4.4.3(supports-color@8.1.1) @@ -8192,10 +9572,10 @@ snapshots: sass-embedded: 1.104.1 tsx: 4.23.15 - vitest@5.0.3(@types/node@22.19.15)(vite@8.3.4(@types/node@22.19.15)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)): + vitest@5.0.3(@types/node@24.1.0)(@vitest/browser-preview@5.1.0(@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3))(vitest@5.1.0))(@vitest/ui@5.1.0)(vite@8.3.4(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)): dependencies: '@types/chai': 5.2.3 - '@vitest/mocker': 5.0.3(vite@8.3.4(@types/node@22.19.15)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)) + '@vitest/mocker': 5.0.3(vite@8.3.4(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)) chai: 6.2.2 es-module-lexer: 2.3.2 expect-type: 1.4.0 @@ -8206,18 +9586,19 @@ snapshots: tinybench: 6.1.4 tinyexec: 1.3.0 tinyglobby: 0.2.17 - vite: 8.3.4(@types/node@22.19.15)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15) + vite: 8.3.4(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15) why-is-node-running: 3.2.1 optionalDependencies: - '@types/node': 22.19.15 + '@types/node': 24.1.0 + '@vitest/browser-preview': 5.1.0(@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3))(vitest@5.1.0) + '@vitest/ui': 5.1.0(vitest@5.0.3) transitivePeerDependencies: - msw - optional: true - vitest@5.0.3(@types/node@24.1.0)(vite@8.3.4(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1)(tsx@4.23.15)): + vitest@5.0.3(@types/node@24.1.0)(@vitest/browser-preview@5.1.0(@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3))(vitest@5.1.0))(@vitest/ui@5.1.0)(vite@8.3.5(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)): dependencies: '@types/chai': 5.2.3 - '@vitest/mocker': 5.0.3(vite@8.3.4(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1)(tsx@4.23.15)) + '@vitest/mocker': 5.0.3(vite@8.3.5(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)) chai: 6.2.2 es-module-lexer: 2.3.2 expect-type: 1.4.0 @@ -8228,55 +9609,109 @@ snapshots: tinybench: 6.1.4 tinyexec: 1.3.0 tinyglobby: 0.2.17 - vite: 8.3.4(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1)(tsx@4.23.15) + vite: 8.3.5(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15) why-is-node-running: 3.2.1 optionalDependencies: '@types/node': 24.1.0 + '@vitest/browser-preview': 5.1.0(@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3))(vitest@5.1.0) + '@vitest/ui': 5.1.0(vitest@5.0.3) + transitivePeerDependencies: + - msw + + vitest@5.1.0(@types/node@22.19.15)(@vitest/browser-preview@5.1.0)(@vitest/ui@5.1.0)(vite@8.3.4(@types/node@22.19.15)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)): + dependencies: + '@types/chai': 5.2.3 + '@vitest/mocker': 5.1.0(vite@8.3.4(@types/node@22.19.15)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)) + chai: 6.3.0 + es-module-lexer: 2.3.2 + expect-type: 1.4.0 + magic-string: 1.4.5 + obug: 3.0.0 + picomatch: 4.0.7 + std-env: 4.3.0 + tinybench: 6.2.3 + tinyexec: 1.3.1 + tinyglobby: 0.2.17 + vite: 8.3.4(@types/node@22.19.15)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15) + why-is-node-running: 3.2.1 + optionalDependencies: + '@types/node': 22.19.15 + '@vitest/browser-preview': 5.1.0(vite@8.3.4(@types/node@22.19.15)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15))(vitest@5.1.0) + '@vitest/ui': 5.1.0(vitest@5.1.0) transitivePeerDependencies: - msw optional: true - vitest@5.0.3(@types/node@24.1.0)(vite@8.3.4(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)): + vitest@5.1.0(@types/node@24.1.0)(@vitest/browser-preview@5.1.0(@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3))(vitest@5.1.0))(@vitest/ui@5.1.0)(@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3)): dependencies: '@types/chai': 5.2.3 - '@vitest/mocker': 5.0.3(vite@8.3.4(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)) - chai: 6.2.2 + '@vitest/mocker': 5.1.0(@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3)) + chai: 6.3.0 es-module-lexer: 2.3.2 expect-type: 1.4.0 - magic-string: 1.4.1 - obug: 2.2.1 + magic-string: 1.4.5 + obug: 3.0.0 picomatch: 4.0.7 - std-env: 4.2.0 - tinybench: 6.1.4 - tinyexec: 1.3.0 + std-env: 4.3.0 + tinybench: 6.2.3 + tinyexec: 1.3.1 tinyglobby: 0.2.17 - vite: 8.3.4(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15) + vite: '@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3)' why-is-node-running: 3.2.1 optionalDependencies: '@types/node': 24.1.0 + '@vitest/browser-preview': 5.1.0(@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3))(vitest@5.1.0) + '@vitest/ui': 5.1.0(vitest@5.0.3) transitivePeerDependencies: - msw + optional: true - vitest@5.0.3(@types/node@24.1.0)(vite@8.3.5(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)): + vitest@5.1.0(@types/node@24.1.0)(@vitest/browser-preview@5.1.0)(@vitest/ui@5.1.0(vitest@5.1.0))(@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3)): dependencies: '@types/chai': 5.2.3 - '@vitest/mocker': 5.0.3(vite@8.3.5(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)) - chai: 6.2.2 + '@vitest/mocker': 5.1.0(@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3)) + chai: 6.3.0 es-module-lexer: 2.3.2 expect-type: 1.4.0 - magic-string: 1.4.1 - obug: 2.2.1 + magic-string: 1.4.5 + obug: 3.0.0 picomatch: 4.0.7 - std-env: 4.2.0 - tinybench: 6.1.4 - tinyexec: 1.3.0 + std-env: 4.3.0 + tinybench: 6.2.3 + tinyexec: 1.3.1 tinyglobby: 0.2.17 - vite: 8.3.5(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15) + vite: '@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3)' + why-is-node-running: 3.2.1 + optionalDependencies: + '@types/node': 24.1.0 + '@vitest/browser-preview': 5.1.0(@voidzero-dev/vite-plus-core@1.6.0(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.107.1)(tsx@4.23.15)(typescript@6.0.3))(vitest@5.1.0) + '@vitest/ui': 5.1.0(vitest@5.1.0) + transitivePeerDependencies: + - msw + + vitest@5.1.0(@types/node@24.1.0)(@vitest/browser-preview@5.1.0)(@vitest/ui@5.1.0)(vite@8.3.4(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1)(tsx@4.23.15)): + dependencies: + '@types/chai': 5.2.3 + '@vitest/mocker': 5.1.0(vite@8.3.4(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1)(tsx@4.23.15)) + chai: 6.3.0 + es-module-lexer: 2.3.2 + expect-type: 1.4.0 + magic-string: 1.4.5 + obug: 3.0.0 + picomatch: 4.0.7 + std-env: 4.3.0 + tinybench: 6.2.3 + tinyexec: 1.3.1 + tinyglobby: 0.2.17 + vite: 8.3.4(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1)(tsx@4.23.15) why-is-node-running: 3.2.1 optionalDependencies: '@types/node': 24.1.0 + '@vitest/browser-preview': 5.1.0(vite@8.3.4(@types/node@24.1.0)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1)(tsx@4.23.15))(vitest@5.1.0) + '@vitest/ui': 5.1.0(vitest@5.1.0) transitivePeerDependencies: - msw + optional: true weak-lru-cache@1.2.2: optional: true @@ -8296,6 +9731,8 @@ snapshots: string-width: 7.2.0 strip-ansi: 7.2.0 + ws@8.22.2: {} + xxhash-wasm@1.1.0: {} y18n@5.0.8: {} @@ -8313,6 +9750,28 @@ snapshots: yocto-queue@1.2.2: {} + yuku-core@0.19.0: + dependencies: + '@yuku-toolchain/types': 0.19.0 + optionalDependencies: + '@yuku-core/binding-android-arm64': 0.19.0 + '@yuku-core/binding-darwin-arm64': 0.19.0 + '@yuku-core/binding-darwin-x64': 0.19.0 + '@yuku-core/binding-freebsd-x64': 0.19.0 + '@yuku-core/binding-linux-arm-gnu': 0.19.0 + '@yuku-core/binding-linux-arm-musl': 0.19.0 + '@yuku-core/binding-linux-arm64-gnu': 0.19.0 + '@yuku-core/binding-linux-arm64-musl': 0.19.0 + '@yuku-core/binding-linux-x64-gnu': 0.19.0 + '@yuku-core/binding-linux-x64-musl': 0.19.0 + '@yuku-core/binding-win32-arm64': 0.19.0 + '@yuku-core/binding-win32-x64': 0.19.0 + + yuku-parser@0.19.0: + dependencies: + '@yuku-toolchain/types': 0.19.0 + yuku-core: 0.19.0 + zod@4.5.4: {} zone.js@0.16.3: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 7bc28d49de..394b97ff38 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -37,6 +37,7 @@ minimumReleaseAgeExclude: - oxfmt - oxlint - oxlint-tsgolint + - vite-plus catalog: '@napi-rs/cli': 3.10.8 diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000000..14513c7dc3 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,27 @@ +import { defineConfig } from 'vite-plus' + +// `vp run compare` runs the compare harness's fixture tests in two tasks, so that the slow part, +// compiling every fixture with Angular's compiler, is cached. +const compareDir = 'napi/angular-compiler/e2e/compare' +const node = 'node --import @oxc-node/core/register' + +export default defineConfig({ + run: { + tasks: { + // The fixtures' ngtsc reference outputs. The script loads only the Angular side of the + // harness, so its inputs are the fixtures, that code and the installed packages, not Oxc. + 'ng-baseline': { + command: `${node} scripts/generate-ng-baseline.ts --save-ng-baseline ng-baseline-fixtures.json`, + cwd: compareDir, + }, + // Compiles the fixtures with Oxc and compares the output with the baseline. Not cached: + // it reads the binding, which `pnpm build-dev` builds outside of `vp run`. + compare: { + command: `${node} src/index.ts --fixtures --ng-baseline ng-baseline-fixtures.json`, + cwd: compareDir, + dependsOn: ['ng-baseline'], + cache: false, + }, + }, + }, +})