From e55b9fa2b517aa70747718266416c0e4f317486f Mon Sep 17 00:00:00 2001 From: Daniil Sapa Date: Fri, 3 Jan 2025 00:50:58 +0200 Subject: [PATCH 1/7] Implement diagnostic quota logic --- packages/steiger/src/app.ts | 6 +- .../diagnostic-quota.test.ts | 253 ++++++++++++++++++ .../collapse-diagnostics/diagnostic-quota.ts | 33 +++ .../features/collapse-diagnostics/index.ts | 7 + 4 files changed, 298 insertions(+), 1 deletion(-) create mode 100644 packages/steiger/src/features/collapse-diagnostics/diagnostic-quota.test.ts create mode 100644 packages/steiger/src/features/collapse-diagnostics/diagnostic-quota.ts create mode 100644 packages/steiger/src/features/collapse-diagnostics/index.ts diff --git a/packages/steiger/src/app.ts b/packages/steiger/src/app.ts index caaebd8..0fc3290 100644 --- a/packages/steiger/src/app.ts +++ b/packages/steiger/src/app.ts @@ -8,12 +8,13 @@ import { $enabledRules, getEnabledRules, getGlobalIgnores, getPluginByRuleName } import { runRule } from './features/run-rule' import { removeGlobalIgnoreFromVfs } from './features/remove-global-ignores-from-vfs' import { calculateFinalSeverities } from './features/calculate-diagnostic-severities' +import { collapseDiagnostics } from './features/collapse-diagnostics' async function runRules({ vfs, rules }: { vfs: Folder; rules: Array }) { const vfsWithoutGlobalIgnores = removeGlobalIgnoreFromVfs(vfs, getGlobalIgnores()) const ruleResults = await Promise.all(rules.map((rule) => runRule(vfsWithoutGlobalIgnores, rule))) - return ruleResults.flatMap((r, ruleResultsIndex) => { + const diagnosticsPerRule = ruleResults.map((r, ruleResultsIndex) => { const { diagnostics } = r if (diagnostics.length === 0) { return [] @@ -44,6 +45,9 @@ async function runRules({ vfs, rules }: { vfs: Folder; rules: Array }) { return finalDiagnostic }) }) + const collapsedDiagnostics = collapseDiagnostics(diagnosticsPerRule) + + return collapsedDiagnostics.flat() } export const linter = { diff --git a/packages/steiger/src/features/collapse-diagnostics/diagnostic-quota.test.ts b/packages/steiger/src/features/collapse-diagnostics/diagnostic-quota.test.ts new file mode 100644 index 0000000..a654f95 --- /dev/null +++ b/packages/steiger/src/features/collapse-diagnostics/diagnostic-quota.test.ts @@ -0,0 +1,253 @@ +import { describe, expect, it } from 'vitest' +import { trimDiagnosticsToMeetQuota } from './diagnostic-quota' + +const defaultLocation = { + path: '/users/user/file', +} + +const defaultSeverity = 'error' as 'warn' | 'error' + +describe('trimDiagnosticsToMeetQuota', () => { + it('should return the same diagnostics if they are below the quota', () => { + const diagnosticPerRule = [ + [ + { + message: 'First rule, first message', + ruleName: 'rule-1', + location: defaultLocation, + severity: defaultSeverity, + }, + { + message: 'First rule, second message', + ruleName: 'rule-1', + location: defaultLocation, + severity: defaultSeverity, + }, + { + message: 'First rule, third message', + ruleName: 'rule-1', + location: defaultLocation, + severity: defaultSeverity, + }, + ], + [ + { + message: 'Second rule, first message', + ruleName: 'rule-2', + location: defaultLocation, + severity: defaultSeverity, + }, + { + message: 'Second rule, second message', + ruleName: 'rule-2', + location: defaultLocation, + severity: defaultSeverity, + }, + ], + ] + + const result = trimDiagnosticsToMeetQuota(diagnosticPerRule, 10) + + expect(result).toEqual(diagnosticPerRule) + }) + + it('should return no diagnostics if the quota is 0', () => { + const diagnosticPerRule = [ + [ + { + message: 'First rule, first message', + ruleName: 'rule-1', + location: defaultLocation, + severity: defaultSeverity, + }, + { + message: 'First rule, second message', + ruleName: 'rule-1', + location: defaultLocation, + severity: defaultSeverity, + }, + { + message: 'First rule, third message', + ruleName: 'rule-1', + location: defaultLocation, + severity: defaultSeverity, + }, + ], + [ + { + message: 'Second rule, first message', + ruleName: 'rule-2', + location: defaultLocation, + severity: defaultSeverity, + }, + { + message: 'Second rule, second message', + ruleName: 'rule-2', + location: defaultLocation, + severity: defaultSeverity, + }, + ], + ] + + const result = trimDiagnosticsToMeetQuota(diagnosticPerRule, 0) + + expect(result).toEqual([[], []]) + }) + + it('should spread the quota evenly between rules', () => { + const diagnosticPerRule = [ + [ + { + message: 'First rule, first message', + ruleName: 'rule-1', + location: defaultLocation, + severity: defaultSeverity, + }, + { + message: 'First rule, second message', + ruleName: 'rule-1', + location: defaultLocation, + severity: defaultSeverity, + }, + { + message: 'First rule, third message', + ruleName: 'rule-1', + location: defaultLocation, + severity: defaultSeverity, + }, + ], + [ + { + message: 'Second rule, first message', + ruleName: 'rule-2', + location: defaultLocation, + severity: defaultSeverity, + }, + { + message: 'Second rule, second message', + ruleName: 'rule-2', + location: defaultLocation, + severity: defaultSeverity, + }, + ], + ] + + const result = trimDiagnosticsToMeetQuota(diagnosticPerRule, 2) + + expect(result).toEqual([ + [ + { + message: 'First rule, first message', + ruleName: 'rule-1', + location: defaultLocation, + severity: defaultSeverity, + }, + ], + [ + { + message: 'Second rule, first message', + ruleName: 'rule-2', + location: defaultLocation, + severity: defaultSeverity, + }, + ], + ]) + }) + + it('should take first x rule diagnostics if the quota is less than the number of rules', () => { + const diagnosticPerRule = [ + [ + { + message: 'First rule, first message', + ruleName: 'rule-1', + location: defaultLocation, + severity: defaultSeverity, + }, + { + message: 'First rule, second message', + ruleName: 'rule-1', + location: defaultLocation, + severity: defaultSeverity, + }, + { + message: 'First rule, third message', + ruleName: 'rule-1', + location: defaultLocation, + severity: defaultSeverity, + }, + ], + [ + { + message: 'Second rule, first message', + ruleName: 'rule-2', + location: defaultLocation, + severity: defaultSeverity, + }, + { + message: 'Second rule, second message', + ruleName: 'rule-2', + location: defaultLocation, + severity: defaultSeverity, + }, + ], + [ + { + message: 'Third rule, first message', + ruleName: 'rule-3', + location: defaultLocation, + severity: defaultSeverity, + }, + { + message: 'Third rule, second message', + ruleName: 'rule-3', + location: defaultLocation, + severity: defaultSeverity, + }, + ], + [ + { + message: 'Forth rule, first message', + ruleName: 'rule-4', + location: defaultLocation, + severity: defaultSeverity, + }, + { + message: 'Forth rule, second message', + ruleName: 'rule-4', + location: defaultLocation, + severity: defaultSeverity, + }, + ], + ] + + const result = trimDiagnosticsToMeetQuota(diagnosticPerRule, 3) + + expect(result).toEqual([ + [ + { + message: 'First rule, first message', + ruleName: 'rule-1', + location: defaultLocation, + severity: defaultSeverity, + }, + ], + [ + { + message: 'Second rule, first message', + ruleName: 'rule-2', + location: defaultLocation, + severity: defaultSeverity, + }, + ], + [ + { + message: 'Third rule, first message', + ruleName: 'rule-3', + location: defaultLocation, + severity: defaultSeverity, + }, + ], + [], + ]) + }) +}) diff --git a/packages/steiger/src/features/collapse-diagnostics/diagnostic-quota.ts b/packages/steiger/src/features/collapse-diagnostics/diagnostic-quota.ts new file mode 100644 index 0000000..4b757a0 --- /dev/null +++ b/packages/steiger/src/features/collapse-diagnostics/diagnostic-quota.ts @@ -0,0 +1,33 @@ +import { Diagnostic } from '@steiger/types' + +function distributeQuota(buckets: Array, quota: number) { + // const allItems = buckets.reduce((acc, bucket) => acc + bucket, 0) + const quotaPerBucket = buckets.slice(0).fill(0) + let remainingQuota = quota + + // Temporary algorithm to distribute the quota + for (let i = 0; remainingQuota > 0; i++) { + const bucket = buckets[i] + + // If it went beyond the last bucket, start from the first one + if (bucket === undefined) { + i = -1 + continue + } + + // If the bucket does not contain any items, skip it + if (bucket !== 0) { + quotaPerBucket[i]++ + remainingQuota-- + } + } + + return quotaPerBucket +} + +export function trimDiagnosticsToMeetQuota(diagnosticsPerRule: Array>, quota: number) { + const diagnosticCountPerRule = diagnosticsPerRule.map((diagnostics) => diagnostics.length) + const quotaPerRule = distributeQuota(diagnosticCountPerRule, quota) + + return diagnosticsPerRule.map((diagnostics, i) => diagnostics.slice(0, quotaPerRule[i])) +} diff --git a/packages/steiger/src/features/collapse-diagnostics/index.ts b/packages/steiger/src/features/collapse-diagnostics/index.ts new file mode 100644 index 0000000..aece873 --- /dev/null +++ b/packages/steiger/src/features/collapse-diagnostics/index.ts @@ -0,0 +1,7 @@ +import { trimDiagnosticsToMeetQuota } from './diagnostic-quota' +import { Diagnostic } from '@steiger/types' + +const DEFAULT_QUOTA = 20 + +export const collapseDiagnostics = (diagnosticPerRule: Array>) => + trimDiagnosticsToMeetQuota(diagnosticPerRule, DEFAULT_QUOTA) From f3bdce472dfc24375af11439f9758ff0805bec7b Mon Sep 17 00:00:00 2001 From: Daniil Sapa Date: Sat, 4 Jan 2025 17:50:22 +0200 Subject: [PATCH 2/7] Move diagnostic collapsing logic to pretty-printer --- packages/pretty-reporter/package.json | 3 +- .../src/collapse-diagnostics.test.ts} | 2 +- .../src/collapse-diagnostics.ts} | 5 + .../src/group-diagnostics-by-rule.ts | 74 +++++ packages/pretty-reporter/src/index.ts | 18 +- packages/pretty-reporter/tsconfig.json | 3 +- packages/pretty-reporter/vitest.config.ts | 7 + packages/steiger/src/app.ts | 6 +- .../features/collapse-diagnostics/index.ts | 7 - pnpm-lock.yaml | 280 ++++++++++++++++++ 10 files changed, 386 insertions(+), 19 deletions(-) rename packages/{steiger/src/features/collapse-diagnostics/diagnostic-quota.test.ts => pretty-reporter/src/collapse-diagnostics.test.ts} (98%) rename packages/{steiger/src/features/collapse-diagnostics/diagnostic-quota.ts => pretty-reporter/src/collapse-diagnostics.ts} (85%) create mode 100644 packages/pretty-reporter/src/group-diagnostics-by-rule.ts create mode 100644 packages/pretty-reporter/vitest.config.ts delete mode 100644 packages/steiger/src/features/collapse-diagnostics/index.ts diff --git a/packages/pretty-reporter/package.json b/packages/pretty-reporter/package.json index 180cc7b..dcf687b 100644 --- a/packages/pretty-reporter/package.json +++ b/packages/pretty-reporter/package.json @@ -41,6 +41,7 @@ "dependencies": { "chalk": "^5.3.0", "figures": "^6.1.0", - "terminal-link": "^3.0.0" + "terminal-link": "^3.0.0", + "vitest": "3.0.0-beta.2" } } diff --git a/packages/steiger/src/features/collapse-diagnostics/diagnostic-quota.test.ts b/packages/pretty-reporter/src/collapse-diagnostics.test.ts similarity index 98% rename from packages/steiger/src/features/collapse-diagnostics/diagnostic-quota.test.ts rename to packages/pretty-reporter/src/collapse-diagnostics.test.ts index a654f95..d6a8273 100644 --- a/packages/steiger/src/features/collapse-diagnostics/diagnostic-quota.test.ts +++ b/packages/pretty-reporter/src/collapse-diagnostics.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest' -import { trimDiagnosticsToMeetQuota } from './diagnostic-quota' +import { trimDiagnosticsToMeetQuota } from './collapse-diagnostics.js' const defaultLocation = { path: '/users/user/file', diff --git a/packages/steiger/src/features/collapse-diagnostics/diagnostic-quota.ts b/packages/pretty-reporter/src/collapse-diagnostics.ts similarity index 85% rename from packages/steiger/src/features/collapse-diagnostics/diagnostic-quota.ts rename to packages/pretty-reporter/src/collapse-diagnostics.ts index 4b757a0..ea849ff 100644 --- a/packages/steiger/src/features/collapse-diagnostics/diagnostic-quota.ts +++ b/packages/pretty-reporter/src/collapse-diagnostics.ts @@ -1,5 +1,7 @@ import { Diagnostic } from '@steiger/types' +const DEFAULT_QUOTA = 20 + function distributeQuota(buckets: Array, quota: number) { // const allItems = buckets.reduce((acc, bucket) => acc + bucket, 0) const quotaPerBucket = buckets.slice(0).fill(0) @@ -31,3 +33,6 @@ export function trimDiagnosticsToMeetQuota(diagnosticsPerRule: Array diagnostics.slice(0, quotaPerRule[i])) } + +export const collapseDiagnostics = (diagnosticPerRule: Array>) => + trimDiagnosticsToMeetQuota(diagnosticPerRule, DEFAULT_QUOTA) diff --git a/packages/pretty-reporter/src/group-diagnostics-by-rule.ts b/packages/pretty-reporter/src/group-diagnostics-by-rule.ts new file mode 100644 index 0000000..1d8ebf6 --- /dev/null +++ b/packages/pretty-reporter/src/group-diagnostics-by-rule.ts @@ -0,0 +1,74 @@ +import { Diagnostic } from '@steiger/types' + +export function groupDiagnosticsByRule(diagnostics: Diagnostic[]): Diagnostic[][] { + const grouped: Record = {} + + diagnostics.forEach((diagnostic) => { + if (!grouped[diagnostic.ruleName]) { + grouped[diagnostic.ruleName] = [] + } + grouped[diagnostic.ruleName].push(diagnostic) + }) + + return Object.values(grouped) +} + +if (import.meta.vitest) { + const { describe, it, expect } = import.meta.vitest + + describe('groupDiagnosticsByRule', () => { + it('should group diagnostics by ruleName', () => { + const diagnostics: Diagnostic[] = [ + { + ruleName: 'rule-1', + severity: 'error', + location: { path: '/users/user/project/src/app/index.ts' }, + message: 'First rule, first message', + }, + { + ruleName: 'rule-2', + severity: 'warn', + location: { path: '/users/user/project/src/app/index.ts' }, + message: 'Second rule, first message', + }, + { + ruleName: 'rule-1', + severity: 'warn', + location: { path: '/users/user/project/src/app/index.ts' }, + message: 'First rule, second message', + }, + ] + + const result = groupDiagnosticsByRule(diagnostics) + + expect(result).toHaveLength(2) + expect(result).toContainEqual([ + { + ruleName: 'rule-1', + severity: 'error', + location: { path: '/users/user/project/src/app/index.ts' }, + message: 'First rule, first message', + }, + { + ruleName: 'rule-1', + severity: 'warn', + location: { path: '/users/user/project/src/app/index.ts' }, + message: 'First rule, second message', + }, + ]) + expect(result).toContainEqual([ + { + ruleName: 'rule-2', + severity: 'warn', + location: { path: '/users/user/project/src/app/index.ts' }, + message: 'Second rule, first message', + }, + ]) + }) + + it('should return an empty array when no diagnostics are provided', () => { + const result = groupDiagnosticsByRule([]) + expect(result).toEqual([]) + }) + }) +} diff --git a/packages/pretty-reporter/src/index.ts b/packages/pretty-reporter/src/index.ts index 2cdf8a2..6528c6f 100644 --- a/packages/pretty-reporter/src/index.ts +++ b/packages/pretty-reporter/src/index.ts @@ -3,6 +3,8 @@ import figures from 'figures' import type { Diagnostic } from '@steiger/types' import { formatSingleDiagnostic } from './format-single-diagnostic.js' +import { collapseDiagnostics } from './collapse-diagnostics.js' +import { groupDiagnosticsByRule } from './group-diagnostics-by-rule.js' import { s } from './pluralization.js' export function formatPretty(diagnostics: Array, cwd: string) { @@ -10,8 +12,12 @@ export function formatPretty(diagnostics: Array, cwd: string) { return chalk.green(`${figures.tick} No problems found!`) } - const errors = diagnostics.filter((d) => d.severity === 'error') - const warnings = diagnostics.filter((d) => d.severity === 'warn') + const collapsedDiagnostics = collapseDiagnostics(groupDiagnosticsByRule(diagnostics)).flat() + const collapsedDiagnosticsCount = collapsedDiagnostics.length + const initialDiagnosticsCount = diagnostics.length + + const errors = collapsedDiagnostics.filter((d) => d.severity === 'error') + const warnings = collapsedDiagnostics.filter((d) => d.severity === 'warn') let footer = 'Found ' + @@ -22,8 +28,12 @@ export function formatPretty(diagnostics: Array, cwd: string) { .filter(Boolean) .join(' and ') - const autofixable = diagnostics.filter((d) => (d.fixes?.length ?? 0) > 0) - if (autofixable.length === diagnostics.length) { + if (collapsedDiagnosticsCount < initialDiagnosticsCount) { + footer += `, ${chalk.reset(initialDiagnosticsCount - collapsedDiagnosticsCount)} diagnostics were hidden` + } + + const autofixable = collapsedDiagnostics.filter((d) => (d.fixes?.length ?? 0) > 0) + if (autofixable.length === collapsedDiagnostics.length) { footer += ` (all can be fixed automatically with ${chalk.green.bold('--fix')})` } else if (autofixable.length > 0) { footer += ` (${autofixable.length} can be fixed automatically with ${chalk.green.bold('--fix')})` diff --git a/packages/pretty-reporter/tsconfig.json b/packages/pretty-reporter/tsconfig.json index c4a587d..b1b81f6 100644 --- a/packages/pretty-reporter/tsconfig.json +++ b/packages/pretty-reporter/tsconfig.json @@ -2,6 +2,7 @@ "extends": "@steiger/tsconfig/base.json", "include": ["./src", "./reset.d.ts", "example/index.ts"], "compilerOptions": { - "tsBuildInfoFile": "node_modules/.cache/tsbuildinfo.json" + "tsBuildInfoFile": "node_modules/.cache/tsbuildinfo.json", + "types": ["vitest/importMeta"] } } diff --git a/packages/pretty-reporter/vitest.config.ts b/packages/pretty-reporter/vitest.config.ts new file mode 100644 index 0000000..a93210a --- /dev/null +++ b/packages/pretty-reporter/vitest.config.ts @@ -0,0 +1,7 @@ +import { defineConfig } from 'vitest/config' + +export default defineConfig({ + test: { + includeSource: ['src/**/*.{js,ts}'], + }, +}) diff --git a/packages/steiger/src/app.ts b/packages/steiger/src/app.ts index 0fc3290..caaebd8 100644 --- a/packages/steiger/src/app.ts +++ b/packages/steiger/src/app.ts @@ -8,13 +8,12 @@ import { $enabledRules, getEnabledRules, getGlobalIgnores, getPluginByRuleName } import { runRule } from './features/run-rule' import { removeGlobalIgnoreFromVfs } from './features/remove-global-ignores-from-vfs' import { calculateFinalSeverities } from './features/calculate-diagnostic-severities' -import { collapseDiagnostics } from './features/collapse-diagnostics' async function runRules({ vfs, rules }: { vfs: Folder; rules: Array }) { const vfsWithoutGlobalIgnores = removeGlobalIgnoreFromVfs(vfs, getGlobalIgnores()) const ruleResults = await Promise.all(rules.map((rule) => runRule(vfsWithoutGlobalIgnores, rule))) - const diagnosticsPerRule = ruleResults.map((r, ruleResultsIndex) => { + return ruleResults.flatMap((r, ruleResultsIndex) => { const { diagnostics } = r if (diagnostics.length === 0) { return [] @@ -45,9 +44,6 @@ async function runRules({ vfs, rules }: { vfs: Folder; rules: Array }) { return finalDiagnostic }) }) - const collapsedDiagnostics = collapseDiagnostics(diagnosticsPerRule) - - return collapsedDiagnostics.flat() } export const linter = { diff --git a/packages/steiger/src/features/collapse-diagnostics/index.ts b/packages/steiger/src/features/collapse-diagnostics/index.ts deleted file mode 100644 index aece873..0000000 --- a/packages/steiger/src/features/collapse-diagnostics/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { trimDiagnosticsToMeetQuota } from './diagnostic-quota' -import { Diagnostic } from '@steiger/types' - -const DEFAULT_QUOTA = 20 - -export const collapseDiagnostics = (diagnosticPerRule: Array>) => - trimDiagnosticsToMeetQuota(diagnosticPerRule, DEFAULT_QUOTA) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6a10594..6008b63 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -47,6 +47,9 @@ importers: terminal-link: specifier: ^3.0.0 version: 3.0.0 + vitest: + specifier: 3.0.0-beta.2 + version: 3.0.0-beta.2(@types/node@20.16.11) devDependencies: '@steiger/eslint-config': specifier: workspace:* @@ -717,6 +720,9 @@ packages: '@jridgewell/sourcemap-codec@1.4.15': resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} @@ -1103,18 +1109,50 @@ packages: '@vitest/expect@1.6.0': resolution: {integrity: sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==} + '@vitest/expect@3.0.0-beta.2': + resolution: {integrity: sha512-xdywwsqHOTZ66dBr8sQ+l3c0ZQs/wQY48fBRgLDrUqTU8OlDir6H1JMIOeV+Jb85Ov1XBGXBrSVlPDIo/fN5EQ==} + + '@vitest/mocker@3.0.0-beta.2': + resolution: {integrity: sha512-rSYrjKX8RwiKLw9MoZ8FDjos90C//AVphNVVYsv8QJn6brSkJLAOTFjTn13E8mF8kh3Bx8NKNgyDrx48ioJFXQ==} + peerDependencies: + msw: ^2.4.9 + vite: ^5.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + + '@vitest/pretty-format@3.0.0-beta.2': + resolution: {integrity: sha512-vMCmIdShOz2vjMCyxk+SoexZxsIbwrRc/weTctKxnQAYv3NubehpwCOaT8nhirmYQtdW+8r079wz1s7cKxNmCA==} + + '@vitest/pretty-format@3.0.0-beta.3': + resolution: {integrity: sha512-d3+IaliPJLndUB/eQ4XP4OEHWhMDUJGhGc8XyLfi803Ad62nkTLC1bwFz80bNghEfKi+sz/oSkvQmW/3lQeCdA==} + '@vitest/runner@1.6.0': resolution: {integrity: sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==} + '@vitest/runner@3.0.0-beta.2': + resolution: {integrity: sha512-Ytyub2tBCGrROrGfVlB8SuWdQjFYzJTTR969CGJF/xkIgdkLE9SiQzBZy4td2VidypntLXAVHYjeGr75pvw93w==} + '@vitest/snapshot@1.6.0': resolution: {integrity: sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==} + '@vitest/snapshot@3.0.0-beta.2': + resolution: {integrity: sha512-6INaNxXyYBmFGHhjmSyoz+/P3F+e6sHZPXLYt2OAa6Zt1v1O91FoGUTwdNHj2ASxMQeVpK/7snxNaeyr2INVOg==} + '@vitest/spy@1.6.0': resolution: {integrity: sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==} + '@vitest/spy@3.0.0-beta.2': + resolution: {integrity: sha512-tSxQfS/wDWRtyx/a3smGuQr/YFaZk1iUsPbKkEvd6jIsrWBb747MSpdn9xfLgIhI68tXquCzruXiMQG0kHdILA==} + '@vitest/utils@1.6.0': resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==} + '@vitest/utils@3.0.0-beta.2': + resolution: {integrity: sha512-Jkib9LoI9Xm3gmzwI+9KgEAJVZNgJQFrR1RAyqBN7k9O3qezOTUjqyYBnvyz3UcPywygP1jEjZWBxUKx4ELpxw==} + '@vue/compiler-core@3.4.27': resolution: {integrity: sha512-E+RyqY24KnyDXsCuQrI+mlcdW3ALND6U7Gqa/+bVwbcpcR3BRRIckFoz7Qyd4TTlnugtwuI7YgjbvsLmxb+yvg==} @@ -1230,6 +1268,10 @@ packages: assertion-error@1.1.0: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + assertion-error@2.0.1: + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} + ast-module-types@6.0.0: resolution: {integrity: sha512-LFRg7178Fw5R4FAEwZxVqiRI8IxSM+Ay2UBrHoCerXNme+kMMMfz7T3xDGV/c2fer87hcrtgJGsnSOfUrPK6ng==} engines: {node: '>=18'} @@ -1284,6 +1326,10 @@ packages: resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} engines: {node: '>=4'} + chai@5.1.2: + resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==} + engines: {node: '>=12'} + chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} @@ -1302,6 +1348,10 @@ packages: check-error@1.0.3: resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + check-error@2.1.1: + resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} + engines: {node: '>= 16'} + chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} @@ -1393,6 +1443,15 @@ packages: supports-color: optional: true + debug@4.4.0: + resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + decompress-response@6.0.0: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} engines: {node: '>=10'} @@ -1401,6 +1460,10 @@ packages: resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} engines: {node: '>=6'} + deep-eql@5.0.2: + resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} + engines: {node: '>=6'} + deep-extend@0.6.0: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} engines: {node: '>=4.0.0'} @@ -1502,6 +1565,9 @@ packages: error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + es-module-lexer@1.6.0: + resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==} + esbuild@0.20.2: resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} engines: {node: '>=12'} @@ -1599,6 +1665,10 @@ packages: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} + expect-type@1.1.0: + resolution: {integrity: sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==} + engines: {node: '>=12.0.0'} + extendable-error@0.1.7: resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} @@ -1992,6 +2062,9 @@ packages: loupe@2.3.7: resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + loupe@3.1.2: + resolution: {integrity: sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==} + lowercase-keys@3.0.0: resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -2010,6 +2083,9 @@ packages: magic-string@0.30.10: resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} + magic-string@0.30.17: + resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} + merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -2231,6 +2307,10 @@ packages: pathval@1.1.1: resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + pathval@2.0.0: + resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} + engines: {node: '>= 14.16'} + patronum@2.3.0: resolution: {integrity: sha512-BfKIOpoymVz6XnkOn8Fi5QZ1a3r/3lXdd8BcdHmYDbIXPTIRnD1EPFBFev/DheWnOge6/ZswEqgNF2ANLGOxLw==} peerDependencies: @@ -2519,6 +2599,9 @@ packages: std-env@3.7.0: resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + std-env@3.8.0: + resolution: {integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==} + string-argv@0.3.2: resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} engines: {node: '>=0.6.19'} @@ -2612,6 +2695,12 @@ packages: tinybench@2.8.0: resolution: {integrity: sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==} + tinybench@2.9.0: + resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} + + tinyexec@0.3.2: + resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} + tinyglobby@0.2.9: resolution: {integrity: sha512-8or1+BGEdk1Zkkw2ii16qSS7uVrQJPre5A9o/XkWPATkk23FZh/15BKFxPnlTy6vkljZxLqYCzzBMj30ZrSvjw==} engines: {node: '>=12.0.0'} @@ -2620,10 +2709,22 @@ packages: resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==} engines: {node: '>=14.0.0'} + tinypool@1.0.2: + resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==} + engines: {node: ^18.0.0 || >=20.0.0} + + tinyrainbow@1.2.0: + resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==} + engines: {node: '>=14.0.0'} + tinyspy@2.2.1: resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} engines: {node: '>=14.0.0'} + tinyspy@3.0.2: + resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} + engines: {node: '>=14.0.0'} + tmp@0.0.33: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} @@ -2776,6 +2877,11 @@ packages: engines: {node: ^18.0.0 || >=20.0.0} hasBin: true + vite-node@3.0.0-beta.2: + resolution: {integrity: sha512-ofTf6cfRdL30Wbl9n/BX81EyIR5s4PReLmSurrxQ+koLaWUNOEo8E0lCM53OJkb8vpa2URM2nSrxZsIFyvY1rg==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + hasBin: true + vite@5.2.12: resolution: {integrity: sha512-/gC8GxzxMK5ntBwb48pR32GGhENnjtY30G4A0jemunsBkiEZFw60s8InGpN8gkhHEkjnRK1aSAxeQgwvFhUHAA==} engines: {node: ^18.0.0 || >=20.0.0} @@ -2829,6 +2935,31 @@ packages: jsdom: optional: true + vitest@3.0.0-beta.2: + resolution: {integrity: sha512-ZP0FVJ4tNJJOsjzZSuadEW0BPBgO7DMMen3mIE8TPPiPUMwz9YoS1U5bcqMYZ61r34xGsaYPe1h0l1MXt50f7g==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + '@vitest/browser': 3.0.0-beta.2 + '@vitest/ui': 3.0.0-beta.2 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + webidl-conversions@4.0.2: resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} @@ -2849,6 +2980,11 @@ packages: engines: {node: '>=8'} hasBin: true + why-is-node-running@2.3.0: + resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} + engines: {node: '>=8'} + hasBin: true + word-wrap@1.2.5: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} @@ -3306,6 +3442,8 @@ snapshots: '@jridgewell/sourcemap-codec@1.4.15': {} + '@jridgewell/sourcemap-codec@1.5.0': {} + '@jridgewell/trace-mapping@0.3.25': dependencies: '@jridgewell/resolve-uri': 3.1.2 @@ -3717,22 +3855,60 @@ snapshots: '@vitest/utils': 1.6.0 chai: 4.4.1 + '@vitest/expect@3.0.0-beta.2': + dependencies: + '@vitest/spy': 3.0.0-beta.2 + '@vitest/utils': 3.0.0-beta.2 + chai: 5.1.2 + tinyrainbow: 1.2.0 + + '@vitest/mocker@3.0.0-beta.2(vite@5.2.12(@types/node@20.16.11))': + dependencies: + '@vitest/spy': 3.0.0-beta.2 + estree-walker: 3.0.3 + magic-string: 0.30.17 + optionalDependencies: + vite: 5.2.12(@types/node@20.16.11) + + '@vitest/pretty-format@3.0.0-beta.2': + dependencies: + tinyrainbow: 1.2.0 + + '@vitest/pretty-format@3.0.0-beta.3': + dependencies: + tinyrainbow: 1.2.0 + '@vitest/runner@1.6.0': dependencies: '@vitest/utils': 1.6.0 p-limit: 5.0.0 pathe: 1.1.2 + '@vitest/runner@3.0.0-beta.2': + dependencies: + '@vitest/utils': 3.0.0-beta.2 + pathe: 1.1.2 + '@vitest/snapshot@1.6.0': dependencies: magic-string: 0.30.10 pathe: 1.1.2 pretty-format: 29.7.0 + '@vitest/snapshot@3.0.0-beta.2': + dependencies: + '@vitest/pretty-format': 3.0.0-beta.2 + magic-string: 0.30.17 + pathe: 1.1.2 + '@vitest/spy@1.6.0': dependencies: tinyspy: 2.2.1 + '@vitest/spy@3.0.0-beta.2': + dependencies: + tinyspy: 3.0.2 + '@vitest/utils@1.6.0': dependencies: diff-sequences: 29.6.3 @@ -3740,6 +3916,12 @@ snapshots: loupe: 2.3.7 pretty-format: 29.7.0 + '@vitest/utils@3.0.0-beta.2': + dependencies: + '@vitest/pretty-format': 3.0.0-beta.2 + loupe: 3.1.2 + tinyrainbow: 1.2.0 + '@vue/compiler-core@3.4.27': dependencies: '@babel/parser': 7.24.6 @@ -3858,6 +4040,8 @@ snapshots: assertion-error@1.1.0: {} + assertion-error@2.0.1: {} + ast-module-types@6.0.0: {} balanced-match@1.0.2: {} @@ -3914,6 +4098,14 @@ snapshots: pathval: 1.1.1 type-detect: 4.0.8 + chai@5.1.2: + dependencies: + assertion-error: 2.0.1 + check-error: 2.1.1 + deep-eql: 5.0.2 + loupe: 3.1.2 + pathval: 2.0.0 + chalk@2.4.2: dependencies: ansi-styles: 3.2.1 @@ -3933,6 +4125,8 @@ snapshots: dependencies: get-func-name: 2.0.2 + check-error@2.1.1: {} + chokidar@3.6.0: dependencies: anymatch: 3.1.3 @@ -4020,6 +4214,10 @@ snapshots: dependencies: ms: 2.1.3 + debug@4.4.0: + dependencies: + ms: 2.1.3 + decompress-response@6.0.0: dependencies: mimic-response: 3.1.0 @@ -4028,6 +4226,8 @@ snapshots: dependencies: type-detect: 4.0.8 + deep-eql@5.0.2: {} + deep-extend@0.6.0: {} deep-is@0.1.4: {} @@ -4122,6 +4322,8 @@ snapshots: dependencies: is-arrayish: 0.2.1 + es-module-lexer@1.6.0: {} + esbuild@0.20.2: optionalDependencies: '@esbuild/aix-ppc64': 0.20.2 @@ -4294,6 +4496,8 @@ snapshots: signal-exit: 4.1.0 strip-final-newline: 3.0.0 + expect-type@1.1.0: {} + extendable-error@0.1.7: {} external-editor@3.1.0: @@ -4665,6 +4869,8 @@ snapshots: dependencies: get-func-name: 2.0.2 + loupe@3.1.2: {} + lowercase-keys@3.0.0: {} lru-cache@10.2.2: {} @@ -4683,6 +4889,10 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 + magic-string@0.30.17: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + merge-stream@2.0.0: {} merge2@1.4.1: {} @@ -4873,6 +5083,8 @@ snapshots: pathval@1.1.1: {} + pathval@2.0.0: {} + patronum@2.3.0(effector@23.2.3): dependencies: effector: 23.2.3 @@ -5153,6 +5365,8 @@ snapshots: std-env@3.7.0: {} + std-env@3.8.0: {} + string-argv@0.3.2: {} string-width@4.2.3: @@ -5245,6 +5459,10 @@ snapshots: tinybench@2.8.0: {} + tinybench@2.9.0: {} + + tinyexec@0.3.2: {} + tinyglobby@0.2.9: dependencies: fdir: 6.4.0(picomatch@4.0.2) @@ -5252,8 +5470,14 @@ snapshots: tinypool@0.8.4: {} + tinypool@1.0.2: {} + + tinyrainbow@1.2.0: {} + tinyspy@2.2.1: {} + tinyspy@3.0.2: {} + tmp@0.0.33: dependencies: os-tmpdir: 1.0.2 @@ -5399,6 +5623,23 @@ snapshots: - supports-color - terser + vite-node@3.0.0-beta.2(@types/node@20.16.11): + dependencies: + cac: 6.7.14 + debug: 4.4.0 + es-module-lexer: 1.6.0 + pathe: 1.1.2 + vite: 5.2.12(@types/node@20.16.11) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + vite@5.2.12(@types/node@20.16.11): dependencies: esbuild: 0.20.2 @@ -5441,6 +5682,40 @@ snapshots: - supports-color - terser + vitest@3.0.0-beta.2(@types/node@20.16.11): + dependencies: + '@vitest/expect': 3.0.0-beta.2 + '@vitest/mocker': 3.0.0-beta.2(vite@5.2.12(@types/node@20.16.11)) + '@vitest/pretty-format': 3.0.0-beta.3 + '@vitest/runner': 3.0.0-beta.2 + '@vitest/snapshot': 3.0.0-beta.2 + '@vitest/spy': 3.0.0-beta.2 + '@vitest/utils': 3.0.0-beta.2 + chai: 5.1.2 + debug: 4.4.0 + expect-type: 1.1.0 + magic-string: 0.30.17 + pathe: 1.1.2 + std-env: 3.8.0 + tinybench: 2.9.0 + tinyexec: 0.3.2 + tinypool: 1.0.2 + tinyrainbow: 1.2.0 + vite: 5.2.12(@types/node@20.16.11) + vite-node: 3.0.0-beta.2(@types/node@20.16.11) + why-is-node-running: 2.3.0 + optionalDependencies: + '@types/node': 20.16.11 + transitivePeerDependencies: + - less + - lightningcss + - msw + - sass + - stylus + - sugarss + - supports-color + - terser + webidl-conversions@4.0.2: {} whatwg-url@7.1.0: @@ -5462,6 +5737,11 @@ snapshots: siginfo: 2.0.0 stackback: 0.0.2 + why-is-node-running@2.3.0: + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + word-wrap@1.2.5: {} wrap-ansi@7.0.0: From 9d837bdea7c7c605b498602f6220cc3457c41748 Mon Sep 17 00:00:00 2001 From: Daniil Sapa Date: Mon, 6 Jan 2025 15:52:31 +0200 Subject: [PATCH 3/7] Add severity to consideration when collapsing the report, refactor the solution --- .../src/collapse-diagnostics.test.ts | 304 ++++++------------ .../src/collapse-diagnostics.ts | 37 ++- packages/pretty-reporter/src/index.ts | 15 +- 3 files changed, 128 insertions(+), 228 deletions(-) diff --git a/packages/pretty-reporter/src/collapse-diagnostics.test.ts b/packages/pretty-reporter/src/collapse-diagnostics.test.ts index d6a8273..7dd5b4b 100644 --- a/packages/pretty-reporter/src/collapse-diagnostics.test.ts +++ b/packages/pretty-reporter/src/collapse-diagnostics.test.ts @@ -7,43 +7,76 @@ const defaultLocation = { const defaultSeverity = 'error' as 'warn' | 'error' +// dummy rules + +const rule1Message1 = { + message: 'First rule, first message', + ruleName: 'rule-1', + location: defaultLocation, + severity: defaultSeverity, +} + +const rule1Message2 = { + message: 'First rule, second message', + ruleName: 'rule-1', + location: defaultLocation, + severity: defaultSeverity, +} + +const rule1Message3 = { + message: 'First rule, third message', + ruleName: 'rule-1', + location: defaultLocation, + severity: defaultSeverity, +} + +const rule2Message1 = { + message: 'Second rule, first message', + ruleName: 'rule-2', + location: defaultLocation, + severity: defaultSeverity, +} + +const rule2Message2 = { + message: 'Second rule, second message', + ruleName: 'rule-2', + location: defaultLocation, + severity: defaultSeverity, +} + +const rule3Message1 = { + message: 'Third rule, first message', + ruleName: 'rule-3', + location: defaultLocation, + severity: defaultSeverity, +} + +const rule3Message2 = { + message: 'Third rule, second message', + ruleName: 'rule-3', + location: defaultLocation, + severity: defaultSeverity, +} + +const rule4Message1 = { + message: 'Forth rule, first message', + ruleName: 'rule-4', + location: defaultLocation, + severity: defaultSeverity, +} + +const rule4Message2 = { + message: 'Forth rule, second message', + ruleName: 'rule-4', + location: defaultLocation, + severity: defaultSeverity, +} + describe('trimDiagnosticsToMeetQuota', () => { it('should return the same diagnostics if they are below the quota', () => { const diagnosticPerRule = [ - [ - { - message: 'First rule, first message', - ruleName: 'rule-1', - location: defaultLocation, - severity: defaultSeverity, - }, - { - message: 'First rule, second message', - ruleName: 'rule-1', - location: defaultLocation, - severity: defaultSeverity, - }, - { - message: 'First rule, third message', - ruleName: 'rule-1', - location: defaultLocation, - severity: defaultSeverity, - }, - ], - [ - { - message: 'Second rule, first message', - ruleName: 'rule-2', - location: defaultLocation, - severity: defaultSeverity, - }, - { - message: 'Second rule, second message', - ruleName: 'rule-2', - location: defaultLocation, - severity: defaultSeverity, - }, - ], + [rule1Message1, rule1Message2, rule1Message3], + [rule2Message1, rule2Message2], ] const result = trimDiagnosticsToMeetQuota(diagnosticPerRule, 10) @@ -53,40 +86,8 @@ describe('trimDiagnosticsToMeetQuota', () => { it('should return no diagnostics if the quota is 0', () => { const diagnosticPerRule = [ - [ - { - message: 'First rule, first message', - ruleName: 'rule-1', - location: defaultLocation, - severity: defaultSeverity, - }, - { - message: 'First rule, second message', - ruleName: 'rule-1', - location: defaultLocation, - severity: defaultSeverity, - }, - { - message: 'First rule, third message', - ruleName: 'rule-1', - location: defaultLocation, - severity: defaultSeverity, - }, - ], - [ - { - message: 'Second rule, first message', - ruleName: 'rule-2', - location: defaultLocation, - severity: defaultSeverity, - }, - { - message: 'Second rule, second message', - ruleName: 'rule-2', - location: defaultLocation, - severity: defaultSeverity, - }, - ], + [rule1Message1, rule1Message2, rule1Message3], + [rule2Message1, rule2Message2], ] const result = trimDiagnosticsToMeetQuota(diagnosticPerRule, 0) @@ -96,158 +97,45 @@ describe('trimDiagnosticsToMeetQuota', () => { it('should spread the quota evenly between rules', () => { const diagnosticPerRule = [ - [ - { - message: 'First rule, first message', - ruleName: 'rule-1', - location: defaultLocation, - severity: defaultSeverity, - }, - { - message: 'First rule, second message', - ruleName: 'rule-1', - location: defaultLocation, - severity: defaultSeverity, - }, - { - message: 'First rule, third message', - ruleName: 'rule-1', - location: defaultLocation, - severity: defaultSeverity, - }, - ], - [ - { - message: 'Second rule, first message', - ruleName: 'rule-2', - location: defaultLocation, - severity: defaultSeverity, - }, - { - message: 'Second rule, second message', - ruleName: 'rule-2', - location: defaultLocation, - severity: defaultSeverity, - }, - ], + [rule1Message1, rule1Message2, rule1Message3], + [rule2Message1, rule2Message2], ] const result = trimDiagnosticsToMeetQuota(diagnosticPerRule, 2) - expect(result).toEqual([ - [ - { - message: 'First rule, first message', - ruleName: 'rule-1', - location: defaultLocation, - severity: defaultSeverity, - }, - ], - [ - { - message: 'Second rule, first message', - ruleName: 'rule-2', - location: defaultLocation, - severity: defaultSeverity, - }, - ], - ]) + expect(result).toEqual([[rule1Message1], [rule2Message1]]) }) it('should take first x rule diagnostics if the quota is less than the number of rules', () => { const diagnosticPerRule = [ - [ - { - message: 'First rule, first message', - ruleName: 'rule-1', - location: defaultLocation, - severity: defaultSeverity, - }, - { - message: 'First rule, second message', - ruleName: 'rule-1', - location: defaultLocation, - severity: defaultSeverity, - }, - { - message: 'First rule, third message', - ruleName: 'rule-1', - location: defaultLocation, - severity: defaultSeverity, - }, - ], - [ - { - message: 'Second rule, first message', - ruleName: 'rule-2', - location: defaultLocation, - severity: defaultSeverity, - }, - { - message: 'Second rule, second message', - ruleName: 'rule-2', - location: defaultLocation, - severity: defaultSeverity, - }, - ], - [ - { - message: 'Third rule, first message', - ruleName: 'rule-3', - location: defaultLocation, - severity: defaultSeverity, - }, - { - message: 'Third rule, second message', - ruleName: 'rule-3', - location: defaultLocation, - severity: defaultSeverity, - }, - ], - [ - { - message: 'Forth rule, first message', - ruleName: 'rule-4', - location: defaultLocation, - severity: defaultSeverity, - }, - { - message: 'Forth rule, second message', - ruleName: 'rule-4', - location: defaultLocation, - severity: defaultSeverity, - }, - ], + [rule1Message1, rule1Message2, rule1Message3], + [rule2Message1, rule2Message2], + [rule3Message1, rule3Message2], + [rule4Message1, rule4Message2], ] const result = trimDiagnosticsToMeetQuota(diagnosticPerRule, 3) - expect(result).toEqual([ - [ - { - message: 'First rule, first message', - ruleName: 'rule-1', - location: defaultLocation, - severity: defaultSeverity, - }, - ], - [ - { - message: 'Second rule, first message', - ruleName: 'rule-2', - location: defaultLocation, - severity: defaultSeverity, - }, - ], - [ - { - message: 'Third rule, first message', - ruleName: 'rule-3', - location: defaultLocation, - severity: defaultSeverity, - }, - ], - [], + expect(result).toEqual([[rule1Message1], [rule2Message1], [rule3Message1]]) + }) + + it('should not distribute the quota to non-existent items', () => { + const diagnostics = [[rule1Message1, rule1Message2, rule1Message3], [rule2Message1, rule2Message2], [rule3Message1]] + + expect(trimDiagnosticsToMeetQuota(diagnostics, 6)).toEqual([ + [rule1Message1, rule1Message2, rule1Message3], + [rule2Message1, rule2Message2], + [rule3Message1], + ]) + }) + + it('should correctly stop distributing quota if the quota is greater than the number of diagnostics', () => { + const diagnostics = [[rule1Message1, rule1Message2, rule1Message3], [rule2Message1, rule2Message2], [rule3Message1]] + + expect(trimDiagnosticsToMeetQuota(diagnostics, 10)).toEqual([ + [rule1Message1, rule1Message2, rule1Message3], + [rule2Message1, rule2Message2], + [rule3Message1], ]) }) }) diff --git a/packages/pretty-reporter/src/collapse-diagnostics.ts b/packages/pretty-reporter/src/collapse-diagnostics.ts index ea849ff..763a7e0 100644 --- a/packages/pretty-reporter/src/collapse-diagnostics.ts +++ b/packages/pretty-reporter/src/collapse-diagnostics.ts @@ -1,38 +1,51 @@ import { Diagnostic } from '@steiger/types' -const DEFAULT_QUOTA = 20 +const DIAGNOSTIC_QUOTA = 20 function distributeQuota(buckets: Array, quota: number) { - // const allItems = buckets.reduce((acc, bucket) => acc + bucket, 0) + const allItems = buckets.reduce((acc, bucket) => acc + bucket, 0) const quotaPerBucket = buckets.slice(0).fill(0) let remainingQuota = quota - // Temporary algorithm to distribute the quota - for (let i = 0; remainingQuota > 0; i++) { - const bucket = buckets[i] + for (let i = 0; remainingQuota > 0; i += 1) { + const numOfItemsInBucket = buckets[i] + const assignedQuotaForBucket = quotaPerBucket[i] // If it went beyond the last bucket, start from the first one - if (bucket === undefined) { + if (numOfItemsInBucket === undefined) { i = -1 continue } - // If the bucket does not contain any items, skip it - if (bucket !== 0) { - quotaPerBucket[i]++ - remainingQuota-- + // If the bucket already has the quota distributed for it or does not contain any items, skip it + if (assignedQuotaForBucket < numOfItemsInBucket && numOfItemsInBucket !== 0) { + quotaPerBucket[i] += 1 + remainingQuota -= 1 + } + + // If it ran out of the items earlier than the quota, break + if (allItems === quota - remainingQuota) { + break } } return quotaPerBucket } +function sortDiagnostics(diagnostics: Diagnostic[]): Diagnostic[] { + const severityOrder = { error: 1, warn: 2 } + + return diagnostics.slice(0).sort((a, b) => severityOrder[a.severity] - severityOrder[b.severity]) +} + +// Export for testing purposes to be able to pass a custom quota export function trimDiagnosticsToMeetQuota(diagnosticsPerRule: Array>, quota: number) { const diagnosticCountPerRule = diagnosticsPerRule.map((diagnostics) => diagnostics.length) const quotaPerRule = distributeQuota(diagnosticCountPerRule, quota) + const sortedDiagnosticsPerRule = diagnosticsPerRule.map((diagnostics) => sortDiagnostics(diagnostics)) - return diagnosticsPerRule.map((diagnostics, i) => diagnostics.slice(0, quotaPerRule[i])) + return sortedDiagnosticsPerRule.map((diagnostics, i) => diagnostics.slice(0, quotaPerRule[i])) } export const collapseDiagnostics = (diagnosticPerRule: Array>) => - trimDiagnosticsToMeetQuota(diagnosticPerRule, DEFAULT_QUOTA) + trimDiagnosticsToMeetQuota(diagnosticPerRule, DIAGNOSTIC_QUOTA) diff --git a/packages/pretty-reporter/src/index.ts b/packages/pretty-reporter/src/index.ts index 6528c6f..310b374 100644 --- a/packages/pretty-reporter/src/index.ts +++ b/packages/pretty-reporter/src/index.ts @@ -16,8 +16,8 @@ export function formatPretty(diagnostics: Array, cwd: string) { const collapsedDiagnosticsCount = collapsedDiagnostics.length const initialDiagnosticsCount = diagnostics.length - const errors = collapsedDiagnostics.filter((d) => d.severity === 'error') - const warnings = collapsedDiagnostics.filter((d) => d.severity === 'warn') + const errors = diagnostics.filter((d) => d.severity === 'error') + const warnings = diagnostics.filter((d) => d.severity === 'warn') let footer = 'Found ' + @@ -28,10 +28,6 @@ export function formatPretty(diagnostics: Array, cwd: string) { .filter(Boolean) .join(' and ') - if (collapsedDiagnosticsCount < initialDiagnosticsCount) { - footer += `, ${chalk.reset(initialDiagnosticsCount - collapsedDiagnosticsCount)} diagnostics were hidden` - } - const autofixable = collapsedDiagnostics.filter((d) => (d.fixes?.length ?? 0) > 0) if (autofixable.length === collapsedDiagnostics.length) { footer += ` (all can be fixed automatically with ${chalk.green.bold('--fix')})` @@ -43,13 +39,16 @@ export function formatPretty(diagnostics: Array, cwd: string) { return ( '\n' + - diagnostics.map((d) => formatSingleDiagnostic(d, cwd)).join('\n\n') + + collapsedDiagnostics.map((d) => formatSingleDiagnostic(d, cwd)).join('\n\n') + '\n\n' + // Due to formatting characters, it won't be exactly the size of the footer, that is okay chalk.gray(figures.line.repeat(footer.length)) + '\n ' + footer + - '\n' + '\n ' + + (collapsedDiagnosticsCount < initialDiagnosticsCount + ? `${chalk.reset(initialDiagnosticsCount - collapsedDiagnosticsCount)} diagnostics are not shown in the report as they exceed the limit allowed by Steiger` + : '') ) } From 43e7f835d4641989febf3b1071096a3027e2dd01 Mon Sep 17 00:00:00 2001 From: Daniil Sapa Date: Mon, 6 Jan 2025 15:55:15 +0200 Subject: [PATCH 4/7] Add a changeset --- .changeset/clever-moose-occur.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/clever-moose-occur.md diff --git a/.changeset/clever-moose-occur.md b/.changeset/clever-moose-occur.md new file mode 100644 index 0000000..5943af0 --- /dev/null +++ b/.changeset/clever-moose-occur.md @@ -0,0 +1,5 @@ +--- +'@steiger/pretty-reporter': minor +--- + +Collapse the report to 20 diagnostics, add message about hidden diagnostics From 75db8efe6de528d2dccd59f4b7a97f5c42c14a97 Mon Sep 17 00:00:00 2001 From: Daniil Sapa Date: Mon, 6 Jan 2025 16:32:54 +0200 Subject: [PATCH 5/7] Fix conflicts in pnpm-lock.yaml --- pnpm-lock.yaml | 1501 ++++++++++++++++++++---------------------------- 1 file changed, 611 insertions(+), 890 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9f39048..2a36ba5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,7 +10,7 @@ importers: devDependencies: '@changesets/cli': specifier: ^2.27.10 - version: 2.27.10 + version: 2.27.11 '@manypkg/cli': specifier: ^0.23.0 version: 0.23.0 @@ -19,7 +19,7 @@ importers: version: link:tooling/eslint-config eslint: specifier: ^9.16.0 - version: 9.16.0 + version: 9.17.0 husky: specifier: ^9.1.7 version: 9.1.7 @@ -49,7 +49,7 @@ importers: version: 3.0.0 vitest: specifier: 3.0.0-beta.2 - version: 3.0.0-beta.2(@types/node@20.16.11) + version: 3.0.0-beta.2(@types/node@18.19.70) devDependencies: '@steiger/eslint-config': specifier: workspace:* @@ -65,10 +65,10 @@ importers: version: 0.6.1 '@types/node': specifier: ^18.11.9 - version: 18.19.67 + version: 18.19.70 eslint: specifier: ^9.16.0 - version: 9.16.0 + version: 9.17.0 prettier: specifier: ^3.4.2 version: 3.4.2 @@ -89,7 +89,7 @@ importers: version: link:../steiger-plugin-fsd chokidar: specifier: ^4.0.1 - version: 4.0.1 + version: 4.0.3 cosmiconfig: specifier: ^9.0.0 version: 9.0.0(typescript@5.7.2) @@ -128,10 +128,10 @@ importers: version: 17.7.2 zod: specifier: ^3.24.0 - version: 3.24.0 + version: 3.24.1 zod-validation-error: specifier: ^3.4.0 - version: 3.4.0(zod@3.24.0) + version: 3.4.0(zod@3.24.1) devDependencies: '@steiger/eslint-config': specifier: workspace:* @@ -159,10 +159,10 @@ importers: version: 17.0.33 memfs: specifier: ^4.15.0 - version: 4.15.0 + version: 4.15.3 tsup: specifier: ^8.3.5 - version: 8.3.5(@microsoft/api-extractor@7.47.7(@types/node@22.10.1))(postcss@8.4.49)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.5.1) + version: 8.3.5(@microsoft/api-extractor@7.47.7(@types/node@20.16.11))(postcss@8.4.47)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.5.1) tsx: specifier: ^4.19.2 version: 4.19.2 @@ -171,7 +171,7 @@ importers: version: 5.7.2 vitest: specifier: ^3.0.0-beta.2 - version: 3.0.0-beta.2(@types/node@22.10.1) + version: 3.0.0-beta.2(@types/node@20.16.11) packages/steiger-plugin-fsd: dependencies: @@ -214,13 +214,13 @@ importers: version: 0.0.33 tsup: specifier: ^8.3.5 - version: 8.3.5(@microsoft/api-extractor@7.47.7(@types/node@22.10.1))(postcss@8.4.47)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.5.1) + version: 8.3.5(@microsoft/api-extractor@7.47.7(@types/node@20.16.11))(postcss@8.4.47)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.5.1) typescript: specifier: ^5.7.2 version: 5.7.2 vitest: specifier: ^3.0.0-beta.2 - version: 3.0.0-beta.2(@types/node@22.10.1) + version: 3.0.0-beta.2(@types/node@20.16.11) packages/toolkit: devDependencies: @@ -238,13 +238,13 @@ importers: version: 0.6.1 tsup: specifier: ^8.3.5 - version: 8.3.5(@microsoft/api-extractor@7.47.7(@types/node@22.10.1))(postcss@8.4.49)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.5.1) + version: 8.3.5(@microsoft/api-extractor@7.47.7(@types/node@20.16.11))(postcss@8.4.47)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.5.1) typescript: specifier: ^5.7.2 version: 5.7.2 vitest: specifier: ^3.0.0-beta.2 - version: 3.0.0-beta.2(@types/node@22.10.1) + version: 3.0.0-beta.2(@types/node@20.16.11) packages/types: devDependencies: @@ -253,7 +253,7 @@ importers: version: link:../../tooling/tsconfig '@types/node': specifier: ^18.11.9 - version: 18.19.67 + version: 18.19.70 typescript: specifier: ^5.7.2 version: 5.7.2 @@ -262,20 +262,20 @@ importers: dependencies: '@eslint/js': specifier: ^9.16.0 - version: 9.16.0 + version: 9.17.0 eslint: specifier: ^9.16.0 - version: 9.16.0 + version: 9.17.0 globals: specifier: ^15.13.0 - version: 15.13.0 + version: 15.14.0 typescript-eslint: specifier: ^8.18.0 - version: 8.18.0(eslint@9.16.0)(typescript@5.7.2) + version: 8.19.0(eslint@9.17.0)(typescript@5.7.2) devDependencies: eslint-config-prettier: specifier: ^9.1.0 - version: 9.1.0(eslint@9.16.0) + version: 9.1.0(eslint@9.17.0) tooling/tsconfig: devDependencies: @@ -306,16 +306,16 @@ packages: engines: {node: '>=6.0.0'} hasBin: true - '@babel/runtime@7.26.0': - resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} + '@babel/runtime@7.24.7': + resolution: {integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==} engines: {node: '>=6.9.0'} '@babel/types@7.24.6': resolution: {integrity: sha512-WaMsgi6Q8zMgMth93GvWPXkhAIEobfsIkLTacoVZoK1J0CevIPGYY2Vo5YvJGqyHqXM6P4ppOYGsIRU8MM9pFQ==} engines: {node: '>=6.9.0'} - '@changesets/apply-release-plan@7.0.6': - resolution: {integrity: sha512-TKhVLtiwtQOgMAC0fCJfmv93faiViKSDqr8oMEqrnNs99gtSC1sZh/aEMS9a+dseU1ESZRCK+ofLgGY7o0fw/Q==} + '@changesets/apply-release-plan@7.0.7': + resolution: {integrity: sha512-qnPOcmmmnD0MfMg9DjU1/onORFyRpDXkMMl2IJg9mECY6RnxL3wN0TCCc92b2sXt1jt8DgjAUUsZYGUGTdYIXA==} '@changesets/assemble-release-plan@6.0.5': resolution: {integrity: sha512-IgvBWLNKZd6k4t72MBTBK3nkygi0j3t3zdC1zrfusYo0KpdsvnDjrMM9vPnTCLCMlfNs55jRL4gIMybxa64FCQ==} @@ -323,12 +323,12 @@ packages: '@changesets/changelog-git@0.2.0': resolution: {integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==} - '@changesets/cli@2.27.10': - resolution: {integrity: sha512-PfeXjvs9OfQJV8QSFFHjwHX3QnUL9elPEQ47SgkiwzLgtKGyuikWjrdM+lO9MXzOE22FO9jEGkcs4b+B6D6X0Q==} + '@changesets/cli@2.27.11': + resolution: {integrity: sha512-1QislpE+nvJgSZZo9+Lj3Lno5pKBgN46dAV8IVxKJy9wX8AOrs9nn5pYVZuDpoxWJJCALmbfOsHkyxujgetQSg==} hasBin: true - '@changesets/config@3.0.4': - resolution: {integrity: sha512-+DiIwtEBpvvv1z30f8bbOsUQGuccnZl9KRKMM/LxUHuDu5oEjmN+bJQ1RIBKNJjfYMQn8RZzoPiX0UgPaLQyXw==} + '@changesets/config@3.0.5': + resolution: {integrity: sha512-QyXLSSd10GquX7hY0Mt4yQFMEeqnO5z/XLpbIr4PAkNNoQNKwDyiSrx4yd749WddusH1v3OSiA0NRAYmH/APpQ==} '@changesets/errors@0.2.0': resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} @@ -336,8 +336,8 @@ packages: '@changesets/get-dependents-graph@2.1.2': resolution: {integrity: sha512-sgcHRkiBY9i4zWYBwlVyAjEM9sAzs4wYVwJUdnbDLnVG3QwAaia1Mk5P8M7kraTOZN+vBET7n8KyB0YXCbFRLQ==} - '@changesets/get-release-plan@4.0.5': - resolution: {integrity: sha512-E6wW7JoSMcctdVakut0UB76FrrN3KIeJSXvB+DHMFo99CnC3ZVnNYDCVNClMlqAhYGmLmAj77QfApaI3ca4Fkw==} + '@changesets/get-release-plan@4.0.6': + resolution: {integrity: sha512-FHRwBkY7Eili04Y5YMOZb0ezQzKikTka4wL753vfUA5COSebt7KThqiuCN9BewE4/qFGgF/5t3AuzXx1/UAY4w==} '@changesets/get-version-range-type@0.4.0': resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} @@ -379,8 +379,8 @@ packages: resolution: {integrity: sha512-D/9dozteKcutI5OdxJd8rU+fL6XgaaRg60sPPJWkT33OCiRfkCu5wO5B/yXTaaL2e6EB0lcCBGe5E0XscZCvvQ==} engines: {node: '>=18'} - '@esbuild/aix-ppc64@0.21.5': - resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} + '@esbuild/aix-ppc64@0.20.2': + resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} engines: {node: '>=12'} cpu: [ppc64] os: [aix] @@ -391,14 +391,14 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.24.0': - resolution: {integrity: sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==} + '@esbuild/aix-ppc64@0.24.2': + resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.21.5': - resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} + '@esbuild/android-arm64@0.20.2': + resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -409,14 +409,14 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.24.0': - resolution: {integrity: sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==} + '@esbuild/android-arm64@0.24.2': + resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.21.5': - resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} + '@esbuild/android-arm@0.20.2': + resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -427,14 +427,14 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-arm@0.24.0': - resolution: {integrity: sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==} + '@esbuild/android-arm@0.24.2': + resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.21.5': - resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} + '@esbuild/android-x64@0.20.2': + resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -445,14 +445,14 @@ packages: cpu: [x64] os: [android] - '@esbuild/android-x64@0.24.0': - resolution: {integrity: sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==} + '@esbuild/android-x64@0.24.2': + resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.21.5': - resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} + '@esbuild/darwin-arm64@0.20.2': + resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -463,14 +463,14 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.24.0': - resolution: {integrity: sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==} + '@esbuild/darwin-arm64@0.24.2': + resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.21.5': - resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} + '@esbuild/darwin-x64@0.20.2': + resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -481,14 +481,14 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.24.0': - resolution: {integrity: sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==} + '@esbuild/darwin-x64@0.24.2': + resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.21.5': - resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} + '@esbuild/freebsd-arm64@0.20.2': + resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -499,14 +499,14 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.24.0': - resolution: {integrity: sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==} + '@esbuild/freebsd-arm64@0.24.2': + resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.21.5': - resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} + '@esbuild/freebsd-x64@0.20.2': + resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -517,14 +517,14 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.24.0': - resolution: {integrity: sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==} + '@esbuild/freebsd-x64@0.24.2': + resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.21.5': - resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} + '@esbuild/linux-arm64@0.20.2': + resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -535,14 +535,14 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.24.0': - resolution: {integrity: sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==} + '@esbuild/linux-arm64@0.24.2': + resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.21.5': - resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} + '@esbuild/linux-arm@0.20.2': + resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -553,14 +553,14 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.24.0': - resolution: {integrity: sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==} + '@esbuild/linux-arm@0.24.2': + resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.21.5': - resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} + '@esbuild/linux-ia32@0.20.2': + resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -571,14 +571,14 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.24.0': - resolution: {integrity: sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==} + '@esbuild/linux-ia32@0.24.2': + resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.21.5': - resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} + '@esbuild/linux-loong64@0.20.2': + resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -589,14 +589,14 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.24.0': - resolution: {integrity: sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==} + '@esbuild/linux-loong64@0.24.2': + resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.21.5': - resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} + '@esbuild/linux-mips64el@0.20.2': + resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -607,14 +607,14 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.24.0': - resolution: {integrity: sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==} + '@esbuild/linux-mips64el@0.24.2': + resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.21.5': - resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} + '@esbuild/linux-ppc64@0.20.2': + resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -625,14 +625,14 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.24.0': - resolution: {integrity: sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==} + '@esbuild/linux-ppc64@0.24.2': + resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.21.5': - resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} + '@esbuild/linux-riscv64@0.20.2': + resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -643,14 +643,14 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.24.0': - resolution: {integrity: sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==} + '@esbuild/linux-riscv64@0.24.2': + resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.21.5': - resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} + '@esbuild/linux-s390x@0.20.2': + resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -661,14 +661,14 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.24.0': - resolution: {integrity: sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==} + '@esbuild/linux-s390x@0.24.2': + resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.21.5': - resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} + '@esbuild/linux-x64@0.20.2': + resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -679,14 +679,20 @@ packages: cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.24.0': - resolution: {integrity: sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==} + '@esbuild/linux-x64@0.24.2': + resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-x64@0.21.5': - resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} + '@esbuild/netbsd-arm64@0.24.2': + resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.20.2': + resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -697,8 +703,8 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.24.0': - resolution: {integrity: sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==} + '@esbuild/netbsd-x64@0.24.2': + resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] @@ -709,14 +715,14 @@ packages: cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-arm64@0.24.0': - resolution: {integrity: sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==} + '@esbuild/openbsd-arm64@0.24.2': + resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.21.5': - resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} + '@esbuild/openbsd-x64@0.20.2': + resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -727,14 +733,14 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.24.0': - resolution: {integrity: sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==} + '@esbuild/openbsd-x64@0.24.2': + resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/sunos-x64@0.21.5': - resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} + '@esbuild/sunos-x64@0.20.2': + resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -745,14 +751,14 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.24.0': - resolution: {integrity: sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==} + '@esbuild/sunos-x64@0.24.2': + resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.21.5': - resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} + '@esbuild/win32-arm64@0.20.2': + resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -763,14 +769,14 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.24.0': - resolution: {integrity: sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==} + '@esbuild/win32-arm64@0.24.2': + resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.21.5': - resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} + '@esbuild/win32-ia32@0.20.2': + resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -781,14 +787,14 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.24.0': - resolution: {integrity: sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==} + '@esbuild/win32-ia32@0.24.2': + resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.21.5': - resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} + '@esbuild/win32-x64@0.20.2': + resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -799,8 +805,8 @@ packages: cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.24.0': - resolution: {integrity: sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==} + '@esbuild/win32-x64@0.24.2': + resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -811,11 +817,9 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/eslint-utils@4.4.1': - resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + '@eslint-community/regexpp@4.11.1': + resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} '@eslint-community/regexpp@4.12.1': resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} @@ -833,8 +837,8 @@ packages: resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.16.0': - resolution: {integrity: sha512-tw2HxzQkrbeuvyj1tG2Yqq+0H9wGoI2IMk4EOsQeX+vmd75FtJAzf+gTA69WF+baUKRYQ3x2kbLE08js5OsTVg==} + '@eslint/js@9.17.0': + resolution: {integrity: sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.5': @@ -919,19 +923,19 @@ packages: '@manypkg/find-root@1.1.0': resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} - '@manypkg/find-root@2.2.3': - resolution: {integrity: sha512-jtEZKczWTueJYHjGpxU3KJQ08Gsrf4r6Q2GjmPp/RGk5leeYAA1eyDADSAF+KVCsQ6EwZd/FMcOFCoMhtqdCtQ==} + '@manypkg/find-root@2.2.1': + resolution: {integrity: sha512-34NlypD5mmTY65cFAK7QPgY5Tzt0qXR4ZRXdg97xAlkiLuwXUPBEXy5Hsqzd+7S2acsLxUz6Cs50rlDZQr4xUA==} engines: {node: '>=14.18.0'} '@manypkg/get-packages@1.1.3': resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} - '@manypkg/get-packages@2.2.2': - resolution: {integrity: sha512-3+Zd8kLZmsyJFmWTBtY0MAuCErI7yKB2cjMBlujvSVKZ2R/BMXi0kjCXu2dtRlSq/ML86t1FkumT0yreQ3n8OQ==} + '@manypkg/get-packages@2.2.1': + resolution: {integrity: sha512-TrJd86paBkKEx6InhObcUhuoJNcATlbO6+s1dQdLd4+Y1SLDKJUAMhU46kTZ1SOFbegTuhDbIF3j+Jy564BERA==} engines: {node: '>=14.18.0'} - '@manypkg/tools@1.1.2': - resolution: {integrity: sha512-3lBouSuF7CqlseLB+FKES0K4FQ02JrbEoRtJhxnsyB1s5v4AP03gsoohN8jp7DcOImhaR9scYdztq3/sLfk/qQ==} + '@manypkg/tools@1.1.0': + resolution: {integrity: sha512-SkAyKAByB9l93Slyg8AUHGuM2kjvWioUTCckT/03J09jYnfEzMO/wSXmEhnKGYs6qx9De8TH4yJCl0Y9lRgnyQ==} engines: {node: '>=14.18.0'} '@microsoft/api-extractor-model@7.29.6': @@ -941,11 +945,11 @@ packages: resolution: {integrity: sha512-fNiD3G55ZJGhPOBPMKD/enozj8yxJSYyVJWxRWdcUtw842rvthDHJgUWq9gXQTensFlMHv2wGuCjjivPv53j0A==} hasBin: true - '@microsoft/tsdoc-config@0.17.1': - resolution: {integrity: sha512-UtjIFe0C6oYgTnad4q1QP4qXwLhe6tIpNTRStJ2RZEPIkqQPREAwE5spzVxsdn9UaEMUqhh0AqSx3X4nWAKXWw==} + '@microsoft/tsdoc-config@0.17.0': + resolution: {integrity: sha512-v/EYRXnCAIHxOHW+Plb6OWuUoMotxTN0GLatnpOb1xq0KuTNw/WI3pamJx/UbsoJP5k9MCw1QxvvhPcF9pH3Zg==} - '@microsoft/tsdoc@0.15.1': - resolution: {integrity: sha512-4aErSrCR/On/e5G2hDP0wjooqDdauzEbIq8hIkIe5pXV0rtWJZvdCEKL0ykZxex+IxIwBp0eGeV48hQN07dXtw==} + '@microsoft/tsdoc@0.15.0': + resolution: {integrity: sha512-HZpPoABogPvjeJOdzCOSJsXeL/SMCBgBZMVC3X3d7YYp2gf31MfxhUoYUNwf1ERPJOnQc0wkFn9trqI6ZEdZuA==} '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -971,18 +975,23 @@ packages: resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} engines: {node: '>=12.22.0'} - '@pnpm/npm-conf@2.3.1': - resolution: {integrity: sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==} + '@pnpm/npm-conf@2.2.2': + resolution: {integrity: sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==} engines: {node: '>=12'} + '@rollup/rollup-android-arm-eabi@4.18.0': + resolution: {integrity: sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==} + cpu: [arm] + os: [android] + '@rollup/rollup-android-arm-eabi@4.24.0': resolution: {integrity: sha512-Q6HJd7Y6xdB48x8ZNVDOqsbh2uByBhgK8PiQgPhwkIw/HC/YX5Ghq2mQY5sRMZWHb3VsFkWooUVOZHKr7DmDIA==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm-eabi@4.28.1': - resolution: {integrity: sha512-2aZp8AES04KI2dy3Ss6/MDjXbwBzj+i0GqKtWXgw2/Ma6E4jJvujryO6gJAghIRVz7Vwr9Gtl/8na3nDUKpraQ==} - cpu: [arm] + '@rollup/rollup-android-arm64@4.18.0': + resolution: {integrity: sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==} + cpu: [arm64] os: [android] '@rollup/rollup-android-arm64@4.24.0': @@ -990,19 +999,19 @@ packages: cpu: [arm64] os: [android] - '@rollup/rollup-android-arm64@4.28.1': - resolution: {integrity: sha512-EbkK285O+1YMrg57xVA+Dp0tDBRB93/BZKph9XhMjezf6F4TpYjaUSuPt5J0fZXlSag0LmZAsTmdGGqPp4pQFA==} + '@rollup/rollup-darwin-arm64@4.18.0': + resolution: {integrity: sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==} cpu: [arm64] - os: [android] + os: [darwin] '@rollup/rollup-darwin-arm64@4.24.0': resolution: {integrity: sha512-bIv+X9xeSs1XCk6DVvkO+S/z8/2AMt/2lMqdQbMrmVpgFvXlmde9mLcbQpztXm1tajC3raFDqegsH18HQPMYtA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-arm64@4.28.1': - resolution: {integrity: sha512-prduvrMKU6NzMq6nxzQw445zXgaDBbMQvmKSJaxpaZ5R1QDM8w+eGxo6Y/jhT/cLoCvnZI42oEqf9KQNYz1fqQ==} - cpu: [arm64] + '@rollup/rollup-darwin-x64@4.18.0': + resolution: {integrity: sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==} + cpu: [x64] os: [darwin] '@rollup/rollup-darwin-x64@4.24.0': @@ -1010,28 +1019,18 @@ packages: cpu: [x64] os: [darwin] - '@rollup/rollup-darwin-x64@4.28.1': - resolution: {integrity: sha512-WsvbOunsUk0wccO/TV4o7IKgloJ942hVFK1CLatwv6TJspcCZb9umQkPdvB7FihmdxgaKR5JyxDjWpCOp4uZlQ==} - cpu: [x64] - os: [darwin] - - '@rollup/rollup-freebsd-arm64@4.28.1': - resolution: {integrity: sha512-HTDPdY1caUcU4qK23FeeGxCdJF64cKkqajU0iBnTVxS8F7H/7BewvYoG+va1KPSL63kQ1PGNyiwKOfReavzvNA==} - cpu: [arm64] - os: [freebsd] - - '@rollup/rollup-freebsd-x64@4.28.1': - resolution: {integrity: sha512-m/uYasxkUevcFTeRSM9TeLyPe2QDuqtjkeoTpP9SW0XxUWfcYrGDMkO/m2tTw+4NMAF9P2fU3Mw4ahNvo7QmsQ==} - cpu: [x64] - os: [freebsd] + '@rollup/rollup-linux-arm-gnueabihf@4.18.0': + resolution: {integrity: sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==} + cpu: [arm] + os: [linux] '@rollup/rollup-linux-arm-gnueabihf@4.24.0': resolution: {integrity: sha512-0KXvIJQMOImLCVCz9uvvdPgfyWo93aHHp8ui3FrtOP57svqrF/roSSR5pjqL2hcMp0ljeGlU4q9o/rQaAQ3AYA==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-gnueabihf@4.28.1': - resolution: {integrity: sha512-QAg11ZIt6mcmzpNE6JZBpKfJaKkqTm1A9+y9O+frdZJEuhQxiugM05gnCWiANHj4RmbgeVJpTdmKRmH/a+0QbA==} + '@rollup/rollup-linux-arm-musleabihf@4.18.0': + resolution: {integrity: sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==} cpu: [arm] os: [linux] @@ -1040,9 +1039,9 @@ packages: cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.28.1': - resolution: {integrity: sha512-dRP9PEBfolq1dmMcFqbEPSd9VlRuVWEGSmbxVEfiq2cs2jlZAl0YNxFzAQS2OrQmsLBLAATDMb3Z6MFv5vOcXg==} - cpu: [arm] + '@rollup/rollup-linux-arm64-gnu@4.18.0': + resolution: {integrity: sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==} + cpu: [arm64] os: [linux] '@rollup/rollup-linux-arm64-gnu@4.24.0': @@ -1050,8 +1049,8 @@ packages: cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.28.1': - resolution: {integrity: sha512-uGr8khxO+CKT4XU8ZUH1TTEUtlktK6Kgtv0+6bIFSeiSlnGJHG1tSFSjm41uQ9sAO/5ULx9mWOz70jYLyv1QkA==} + '@rollup/rollup-linux-arm64-musl@4.18.0': + resolution: {integrity: sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==} cpu: [arm64] os: [linux] @@ -1060,14 +1059,9 @@ packages: cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.28.1': - resolution: {integrity: sha512-QF54q8MYGAqMLrX2t7tNpi01nvq5RI59UBNx+3+37zoKX5KViPo/gk2QLhsuqok05sSCRluj0D00LzCwBikb0A==} - cpu: [arm64] - os: [linux] - - '@rollup/rollup-linux-loongarch64-gnu@4.28.1': - resolution: {integrity: sha512-vPul4uodvWvLhRco2w0GcyZcdyBfpfDRgNKU+p35AWEbJ/HPs1tOUrkSueVbBS0RQHAf/A+nNtDpvw95PeVKOA==} - cpu: [loong64] + '@rollup/rollup-linux-powerpc64le-gnu@4.18.0': + resolution: {integrity: sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==} + cpu: [ppc64] os: [linux] '@rollup/rollup-linux-powerpc64le-gnu@4.24.0': @@ -1075,9 +1069,9 @@ packages: cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.28.1': - resolution: {integrity: sha512-pTnTdBuC2+pt1Rmm2SV7JWRqzhYpEILML4PKODqLz+C7Ou2apEV52h19CR7es+u04KlqplggmN9sqZlekg3R1A==} - cpu: [ppc64] + '@rollup/rollup-linux-riscv64-gnu@4.18.0': + resolution: {integrity: sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==} + cpu: [riscv64] os: [linux] '@rollup/rollup-linux-riscv64-gnu@4.24.0': @@ -1085,9 +1079,9 @@ packages: cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.28.1': - resolution: {integrity: sha512-vWXy1Nfg7TPBSuAncfInmAI/WZDd5vOklyLJDdIRKABcZWojNDY0NJwruY2AcnCLnRJKSaBgf/GiJfauu8cQZA==} - cpu: [riscv64] + '@rollup/rollup-linux-s390x-gnu@4.18.0': + resolution: {integrity: sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==} + cpu: [s390x] os: [linux] '@rollup/rollup-linux-s390x-gnu@4.24.0': @@ -1095,9 +1089,9 @@ packages: cpu: [s390x] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.28.1': - resolution: {integrity: sha512-/yqC2Y53oZjb0yz8PVuGOQQNOTwxcizudunl/tFs1aLvObTclTwZ0JhXF2XcPT/zuaymemCDSuuUPXJJyqeDOg==} - cpu: [s390x] + '@rollup/rollup-linux-x64-gnu@4.18.0': + resolution: {integrity: sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==} + cpu: [x64] os: [linux] '@rollup/rollup-linux-x64-gnu@4.24.0': @@ -1105,8 +1099,8 @@ packages: cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.28.1': - resolution: {integrity: sha512-fzgeABz7rrAlKYB0y2kSEiURrI0691CSL0+KXwKwhxvj92VULEDQLpBYLHpF49MSiPG4sq5CK3qHMnb9tlCjBw==} + '@rollup/rollup-linux-x64-musl@4.18.0': + resolution: {integrity: sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==} cpu: [x64] os: [linux] @@ -1115,19 +1109,19 @@ packages: cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.28.1': - resolution: {integrity: sha512-xQTDVzSGiMlSshpJCtudbWyRfLaNiVPXt1WgdWTwWz9n0U12cI2ZVtWe/Jgwyv/6wjL7b66uu61Vg0POWVfz4g==} - cpu: [x64] - os: [linux] + '@rollup/rollup-win32-arm64-msvc@4.18.0': + resolution: {integrity: sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==} + cpu: [arm64] + os: [win32] '@rollup/rollup-win32-arm64-msvc@4.24.0': resolution: {integrity: sha512-VXBrnPWgBpVDCVY6XF3LEW0pOU51KbaHhccHw6AS6vBWIC60eqsH19DAeeObl+g8nKAz04QFdl/Cefta0xQtUQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.28.1': - resolution: {integrity: sha512-wSXmDRVupJstFP7elGMgv+2HqXelQhuNf+IS4V+nUpNVi/GUiBgDmfwD0UGN3pcAnWsgKG3I52wMOBnk1VHr/A==} - cpu: [arm64] + '@rollup/rollup-win32-ia32-msvc@4.18.0': + resolution: {integrity: sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==} + cpu: [ia32] os: [win32] '@rollup/rollup-win32-ia32-msvc@4.24.0': @@ -1135,9 +1129,9 @@ packages: cpu: [ia32] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.28.1': - resolution: {integrity: sha512-ZkyTJ/9vkgrE/Rk9vhMXhf8l9D+eAhbAVbsGsXKy2ohmJaWg0LPQLnIxRdRp/bKyr8tXuPlXhIoGlEB5XpJnGA==} - cpu: [ia32] + '@rollup/rollup-win32-x64-msvc@4.18.0': + resolution: {integrity: sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==} + cpu: [x64] os: [win32] '@rollup/rollup-win32-x64-msvc@4.24.0': @@ -1145,11 +1139,6 @@ packages: cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.28.1': - resolution: {integrity: sha512-ZvK2jBafvttJjoIdKm/Q/Bh7IJ1Ose9IBOwpOXcOvW3ikGTQGmKDgxTC6oCAzW6PynbkKP8+um1du81XJHZ0JA==} - cpu: [x64] - os: [win32] - '@rushstack/node-core-library@5.7.0': resolution: {integrity: sha512-Ff9Cz/YlWu9ce4dmqNBZpA45AEya04XaBFIjV7xTVeEf+y/kTjEasmozqFELXlNG4ROdevss75JrrZ5WgufDkQ==} peerDependencies: @@ -1185,6 +1174,9 @@ packages: '@types/argparse@1.0.38': resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} + '@types/estree@1.0.5': + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + '@types/estree@1.0.6': resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} @@ -1200,11 +1192,11 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@18.19.67': - resolution: {integrity: sha512-wI8uHusga+0ZugNp0Ol/3BqQfEcCCNfojtO6Oou9iVNGPTL6QNSdnUdqq85fRgIorLhLMuPIKpsN98QE9Nh+KQ==} + '@types/node@18.19.70': + resolution: {integrity: sha512-RE+K0+KZoEpDUbGGctnGdkrLFwi1eYKTlIHNl2Um98mUkGsm1u2Ff6Ltd0e8DktTtC98uy7rSj+hO8t/QuLoVQ==} - '@types/node@22.10.1': - resolution: {integrity: sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ==} + '@types/node@20.16.11': + resolution: {integrity: sha512-y+cTCACu92FyA5fgQSAI8A1H429g7aSK2HsO7K4XYUWc4dY5IUz55JSDIYT6/VsOLfGy8vmvQYC2hfb0iF16Uw==} '@types/pluralize@0.0.33': resolution: {integrity: sha512-JOqsl+ZoCpP4e8TDke9W79FDcSgPAR0l6pixx2JHkhnRjvShyYiAYw2LVsnA7K08Y6DeOnaU6ujmENO4os/cYg==} @@ -1215,27 +1207,27 @@ packages: '@types/yargs@17.0.33': resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} - '@typescript-eslint/eslint-plugin@8.18.0': - resolution: {integrity: sha512-NR2yS7qUqCL7AIxdJUQf2MKKNDVNaig/dEB0GBLU7D+ZdHgK1NoH/3wsgO3OnPVipn51tG3MAwaODEGil70WEw==} + '@typescript-eslint/eslint-plugin@8.19.0': + resolution: {integrity: sha512-NggSaEZCdSrFddbctrVjkVZvFC6KGfKfNK0CU7mNK/iKHGKbzT4Wmgm08dKpcZECBu9f5FypndoMyRHkdqfT1Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/parser@8.18.0': - resolution: {integrity: sha512-hgUZ3kTEpVzKaK3uNibExUYm6SKKOmTU2BOxBSvOYwtJEPdVQ70kZJpPjstlnhCHcuc2WGfSbpKlb/69ttyN5Q==} + '@typescript-eslint/parser@8.19.0': + resolution: {integrity: sha512-6M8taKyOETY1TKHp0x8ndycipTVgmp4xtg5QpEZzXxDhNvvHOJi5rLRkLr8SK3jTgD5l4fTlvBiRdfsuWydxBw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/scope-manager@8.18.0': - resolution: {integrity: sha512-PNGcHop0jkK2WVYGotk/hxj+UFLhXtGPiGtiaWgVBVP1jhMoMCHlTyJA+hEj4rszoSdLTK3fN4oOatrL0Cp+Xw==} + '@typescript-eslint/scope-manager@8.19.0': + resolution: {integrity: sha512-hkoJiKQS3GQ13TSMEiuNmSCvhz7ujyqD1x3ShbaETATHrck+9RaDdUbt+osXaUuns9OFwrDTTrjtwsU8gJyyRA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.18.0': - resolution: {integrity: sha512-er224jRepVAVLnMF2Q7MZJCq5CsdH2oqjP4dT7K6ij09Kyd+R21r7UVJrF0buMVdZS5QRhDzpvzAxHxabQadow==} + '@typescript-eslint/type-utils@8.19.0': + resolution: {integrity: sha512-TZs0I0OSbd5Aza4qAMpp1cdCYVnER94IziudE3JU328YUHgWu9gwiwhag+fuLeJ2LkWLXI+F/182TbG+JaBdTg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -1245,8 +1237,8 @@ packages: resolution: {integrity: sha512-aV1+B1+ySXbQH0pLK0rx66I3IkiZNidYobyfn0WFsdGhSXw+P3YOqeTq5GED458SfB24tg+ux3S+9g118hjlTw==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/types@8.18.0': - resolution: {integrity: sha512-FNYxgyTCAnFwTrzpBGq+zrnoTO4x0c1CKYY5MuUTzpScqmY5fmsh2o3+57lqdI3NZucBDCzDgdEbIaNfAjAHQA==} + '@typescript-eslint/types@8.19.0': + resolution: {integrity: sha512-8XQ4Ss7G9WX8oaYvD4OOLCjIQYgRQxO+qCiR2V2s2GxI9AUpo7riNwo6jDhKtTcaJjT8PY54j2Yb33kWtSJsmA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/typescript-estree@7.15.0': @@ -1258,14 +1250,14 @@ packages: typescript: optional: true - '@typescript-eslint/typescript-estree@8.18.0': - resolution: {integrity: sha512-rqQgFRu6yPkauz+ms3nQpohwejS8bvgbPyIDq13cgEDbkXt4LH4OkDMT0/fN1RUtzG8e8AKJyDBoocuQh8qNeg==} + '@typescript-eslint/typescript-estree@8.19.0': + resolution: {integrity: sha512-WW9PpDaLIFW9LCbucMSdYUuGeFUz1OkWYS/5fwZwTA+l2RwlWFdJvReQqMUMBw4yJWJOfqd7An9uwut2Oj8sLw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/utils@8.18.0': - resolution: {integrity: sha512-p6GLdY383i7h5b0Qrfbix3Vc3+J2k6QWw6UMUeY5JGfm3C5LbZ4QIZzJNoNOfgyRe0uuYKjvVOsO/jD4SJO+xg==} + '@typescript-eslint/utils@8.19.0': + resolution: {integrity: sha512-PTBG+0oEMPH9jCZlfg07LCB2nYI0I317yyvXGfxnvGvw4SHIOuRnQ3kadyyXY6tGdChusIHIbM5zfIbp4M6tCg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -1275,8 +1267,8 @@ packages: resolution: {integrity: sha512-Hqgy/ETgpt2L5xueA/zHHIl4fJI2O4XUE9l4+OIfbJIRSnTJb/QscncdqqZzofQegIJugRIF57OJea1khw2SDw==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/visitor-keys@8.18.0': - resolution: {integrity: sha512-pCh/qEA8Lb1wVIqNvBke8UaRjJ6wrAWkJO5yyIbs8Yx6TNGYyfNjOo61tLv+WwLvoLPp4BQ8B7AHKijl8NGUfw==} + '@typescript-eslint/visitor-keys@8.19.0': + resolution: {integrity: sha512-mCFtBbFBJDCNCWUl5y6sZSCHXw1DEFEk3c/M3nRK2a4XUB8StGFtmcEMizdjKuBzB6e/smJAAWYug3VrdLMr1w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@vitest/expect@3.0.0-beta.2': @@ -1293,38 +1285,15 @@ packages: vite: optional: true - '@vitest/expect@3.0.0-beta.2': - resolution: {integrity: sha512-xdywwsqHOTZ66dBr8sQ+l3c0ZQs/wQY48fBRgLDrUqTU8OlDir6H1JMIOeV+Jb85Ov1XBGXBrSVlPDIo/fN5EQ==} - - '@vitest/mocker@3.0.0-beta.2': - resolution: {integrity: sha512-rSYrjKX8RwiKLw9MoZ8FDjos90C//AVphNVVYsv8QJn6brSkJLAOTFjTn13E8mF8kh3Bx8NKNgyDrx48ioJFXQ==} - peerDependencies: - msw: ^2.4.9 - vite: ^5.0.0 - peerDependenciesMeta: - msw: - optional: true - vite: - optional: true - '@vitest/pretty-format@3.0.0-beta.2': resolution: {integrity: sha512-vMCmIdShOz2vjMCyxk+SoexZxsIbwrRc/weTctKxnQAYv3NubehpwCOaT8nhirmYQtdW+8r079wz1s7cKxNmCA==} '@vitest/pretty-format@3.0.0-beta.3': resolution: {integrity: sha512-d3+IaliPJLndUB/eQ4XP4OEHWhMDUJGhGc8XyLfi803Ad62nkTLC1bwFz80bNghEfKi+sz/oSkvQmW/3lQeCdA==} - '@vitest/pretty-format@3.0.0-beta.2': - resolution: {integrity: sha512-vMCmIdShOz2vjMCyxk+SoexZxsIbwrRc/weTctKxnQAYv3NubehpwCOaT8nhirmYQtdW+8r079wz1s7cKxNmCA==} - '@vitest/runner@3.0.0-beta.2': resolution: {integrity: sha512-Ytyub2tBCGrROrGfVlB8SuWdQjFYzJTTR969CGJF/xkIgdkLE9SiQzBZy4td2VidypntLXAVHYjeGr75pvw93w==} - '@vitest/runner@3.0.0-beta.2': - resolution: {integrity: sha512-Ytyub2tBCGrROrGfVlB8SuWdQjFYzJTTR969CGJF/xkIgdkLE9SiQzBZy4td2VidypntLXAVHYjeGr75pvw93w==} - - '@vitest/snapshot@3.0.0-beta.2': - resolution: {integrity: sha512-6INaNxXyYBmFGHhjmSyoz+/P3F+e6sHZPXLYt2OAa6Zt1v1O91FoGUTwdNHj2ASxMQeVpK/7snxNaeyr2INVOg==} - '@vitest/snapshot@3.0.0-beta.2': resolution: {integrity: sha512-6INaNxXyYBmFGHhjmSyoz+/P3F+e6sHZPXLYt2OAa6Zt1v1O91FoGUTwdNHj2ASxMQeVpK/7snxNaeyr2INVOg==} @@ -1334,9 +1303,6 @@ packages: '@vitest/utils@3.0.0-beta.2': resolution: {integrity: sha512-Jkib9LoI9Xm3gmzwI+9KgEAJVZNgJQFrR1RAyqBN7k9O3qezOTUjqyYBnvyz3UcPywygP1jEjZWBxUKx4ELpxw==} - '@vitest/utils@3.0.0-beta.2': - resolution: {integrity: sha512-Jkib9LoI9Xm3gmzwI+9KgEAJVZNgJQFrR1RAyqBN7k9O3qezOTUjqyYBnvyz3UcPywygP1jEjZWBxUKx4ELpxw==} - '@vue/compiler-core@3.4.27': resolution: {integrity: sha512-E+RyqY24KnyDXsCuQrI+mlcdW3ALND6U7Gqa/+bVwbcpcR3BRRIckFoz7Qyd4TTlnugtwuI7YgjbvsLmxb+yvg==} @@ -1403,8 +1369,8 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - ansi-regex@6.1.0: - resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} engines: {node: '>=12'} ansi-styles@3.2.1: @@ -1436,10 +1402,6 @@ packages: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} - assertion-error@2.0.1: - resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} - engines: {node: '>=12'} - ast-module-types@6.0.0: resolution: {integrity: sha512-LFRg7178Fw5R4FAEwZxVqiRI8IxSM+Ay2UBrHoCerXNme+kMMMfz7T3xDGV/c2fer87hcrtgJGsnSOfUrPK6ng==} engines: {node: '>=18'} @@ -1479,10 +1441,6 @@ packages: resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==} engines: {node: '>=12'} - chai@5.1.2: - resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==} - engines: {node: '>=12'} - chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} @@ -1502,12 +1460,8 @@ packages: resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} engines: {node: '>= 16'} - check-error@2.1.1: - resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} - engines: {node: '>= 16'} - - chokidar@4.0.1: - resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==} + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} ci-info@3.9.0: @@ -1569,19 +1523,14 @@ packages: typescript: optional: true + cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} - debug@4.3.5: - resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@4.3.7: resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} @@ -1600,19 +1549,6 @@ packages: supports-color: optional: true - debug@4.4.0: - resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - deep-eql@5.0.2: - resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} - engines: {node: '>=6'} - deep-eql@5.0.2: resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} engines: {node: '>=6'} @@ -1682,8 +1618,8 @@ packages: resolution: {integrity: sha512-nBk3pzdJKT/Sn3OhLUurZoxKXUBd+iqiYHNoBRDFc8EE/vXp2JPNsickX59ZjlDbsWZwTMCVV3tovxjRo+vMGQ==} engines: {node: '>=11.0.0'} - emoji-regex@10.4.0: - resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} + emoji-regex@10.3.0: + resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -1717,8 +1653,8 @@ packages: es-module-lexer@1.6.0: resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==} - esbuild@0.21.5: - resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} + esbuild@0.20.2: + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} engines: {node: '>=12'} hasBin: true @@ -1727,8 +1663,8 @@ packages: engines: {node: '>=18'} hasBin: true - esbuild@0.24.0: - resolution: {integrity: sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==} + esbuild@0.24.2: + resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} engines: {node: '>=18'} hasBin: true @@ -1767,8 +1703,8 @@ packages: resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.16.0: - resolution: {integrity: sha512-whp8mSQI4C8VXd+fLgSM0lh3UlmcFtVwUQjyKCFfsp+2ItAIYhlq/hqGahGqHE6cv9unM41VlqKk2VtKYR2TaA==} + eslint@9.17.0: + resolution: {integrity: sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -1909,8 +1845,8 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - get-east-asian-width@1.3.0: - resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} + get-east-asian-width@1.2.0: + resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} engines: {node: '>=18'} get-stream@8.0.1: @@ -1937,8 +1873,8 @@ packages: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} - globals@15.13.0: - resolution: {integrity: sha512-49TewVEz0UxZjr1WYYsWpPrhyC/B/pA8Bq0fUmet2n+eR7yn0IvNzNaoBwnK6mdkzcN+se7Ez9zUgULTz2QH4g==} + globals@15.14.0: + resolution: {integrity: sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==} engines: {node: '>=18'} globby@11.1.0: @@ -1999,10 +1935,6 @@ packages: resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} engines: {node: '>= 4'} - ignore@5.3.2: - resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} - engines: {node: '>= 4'} - immer@10.1.1: resolution: {integrity: sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw==} @@ -2121,20 +2053,16 @@ packages: keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - ky@1.7.2: - resolution: {integrity: sha512-OzIvbHKKDpi60TnF9t7UUVAF1B4mcqc02z5PIvrm08Wyb+yOcz63GRvEuVxNT18a9E1SrNouhB4W2NNLeD7Ykg==} + ky@1.7.4: + resolution: {integrity: sha512-zYEr/gh7uLW2l4su11bmQ2M9xLgQLjyvx58UyNM/6nuqyWFHPX5ktMjvpev3F8QWdjSsHUpnWew4PBCswBNuMQ==} engines: {node: '>=18'} levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} - lilconfig@3.1.1: - resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} - engines: {node: '>=14'} - - lilconfig@3.1.3: - resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} + lilconfig@3.1.2: + resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} engines: {node: '>=14'} lines-and-columns@1.2.4: @@ -2180,16 +2108,9 @@ packages: resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} engines: {node: '>=18'} - loupe@2.3.7: - resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} - loupe@3.1.2: resolution: {integrity: sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==} - lowercase-keys@3.0.0: - resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - lru-cache@10.2.2: resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} engines: {node: 14 || >=16.14} @@ -2204,8 +2125,8 @@ packages: magic-string@0.30.17: resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} - memfs@4.15.0: - resolution: {integrity: sha512-q9MmZXd2rRWHS6GU3WEm3HyiXZyyoA1DqdOhEq0lxPBmKb5S7IAOwX0RgUCwJfqjelDCySa5h8ujOy24LqsWcw==} + memfs@4.15.3: + resolution: {integrity: sha512-vR/g1SgqvKJgAyYla+06G4p/EOcEmwhYuVb1yc1ixcKf8o/sh7Zngv63957ZSNd1xrZJoinmNyDf2LzuP8WJXw==} engines: {node: '>= 4.0.0'} merge-stream@2.0.0: @@ -2245,10 +2166,6 @@ packages: resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} engines: {node: '>=16 || 14 >=14.17'} - minimatch@9.0.5: - resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} - engines: {node: '>=16 || 14 >=14.17'} - minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} @@ -2265,9 +2182,6 @@ packages: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} - ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -2279,11 +2193,6 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - nanoid@3.3.8: - resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} @@ -2354,16 +2263,16 @@ packages: resolution: {integrity: sha512-ua1L4OgXSBdsu1FPb7F3tYH0F48a6kxvod4pLUlGY9COeJAJQNX/sNH2IiEmsxw7lqYiAwrdHMjz1FctOsyDQg==} engines: {node: '>=18'} - package-manager-detector@0.2.7: - resolution: {integrity: sha512-g4+387DXDKlZzHkP+9FLt8yKj8+/3tOkPv7DVTJGGRm00RkEWgqbFstX1mXJ4M0VDYhUqsTOiISqNOJnhAu3PQ==} + package-manager-detector@0.2.2: + resolution: {integrity: sha512-VgXbyrSNsml4eHWIvxxG/nTL4wgybMTXCV2Un/+yEc3aDKKU6nQBZjbeP3Pl3qm9Qg92X/1ng4ffvCeD/zwHgg==} parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} - parse-github-url@1.0.3: - resolution: {integrity: sha512-tfalY5/4SqGaV/GIGzWyHnFjlpTPTNpENR9Ea2lLldSJ8EWXMsvacWucqY3m3I4YPtas15IxTLQVQ5NSYXPrww==} - engines: {node: '>= 0.10'} + parse-github-url@1.0.2: + resolution: {integrity: sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==} + engines: {node: '>=0.10.0'} hasBin: true parse-json@5.2.0: @@ -2404,10 +2313,6 @@ packages: resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} engines: {node: '>= 14.16'} - pathval@2.0.0: - resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} - engines: {node: '>= 14.16'} - patronum@2.3.0: resolution: {integrity: sha512-BfKIOpoymVz6XnkOn8Fi5QZ1a3r/3lXdd8BcdHmYDbIXPTIRnD1EPFBFev/DheWnOge6/ZswEqgNF2ANLGOxLw==} peerDependencies: @@ -2465,12 +2370,12 @@ packages: peerDependencies: postcss: ^8.2.9 - postcss@8.4.47: - resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} + postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} engines: {node: ^10 || ^12 || >=14} - postcss@8.4.49: - resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} + postcss@8.4.47: + resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} engines: {node: ^10 || ^12 || >=14} precinct@12.1.2: @@ -2524,8 +2429,8 @@ packages: regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - registry-auth-token@5.0.3: - resolution: {integrity: sha512-1bpc9IyC+e+CNFRaWyn77tk4xGG4PPUyfakSmA6F6cvUDjrm58dfyJ3II+9yb10EDkHoy1LaPSmHaWLOH3m6HA==} + registry-auth-token@5.0.2: + resolution: {integrity: sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==} engines: {node: '>=14'} registry-url@6.0.1: @@ -2566,13 +2471,13 @@ packages: rfdc@1.4.1: resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} - rollup@4.24.0: - resolution: {integrity: sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg==} + rollup@4.18.0: + resolution: {integrity: sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - rollup@4.28.1: - resolution: {integrity: sha512-61fXYl/qNVinKmGSTHAZ6Yy8I3YIJC/r2m9feHo6SwVAVcLT5MPwOUFe7EuURA/4m0NR8lXG4BBXuo/IZEsjMg==} + rollup@4.24.0: + resolution: {integrity: sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -2590,6 +2495,11 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.6.2: + resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} + engines: {node: '>=10'} + hasBin: true + semver@7.6.3: resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} engines: {node: '>=10'} @@ -2657,9 +2567,6 @@ packages: std-env@3.8.0: resolution: {integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==} - std-env@3.8.0: - resolution: {integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==} - string-argv@0.3.2: resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} engines: {node: '>=0.6.19'} @@ -2672,8 +2579,8 @@ packages: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} - string-width@7.2.0: - resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} + string-width@7.1.0: + resolution: {integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==} engines: {node: '>=18'} strip-ansi@6.0.1: @@ -2749,12 +2656,6 @@ packages: tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} - tinyexec@0.3.1: - resolution: {integrity: sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==} - - tinybench@2.9.0: - resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} - tinyexec@0.3.2: resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} @@ -2770,18 +2671,6 @@ packages: resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==} engines: {node: '>=14.0.0'} - tinypool@1.0.2: - resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==} - engines: {node: ^18.0.0 || >=20.0.0} - - tinyrainbow@1.2.0: - resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==} - engines: {node: '>=14.0.0'} - - tinyspy@3.0.2: - resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} - engines: {node: '>=14.0.0'} - tinyspy@3.0.2: resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} engines: {node: '>=14.0.0'} @@ -2817,12 +2706,6 @@ packages: peerDependencies: typescript: '>=4.2.0' - ts-api-utils@1.4.3: - resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==} - engines: {node: '>=16'} - peerDependencies: - typescript: '>=4.2.0' - ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} @@ -2905,8 +2788,8 @@ packages: resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} engines: {node: '>=10'} - typescript-eslint@8.18.0: - resolution: {integrity: sha512-Xq2rRjn6tzVpAyHr3+nmSg1/9k9aIHnJ2iZeOH7cfGOWqTkXTm3kwpQglEuLGdNrYvPF+2gtAs+/KF5rjVo+WQ==} + typescript-eslint@8.19.0: + resolution: {integrity: sha512-Ni8sUkVWYK4KAcTtPjQ/UTiRk6jcsuDhPpxULapUDi8A/l8TSBk+t1GtJA1RsCzIJg0q6+J7bf35AwQigENWRQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -2925,8 +2808,8 @@ packages: undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - undici-types@6.20.0: - resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} + undici-types@6.19.8: + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} unicorn-magic@0.1.0: resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} @@ -2948,13 +2831,8 @@ packages: engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true - vite-node@3.0.0-beta.2: - resolution: {integrity: sha512-ofTf6cfRdL30Wbl9n/BX81EyIR5s4PReLmSurrxQ+koLaWUNOEo8E0lCM53OJkb8vpa2URM2nSrxZsIFyvY1rg==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} - hasBin: true - - vite@5.4.11: - resolution: {integrity: sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==} + vite@5.2.12: + resolution: {integrity: sha512-/gC8GxzxMK5ntBwb48pR32GGhENnjtY30G4A0jemunsBkiEZFw60s8InGpN8gkhHEkjnRK1aSAxeQgwvFhUHAA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -2962,7 +2840,6 @@ packages: less: '*' lightningcss: ^1.21.0 sass: '*' - sass-embedded: '*' stylus: '*' sugarss: '*' terser: ^5.4.0 @@ -2975,8 +2852,6 @@ packages: optional: true sass: optional: true - sass-embedded: - optional: true stylus: optional: true sugarss: @@ -3009,31 +2884,6 @@ packages: jsdom: optional: true - vitest@3.0.0-beta.2: - resolution: {integrity: sha512-ZP0FVJ4tNJJOsjzZSuadEW0BPBgO7DMMen3mIE8TPPiPUMwz9YoS1U5bcqMYZ61r34xGsaYPe1h0l1MXt50f7g==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - '@vitest/browser': 3.0.0-beta.2 - '@vitest/ui': 3.0.0-beta.2 - happy-dom: '*' - jsdom: '*' - peerDependenciesMeta: - '@edge-runtime/vm': - optional: true - '@types/node': - optional: true - '@vitest/browser': - optional: true - '@vitest/ui': - optional: true - happy-dom: - optional: true - jsdom: - optional: true - webidl-conversions@4.0.2: resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} @@ -3050,11 +2900,6 @@ packages: engines: {node: '>=8'} hasBin: true - why-is-node-running@2.3.0: - resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} - engines: {node: '>=8'} - hasBin: true - word-wrap@1.2.5: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} @@ -3101,8 +2946,8 @@ packages: peerDependencies: zod: ^3.18.0 - zod@3.24.0: - resolution: {integrity: sha512-Hz+wiY8yD0VLA2k/+nsg2Abez674dDGTai33SwNvMPuf9uIrBC9eFgIMQxBBbHFxVXi8W+5nX9DcAh9YNSQm/w==} + zod@3.24.1: + resolution: {integrity: sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==} snapshots: @@ -3126,7 +2971,7 @@ snapshots: dependencies: '@babel/types': 7.24.6 - '@babel/runtime@7.26.0': + '@babel/runtime@7.24.7': dependencies: regenerator-runtime: 0.14.1 @@ -3136,9 +2981,9 @@ snapshots: '@babel/helper-validator-identifier': 7.24.6 to-fast-properties: 2.0.0 - '@changesets/apply-release-plan@7.0.6': + '@changesets/apply-release-plan@7.0.7': dependencies: - '@changesets/config': 3.0.4 + '@changesets/config': 3.0.5 '@changesets/get-version-range-type': 0.4.0 '@changesets/git': 3.0.2 '@changesets/should-skip-package': 0.1.1 @@ -3150,7 +2995,7 @@ snapshots: outdent: 0.5.0 prettier: 2.8.8 resolve-from: 5.0.0 - semver: 7.6.3 + semver: 7.6.2 '@changesets/assemble-release-plan@6.0.5': dependencies: @@ -3159,21 +3004,21 @@ snapshots: '@changesets/should-skip-package': 0.1.1 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 - semver: 7.6.3 + semver: 7.6.2 '@changesets/changelog-git@0.2.0': dependencies: '@changesets/types': 6.0.0 - '@changesets/cli@2.27.10': + '@changesets/cli@2.27.11': dependencies: - '@changesets/apply-release-plan': 7.0.6 + '@changesets/apply-release-plan': 7.0.7 '@changesets/assemble-release-plan': 6.0.5 '@changesets/changelog-git': 0.2.0 - '@changesets/config': 3.0.4 + '@changesets/config': 3.0.5 '@changesets/errors': 0.2.0 '@changesets/get-dependents-graph': 2.1.2 - '@changesets/get-release-plan': 4.0.5 + '@changesets/get-release-plan': 4.0.6 '@changesets/git': 3.0.2 '@changesets/logger': 0.1.1 '@changesets/pre': 2.0.1 @@ -3189,14 +3034,14 @@ snapshots: fs-extra: 7.0.1 mri: 1.2.0 p-limit: 2.3.0 - package-manager-detector: 0.2.7 + package-manager-detector: 0.2.2 picocolors: 1.1.1 resolve-from: 5.0.0 - semver: 7.6.3 + semver: 7.6.2 spawndamnit: 3.0.1 term-size: 2.2.1 - '@changesets/config@3.0.4': + '@changesets/config@3.0.5': dependencies: '@changesets/errors': 0.2.0 '@changesets/get-dependents-graph': 2.1.2 @@ -3215,12 +3060,12 @@ snapshots: '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 picocolors: 1.1.1 - semver: 7.6.3 + semver: 7.6.2 - '@changesets/get-release-plan@4.0.5': + '@changesets/get-release-plan@4.0.6': dependencies: '@changesets/assemble-release-plan': 6.0.5 - '@changesets/config': 3.0.4 + '@changesets/config': 3.0.5 '@changesets/pre': 2.0.1 '@changesets/read': 0.6.2 '@changesets/types': 6.0.0 @@ -3294,235 +3139,235 @@ snapshots: gonzales-pe: 4.3.0 node-source-walk: 7.0.0 - '@esbuild/aix-ppc64@0.21.5': + '@esbuild/aix-ppc64@0.20.2': optional: true '@esbuild/aix-ppc64@0.23.1': optional: true - '@esbuild/aix-ppc64@0.24.0': + '@esbuild/aix-ppc64@0.24.2': optional: true - '@esbuild/android-arm64@0.21.5': + '@esbuild/android-arm64@0.20.2': optional: true '@esbuild/android-arm64@0.23.1': optional: true - '@esbuild/android-arm64@0.24.0': + '@esbuild/android-arm64@0.24.2': optional: true - '@esbuild/android-arm@0.21.5': + '@esbuild/android-arm@0.20.2': optional: true '@esbuild/android-arm@0.23.1': optional: true - '@esbuild/android-arm@0.24.0': + '@esbuild/android-arm@0.24.2': optional: true - '@esbuild/android-x64@0.21.5': + '@esbuild/android-x64@0.20.2': optional: true '@esbuild/android-x64@0.23.1': optional: true - '@esbuild/android-x64@0.24.0': + '@esbuild/android-x64@0.24.2': optional: true - '@esbuild/darwin-arm64@0.21.5': + '@esbuild/darwin-arm64@0.20.2': optional: true '@esbuild/darwin-arm64@0.23.1': optional: true - '@esbuild/darwin-arm64@0.24.0': + '@esbuild/darwin-arm64@0.24.2': optional: true - '@esbuild/darwin-x64@0.21.5': + '@esbuild/darwin-x64@0.20.2': optional: true '@esbuild/darwin-x64@0.23.1': optional: true - '@esbuild/darwin-x64@0.24.0': + '@esbuild/darwin-x64@0.24.2': optional: true - '@esbuild/freebsd-arm64@0.21.5': + '@esbuild/freebsd-arm64@0.20.2': optional: true '@esbuild/freebsd-arm64@0.23.1': optional: true - '@esbuild/freebsd-arm64@0.24.0': + '@esbuild/freebsd-arm64@0.24.2': optional: true - '@esbuild/freebsd-x64@0.21.5': + '@esbuild/freebsd-x64@0.20.2': optional: true '@esbuild/freebsd-x64@0.23.1': optional: true - '@esbuild/freebsd-x64@0.24.0': + '@esbuild/freebsd-x64@0.24.2': optional: true - '@esbuild/linux-arm64@0.21.5': + '@esbuild/linux-arm64@0.20.2': optional: true '@esbuild/linux-arm64@0.23.1': optional: true - '@esbuild/linux-arm64@0.24.0': + '@esbuild/linux-arm64@0.24.2': optional: true - '@esbuild/linux-arm@0.21.5': + '@esbuild/linux-arm@0.20.2': optional: true '@esbuild/linux-arm@0.23.1': optional: true - '@esbuild/linux-arm@0.24.0': + '@esbuild/linux-arm@0.24.2': optional: true - '@esbuild/linux-ia32@0.21.5': + '@esbuild/linux-ia32@0.20.2': optional: true '@esbuild/linux-ia32@0.23.1': optional: true - '@esbuild/linux-ia32@0.24.0': + '@esbuild/linux-ia32@0.24.2': optional: true - '@esbuild/linux-loong64@0.21.5': + '@esbuild/linux-loong64@0.20.2': optional: true '@esbuild/linux-loong64@0.23.1': optional: true - '@esbuild/linux-loong64@0.24.0': + '@esbuild/linux-loong64@0.24.2': optional: true - '@esbuild/linux-mips64el@0.21.5': + '@esbuild/linux-mips64el@0.20.2': optional: true '@esbuild/linux-mips64el@0.23.1': optional: true - '@esbuild/linux-mips64el@0.24.0': + '@esbuild/linux-mips64el@0.24.2': optional: true - '@esbuild/linux-ppc64@0.21.5': + '@esbuild/linux-ppc64@0.20.2': optional: true '@esbuild/linux-ppc64@0.23.1': optional: true - '@esbuild/linux-ppc64@0.24.0': + '@esbuild/linux-ppc64@0.24.2': optional: true - '@esbuild/linux-riscv64@0.21.5': + '@esbuild/linux-riscv64@0.20.2': optional: true '@esbuild/linux-riscv64@0.23.1': optional: true - '@esbuild/linux-riscv64@0.24.0': + '@esbuild/linux-riscv64@0.24.2': optional: true - '@esbuild/linux-s390x@0.21.5': + '@esbuild/linux-s390x@0.20.2': optional: true '@esbuild/linux-s390x@0.23.1': optional: true - '@esbuild/linux-s390x@0.24.0': + '@esbuild/linux-s390x@0.24.2': optional: true - '@esbuild/linux-x64@0.21.5': + '@esbuild/linux-x64@0.20.2': optional: true '@esbuild/linux-x64@0.23.1': optional: true - '@esbuild/linux-x64@0.24.0': + '@esbuild/linux-x64@0.24.2': + optional: true + + '@esbuild/netbsd-arm64@0.24.2': optional: true - '@esbuild/netbsd-x64@0.21.5': + '@esbuild/netbsd-x64@0.20.2': optional: true '@esbuild/netbsd-x64@0.23.1': optional: true - '@esbuild/netbsd-x64@0.24.0': + '@esbuild/netbsd-x64@0.24.2': optional: true '@esbuild/openbsd-arm64@0.23.1': optional: true - '@esbuild/openbsd-arm64@0.24.0': + '@esbuild/openbsd-arm64@0.24.2': optional: true - '@esbuild/openbsd-x64@0.21.5': + '@esbuild/openbsd-x64@0.20.2': optional: true '@esbuild/openbsd-x64@0.23.1': optional: true - '@esbuild/openbsd-x64@0.24.0': + '@esbuild/openbsd-x64@0.24.2': optional: true - '@esbuild/sunos-x64@0.21.5': + '@esbuild/sunos-x64@0.20.2': optional: true '@esbuild/sunos-x64@0.23.1': optional: true - '@esbuild/sunos-x64@0.24.0': + '@esbuild/sunos-x64@0.24.2': optional: true - '@esbuild/win32-arm64@0.21.5': + '@esbuild/win32-arm64@0.20.2': optional: true '@esbuild/win32-arm64@0.23.1': optional: true - '@esbuild/win32-arm64@0.24.0': + '@esbuild/win32-arm64@0.24.2': optional: true - '@esbuild/win32-ia32@0.21.5': + '@esbuild/win32-ia32@0.20.2': optional: true '@esbuild/win32-ia32@0.23.1': optional: true - '@esbuild/win32-ia32@0.24.0': + '@esbuild/win32-ia32@0.24.2': optional: true - '@esbuild/win32-x64@0.21.5': + '@esbuild/win32-x64@0.20.2': optional: true '@esbuild/win32-x64@0.23.1': optional: true - '@esbuild/win32-x64@0.24.0': + '@esbuild/win32-x64@0.24.2': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@9.16.0)': + '@eslint-community/eslint-utils@4.4.0(eslint@9.17.0)': dependencies: - eslint: 9.16.0 + eslint: 9.17.0 eslint-visitor-keys: 3.4.3 - '@eslint-community/eslint-utils@4.4.1(eslint@9.16.0)': - dependencies: - eslint: 9.16.0 - eslint-visitor-keys: 3.4.3 + '@eslint-community/regexpp@4.11.1': {} '@eslint-community/regexpp@4.12.1': {} '@eslint/config-array@0.19.1': dependencies: '@eslint/object-schema': 2.1.5 - debug: 4.3.5 + debug: 4.4.0 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -3534,7 +3379,7 @@ snapshots: '@eslint/eslintrc@3.2.0': dependencies: ajv: 6.12.6 - debug: 4.3.5 + debug: 4.4.0 espree: 10.3.0 globals: 14.0.0 ignore: 5.3.1 @@ -3545,7 +3390,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.16.0': {} + '@eslint/js@9.17.0': {} '@eslint/object-schema@2.1.5': {} @@ -3582,7 +3427,7 @@ snapshots: '@jridgewell/gen-mapping@0.3.5': dependencies: '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/trace-mapping': 0.3.25 '@jridgewell/resolve-uri@3.1.2': {} @@ -3596,7 +3441,7 @@ snapshots: '@jridgewell/trace-mapping@0.3.25': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 '@jsonjoy.com/base64@1.1.2(tslib@2.8.1)': dependencies: @@ -3616,67 +3461,70 @@ snapshots: '@manypkg/cli@0.23.0': dependencies: - '@manypkg/get-packages': 2.2.2 + '@manypkg/get-packages': 2.2.1 detect-indent: 6.1.0 normalize-path: 3.0.0 p-limit: 2.3.0 package-json: 10.0.1 - parse-github-url: 1.0.3 + parse-github-url: 1.0.2 picocolors: 1.1.1 sembear: 0.7.0 semver: 7.6.3 - tinyexec: 0.3.1 + tinyexec: 0.3.2 validate-npm-package-name: 5.0.1 '@manypkg/find-root@1.1.0': dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.24.7 '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 - '@manypkg/find-root@2.2.3': + '@manypkg/find-root@2.2.1': dependencies: - '@manypkg/tools': 1.1.2 + '@manypkg/tools': 1.1.0 + find-up: 4.1.0 + fs-extra: 8.1.0 '@manypkg/get-packages@1.1.3': dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.24.7 '@changesets/types': 4.1.0 '@manypkg/find-root': 1.1.0 fs-extra: 8.1.0 globby: 11.1.0 read-yaml-file: 1.1.0 - '@manypkg/get-packages@2.2.2': + '@manypkg/get-packages@2.2.1': dependencies: - '@manypkg/find-root': 2.2.3 - '@manypkg/tools': 1.1.2 + '@manypkg/find-root': 2.2.1 + '@manypkg/tools': 1.1.0 - '@manypkg/tools@1.1.2': + '@manypkg/tools@1.1.0': dependencies: - fast-glob: 3.3.2 + fs-extra: 8.1.0 + globby: 11.1.0 jju: 1.4.0 - js-yaml: 4.1.0 + read-yaml-file: 1.1.0 - '@microsoft/api-extractor-model@7.29.6(@types/node@22.10.1)': + '@microsoft/api-extractor-model@7.29.6(@types/node@20.16.11)': dependencies: - '@microsoft/tsdoc': 0.15.1 - '@microsoft/tsdoc-config': 0.17.1 - '@rushstack/node-core-library': 5.7.0(@types/node@22.10.1) + '@microsoft/tsdoc': 0.15.0 + '@microsoft/tsdoc-config': 0.17.0 + '@rushstack/node-core-library': 5.7.0(@types/node@20.16.11) transitivePeerDependencies: - '@types/node' optional: true - '@microsoft/api-extractor@7.47.7(@types/node@22.10.1)': + '@microsoft/api-extractor@7.47.7(@types/node@20.16.11)': dependencies: - '@microsoft/api-extractor-model': 7.29.6(@types/node@22.10.1) - '@microsoft/tsdoc': 0.15.1 - '@microsoft/tsdoc-config': 0.17.1 - '@rushstack/node-core-library': 5.7.0(@types/node@22.10.1) + '@microsoft/api-extractor-model': 7.29.6(@types/node@20.16.11) + '@microsoft/tsdoc': 0.15.0 + '@microsoft/tsdoc-config': 0.17.0 + '@rushstack/node-core-library': 5.7.0(@types/node@20.16.11) '@rushstack/rig-package': 0.5.3 - '@rushstack/terminal': 0.14.0(@types/node@22.10.1) - '@rushstack/ts-command-line': 4.22.6(@types/node@22.10.1) + '@rushstack/terminal': 0.14.0(@types/node@20.16.11) + '@rushstack/ts-command-line': 4.22.6(@types/node@20.16.11) lodash: 4.17.21 minimatch: 3.0.8 resolve: 1.22.8 @@ -3687,15 +3535,15 @@ snapshots: - '@types/node' optional: true - '@microsoft/tsdoc-config@0.17.1': + '@microsoft/tsdoc-config@0.17.0': dependencies: - '@microsoft/tsdoc': 0.15.1 + '@microsoft/tsdoc': 0.15.0 ajv: 8.12.0 jju: 1.4.0 resolve: 1.22.8 optional: true - '@microsoft/tsdoc@0.15.1': + '@microsoft/tsdoc@0.15.0': optional: true '@nodelib/fs.scandir@2.1.5': @@ -3719,118 +3567,109 @@ snapshots: dependencies: graceful-fs: 4.2.10 - '@pnpm/npm-conf@2.3.1': + '@pnpm/npm-conf@2.2.2': dependencies: '@pnpm/config.env-replace': 1.1.0 '@pnpm/network.ca-file': 1.0.2 config-chain: 1.1.13 + '@rollup/rollup-android-arm-eabi@4.18.0': + optional: true + '@rollup/rollup-android-arm-eabi@4.24.0': optional: true - '@rollup/rollup-android-arm-eabi@4.28.1': + '@rollup/rollup-android-arm64@4.18.0': optional: true '@rollup/rollup-android-arm64@4.24.0': optional: true - '@rollup/rollup-android-arm64@4.28.1': + '@rollup/rollup-darwin-arm64@4.18.0': optional: true '@rollup/rollup-darwin-arm64@4.24.0': optional: true - '@rollup/rollup-darwin-arm64@4.28.1': + '@rollup/rollup-darwin-x64@4.18.0': optional: true '@rollup/rollup-darwin-x64@4.24.0': optional: true - '@rollup/rollup-darwin-x64@4.28.1': - optional: true - - '@rollup/rollup-freebsd-arm64@4.28.1': - optional: true - - '@rollup/rollup-freebsd-x64@4.28.1': + '@rollup/rollup-linux-arm-gnueabihf@4.18.0': optional: true '@rollup/rollup-linux-arm-gnueabihf@4.24.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.28.1': + '@rollup/rollup-linux-arm-musleabihf@4.18.0': optional: true '@rollup/rollup-linux-arm-musleabihf@4.24.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.28.1': + '@rollup/rollup-linux-arm64-gnu@4.18.0': optional: true '@rollup/rollup-linux-arm64-gnu@4.24.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.28.1': + '@rollup/rollup-linux-arm64-musl@4.18.0': optional: true '@rollup/rollup-linux-arm64-musl@4.24.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.28.1': - optional: true - - '@rollup/rollup-linux-loongarch64-gnu@4.28.1': + '@rollup/rollup-linux-powerpc64le-gnu@4.18.0': optional: true '@rollup/rollup-linux-powerpc64le-gnu@4.24.0': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.28.1': + '@rollup/rollup-linux-riscv64-gnu@4.18.0': optional: true '@rollup/rollup-linux-riscv64-gnu@4.24.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.28.1': + '@rollup/rollup-linux-s390x-gnu@4.18.0': optional: true '@rollup/rollup-linux-s390x-gnu@4.24.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.28.1': + '@rollup/rollup-linux-x64-gnu@4.18.0': optional: true '@rollup/rollup-linux-x64-gnu@4.24.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.28.1': + '@rollup/rollup-linux-x64-musl@4.18.0': optional: true '@rollup/rollup-linux-x64-musl@4.24.0': optional: true - '@rollup/rollup-linux-x64-musl@4.28.1': + '@rollup/rollup-win32-arm64-msvc@4.18.0': optional: true '@rollup/rollup-win32-arm64-msvc@4.24.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.28.1': + '@rollup/rollup-win32-ia32-msvc@4.18.0': optional: true '@rollup/rollup-win32-ia32-msvc@4.24.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.28.1': + '@rollup/rollup-win32-x64-msvc@4.18.0': optional: true '@rollup/rollup-win32-x64-msvc@4.24.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.28.1': - optional: true - - '@rushstack/node-core-library@5.7.0(@types/node@22.10.1)': + '@rushstack/node-core-library@5.7.0(@types/node@20.16.11)': dependencies: ajv: 8.13.0 ajv-draft-04: 1.0.0(ajv@8.13.0) @@ -3841,7 +3680,7 @@ snapshots: resolve: 1.22.8 semver: 7.5.4 optionalDependencies: - '@types/node': 22.10.1 + '@types/node': 20.16.11 optional: true '@rushstack/rig-package@0.5.3': @@ -3850,17 +3689,17 @@ snapshots: strip-json-comments: 3.1.1 optional: true - '@rushstack/terminal@0.14.0(@types/node@22.10.1)': + '@rushstack/terminal@0.14.0(@types/node@20.16.11)': dependencies: - '@rushstack/node-core-library': 5.7.0(@types/node@22.10.1) + '@rushstack/node-core-library': 5.7.0(@types/node@20.16.11) supports-color: 8.1.1 optionalDependencies: - '@types/node': 22.10.1 + '@types/node': 20.16.11 optional: true - '@rushstack/ts-command-line@4.22.6(@types/node@22.10.1)': + '@rushstack/ts-command-line@4.22.6(@types/node@20.16.11)': dependencies: - '@rushstack/terminal': 0.14.0(@types/node@22.10.1) + '@rushstack/terminal': 0.14.0(@types/node@20.16.11) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 @@ -3877,6 +3716,8 @@ snapshots: '@types/argparse@1.0.38': optional: true + '@types/estree@1.0.5': {} + '@types/estree@1.0.6': {} '@types/json-schema@7.0.15': {} @@ -3889,13 +3730,13 @@ snapshots: '@types/node@12.20.55': {} - '@types/node@18.19.67': + '@types/node@18.19.70': dependencies: undici-types: 5.26.5 - '@types/node@22.10.1': + '@types/node@20.16.11': dependencies: - undici-types: 6.20.0 + undici-types: 6.19.8 optional: true '@types/pluralize@0.0.33': {} @@ -3906,54 +3747,54 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@typescript-eslint/eslint-plugin@8.18.0(@typescript-eslint/parser@8.18.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2)': + '@typescript-eslint/eslint-plugin@8.19.0(@typescript-eslint/parser@8.19.0(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2)': dependencies: - '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.18.0(eslint@9.16.0)(typescript@5.7.2) - '@typescript-eslint/scope-manager': 8.18.0 - '@typescript-eslint/type-utils': 8.18.0(eslint@9.16.0)(typescript@5.7.2) - '@typescript-eslint/utils': 8.18.0(eslint@9.16.0)(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 8.18.0 - eslint: 9.16.0 + '@eslint-community/regexpp': 4.11.1 + '@typescript-eslint/parser': 8.19.0(eslint@9.17.0)(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.19.0 + '@typescript-eslint/type-utils': 8.19.0(eslint@9.17.0)(typescript@5.7.2) + '@typescript-eslint/utils': 8.19.0(eslint@9.17.0)(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.19.0 + eslint: 9.17.0 graphemer: 1.4.0 - ignore: 5.3.2 + ignore: 5.3.1 natural-compare: 1.4.0 - ts-api-utils: 1.4.3(typescript@5.7.2) + ts-api-utils: 1.3.0(typescript@5.7.2) typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.18.0(eslint@9.16.0)(typescript@5.7.2)': + '@typescript-eslint/parser@8.19.0(eslint@9.17.0)(typescript@5.7.2)': dependencies: - '@typescript-eslint/scope-manager': 8.18.0 - '@typescript-eslint/types': 8.18.0 - '@typescript-eslint/typescript-estree': 8.18.0(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 8.18.0 + '@typescript-eslint/scope-manager': 8.19.0 + '@typescript-eslint/types': 8.19.0 + '@typescript-eslint/typescript-estree': 8.19.0(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.19.0 debug: 4.4.0 - eslint: 9.16.0 + eslint: 9.17.0 typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.18.0': + '@typescript-eslint/scope-manager@8.19.0': dependencies: - '@typescript-eslint/types': 8.18.0 - '@typescript-eslint/visitor-keys': 8.18.0 + '@typescript-eslint/types': 8.19.0 + '@typescript-eslint/visitor-keys': 8.19.0 - '@typescript-eslint/type-utils@8.18.0(eslint@9.16.0)(typescript@5.7.2)': + '@typescript-eslint/type-utils@8.19.0(eslint@9.17.0)(typescript@5.7.2)': dependencies: - '@typescript-eslint/typescript-estree': 8.18.0(typescript@5.7.2) - '@typescript-eslint/utils': 8.18.0(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/typescript-estree': 8.19.0(typescript@5.7.2) + '@typescript-eslint/utils': 8.19.0(eslint@9.17.0)(typescript@5.7.2) debug: 4.4.0 - eslint: 9.16.0 - ts-api-utils: 1.4.3(typescript@5.7.2) + eslint: 9.17.0 + ts-api-utils: 1.3.0(typescript@5.7.2) typescript: 5.7.2 transitivePeerDependencies: - supports-color '@typescript-eslint/types@7.15.0': {} - '@typescript-eslint/types@8.18.0': {} + '@typescript-eslint/types@8.19.0': {} '@typescript-eslint/typescript-estree@7.15.0(typescript@5.7.2)': dependencies: @@ -3963,34 +3804,34 @@ snapshots: globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.4 - semver: 7.6.3 + semver: 7.6.2 ts-api-utils: 1.3.0(typescript@5.7.2) optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.18.0(typescript@5.7.2)': + '@typescript-eslint/typescript-estree@8.19.0(typescript@5.7.2)': dependencies: - '@typescript-eslint/types': 8.18.0 - '@typescript-eslint/visitor-keys': 8.18.0 + '@typescript-eslint/types': 8.19.0 + '@typescript-eslint/visitor-keys': 8.19.0 debug: 4.4.0 fast-glob: 3.3.2 is-glob: 4.0.3 - minimatch: 9.0.5 - semver: 7.6.3 - ts-api-utils: 1.4.3(typescript@5.7.2) + minimatch: 9.0.4 + semver: 7.6.2 + ts-api-utils: 1.3.0(typescript@5.7.2) typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.18.0(eslint@9.16.0)(typescript@5.7.2)': + '@typescript-eslint/utils@8.19.0(eslint@9.17.0)(typescript@5.7.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0) - '@typescript-eslint/scope-manager': 8.18.0 - '@typescript-eslint/types': 8.18.0 - '@typescript-eslint/typescript-estree': 8.18.0(typescript@5.7.2) - eslint: 9.16.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.17.0) + '@typescript-eslint/scope-manager': 8.19.0 + '@typescript-eslint/types': 8.19.0 + '@typescript-eslint/typescript-estree': 8.19.0(typescript@5.7.2) + eslint: 9.17.0 typescript: 5.7.2 transitivePeerDependencies: - supports-color @@ -4000,9 +3841,9 @@ snapshots: '@typescript-eslint/types': 7.15.0 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@8.18.0': + '@typescript-eslint/visitor-keys@8.19.0': dependencies: - '@typescript-eslint/types': 8.18.0 + '@typescript-eslint/types': 8.19.0 eslint-visitor-keys: 4.2.0 '@vitest/expect@3.0.0-beta.2': @@ -4012,24 +3853,13 @@ snapshots: chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/mocker@3.0.0-beta.2(vite@5.4.11(@types/node@22.10.1))': + '@vitest/mocker@3.0.0-beta.2(vite@5.2.12(@types/node@18.19.70))': dependencies: '@vitest/spy': 3.0.0-beta.2 estree-walker: 3.0.3 - magic-string: 0.30.15 + magic-string: 0.30.17 optionalDependencies: - vite: 5.4.11(@types/node@22.10.1) - - '@vitest/pretty-format@3.0.0-beta.2': - dependencies: - tinyrainbow: 1.2.0 - - '@vitest/expect@3.0.0-beta.2': - dependencies: - '@vitest/spy': 3.0.0-beta.2 - '@vitest/utils': 3.0.0-beta.2 - chai: 5.1.2 - tinyrainbow: 1.2.0 + vite: 5.2.12(@types/node@18.19.70) '@vitest/mocker@3.0.0-beta.2(vite@5.2.12(@types/node@20.16.11))': dependencies: @@ -4052,17 +3882,6 @@ snapshots: '@vitest/utils': 3.0.0-beta.2 pathe: 1.1.2 - '@vitest/runner@3.0.0-beta.2': - dependencies: - '@vitest/utils': 3.0.0-beta.2 - pathe: 1.1.2 - - '@vitest/snapshot@3.0.0-beta.2': - dependencies: - '@vitest/pretty-format': 3.0.0-beta.2 - magic-string: 0.30.15 - pathe: 1.1.2 - '@vitest/snapshot@3.0.0-beta.2': dependencies: '@vitest/pretty-format': 3.0.0-beta.2 @@ -4073,16 +3892,6 @@ snapshots: dependencies: tinyspy: 3.0.2 - '@vitest/spy@3.0.0-beta.2': - dependencies: - tinyspy: 3.0.2 - - '@vitest/utils@3.0.0-beta.2': - dependencies: - '@vitest/pretty-format': 3.0.0-beta.2 - loupe: 3.1.2 - tinyrainbow: 1.2.0 - '@vitest/utils@3.0.0-beta.2': dependencies: '@vitest/pretty-format': 3.0.0-beta.2 @@ -4172,7 +3981,7 @@ snapshots: ansi-regex@5.0.1: {} - ansi-regex@6.1.0: {} + ansi-regex@6.0.1: {} ansi-styles@3.2.1: dependencies: @@ -4196,8 +4005,6 @@ snapshots: assertion-error@2.0.1: {} - assertion-error@2.0.1: {} - ast-module-types@6.0.0: {} balanced-match@1.0.2: {} @@ -4219,23 +4026,15 @@ snapshots: dependencies: fill-range: 7.1.1 - bundle-require@5.0.0(esbuild@0.24.0): + bundle-require@5.0.0(esbuild@0.24.2): dependencies: - esbuild: 0.24.0 + esbuild: 0.24.2 load-tsconfig: 0.2.5 cac@6.7.14: {} callsites@3.1.0: {} - chai@5.1.2: - dependencies: - assertion-error: 2.0.1 - check-error: 2.1.1 - deep-eql: 5.0.2 - loupe: 3.1.2 - pathval: 2.0.0 - chai@5.1.2: dependencies: assertion-error: 2.0.1 @@ -4261,9 +4060,7 @@ snapshots: check-error@2.1.1: {} - check-error@2.1.1: {} - - chokidar@4.0.1: + chokidar@4.0.3: dependencies: readdirp: 4.0.2 @@ -4276,7 +4073,7 @@ snapshots: cli-truncate@4.0.0: dependencies: slice-ansi: 5.0.0 - string-width: 7.2.0 + string-width: 7.1.0 cliui@8.0.1: dependencies: @@ -4320,15 +4117,17 @@ snapshots: optionalDependencies: typescript: 5.7.2 - cross-spawn@7.0.6: + cross-spawn@7.0.3: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 - debug@4.3.5: + cross-spawn@7.0.6: dependencies: - ms: 2.1.2 + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 debug@4.3.7: dependencies: @@ -4338,16 +4137,6 @@ snapshots: dependencies: ms: 2.1.3 - decompress-response@6.0.0: - dependencies: - mimic-response: 3.1.0 - - deep-eql@4.1.3: - dependencies: - ms: 2.1.3 - - deep-eql@5.0.2: {} - deep-eql@5.0.2: {} deep-extend@0.6.0: {} @@ -4419,7 +4208,7 @@ snapshots: effector@23.2.3: {} - emoji-regex@10.4.0: {} + emoji-regex@10.3.0: {} emoji-regex@8.0.0: {} @@ -4444,31 +4233,31 @@ snapshots: es-module-lexer@1.6.0: {} - esbuild@0.21.5: + esbuild@0.20.2: optionalDependencies: - '@esbuild/aix-ppc64': 0.21.5 - '@esbuild/android-arm': 0.21.5 - '@esbuild/android-arm64': 0.21.5 - '@esbuild/android-x64': 0.21.5 - '@esbuild/darwin-arm64': 0.21.5 - '@esbuild/darwin-x64': 0.21.5 - '@esbuild/freebsd-arm64': 0.21.5 - '@esbuild/freebsd-x64': 0.21.5 - '@esbuild/linux-arm': 0.21.5 - '@esbuild/linux-arm64': 0.21.5 - '@esbuild/linux-ia32': 0.21.5 - '@esbuild/linux-loong64': 0.21.5 - '@esbuild/linux-mips64el': 0.21.5 - '@esbuild/linux-ppc64': 0.21.5 - '@esbuild/linux-riscv64': 0.21.5 - '@esbuild/linux-s390x': 0.21.5 - '@esbuild/linux-x64': 0.21.5 - '@esbuild/netbsd-x64': 0.21.5 - '@esbuild/openbsd-x64': 0.21.5 - '@esbuild/sunos-x64': 0.21.5 - '@esbuild/win32-arm64': 0.21.5 - '@esbuild/win32-ia32': 0.21.5 - '@esbuild/win32-x64': 0.21.5 + '@esbuild/aix-ppc64': 0.20.2 + '@esbuild/android-arm': 0.20.2 + '@esbuild/android-arm64': 0.20.2 + '@esbuild/android-x64': 0.20.2 + '@esbuild/darwin-arm64': 0.20.2 + '@esbuild/darwin-x64': 0.20.2 + '@esbuild/freebsd-arm64': 0.20.2 + '@esbuild/freebsd-x64': 0.20.2 + '@esbuild/linux-arm': 0.20.2 + '@esbuild/linux-arm64': 0.20.2 + '@esbuild/linux-ia32': 0.20.2 + '@esbuild/linux-loong64': 0.20.2 + '@esbuild/linux-mips64el': 0.20.2 + '@esbuild/linux-ppc64': 0.20.2 + '@esbuild/linux-riscv64': 0.20.2 + '@esbuild/linux-s390x': 0.20.2 + '@esbuild/linux-x64': 0.20.2 + '@esbuild/netbsd-x64': 0.20.2 + '@esbuild/openbsd-x64': 0.20.2 + '@esbuild/sunos-x64': 0.20.2 + '@esbuild/win32-arm64': 0.20.2 + '@esbuild/win32-ia32': 0.20.2 + '@esbuild/win32-x64': 0.20.2 esbuild@0.23.1: optionalDependencies: @@ -4497,32 +4286,33 @@ snapshots: '@esbuild/win32-ia32': 0.23.1 '@esbuild/win32-x64': 0.23.1 - esbuild@0.24.0: + esbuild@0.24.2: optionalDependencies: - '@esbuild/aix-ppc64': 0.24.0 - '@esbuild/android-arm': 0.24.0 - '@esbuild/android-arm64': 0.24.0 - '@esbuild/android-x64': 0.24.0 - '@esbuild/darwin-arm64': 0.24.0 - '@esbuild/darwin-x64': 0.24.0 - '@esbuild/freebsd-arm64': 0.24.0 - '@esbuild/freebsd-x64': 0.24.0 - '@esbuild/linux-arm': 0.24.0 - '@esbuild/linux-arm64': 0.24.0 - '@esbuild/linux-ia32': 0.24.0 - '@esbuild/linux-loong64': 0.24.0 - '@esbuild/linux-mips64el': 0.24.0 - '@esbuild/linux-ppc64': 0.24.0 - '@esbuild/linux-riscv64': 0.24.0 - '@esbuild/linux-s390x': 0.24.0 - '@esbuild/linux-x64': 0.24.0 - '@esbuild/netbsd-x64': 0.24.0 - '@esbuild/openbsd-arm64': 0.24.0 - '@esbuild/openbsd-x64': 0.24.0 - '@esbuild/sunos-x64': 0.24.0 - '@esbuild/win32-arm64': 0.24.0 - '@esbuild/win32-ia32': 0.24.0 - '@esbuild/win32-x64': 0.24.0 + '@esbuild/aix-ppc64': 0.24.2 + '@esbuild/android-arm': 0.24.2 + '@esbuild/android-arm64': 0.24.2 + '@esbuild/android-x64': 0.24.2 + '@esbuild/darwin-arm64': 0.24.2 + '@esbuild/darwin-x64': 0.24.2 + '@esbuild/freebsd-arm64': 0.24.2 + '@esbuild/freebsd-x64': 0.24.2 + '@esbuild/linux-arm': 0.24.2 + '@esbuild/linux-arm64': 0.24.2 + '@esbuild/linux-ia32': 0.24.2 + '@esbuild/linux-loong64': 0.24.2 + '@esbuild/linux-mips64el': 0.24.2 + '@esbuild/linux-ppc64': 0.24.2 + '@esbuild/linux-riscv64': 0.24.2 + '@esbuild/linux-s390x': 0.24.2 + '@esbuild/linux-x64': 0.24.2 + '@esbuild/netbsd-arm64': 0.24.2 + '@esbuild/netbsd-x64': 0.24.2 + '@esbuild/openbsd-arm64': 0.24.2 + '@esbuild/openbsd-x64': 0.24.2 + '@esbuild/sunos-x64': 0.24.2 + '@esbuild/win32-arm64': 0.24.2 + '@esbuild/win32-ia32': 0.24.2 + '@esbuild/win32-x64': 0.24.2 escalade@3.1.2: {} @@ -4538,9 +4328,9 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-config-prettier@9.1.0(eslint@9.16.0): + eslint-config-prettier@9.1.0(eslint@9.17.0): dependencies: - eslint: 9.16.0 + eslint: 9.17.0 eslint-scope@8.2.0: dependencies: @@ -4551,14 +4341,14 @@ snapshots: eslint-visitor-keys@4.2.0: {} - eslint@9.16.0: + eslint@9.17.0: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.16.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.17.0) '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.19.1 '@eslint/core': 0.9.1 '@eslint/eslintrc': 3.2.0 - '@eslint/js': 9.16.0 + '@eslint/js': 9.17.0 '@eslint/plugin-kit': 0.2.4 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 @@ -4568,7 +4358,7 @@ snapshots: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.3.5 + debug: 4.4.0 escape-string-regexp: 4.0.0 eslint-scope: 8.2.0 eslint-visitor-keys: 4.2.0 @@ -4612,7 +4402,7 @@ snapshots: estree-walker@3.0.3: dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 esutils@2.0.3: {} @@ -4620,7 +4410,7 @@ snapshots: execa@8.0.1: dependencies: - cross-spawn: 7.0.6 + cross-spawn: 7.0.3 get-stream: 8.0.1 human-signals: 5.0.0 is-stream: 3.0.0 @@ -4695,7 +4485,7 @@ snapshots: foreground-child@3.1.1: dependencies: - cross-spawn: 7.0.6 + cross-spawn: 7.0.3 signal-exit: 4.1.0 fs-extra@7.0.1: @@ -4723,7 +4513,7 @@ snapshots: get-caller-file@2.0.5: {} - get-east-asian-width@1.3.0: {} + get-east-asian-width@1.2.0: {} get-stream@8.0.1: {} @@ -4749,14 +4539,14 @@ snapshots: globals@14.0.0: {} - globals@15.13.0: {} + globals@15.14.0: {} globby@11.1.0: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.3.2 + ignore: 5.3.1 merge2: 1.4.1 slash: 3.0.0 @@ -4802,8 +4592,6 @@ snapshots: ignore@5.3.1: {} - ignore@5.3.2: {} - immer@10.1.1: {} import-fresh@3.3.0: @@ -4833,7 +4621,7 @@ snapshots: is-fullwidth-code-point@5.0.0: dependencies: - get-east-asian-width: 1.3.0 + get-east-asian-width: 1.2.0 is-glob@4.0.3: dependencies: @@ -4897,16 +4685,14 @@ snapshots: dependencies: json-buffer: 3.0.1 - ky@1.7.2: {} + ky@1.7.4: {} levn@0.4.1: dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 - lilconfig@3.1.1: {} - - lilconfig@3.1.3: {} + lilconfig@3.1.2: {} lines-and-columns@1.2.4: {} @@ -4916,7 +4702,7 @@ snapshots: commander: 12.1.0 debug: 4.3.7 execa: 8.0.1 - lilconfig: 3.1.3 + lilconfig: 3.1.2 listr2: 8.2.5 micromatch: 4.0.8 pidtree: 0.6.0 @@ -4963,14 +4749,8 @@ snapshots: strip-ansi: 7.1.0 wrap-ansi: 9.0.0 - loupe@2.3.7: - dependencies: - get-func-name: 2.0.2 - loupe@3.1.2: {} - lowercase-keys@3.0.0: {} - lru-cache@10.2.2: {} lru-cache@6.0.0: @@ -4986,7 +4766,7 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 - memfs@4.15.0: + memfs@4.15.3: dependencies: '@jsonjoy.com/json-pack': 1.1.1(tslib@2.8.1) '@jsonjoy.com/util': 1.5.0(tslib@2.8.1) @@ -5028,10 +4808,6 @@ snapshots: dependencies: brace-expansion: 2.0.1 - minimatch@9.0.5: - dependencies: - brace-expansion: 2.0.1 - minimist@1.2.8: {} minipass@7.1.2: {} @@ -5043,8 +4819,6 @@ snapshots: mri@1.2.0: {} - ms@2.1.2: {} - ms@2.1.3: {} mz@2.7.0: @@ -5055,8 +4829,6 @@ snapshots: nanoid@3.3.7: {} - nanoid@3.3.8: {} - natural-compare@1.4.0: {} node-source-walk@7.0.0: @@ -5118,18 +4890,18 @@ snapshots: package-json@10.0.1: dependencies: - ky: 1.7.2 - registry-auth-token: 5.0.3 + ky: 1.7.4 + registry-auth-token: 5.0.2 registry-url: 6.0.1 semver: 7.6.3 - package-manager-detector@0.2.7: {} + package-manager-detector@0.2.2: {} parent-module@1.0.1: dependencies: callsites: 3.1.0 - parse-github-url@1.0.3: {} + parse-github-url@1.0.2: {} parse-json@5.2.0: dependencies: @@ -5160,8 +4932,6 @@ snapshots: pathval@2.0.0: {} - pathval@2.0.0: {} - patronum@2.3.0(effector@23.2.3): dependencies: effector: 23.2.3 @@ -5182,20 +4952,12 @@ snapshots: postcss-load-config@6.0.1(postcss@8.4.47)(tsx@4.19.2)(yaml@2.5.1): dependencies: - lilconfig: 3.1.1 + lilconfig: 3.1.2 optionalDependencies: postcss: 8.4.47 tsx: 4.19.2 yaml: 2.5.1 - postcss-load-config@6.0.1(postcss@8.4.49)(tsx@4.19.2)(yaml@2.5.1): - dependencies: - lilconfig: 3.1.1 - optionalDependencies: - postcss: 8.4.49 - tsx: 4.19.2 - yaml: 2.5.1 - postcss-values-parser@6.0.2(postcss@8.4.47): dependencies: color-name: 1.1.4 @@ -5203,15 +4965,15 @@ snapshots: postcss: 8.4.47 quote-unquote: 1.0.0 - postcss@8.4.47: + postcss@8.4.38: dependencies: nanoid: 3.3.7 picocolors: 1.1.1 - source-map-js: 1.2.1 + source-map-js: 1.2.0 - postcss@8.4.49: + postcss@8.4.47: dependencies: - nanoid: 3.3.8 + nanoid: 3.3.7 picocolors: 1.1.1 source-map-js: 1.2.1 @@ -5269,9 +5031,9 @@ snapshots: regenerator-runtime@0.14.1: {} - registry-auth-token@5.0.3: + registry-auth-token@5.0.2: dependencies: - '@pnpm/npm-conf': 2.3.1 + '@pnpm/npm-conf': 2.2.2 registry-url@6.0.1: dependencies: @@ -5304,6 +5066,28 @@ snapshots: rfdc@1.4.1: {} + rollup@4.18.0: + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.18.0 + '@rollup/rollup-android-arm64': 4.18.0 + '@rollup/rollup-darwin-arm64': 4.18.0 + '@rollup/rollup-darwin-x64': 4.18.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.18.0 + '@rollup/rollup-linux-arm-musleabihf': 4.18.0 + '@rollup/rollup-linux-arm64-gnu': 4.18.0 + '@rollup/rollup-linux-arm64-musl': 4.18.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.18.0 + '@rollup/rollup-linux-riscv64-gnu': 4.18.0 + '@rollup/rollup-linux-s390x-gnu': 4.18.0 + '@rollup/rollup-linux-x64-gnu': 4.18.0 + '@rollup/rollup-linux-x64-musl': 4.18.0 + '@rollup/rollup-win32-arm64-msvc': 4.18.0 + '@rollup/rollup-win32-ia32-msvc': 4.18.0 + '@rollup/rollup-win32-x64-msvc': 4.18.0 + fsevents: 2.3.3 + rollup@4.24.0: dependencies: '@types/estree': 1.0.6 @@ -5326,31 +5110,6 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.24.0 fsevents: 2.3.3 - rollup@4.28.1: - dependencies: - '@types/estree': 1.0.6 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.28.1 - '@rollup/rollup-android-arm64': 4.28.1 - '@rollup/rollup-darwin-arm64': 4.28.1 - '@rollup/rollup-darwin-x64': 4.28.1 - '@rollup/rollup-freebsd-arm64': 4.28.1 - '@rollup/rollup-freebsd-x64': 4.28.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.28.1 - '@rollup/rollup-linux-arm-musleabihf': 4.28.1 - '@rollup/rollup-linux-arm64-gnu': 4.28.1 - '@rollup/rollup-linux-arm64-musl': 4.28.1 - '@rollup/rollup-linux-loongarch64-gnu': 4.28.1 - '@rollup/rollup-linux-powerpc64le-gnu': 4.28.1 - '@rollup/rollup-linux-riscv64-gnu': 4.28.1 - '@rollup/rollup-linux-s390x-gnu': 4.28.1 - '@rollup/rollup-linux-x64-gnu': 4.28.1 - '@rollup/rollup-linux-x64-musl': 4.28.1 - '@rollup/rollup-win32-arm64-msvc': 4.28.1 - '@rollup/rollup-win32-ia32-msvc': 4.28.1 - '@rollup/rollup-win32-x64-msvc': 4.28.1 - fsevents: 2.3.3 - run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 @@ -5366,6 +5125,8 @@ snapshots: lru-cache: 6.0.0 optional: true + semver@7.6.2: {} + semver@7.6.3: {} shebang-command@2.0.0: @@ -5416,8 +5177,6 @@ snapshots: std-env@3.8.0: {} - std-env@3.8.0: {} - string-argv@0.3.2: {} string-width@4.2.3: @@ -5432,10 +5191,10 @@ snapshots: emoji-regex: 9.2.2 strip-ansi: 7.1.0 - string-width@7.2.0: + string-width@7.1.0: dependencies: - emoji-regex: 10.4.0 - get-east-asian-width: 1.3.0 + emoji-regex: 10.3.0 + get-east-asian-width: 1.2.0 strip-ansi: 7.1.0 strip-ansi@6.0.1: @@ -5444,7 +5203,7 @@ snapshots: strip-ansi@7.1.0: dependencies: - ansi-regex: 6.1.0 + ansi-regex: 6.0.1 strip-bom@3.0.0: {} @@ -5506,10 +5265,6 @@ snapshots: tinybench@2.9.0: {} - tinyexec@0.3.1: {} - - tinybench@2.9.0: {} - tinyexec@0.3.2: {} tinyglobby@0.2.9: @@ -5519,14 +5274,10 @@ snapshots: tinypool@1.0.2: {} - tinypool@1.0.2: {} - tinyrainbow@1.2.0: {} tinyspy@3.0.2: {} - tinyspy@3.0.2: {} - tmp@0.0.33: dependencies: os-tmpdir: 1.0.2 @@ -5551,10 +5302,6 @@ snapshots: dependencies: typescript: 5.7.2 - ts-api-utils@1.4.3(typescript@5.7.2): - dependencies: - typescript: 5.7.2 - ts-interface-checker@0.1.13: {} tsconfck@3.1.4(typescript@5.7.2): @@ -5563,14 +5310,14 @@ snapshots: tslib@2.8.1: {} - tsup@8.3.5(@microsoft/api-extractor@7.47.7(@types/node@22.10.1))(postcss@8.4.47)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.5.1): + tsup@8.3.5(@microsoft/api-extractor@7.47.7(@types/node@20.16.11))(postcss@8.4.47)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.5.1): dependencies: - bundle-require: 5.0.0(esbuild@0.24.0) + bundle-require: 5.0.0(esbuild@0.24.2) cac: 6.7.14 - chokidar: 4.0.1 + chokidar: 4.0.3 consola: 3.2.3 debug: 4.4.0 - esbuild: 0.24.0 + esbuild: 0.24.2 joycon: 3.1.1 picocolors: 1.1.1 postcss-load-config: 6.0.1(postcss@8.4.47)(tsx@4.19.2)(yaml@2.5.1) @@ -5578,11 +5325,11 @@ snapshots: rollup: 4.24.0 source-map: 0.8.0-beta.0 sucrase: 3.35.0 - tinyexec: 0.3.1 + tinyexec: 0.3.2 tinyglobby: 0.2.9 tree-kill: 1.2.2 optionalDependencies: - '@microsoft/api-extractor': 7.47.7(@types/node@22.10.1) + '@microsoft/api-extractor': 7.47.7(@types/node@20.16.11) postcss: 8.4.47 typescript: 5.7.2 transitivePeerDependencies: @@ -5591,34 +5338,6 @@ snapshots: - tsx - yaml - tsup@8.3.5(@microsoft/api-extractor@7.47.7(@types/node@22.10.1))(postcss@8.4.49)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.5.1): - dependencies: - bundle-require: 5.0.0(esbuild@0.24.0) - cac: 6.7.14 - chokidar: 4.0.1 - consola: 3.2.3 - debug: 4.4.0 - esbuild: 0.24.0 - joycon: 3.1.1 - picocolors: 1.1.1 - postcss-load-config: 6.0.1(postcss@8.4.49)(tsx@4.19.2)(yaml@2.5.1) - resolve-from: 5.0.0 - rollup: 4.24.0 - source-map: 0.8.0-beta.0 - sucrase: 3.35.0 - tinyexec: 0.3.1 - tinyglobby: 0.2.9 - tree-kill: 1.2.2 - optionalDependencies: - '@microsoft/api-extractor': 7.47.7(@types/node@22.10.1) - postcss: 8.4.49 - typescript: 5.7.2 - transitivePeerDependencies: - - jiti - - supports-color - - tsx - - yaml - tsx@4.19.2: dependencies: esbuild: 0.23.1 @@ -5659,12 +5378,12 @@ snapshots: type-fest@1.4.0: {} - typescript-eslint@8.18.0(eslint@9.16.0)(typescript@5.7.2): + typescript-eslint@8.19.0(eslint@9.17.0)(typescript@5.7.2): dependencies: - '@typescript-eslint/eslint-plugin': 8.18.0(@typescript-eslint/parser@8.18.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2) - '@typescript-eslint/parser': 8.18.0(eslint@9.16.0)(typescript@5.7.2) - '@typescript-eslint/utils': 8.18.0(eslint@9.16.0)(typescript@5.7.2) - eslint: 9.16.0 + '@typescript-eslint/eslint-plugin': 8.19.0(@typescript-eslint/parser@8.19.0(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2) + '@typescript-eslint/parser': 8.19.0(eslint@9.17.0)(typescript@5.7.2) + '@typescript-eslint/utils': 8.19.0(eslint@9.17.0)(typescript@5.7.2) + eslint: 9.17.0 typescript: 5.7.2 transitivePeerDependencies: - supports-color @@ -5676,7 +5395,7 @@ snapshots: undici-types@5.26.5: {} - undici-types@6.20.0: + undici-types@6.19.8: optional: true unicorn-magic@0.1.0: {} @@ -5689,19 +5408,18 @@ snapshots: validate-npm-package-name@5.0.1: {} - vite-node@3.0.0-beta.2(@types/node@22.10.1): + vite-node@3.0.0-beta.2(@types/node@18.19.70): dependencies: cac: 6.7.14 debug: 4.4.0 - es-module-lexer: 1.5.4 + es-module-lexer: 1.6.0 pathe: 1.1.2 - vite: 5.4.11(@types/node@22.10.1) + vite: 5.2.12(@types/node@18.19.70) transitivePeerDependencies: - '@types/node' - less - lightningcss - sass - - sass-embedded - stylus - sugarss - supports-color @@ -5724,20 +5442,29 @@ snapshots: - supports-color - terser - vite@5.4.11(@types/node@22.10.1): + vite@5.2.12(@types/node@18.19.70): + dependencies: + esbuild: 0.20.2 + postcss: 8.4.38 + rollup: 4.18.0 + optionalDependencies: + '@types/node': 18.19.70 + fsevents: 2.3.3 + + vite@5.2.12(@types/node@20.16.11): dependencies: - esbuild: 0.21.5 - postcss: 8.4.49 - rollup: 4.28.1 + esbuild: 0.20.2 + postcss: 8.4.38 + rollup: 4.18.0 optionalDependencies: - '@types/node': 22.10.1 + '@types/node': 20.16.11 fsevents: 2.3.3 - vitest@3.0.0-beta.2(@types/node@22.10.1): + vitest@3.0.0-beta.2(@types/node@18.19.70): dependencies: '@vitest/expect': 3.0.0-beta.2 - '@vitest/mocker': 3.0.0-beta.2(vite@5.4.11(@types/node@22.10.1)) - '@vitest/pretty-format': 3.0.0-beta.2 + '@vitest/mocker': 3.0.0-beta.2(vite@5.2.12(@types/node@18.19.70)) + '@vitest/pretty-format': 3.0.0-beta.3 '@vitest/runner': 3.0.0-beta.2 '@vitest/snapshot': 3.0.0-beta.2 '@vitest/spy': 3.0.0-beta.2 @@ -5745,24 +5472,23 @@ snapshots: chai: 5.1.2 debug: 4.4.0 expect-type: 1.1.0 - magic-string: 0.30.15 + magic-string: 0.30.17 pathe: 1.1.2 std-env: 3.8.0 tinybench: 2.9.0 - tinyexec: 0.3.1 + tinyexec: 0.3.2 tinypool: 1.0.2 tinyrainbow: 1.2.0 - vite: 5.4.11(@types/node@22.10.1) - vite-node: 3.0.0-beta.2(@types/node@22.10.1) + vite: 5.2.12(@types/node@18.19.70) + vite-node: 3.0.0-beta.2(@types/node@18.19.70) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.10.1 + '@types/node': 18.19.70 transitivePeerDependencies: - less - lightningcss - msw - sass - - sass-embedded - stylus - sugarss - supports-color @@ -5819,11 +5545,6 @@ snapshots: siginfo: 2.0.0 stackback: 0.0.2 - why-is-node-running@2.3.0: - dependencies: - siginfo: 2.0.0 - stackback: 0.0.2 - word-wrap@1.2.5: {} wrap-ansi@7.0.0: @@ -5841,7 +5562,7 @@ snapshots: wrap-ansi@9.0.0: dependencies: ansi-styles: 6.2.1 - string-width: 7.2.0 + string-width: 7.1.0 strip-ansi: 7.1.0 y18n@5.0.8: {} @@ -5865,8 +5586,8 @@ snapshots: yocto-queue@0.1.0: {} - zod-validation-error@3.4.0(zod@3.24.0): + zod-validation-error@3.4.0(zod@3.24.1): dependencies: - zod: 3.24.0 + zod: 3.24.1 - zod@3.24.0: {} + zod@3.24.1: {} From 66bbf39003dc2d78dde69f99c73fde84eb7671f2 Mon Sep 17 00:00:00 2001 From: Daniil Sapa Date: Mon, 6 Jan 2025 16:45:32 +0200 Subject: [PATCH 6/7] Fix vitest version for pretty-reporter --- packages/pretty-reporter/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/pretty-reporter/package.json b/packages/pretty-reporter/package.json index cdea25b..e2cacd6 100644 --- a/packages/pretty-reporter/package.json +++ b/packages/pretty-reporter/package.json @@ -43,6 +43,6 @@ "figures": "^6.1.0", "picocolors": "^1.1.1", "terminal-link": "^3.0.0", - "vitest": "3.0.0-beta.2" + "vitest": "^3.0.0-beta.2" } } From 8d3d2314b7c8790cb703d92764bf93122383af39 Mon Sep 17 00:00:00 2001 From: Daniil Sapa Date: Mon, 6 Jan 2025 16:48:58 +0200 Subject: [PATCH 7/7] Fix pnpm-lock issue --- pnpm-lock.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2a36ba5..1568d1c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -48,7 +48,7 @@ importers: specifier: ^3.0.0 version: 3.0.0 vitest: - specifier: 3.0.0-beta.2 + specifier: ^3.0.0-beta.2 version: 3.0.0-beta.2(@types/node@18.19.70) devDependencies: '@steiger/eslint-config':