From a6c0a97e7494abb7826d280b125b930543f90bb2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 24 Jun 2026 11:57:48 +0200 Subject: [PATCH] chore(deps): update eslint packages (#9825) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Vladimir Sheremet --- docs/.vitepress/theme/SupportedVersions.vue | 2 +- docs/config/detectasyncleaks.md | 4 +- docs/guide/learn/async.md | 2 +- docs/guide/mocking/functions.md | 2 +- eslint.config.js | 5 + package.json | 8 +- packages/browser-playwright/src/playwright.ts | 6 +- .../browser/src/client/tester/expect/utils.ts | 2 +- packages/browser/src/client/tester/runner.ts | 2 +- .../node/commands/screenshotMatcher/utils.ts | 2 +- packages/coverage-istanbul/src/provider.ts | 2 +- packages/coverage-v8/src/provider.ts | 2 +- packages/mocker/src/node/hoistMocks.ts | 2 +- .../pretty-format/src/plugins/lib/markup.ts | 2 +- packages/snapshot/src/port/state.ts | 4 +- .../ui/client/composables/module-graph.ts | 2 +- packages/utils/src/helpers.ts | 4 +- packages/utils/src/source-map.ts | 2 +- packages/vitest/src/integrations/chai/poll.ts | 4 +- packages/vitest/src/node/cli/cac.ts | 8 +- packages/vitest/src/node/cli/filter.ts | 4 +- .../vitest/src/node/config/resolveConfig.ts | 8 +- packages/vitest/src/node/core.ts | 2 +- packages/vitest/src/node/pools/browser.ts | 4 +- packages/vitest/src/node/pools/pool.ts | 2 +- packages/vitest/src/node/reporters/base.ts | 2 +- .../src/node/reporters/reported-tasks.ts | 2 +- packages/vitest/src/node/resolver.ts | 4 +- .../src/node/sequencers/BaseSequencer.ts | 17 +- packages/vitest/src/runtime/benchmark.ts | 4 +- packages/vitest/src/runtime/cleanup.ts | 2 +- packages/vitest/src/runtime/listeners.ts | 2 +- packages/vitest/src/runtime/runner/fixture.ts | 2 +- packages/vitest/src/runtime/runner/run.ts | 10 +- pnpm-lock.yaml | 825 ++++++++++-------- test/e2e/snapshots/properties.test.ts | 2 +- test/e2e/test/benchmarking.test.ts | 2 +- test/unit/src/cjs/prototype-cjs.js | 3 +- test/unit/test/each.test.ts | 4 +- .../test/snapshot-custom-serializer.test.ts | 2 +- test/unit/test/timers-queueMicrotask.test.ts | 2 +- test/unit/test/utils.spec.ts | 2 +- 42 files changed, 524 insertions(+), 450 deletions(-) diff --git a/docs/.vitepress/theme/SupportedVersions.vue b/docs/.vitepress/theme/SupportedVersions.vue index 193d20090..5ab471ba7 100644 --- a/docs/.vitepress/theme/SupportedVersions.vue +++ b/docs/.vitepress/theme/SupportedVersions.vue @@ -104,7 +104,7 @@ function versionsToText(versions: string[]) { return versions[0] } return ( - `${versions.slice(0, -1).join(', ')} and ${versions[versions.length - 1]}` + `${versions.slice(0, -1).join(', ')} and ${versions.at(-1)}` ) } diff --git a/docs/config/detectasyncleaks.md b/docs/config/detectasyncleaks.md index 244032f0e..d67271d73 100644 --- a/docs/config/detectasyncleaks.md +++ b/docs/config/detectasyncleaks.md @@ -34,8 +34,8 @@ To fix this, you'll need to make sure your code cleans the timeout properly: ```js useEffect(() => { - setTimeout(() => setWindowWidth(window.innerWidth), 150) // [!code --] - const timeout = setTimeout(() => setWindowWidth(window.innerWidth), 150) // [!code ++] + setTimeout(setWindowWidth, 150, window.innerWidth) // [!code --] + const timeout = setTimeout(setWindowWidth, 150, window.innerWidth) // [!code ++] return function cleanup() { // [!code ++] clearTimeout(timeout) // [!code ++] diff --git a/docs/guide/learn/async.md b/docs/guide/learn/async.md index 9ef3fa01e..4997ff876 100644 --- a/docs/guide/learn/async.md +++ b/docs/guide/learn/async.md @@ -90,7 +90,7 @@ Some older APIs use callbacks instead of promises. Since Vitest works with promi ```js function fetchData(callback) { - setTimeout(() => callback('peanut butter'), 100) + setTimeout(callback, 100, 'peanut butter') } test('the data is peanut butter', async () => { diff --git a/docs/guide/mocking/functions.md b/docs/guide/mocking/functions.md index a2530cb8f..de477e531 100644 --- a/docs/guide/mocking/functions.md +++ b/docs/guide/mocking/functions.md @@ -41,7 +41,7 @@ it('should get the latest message with a spy', () => { expect(spy.getMockName()).toEqual('getLatest') expect(messages.getLatest()).toEqual( - messages.items[messages.items.length - 1], + messages.items.at(-1), ) expect(spy).toHaveBeenCalledTimes(1) diff --git a/eslint.config.js b/eslint.config.js index e8d27b650..1359292e0 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -74,6 +74,11 @@ export default antfu( ], 'import/no-named-as-default': 'off', + // Has dangerous false positives + 'e18e/prefer-array-fill': 'off', + // Doesn't actually matter, JS engines cache them + // Also has dangerous false positives (reports /g/) + 'e18e/prefer-static-regex': 'off', }, }, { diff --git a/package.json b/package.json index 7d099e4e9..ec33b0bab 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "node": "^22.12.0 || ^24.0.0 || >=26.0.0" }, "scripts": { - "ci": "ni && nr typecheck && nr lint && nr build && nr test:ci", + "ci": "pnpm typecheck && pnpm lint && pnpm build && pnpm test:ci", "ci:docs": "pnpm run build && pnpm run docs:build", "build": "pnpm -r --filter @vitest/ui --filter='./packages/**' run build", "dev": "NODE_OPTIONS=\"--max-old-space-size=8192\" pnpm -r --parallel --filter='./packages/**' run dev", @@ -20,7 +20,7 @@ "docs:https-no-prefetch": "pnpm -C docs run preview-https-no-prefetch", "docs:contributors": "tsx scripts/update-contributors.ts", "lint": "eslint --cache .", - "lint:fix": "nr lint --fix", + "lint:fix": "pnpm run lint --fix", "publish-ci": "tsx scripts/publish-ci.ts", "release": "tsx scripts/release.ts", "test": "pnpm --filter test-unit test:threads", @@ -40,7 +40,7 @@ "test:browser:playwright": "pnpm -C test/browser run test:playwright" }, "devDependencies": { - "@antfu/eslint-config": "^7.6.1", + "@antfu/eslint-config": "^7.7.3", "@antfu/ni": "^28.3.0", "@playwright/test": "catalog:", "@rollup/plugin-commonjs": "^29.0.2", @@ -56,7 +56,7 @@ "bumpp": "^10.4.1", "changelogithub": "^14.0.0", "esbuild": "^0.27.3", - "eslint": "^10.0.3", + "eslint": "^10.5.0", "magic-string": "^0.30.21", "pathe": "^2.0.3", "premove": "^4.0.0", diff --git a/packages/browser-playwright/src/playwright.ts b/packages/browser-playwright/src/playwright.ts index 2812c89d8..16a75de7d 100644 --- a/packages/browser-playwright/src/playwright.ts +++ b/packages/browser-playwright/src/playwright.ts @@ -388,7 +388,7 @@ export class PlaywrightBrowserProvider implements BrowserProvider { clear: async (sessionId: string): Promise => { const page = this.getPage(sessionId) const ids = sessionIds.get(sessionId) ?? new Set() - const promises = [...ids].map((id) => { + const promises = Array.from(ids, (id) => { const key = predicateKey(sessionId, id) const predicate = idPredicates.get(key) if (predicate) { @@ -555,13 +555,13 @@ export class PlaywrightBrowserProvider implements BrowserProvider { } const browser = this.browser this.browser = null - await Promise.all([...this.pages.values()].map(p => p.close())) + await Promise.all(Array.from(this.pages.values(), p => p.close())) this.pages.clear() if (this.persistentContext) { await this.persistentContext.close() } else { - await Promise.all([...this.contexts.values()].map(c => c.close())) + await Promise.all(Array.from(this.contexts.values(), c => c.close())) } this.contexts.clear() await browser?.close() diff --git a/packages/browser/src/client/tester/expect/utils.ts b/packages/browser/src/client/tester/expect/utils.ts index f73b24312..739e9d8f5 100644 --- a/packages/browser/src/client/tester/expect/utils.ts +++ b/packages/browser/src/client/tester/expect/utils.ts @@ -247,7 +247,7 @@ function getSelectValue({ multiple, options }: HTMLSelectElement) { const selectedOptions = [...options].filter(option => option.selected) if (multiple) { - return [...selectedOptions].map(opt => opt.value) + return Array.from(selectedOptions, opt => opt.value) } /* istanbul ignore if */ if (selectedOptions.length === 0) { diff --git a/packages/browser/src/client/tester/runner.ts b/packages/browser/src/client/tester/runner.ts index 843f10851..d3f5ad713 100644 --- a/packages/browser/src/client/tester/runner.ts +++ b/packages/browser/src/client/tester/runner.ts @@ -294,7 +294,7 @@ export function createBrowserRunner( line, column: column + 1, // if the file path is on windows, we need to remove the starting slash - file: file.match(/\/\w:\//) ? file.slice(1) : file, + file: /\/\w:\//.test(file) ? file.slice(1) : file, } if (artifact.type === 'internal:annotation') { diff --git a/packages/browser/src/node/commands/screenshotMatcher/utils.ts b/packages/browser/src/node/commands/screenshotMatcher/utils.ts index db74482fc..242f8aed3 100644 --- a/packages/browser/src/node/commands/screenshotMatcher/utils.ts +++ b/packages/browser/src/node/commands/screenshotMatcher/utils.ts @@ -284,7 +284,7 @@ export function asyncTimeout(timeout: number): Promise { resolve(null) } else { - setTimeout(() => resolve(null), timeout) + setTimeout(resolve, timeout, null) } }) } diff --git a/packages/coverage-istanbul/src/provider.ts b/packages/coverage-istanbul/src/provider.ts index b05459c4d..8cba21b56 100644 --- a/packages/coverage-istanbul/src/provider.ts +++ b/packages/coverage-istanbul/src/provider.ts @@ -220,7 +220,7 @@ export class IstanbulCoverageProvider extends BaseCoverageProvider implements Co private async getCoverageMapForUncoveredFiles(coveredFiles: string[]) { const uncoveredFiles = await this.getUntestedFiles(coveredFiles) - const cacheKey = new Date().getTime() + const cacheKey = Date.now() const coverageMap = this.createCoverageMap() const transform = this.createUncoveredFileTransformer(this.ctx) diff --git a/packages/coverage-v8/src/provider.ts b/packages/coverage-v8/src/provider.ts index be4a0c382..f16182892 100644 --- a/packages/coverage-v8/src/provider.ts +++ b/packages/coverage-v8/src/provider.ts @@ -364,7 +364,7 @@ export class V8CoverageProvider extends BaseCoverageProvider implements Coverage map?: Vite.Rollup.SourceMap }> { // TODO: need to standardize file urls before this call somehow, this is messy - const filepath = url.match(/^file:\/\/\/\w:\//) + const filepath = /^file:\/\/\/\w:\//.test(url) ? url.slice(8) : removeStartsWith(url, FILE_PROTOCOL) // TODO: do we still need to "catch" here? why would it fail? diff --git a/packages/mocker/src/node/hoistMocks.ts b/packages/mocker/src/node/hoistMocks.ts index 9b7a09c93..1d9930c65 100644 --- a/packages/mocker/src/node/hoistMocks.ts +++ b/packages/mocker/src/node/hoistMocks.ts @@ -511,7 +511,7 @@ export function hoistMocks( const message = [ `${hoistedNodes.size} call${plural ? 's' : ''} in "${relative(options.root || process.cwd(), id)}" ${plural ? 'were' : 'was'} defined outside of the module's top level scope:`, '', - ...[...hoistedNodes].map((invalidNode) => { + ...Array.from(hoistedNodes, (invalidNode) => { const currentLocation = locations.get(invalidNode.start) const originalLocation = map && currentLocation && originalPositionFor(map, currentLocation) const location = originalLocation?.column != null && originalLocation?.line != null diff --git a/packages/pretty-format/src/plugins/lib/markup.ts b/packages/pretty-format/src/plugins/lib/markup.ts index 891fb75ee..37e55c19b 100644 --- a/packages/pretty-format/src/plugins/lib/markup.ts +++ b/packages/pretty-format/src/plugins/lib/markup.ts @@ -28,7 +28,7 @@ export function printProps( typeof value === 'string' && value[0] === '_' && value.startsWith('__vitest_') - && value.match(/__vitest_\d+__/) + && /__vitest_\d+__/.test(value) ) { return '' } diff --git a/packages/snapshot/src/port/state.ts b/packages/snapshot/src/port/state.ts index 80afd5c3b..46e9a6ca4 100644 --- a/packages/snapshot/src/port/state.ts +++ b/packages/snapshot/src/port/state.ts @@ -499,8 +499,8 @@ export default class SnapshotState { // normalize EOL when snapshot contains CRLF but received is LF if ( rawSnapshot.content - && rawSnapshot.content.match(/\r\n/) - && !receivedSerialized.match(/\r\n/) + && /\r\n/.test(rawSnapshot.content) + && !/\r\n/.test(receivedSerialized) ) { rawSnapshot.content = normalizeNewlines(rawSnapshot.content) } diff --git a/packages/ui/client/composables/module-graph.ts b/packages/ui/client/composables/module-graph.ts index 87380c4d2..1c95047cd 100644 --- a/packages/ui/client/composables/module-graph.ts +++ b/packages/ui/client/composables/module-graph.ts @@ -34,7 +34,7 @@ function defineExternalModuleNodes(modules: string[]): ModuleNode[] { fontSize: '0.875rem', text: id.includes('node_modules') ? (map.get(raw) ?? raw) - : splitsCopy[splitsCopy.length - 1], + : splitsCopy.at(-1)!, }, isFocused: false, id, diff --git a/packages/utils/src/helpers.ts b/packages/utils/src/helpers.ts index 22f1c0f7f..1e590eff1 100644 --- a/packages/utils/src/helpers.ts +++ b/packages/utils/src/helpers.ts @@ -140,9 +140,7 @@ export function isBareImport(id: string): boolean { } export function toArray(array?: Nullable>): Array { - if (array === null || array === undefined) { - array = [] - } + array ??= [] if (Array.isArray(array)) { return array diff --git a/packages/utils/src/source-map.ts b/packages/utils/src/source-map.ts index a3c46f4a8..e57be5cdf 100644 --- a/packages/utils/src/source-map.ts +++ b/packages/utils/src/source-map.ts @@ -268,7 +268,7 @@ export function parseStacktrace( const { line, column, source, name } = position let file = source || stack.file - if (file.match(/\/\w:\//)) { + if (/\/\w:\//.test(file)) { file = file.slice(1) } diff --git a/packages/vitest/src/integrations/chai/poll.ts b/packages/vitest/src/integrations/chai/poll.ts index 4e597e110..707978d11 100644 --- a/packages/vitest/src/integrations/chai/poll.ts +++ b/packages/vitest/src/integrations/chai/poll.ts @@ -36,9 +36,7 @@ const unsupported = [ * @throws Always throws the provided error with an amended stack trace */ function throwWithCause(error: any, source: Error) { - if (error.cause == null) { - error.cause = new Error('Matcher did not succeed in time.') - } + error.cause ??= new Error('Matcher did not succeed in time.') throw copyStackTrace( error, diff --git a/packages/vitest/src/node/cli/cac.ts b/packages/vitest/src/node/cli/cac.ts index 3d082ffb8..f5d9d58bf 100644 --- a/packages/vitest/src/node/cli/cac.ts +++ b/packages/vitest/src/node/cli/cac.ts @@ -315,9 +315,7 @@ async function start(cliFilters: string[], options: CliOptions): Promise { console.error(e) console.error('\n\n') - if (process.exitCode == null) { - process.exitCode = 1 - } + process.exitCode ??= 1 process.exit() } @@ -373,9 +371,7 @@ async function collect(cliFilters: string[], options: CliOptions): Promise console.error(e) console.error('\n\n') - if (process.exitCode == null) { - process.exitCode = 1 - } + process.exitCode ??= 1 process.exit() } diff --git a/packages/vitest/src/node/cli/filter.ts b/packages/vitest/src/node/cli/filter.ts index f76fee592..7b222fb00 100644 --- a/packages/vitest/src/node/cli/filter.ts +++ b/packages/vitest/src/node/cli/filter.ts @@ -12,13 +12,13 @@ export function parseFilter(filter: string): FileFilter { filter.substring(colonIndex + 1), ] - if (lineNumber.match(/^\d+$/)) { + if (/^\d+$/.test(lineNumber)) { return { filename: parsedFilename, lineNumber: Number.parseInt(lineNumber), } } - else if (lineNumber.match(/^\d+-\d+$/)) { + else if (/^\d+-\d+$/.test(lineNumber)) { throw new RangeLocationFilterProvidedError(filter) } else { diff --git a/packages/vitest/src/node/config/resolveConfig.ts b/packages/vitest/src/node/config/resolveConfig.ts index 396836407..a864393c5 100644 --- a/packages/vitest/src/node/config/resolveConfig.ts +++ b/packages/vitest/src/node/config/resolveConfig.ts @@ -63,7 +63,7 @@ function parseInspector(inspect: string | undefined | boolean | number) { return { port: inspect } } - if (inspect.match(/https?:\//)) { + if (/https?:\//.test(inspect)) { throw new Error( `Inspector host cannot be a URL. Use "host:port" instead of "${inspect}"`, ) @@ -231,13 +231,13 @@ export function resolveConfig( if (definedTags.has(tag.name)) { throw new Error(`Tag name "${tag.name}" is already defined in "test.tags". Tag names must be unique.`) } - if (tag.name.match(/\s/)) { + if (/\s/.test(tag.name)) { throw new Error(`Tag name "${tag.name}" is invalid. Tag names cannot contain spaces.`) } - if (tag.name.match(/([!()*|&])/)) { + if (/[!()*|&]/.test(tag.name)) { throw new Error(`Tag name "${tag.name}" is invalid. Tag names cannot contain "!", "*", "&", "|", "(", or ")".`) } - if (tag.name.match(/^\s*(and|or|not)\s*$/i)) { + if (/^\s*(?:and|or|not)\s*$/i.test(tag.name)) { throw new Error(`Tag name "${tag.name}" is invalid. Tag names cannot be a logical operator like "and", "or", "not".`) } if (typeof tag.retry === 'object' && typeof tag.retry.condition === 'function') { diff --git a/packages/vitest/src/node/core.ts b/packages/vitest/src/node/core.ts index 330a61d8a..97f9b9b7f 100644 --- a/packages/vitest/src/node/core.ts +++ b/packages/vitest/src/node/core.ts @@ -1196,7 +1196,7 @@ export class Vitest { */ async cancelCurrentRun(reason: CancelReason): Promise { this.isCancelling = true - this.cancelPromise = Promise.all([...this._onCancelListeners].map(listener => listener(reason))) + this.cancelPromise = Promise.all(Array.from(this._onCancelListeners, listener => listener(reason))) await this.cancelPromise.finally(() => (this.cancelPromise = undefined)) await this.runningPromise diff --git a/packages/vitest/src/node/pools/browser.ts b/packages/vitest/src/node/pools/browser.ts index cfb3acdde..dbc014366 100644 --- a/packages/vitest/src/node/pools/browser.ts +++ b/packages/vitest/src/node/pools/browser.ts @@ -88,7 +88,7 @@ export function createBrowserPool(vitest: Vitest): ProcessPool { isCancelled = true }) - const initialisedPools = await Promise.all([...groupedFiles.entries()].map(async ([project, files]) => { + const initialisedPools = await Promise.all(Array.from(groupedFiles.entries(), async ([project, files]) => { await project._initBrowserProvider() if (!project.browser) { @@ -164,7 +164,7 @@ export function createBrowserPool(vitest: Vitest): ProcessPool { return { name: 'browser', async close() { - await Promise.all([...providers].map(provider => provider.close())) + await Promise.all(Array.from(providers, provider => provider.close())) vitest._browserSessions.sessionIds.clear() providers.clear() vitest.projects.forEach((project) => { diff --git a/packages/vitest/src/node/pools/pool.ts b/packages/vitest/src/node/pools/pool.ts index 5b7107ab3..632749d1b 100644 --- a/packages/vitest/src/node/pools/pool.ts +++ b/packages/vitest/src/node/pools/pool.ts @@ -353,7 +353,7 @@ function deepEqual(obj1: any, obj2: any): boolean { } for (const key of keys1) { - if (!Object.prototype.hasOwnProperty.call(obj2, key) || !deepEqual(obj1[key], obj2[key])) { + if (!Object.hasOwn(obj2, key) || !deepEqual(obj1[key], obj2[key])) { return false } } diff --git a/packages/vitest/src/node/reporters/base.ts b/packages/vitest/src/node/reporters/base.ts index 35b3aef6e..9883d3269 100644 --- a/packages/vitest/src/node/reporters/base.ts +++ b/packages/vitest/src/node/reporters/base.ts @@ -1080,7 +1080,7 @@ function deepEqual(a: any, b: any): boolean { } for (const key of keysA) { - if (!Object.prototype.hasOwnProperty.call(b, key) || !deepEqual(a[key], b[key])) { + if (!Object.hasOwn(b, key) || !deepEqual(a[key], b[key])) { return false } } diff --git a/packages/vitest/src/node/reporters/reported-tasks.ts b/packages/vitest/src/node/reporters/reported-tasks.ts index bf97a2d39..f515bc714 100644 --- a/packages/vitest/src/node/reporters/reported-tasks.ts +++ b/packages/vitest/src/node/reporters/reported-tasks.ts @@ -462,7 +462,7 @@ export class TestSuite extends SuiteImplementation { */ public toTestSpecification(): TestSpecification { const isTypecheck = this.task.meta.typecheck === true - const testIds = [...this.children.allTests()].map(test => test.id) + const testIds = Array.from(this.children.allTests(), test => test.id) return this.project.createSpecification( this.module.moduleId, { testIds }, diff --git a/packages/vitest/src/node/resolver.ts b/packages/vitest/src/node/resolver.ts index 946707666..3b3c28cb5 100644 --- a/packages/vitest/src/node/resolver.ts +++ b/packages/vitest/src/node/resolver.ts @@ -101,7 +101,7 @@ const depsExternal = [ ] export function guessCJSversion(id: string): string | undefined { - if (id.match(ESM_EXT_RE)) { + if (ESM_EXT_RE.test(id)) { for (const i of [ id.replace(ESM_EXT_RE, '.mjs'), id.replace(ESM_EXT_RE, '.umd.js'), @@ -113,7 +113,7 @@ export function guessCJSversion(id: string): string | undefined { } } } - if (id.match(ESM_FOLDER_RE)) { + if (ESM_FOLDER_RE.test(id)) { for (const i of [ id.replace(ESM_FOLDER_RE, '/umd/$1'), id.replace(ESM_FOLDER_RE, '/cjs/$1'), diff --git a/packages/vitest/src/node/sequencers/BaseSequencer.ts b/packages/vitest/src/node/sequencers/BaseSequencer.ts index e91a134a2..4a5fb1fff 100644 --- a/packages/vitest/src/node/sequencers/BaseSequencer.ts +++ b/packages/vitest/src/node/sequencers/BaseSequencer.ts @@ -17,15 +17,14 @@ export class BaseSequencer implements TestSequencer { const { config } = this.ctx const { index, count } = config.shard! const [shardStart, shardEnd] = this.calculateShardRange(files.length, index, count) - return [...files] - .map((spec) => { - const fullPath = resolve(slash(config.root), slash(spec.moduleId)) - const specPath = fullPath?.slice(config.root.length) - return { - spec, - hash: hash('sha1', specPath, 'hex'), - } - }) + return Array.from(files, (spec) => { + const fullPath = resolve(slash(config.root), slash(spec.moduleId)) + const specPath = fullPath?.slice(config.root.length) + return { + spec, + hash: hash('sha1', specPath, 'hex'), + } + }) .sort((a, b) => (a.hash < b.hash ? -1 : a.hash > b.hash ? 1 : 0)) .slice(shardStart, shardEnd) .map(({ spec }) => spec) diff --git a/packages/vitest/src/runtime/benchmark.ts b/packages/vitest/src/runtime/benchmark.ts index f4cc817dd..cf844f041 100644 --- a/packages/vitest/src/runtime/benchmark.ts +++ b/packages/vitest/src/runtime/benchmark.ts @@ -360,7 +360,7 @@ export function createBench(test: Test, config: SerializedConfig): Bench { validateBenchmarkProject(config) // extract optional trailing BenchCompareOptions argument - const lastArg = args[args.length - 1] + const lastArg = args.at(-1) const isOptions = lastArg != null && typeof lastArg === 'object' && !(kRegistration in lastArg) const benchOptions = isOptions ? args.pop() as BenchCompareOptions : undefined const registrations = args as BenchRegistration[] @@ -453,7 +453,7 @@ export function createBench(test: Test, config: SerializedConfig): Bench { if (pending.size === 0) { return } - const names = [...pending].map(reg => `"${reg.name}"`).join(', ') + const names = Array.from(pending, reg => `"${reg.name}"`).join(', ') pending.clear() console.warn( [ diff --git a/packages/vitest/src/runtime/cleanup.ts b/packages/vitest/src/runtime/cleanup.ts index f74472ed1..15d24123f 100644 --- a/packages/vitest/src/runtime/cleanup.ts +++ b/packages/vitest/src/runtime/cleanup.ts @@ -9,6 +9,6 @@ export function removeCleanupListener(listener: () => unknown): void { } export async function cleanup(): Promise { - const promises = [...listeners].map(l => l()) + const promises = Array.from(listeners, l => l()) await Promise.all(promises) } diff --git a/packages/vitest/src/runtime/listeners.ts b/packages/vitest/src/runtime/listeners.ts index dd472d9a4..5dd25bf33 100644 --- a/packages/vitest/src/runtime/listeners.ts +++ b/packages/vitest/src/runtime/listeners.ts @@ -8,7 +8,7 @@ export function onCleanup(cb: () => unknown): void { } export async function cleanup(): Promise { - await Promise.all([...cleanupListeners].map(l => l())) + await Promise.all(Array.from(cleanupListeners, l => l())) } export function onModuleRunner(cb: (runner: ModuleRunner) => unknown): void { diff --git a/packages/vitest/src/runtime/runner/fixture.ts b/packages/vitest/src/runtime/runner/fixture.ts index dc6e7d7ea..9f3923f27 100644 --- a/packages/vitest/src/runtime/runner/fixture.ts +++ b/packages/vitest/src/runtime/runner/fixture.ts @@ -581,7 +581,7 @@ function resolveDeps( depSet.add(fixture) resolveDeps( - [...fixture.deps].map(n => n === fixture.name ? fixture.parent : registrations.get(n)).filter(n => !!n), + Array.from(fixture.deps, n => n === fixture.name ? fixture.parent : registrations.get(n)).filter(n => !!n), registrations, depSet, pendingFixtures, diff --git a/packages/vitest/src/runtime/runner/run.ts b/packages/vitest/src/runtime/runner/run.ts index 36a3b0c61..8382a6dfd 100644 --- a/packages/vitest/src/runtime/runner/run.ts +++ b/packages/vitest/src/runtime/runner/run.ts @@ -516,7 +516,7 @@ function throttle void>(fn: T, ms: number): T { } // Make sure fn is still called even if there are no further calls - pendingCall ??= setTimeout(() => call.bind(this)(...args), ms) + pendingCall ??= setTimeout(call.bind(this), ms, ...args) } as any } @@ -562,7 +562,9 @@ async function callCleanupHooks(runner: VitestRunner, cleanups: unknown[]) { function passesRetryCondition(test: Test, errors: TestError[] | undefined): boolean { const condition = getRetryCondition(test.retry) - if (!errors || errors.length === 0) { + const error = errors?.at(-1) + + if (error == null) { return false } @@ -570,8 +572,6 @@ function passesRetryCondition(test: Test, errors: TestError[] | undefined): bool return true } - const error = errors[errors.length - 1] - if (condition instanceof RegExp) { return condition.test(error.message || '') } @@ -1061,7 +1061,7 @@ export async function startTests(specs: string[] | FileSpecification[], runner: if (!workerRunners.has(runner)) { runner.onCleanupWorkerContext?.(async () => { await Promise.all( - [...TestFixtures.getWorkerContexts()].map(context => callFixtureCleanup(context)), + Array.from(TestFixtures.getWorkerContexts(), context => callFixtureCleanup(context)), ).finally(() => { TestFixtures.clearDefinitions() }) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 83e5eceb8..ffb46106d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -168,6 +168,9 @@ catalogs: vue: specifier: ^3.5.29 version: 3.5.29 + ws: + specifier: ^8.20.1 + version: 8.21.0 yauzl: specifier: ^3.2.0 version: 3.2.1 @@ -198,8 +201,8 @@ importers: .: devDependencies: '@antfu/eslint-config': - specifier: ^7.6.1 - version: 7.6.1(@typescript-eslint/rule-tester@8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(@typescript-eslint/typescript-estree@8.56.1(typescript@5.9.3))(@typescript-eslint/utils@8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(@vue/compiler-sfc@3.5.29)(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)(vitest@packages+vitest) + specifier: ^7.7.3 + version: 7.7.3(@typescript-eslint/rule-tester@8.56.1(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(@typescript-eslint/typescript-estree@8.62.0(typescript@5.9.3))(@typescript-eslint/utils@8.62.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(@vue/compiler-sfc@3.5.29)(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3)(vitest@packages+vitest) '@antfu/ni': specifier: ^28.3.0 version: 28.3.0 @@ -246,8 +249,8 @@ importers: specifier: ^0.27.3 version: 0.27.3 eslint: - specifier: ^10.0.3 - version: 10.0.3(jiti@2.6.1) + specifier: ^10.5.0 + version: 10.5.0(jiti@2.6.1) magic-string: specifier: ^0.30.21 version: 0.30.21 @@ -555,7 +558,7 @@ importers: version: 3.1.0 ws: specifier: 'catalog:' - version: 8.20.1 + version: 8.21.0 devDependencies: '@opentelemetry/api': specifier: ^1.9.0 @@ -1172,7 +1175,7 @@ importers: version: 8.0.11(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.2) ws: specifier: 'catalog:' - version: 8.20.1 + version: 8.21.0 packages/web-worker: dependencies: @@ -1245,7 +1248,7 @@ importers: version: 2.0.5(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(vitest@packages+vitest) ws: specifier: 'catalog:' - version: 8.20.1 + version: 8.21.0 yauzl: specifier: 'catalog:' version: 3.2.1 @@ -1431,7 +1434,7 @@ importers: version: 3.0.0(vitest@packages+vitest) ws: specifier: 'catalog:' - version: 8.20.1 + version: 8.21.0 test/e2e/dts/browser-playwright: devDependencies: @@ -1679,8 +1682,8 @@ packages: '@ansi-tools/parser@1.0.15': resolution: {integrity: sha512-Y+PIdkMVu8I27z344G65nni8c7TlPtVv/7Kw/ncS6lbpJKBRT00bTtyAlPL/aVjkCrLoYlUwsgvoGJ/iWhH52w==} - '@antfu/eslint-config@7.6.1': - resolution: {integrity: sha512-MRiskHFHYPF0R3eWDUkPPiHUM3fWXwAviVv9O8iMH5hVJkgp60oJYBMzbImKdqSGMuuyOMY3GXxWbH60t9rK0g==} + '@antfu/eslint-config@7.7.3': + resolution: {integrity: sha512-BtroDxTvmWtvr3yJkdWVCvwsKlnEdkreoeOyrdNezc/W5qaiQNf2xjcsQ3N5Yy0x27h+0WFfW8rG8YlVioG6dw==} hasBin: true peerDependencies: '@angular-eslint/eslint-plugin': ^21.1.0 @@ -2459,11 +2462,13 @@ packages: '@canvas/image-data@1.0.0': resolution: {integrity: sha512-BxOqI5LgsIQP1odU5KMwV9yoijleOPzHL18/YvNqF9KFSGF2K/DLlYAbDQsWqd/1nbaFuSkYD/191dpMtNh4vw==} - '@clack/core@1.0.1': - resolution: {integrity: sha512-WKeyK3NOBwDOzagPR5H08rFk9D/WuN705yEbuZvKqlkmoLM2woKtXb10OO2k1NoSU4SFG947i2/SCYh+2u5e4g==} + '@clack/core@1.4.2': + resolution: {integrity: sha512-0Ty/1Gfm+Kb07sXcuESjyKfwEhSy4Ns1AgeEisHb/bDY5fWme0tTeTkU14T1Gmcs17YIjB/teiDe4uaCghbYqQ==} + engines: {node: '>= 20.12.0'} - '@clack/prompts@1.0.1': - resolution: {integrity: sha512-/42G73JkuYdyWZ6m8d/CJtBrGl1Hegyc7Fy78m5Ob+jF85TOUmLR5XLce/U3LxYAw0kJ8CT5aI99RIvPHcGp/Q==} + '@clack/prompts@1.6.0': + resolution: {integrity: sha512-EYlRokl8szrP9Z25qT5aepMdBjzBvHF9ZEhzIiUBc9guz/T31EqRgvD0QSgZcpE93xiwrr+OkB4nz0BZyF6fSA==} + engines: {node: '>= 20.12.0'} '@csstools/color-helpers@6.0.2': resolution: {integrity: sha512-LMGQLS9EuADloEFkcTBR3BwV/CGHV7zyDxVRtVDTwdI2Ca4it0CCVTT9wCkxSgokjE5Ho41hEPgb8OEUwoXr6Q==} @@ -2541,6 +2546,17 @@ packages: '@docsearch/sidepanel-js@4.6.0': resolution: {integrity: sha512-lFT5KLwlzUmpoGArCScNoK41l9a22JYsEPwBzMrz+/ILVR5Ax87UphCuiyDFQWEvEmbwzn/kJx5W/O5BUlN1Rw==} + '@e18e/eslint-plugin@0.2.0': + resolution: {integrity: sha512-mXgODVwhuDjTJ+UT+XSvmMmCidtGKfrV5nMIv1UtpWex2pYLsIM3RSpT8HWIMAebS9qANbXPKlSX4BE7ZvuCgA==} + peerDependencies: + eslint: ^9.0.0 || ^10.0.0 + oxlint: ^1.41.0 + peerDependenciesMeta: + eslint: + optional: true + oxlint: + optional: true + '@edge-runtime/primitives@6.0.0': resolution: {integrity: sha512-FqoxaBT+prPBHBwE1WXS1ocnu/VLTQyZ6NMUBAdbP7N2hsFTTxMC/jMu2D/8GAlMQfxeuppcPuCUk/HO3fpIvA==} engines: {node: '>=18'} @@ -2890,11 +2906,11 @@ packages: cpu: [x64] os: [win32] - '@eslint-community/eslint-plugin-eslint-comments@4.6.0': - resolution: {integrity: sha512-2EX2bBQq1ez++xz2o9tEeEQkyvfieWgUFMH4rtJJri2q0Azvhja3hZGXsjPXs31R4fQkZDtWzNDDK2zQn5UE5g==} + '@eslint-community/eslint-plugin-eslint-comments@4.7.2': + resolution: {integrity: sha512-LF03qURSwEWm2dz5wtdDCzNk+7Opl0X7q6I3undsaIuNsEiNvRV3BCtqu14Q/6Pzg1tBj44LcxpW2EpSLZStZw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 '@eslint-community/eslint-utils@4.9.1': resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} @@ -2915,46 +2931,50 @@ packages: eslint: optional: true - '@eslint/config-array@0.23.3': - resolution: {integrity: sha512-j+eEWmB6YYLwcNOdlwQ6L2OsptI/LO6lNBuLIqe5R7RetD658HLoF+Mn7LzYmAWWNNzdC6cqP+L6r8ujeYXWLw==} + '@eslint/config-array@0.23.5': + resolution: {integrity: sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + '@eslint/config-helpers@0.5.5': + resolution: {integrity: sha512-eIJYKTCECbP/nsKaaruF6LW967mtbQbsw4JTtSVkUQc9MneSkbrgPJAbKl9nWr0ZeowV8BfsarBmPpBzGelA2w==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@eslint/config-helpers@0.5.2': - resolution: {integrity: sha512-a5MxrdDXEvqnIq+LisyCX6tQMPF/dSJpCfBgBauY+pNZ28yCtSsTvyTYrMhaI+LK26bVyCJfJkT0u8KIj2i1dQ==} + '@eslint/config-helpers@0.6.0': + resolution: {integrity: sha512-ii6Bw9jJ2zi2cWA2Z+9/QZ/+3DX6kwaV5Q986D/CdP3Lap3w/pgQZ373FV7byY/i7L4IRH/G43I5dz1ClsCbpA==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} '@eslint/core@0.17.0': resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/core@1.1.0': - resolution: {integrity: sha512-/nr9K9wkr3P1EzFTdFdMoLuo1PmIxjmwvPozwoSodjNBdefGujXQUF93u1DDZpEaTuDvMsIQddsd35BwtrW9Xw==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@eslint/core@1.1.1': resolution: {integrity: sha512-QUPblTtE51/7/Zhfv8BDwO0qkkzQL7P/aWWbqcf4xWLEYn1oKjdO0gglQBB4GAsu7u6wjijbCmzsUTy6mnk6oQ==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} + '@eslint/core@1.2.1': + resolution: {integrity: sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + '@eslint/markdown@7.5.1': resolution: {integrity: sha512-R8uZemG9dKTbru/DQRPblbJyXpObwKzo8rv1KYGGuPUPtjM4LXBYM9q5CIZAComzZupws3tWbDwam5AFpPLyJQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/object-schema@3.0.3': - resolution: {integrity: sha512-iM869Pugn9Nsxbh/YHRqYiqd23AmIbxJOcpUMOuWCVNdoQJ5ZtwL6h3t0bcZzJUlC3Dq9jCFCESBZnX0GTv7iQ==} + '@eslint/object-schema@3.0.5': + resolution: {integrity: sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} '@eslint/plugin-kit@0.4.1': resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.6.0': - resolution: {integrity: sha512-bIZEUzOI1jkhviX2cp5vNyXQc6olzb2ohewQubuYlMXZ2Q/XjBO0x0XhGPvc9fjSIiUN0vw+0hq53BJ4eQSJKQ==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@eslint/plugin-kit@0.6.1': resolution: {integrity: sha512-iH1B076HoAshH1mLpHMgwdGeTs0CYwL0SPMkGuSebZrwBp16v415e9NZXg2jtrqPVQjf6IANe2Vtlr5KswtcZQ==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} + '@eslint/plugin-kit@0.7.2': + resolution: {integrity: sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + '@exodus/bytes@1.15.0': resolution: {integrity: sha512-UY0nlA+feH81UGSHv92sLEPLCeZFjXOuHhrIo0HQydScuQc8s0A7kL/UdgwgDq8g8ilksmuoF35YVTNphV2aBQ==} engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} @@ -5130,8 +5150,8 @@ packages: '@standard-schema/spec@1.1.0': resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} - '@stylistic/eslint-plugin@5.9.0': - resolution: {integrity: sha512-FqqSkvDMYJReydrMhlugc71M76yLLQWNfmGq+SIlLa7N3kHp8Qq8i2PyWrVNAfjOyOIY+xv9XaaYwvVW7vroMA==} + '@stylistic/eslint-plugin@5.10.0': + resolution: {integrity: sha512-nPK52ZHvot8Ju/0A4ucSX1dcPV2/1clx0kLcH5wDmrE4naKso7TUC/voUyU1O9OTKTrR6MYip6LP0ogEMQ9jPQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^9.0.0 || ^10.0.0 @@ -5522,13 +5542,13 @@ packages: '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@typescript-eslint/eslint-plugin@8.56.1': - resolution: {integrity: sha512-Jz9ZztpB37dNC+HU2HI28Bs9QXpzCz+y/twHOwhyrIRdbuVDxSytJNDl6z/aAKlaRIwC7y8wJdkBv7FxYGgi0A==} + '@typescript-eslint/eslint-plugin@8.62.0': + resolution: {integrity: sha512-o+mpz7EYiMzXoySXiKmzlabIvTVqUuK5yLrAedRPRDA0IpPFMUV1IXt6OqljIxX/kumN6EjUYp41Hqelh6p/Dw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.56.1 + '@typescript-eslint/parser': ^8.62.0 eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.0.0' + typescript: '>=4.8.4 <6.1.0' '@typescript-eslint/parser@8.56.1': resolution: {integrity: sha512-klQbnPAAiGYFyI02+znpBRLyjL4/BrBd0nyWkdC0s/6xFLkXYQ8OoRrSkqacS1ddVxf/LDyODIKbQ5TgKAf/Fg==} @@ -5537,12 +5557,25 @@ packages: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/parser@8.62.0': + resolution: {integrity: sha512-dzHeT2gySzZtLDsuqxU9AkYgIsQoHAHtRBpOqM+Ofzx1Bwrd2RcCjQJ+6iQbsHOIR6NS33bF2W1k3blN1zLDrA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/project-service@8.56.1': resolution: {integrity: sha512-TAdqQTzHNNvlVFfR+hu2PDJrURiwKsUvxFn1M0h95BB8ah5jejas08jUWG4dBA68jDMI988IvtfdAI53JzEHOQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/project-service@8.62.0': + resolution: {integrity: sha512-wexnCqiTg7BOGtbLDftYpRWlmLq4xfoMd7BKFR6Y75sZS3QmRKLdN3yWLhmIYgqMmP/OXWpj3H8odkb5nGURCQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/rule-tester@8.56.1': resolution: {integrity: sha512-EWuV5Vq1EFYJEOVcILyWPO35PjnT0c6tv99PCpD12PgfZae5/Jo+F17hGjsEs2Moe+Dy1J7KIr8y037cK8+/rQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -5553,29 +5586,49 @@ packages: resolution: {integrity: sha512-YAi4VDKcIZp0O4tz/haYKhmIDZFEUPOreKbfdAN3SzUDMcPhJ8QI99xQXqX+HoUVq8cs85eRKnD+rne2UAnj2w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/scope-manager@8.62.0': + resolution: {integrity: sha512-1lX38kNxXIRb8mEc3lbq5mdHq1Pf2+U0nFU65KfT18mtPxxl0fvjuEE92mHuXPuCtElJhOrddOpyMlM3Z0umEA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/tsconfig-utils@8.56.1': resolution: {integrity: sha512-qOtCYzKEeyr3aR9f28mPJqBty7+DBqsdd63eO0yyDwc6vgThj2UjWfJIcsFeSucYydqcuudMOprZ+x1SpF3ZuQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/type-utils@8.56.1': - resolution: {integrity: sha512-yB/7dxi7MgTtGhZdaHCemf7PuwrHMenHjmzgUW1aJpO+bBU43OycnM3Wn+DdvDO/8zzA9HlhaJ0AUGuvri4oGg==} + '@typescript-eslint/tsconfig-utils@8.62.0': + resolution: {integrity: sha512-y2GAdB6ykaXUvuspbYnizQc4oDDz0Tz/Yc7iWrXf9mx8vm/L/0vLHCe0tS2boG96Zy+DivnVDQ9ZUEWoHqqx1g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/type-utils@8.62.0': + resolution: {integrity: sha512-+g5O3j0w2ldzC86Pv6fvbO/xhAonbJFIdf/MKQ1d30gndlsVzUOE83ldfSE15Qrl9fhFjK6AovHs5Wpp6vx86w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.0.0' + typescript: '>=4.8.4 <6.1.0' '@typescript-eslint/types@8.56.1': resolution: {integrity: sha512-dbMkdIUkIkchgGDIv7KLUpa0Mda4IYjo4IAMJUZ+3xNoUXxMsk9YtKpTHSChRS85o+H9ftm51gsK1dZReY9CVw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/types@8.62.0': + resolution: {integrity: sha512-KvAclkktORPvM54TgLgA4z9HIV1M8zOgw9ZVNXl9f/8dLYfXYX1wkMXP7qmabpijQRV5bHJLOmoyGQbLMaUYeg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/typescript-estree@8.56.1': resolution: {integrity: sha512-qzUL1qgalIvKWAf9C1HpvBjif+Vm6rcT5wZd4VoMb9+Km3iS3Cv9DY6dMRMDtPnwRAFyAi7YXJpTIEXLvdfPxg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/typescript-estree@8.62.0': + resolution: {integrity: sha512-+hVbNxtW64pIcZWDPGbyaKF7vp2IBTVY5ma1blwwksrjdsbdqqEKvJWMGbBofei4F6Dovx1M0RJgoFeNu2279A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/utils@8.56.1': resolution: {integrity: sha512-HPAVNIME3tABJ61siYlHzSWCGtOoeP2RTIaHXFMPqjrQKCGB9OgUVdiNgH7TJS2JNIQ5qQ4RsAUDuGaGme/KOA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -5583,10 +5636,21 @@ packages: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/utils@8.62.0': + resolution: {integrity: sha512-82r66fi9zYwZ+mTq3vKgwjbZ1PVk/DJzrXFLpG6RnBbdvH8TEGVHIs9H4d2drhkOzf0syZuD/OZvvlu6GDbP4g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/visitor-keys@8.56.1': resolution: {integrity: sha512-KiROIzYdEV85YygXw6BI/Dx4fnBlFQu6Mq4QE4MOH9fFnhohw6wX/OAvDY2/C+ut0I3RSPKenvZJIVYqJNkhEw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/visitor-keys@8.62.0': + resolution: {integrity: sha512-CY3uyFSRbcQv3nnSv8S0+lDftMVz6P963PoRlxrV7ew/Md564g9ut60PYzdLM5qW4jFn93GBF+Soi90ISAN+GQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript/vfs@1.6.2': resolution: {integrity: sha512-hoBwJwcbKHmvd2QVebiytN1aELvpk9B74B4L1mFm/XT1Q/VOYAWl2vQ9AWRFtQq8zmz6enTpfTV8WRc4ATjW/g==} peerDependencies: @@ -5714,14 +5778,17 @@ packages: '@vitest/cjs-lib@file:test/browser/cjs-lib': resolution: {directory: test/browser/cjs-lib, type: directory} - '@vitest/eslint-plugin@1.6.9': - resolution: {integrity: sha512-9WfPx1OwJ19QLCSRLkqVO7//1WcWnK3fE/3fJhKMAmDe8+9G4rB47xCNIIeCq3FdEzkIoLTfDlwDlPBaUTMhow==} + '@vitest/eslint-plugin@1.6.20': + resolution: {integrity: sha512-xRwWHFG0Utp6hXtbGiWk4VdKXCGdExD8kbWrrmFEiG5dk8anOJ+vbWbeOa8EbkocKQRTsx7JAWETccZiBgFp/Q==} engines: {node: '>=18'} peerDependencies: + '@typescript-eslint/eslint-plugin': '*' eslint: '>=8.57.0' typescript: '>=5.0.0' vitest: workspace:* peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true typescript: optional: true vitest: @@ -6059,15 +6126,9 @@ packages: ajv: optional: true - ajv@6.14.0: - resolution: {integrity: sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==} - ajv@6.15.0: resolution: {integrity: sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==} - ajv@8.17.1: - resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} - ajv@8.20.0: resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==} @@ -6284,9 +6345,6 @@ packages: brace-expansion@1.1.15: resolution: {integrity: sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==} - brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - brace-expansion@2.1.1: resolution: {integrity: sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==} @@ -6371,6 +6429,10 @@ packages: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} + cac@7.0.0: + resolution: {integrity: sha512-tixWYgm5ZoOD+3g6UTea91eow5z6AAHaho3g0V9CNSNb45gM8SmflpAc+GRd1InC4AqN/07Unrgp56Y94N9hJQ==} + engines: {node: '>=20.19.0'} + call-bind-apply-helpers@1.0.2: resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} engines: {node: '>= 0.4'} @@ -6595,9 +6657,6 @@ packages: resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} engines: {node: '>=12.13'} - core-js-compat@3.47.0: - resolution: {integrity: sha512-IGfuznZ/n7Kp9+nypamBhvwdwLsW6KC8IOaURw2doAK5e98AG3acVLdh0woOnEqCfUtS+Vu882JE4k/DAm3ItQ==} - core-js-compat@3.49.0: resolution: {integrity: sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA==} @@ -7044,8 +7103,8 @@ packages: peerDependencies: eslint: ^9.5.0 || ^10.0.0 - eslint-flat-config-utils@3.0.1: - resolution: {integrity: sha512-VMA3u86bLzNAwD/7DkLtQ9lolgIOx2Sj0kTMMnBvrvEz7w0rQj4aGCR+lqsqtld63gKiLyT4BnQZ3gmGDXtvjg==} + eslint-flat-config-utils@3.2.0: + resolution: {integrity: sha512-PHgo1X5uqIorJONLVD9BIaOSdoYFD3z/AeJljdqDPlWVRpeCYkDbK9k0AXoYVqqNJr6FEYIEr5Rm2TSktLQcHw==} eslint-json-compat-utils@0.2.1: resolution: {integrity: sha512-YzEodbDyW8DX8bImKhAcCeu/L31Dd/70Bidx2Qex9OFUtgzXLqtfWL4Hr5fM/aCCB8QUZLuJur0S9k6UfgFkfg==} @@ -7076,6 +7135,11 @@ packages: '@typescript-eslint/utils': '*' eslint: '*' + eslint-plugin-depend@1.5.0: + resolution: {integrity: sha512-i3UeLYmclf1Icp35+6W7CR4Bp2PIpDgBuf/mpmXK5UeLkZlvYJ21VuQKKHHAIBKRTPivPGX/gZl5JGno1o9Y0A==} + peerDependencies: + eslint: '>=8.40.0' + eslint-plugin-es-x@7.8.0: resolution: {integrity: sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==} engines: {node: ^14.18.0 || >=16.0.0} @@ -7121,14 +7185,14 @@ packages: peerDependencies: eslint: ^9.0.0 || ^10.0.0 - eslint-plugin-regexp@3.0.0: - resolution: {integrity: sha512-iW7hgAV8NOG6E2dz+VeKpq67YLQ9jaajOKYpoOSic2/q8y9BMdXBKkSR9gcMtbqEhNQzdW41E3wWzvhp8ExYwQ==} + eslint-plugin-regexp@3.1.0: + resolution: {integrity: sha512-qGXIC3DIKZHcK1H9A9+Byz9gmndY6TTSRkSMTZpNXdyCw2ObSehRgccJv35n9AdUakEjQp5VFNLas6BMXizCZg==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} peerDependencies: eslint: '>=9.38.0' - eslint-plugin-toml@1.3.0: - resolution: {integrity: sha512-+jjKAs2WRNom9PU1APlrL1kNexy1RHoKB7SHw7FLZBlqOCYXUKyG3Quiv1XUICdWDJ6oGVgW/mSm+BDuQrcc3w==} + eslint-plugin-toml@1.4.0: + resolution: {integrity: sha512-3ErTnfUjXq/23f72XeyRcE0Y4Sd/ME1lsZeezczqpn2R4tE7+Sgco/NUKDXm0xAMz15tzcRz/9RfJRm6AqRO+A==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} peerDependencies: eslint: '>=9.38.0' @@ -7162,8 +7226,8 @@ packages: '@typescript-eslint/parser': optional: true - eslint-plugin-yml@3.3.0: - resolution: {integrity: sha512-kRja5paNrMfZnbNqDbZSFrSHz5x7jmGBQq7d6z/+wRvWD4Y0yb1fbjojBg3ReMewFhBB7nD2nPC86+m3HmILJA==} + eslint-plugin-yml@3.4.0: + resolution: {integrity: sha512-j6U3ESrAkidkvNb3HFN2UMxke46GNp6bsJokabXCICcgomSy3YU4oED9cjzkZ58nYxWD5qnWV1b/2YlqyWMOxA==} engines: {node: ^20.19.0 || ^22.13.0 || >=24.0.0} peerDependencies: eslint: '>=9.38.0' @@ -7174,10 +7238,6 @@ packages: '@vue/compiler-sfc': ^3.3.0 eslint: '>=9.0.0' - eslint-scope@8.4.0: - resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint-scope@9.1.2: resolution: {integrity: sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} @@ -7190,16 +7250,12 @@ packages: resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint-visitor-keys@5.0.0: - resolution: {integrity: sha512-A0XeIi7CXU7nPlfHS9loMYEKxUaONu/hTEzHTGba9Huu94Cq1hPivf+DE5erJozZOky0LfvXAyrV/tcswpLI0Q==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} - eslint-visitor-keys@5.0.1: resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - eslint@10.0.3: - resolution: {integrity: sha512-COV33RzXZkqhG9P2rZCFl9ZmJ7WL+gQSCRzE7RhkbclbQPtLAWReL7ysA0Sh4c8Im2U9ynybdR56PV0XcKvqaQ==} + eslint@10.5.0: + resolution: {integrity: sha512-1y+7C+vi12bUK1IpZeaV3gsH9fHLBmPvYmPx42pvT/E9yG0IC8g3PUZZgp0+JLJl7ZDK0flc2gc+Aw9dpCvIsQ==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} hasBin: true peerDependencies: @@ -7212,10 +7268,6 @@ packages: resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - espree@11.1.0: - resolution: {integrity: sha512-WFWYhO1fV4iYkqOOvq8FbqIhr2pYfoDY0kCotMkDeNtGpiGGkZ1iov2u8ydjtgM8yF8rzK7oaTbw2NAzbAbehw==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} - espree@11.2.0: resolution: {integrity: sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} @@ -7319,11 +7371,17 @@ packages: fast-safe-stringify@2.1.1: resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + fast-string-truncated-width@3.0.3: + resolution: {integrity: sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==} + + fast-string-width@3.0.2: + resolution: {integrity: sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==} + fast-uri@3.0.3: resolution: {integrity: sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==} - fast-uri@3.1.2: - resolution: {integrity: sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==} + fast-wrap-ansi@0.2.2: + resolution: {integrity: sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q==} fast-xml-parser@5.2.5: resolution: {integrity: sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ==} @@ -7591,8 +7649,8 @@ packages: resolution: {integrity: sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==} engines: {node: '>=18'} - globals@17.3.0: - resolution: {integrity: sha512-yMqGUQVVCkD4tqjOJf3TnrvaaHDMYp4VlUSObbkIiuCPe/ofdMBFIAcBbCSRFWOnos6qRiTVStDwqPLUclaxIw==} + globals@17.7.0: + resolution: {integrity: sha512-Czmyns5dUsq4seFBR/Kdydhmo8y9kC79hiSkPn0YcGtNnYWnrgt0vjrSjx9tspoDGWm2CMarffRuLjM4xUz8xg==} engines: {node: '>=18'} globalthis@1.0.4: @@ -8089,10 +8147,6 @@ packages: jsbn@1.1.0: resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} - jsdoc-type-pratt-parser@7.1.0: - resolution: {integrity: sha512-SX7q7XyCwzM/MEDCYz0l8GgGbJAACGFII9+WfNYr5SLEKukHWRy2Jk3iWRe7P+lpYJNs7oQ+OSei4JtKGUjd7A==} - engines: {node: '>=20.0.0'} - jsdoc-type-pratt-parser@7.1.1: resolution: {integrity: sha512-/2uqY7x6bsrpi3i9LVU6J89352C0rpMk0as8trXxCtvd4kPk1ke/Eyif6wqfSLvoNJqcDG9Vk4UsXgygzCt2xA==} engines: {node: '>=20.0.0'} @@ -8675,10 +8729,6 @@ packages: resolution: {integrity: sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==} engines: {node: 20 || >=22} - minimatch@10.2.3: - resolution: {integrity: sha512-Rwi3pnapEqirPSbWbrZaa6N3nmqq4Xer/2XooiOKyV3q12ML06f7MOuc5DVH8ONZIFhwIYQ3yzPH4nt7iWHaTg==} - engines: {node: 18 || 20 || >=22} - minimatch@10.2.4: resolution: {integrity: sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==} engines: {node: 18 || 20 || >=22} @@ -8686,10 +8736,6 @@ packages: minimatch@3.1.5: resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} - minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} - minimatch@5.1.9: resolution: {integrity: sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==} engines: {node: '>=10'} @@ -8738,6 +8784,9 @@ packages: module-details-from-path@1.0.4: resolution: {integrity: sha512-EGWKgxALGMgzvxYF1UyGTy0HXX/2vHLkw6+NvDKW2jypWbHpjQuj4UMcqQWXHERJhVGKikolT06G3bcKe4fi7w==} + module-replacements@2.11.0: + resolution: {integrity: sha512-j5sNQm3VCpQQ7nTqGeOZtoJtV3uKERgCBm9QRhmGRiXiqkf7iRFOkfxdJRZWLkqYY8PNf4cDQF/WfXUYLENrRA==} + moment@2.30.1: resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==} @@ -9063,10 +9112,6 @@ packages: picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - picomatch@2.3.2: resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==} engines: {node: '>=8.6'} @@ -9380,10 +9425,6 @@ packages: regjsgen@0.8.0: resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} - regjsparser@0.13.0: - resolution: {integrity: sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==} - hasBin: true - regjsparser@0.13.2: resolution: {integrity: sha512-NgRBy2Nx/bE+9F27nVHnqcN5HjyLmecqsqx2PJHu3/IEtADD4WuxuXIVExD5PoSDFVrl78dOonfcOe5O+5nbzQ==} hasBin: true @@ -10218,6 +10259,12 @@ packages: peerDependencies: typescript: '>=4.8.4' + ts-api-utils@2.5.0: + resolution: {integrity: sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==} + engines: {node: '>=18.12'} + peerDependencies: + typescript: '>=4.8.4' + ts-declaration-location@1.0.7: resolution: {integrity: sha512-EDyGAwH1gO0Ausm9gV6T2nUvBgXT5kGoCMJPllOaooZ+4VvJiKBdZE7wK18N1deEowhcUptS+5GXZK8U/fvpwA==} peerDependencies: @@ -10865,18 +10912,6 @@ packages: utf-8-validate: optional: true - ws@8.20.1: - resolution: {integrity: sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - ws@8.21.0: resolution: {integrity: sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==} engines: {node: '>=10.0.0'} @@ -10971,43 +11006,44 @@ snapshots: '@ansi-tools/parser@1.0.15': {} - '@antfu/eslint-config@7.6.1(@typescript-eslint/rule-tester@8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(@typescript-eslint/typescript-estree@8.56.1(typescript@5.9.3))(@typescript-eslint/utils@8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(@vue/compiler-sfc@3.5.29)(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)(vitest@packages+vitest)': + '@antfu/eslint-config@7.7.3(@typescript-eslint/rule-tester@8.56.1(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(@typescript-eslint/typescript-estree@8.62.0(typescript@5.9.3))(@typescript-eslint/utils@8.62.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(@vue/compiler-sfc@3.5.29)(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3)(vitest@packages+vitest)': dependencies: '@antfu/install-pkg': 1.1.0 - '@clack/prompts': 1.0.1 - '@eslint-community/eslint-plugin-eslint-comments': 4.6.0(eslint@10.0.3(jiti@2.6.1)) + '@clack/prompts': 1.6.0 + '@e18e/eslint-plugin': 0.2.0(eslint@10.5.0(jiti@2.6.1)) + '@eslint-community/eslint-plugin-eslint-comments': 4.7.2(eslint@10.5.0(jiti@2.6.1)) '@eslint/markdown': 7.5.1 - '@stylistic/eslint-plugin': 5.9.0(eslint@10.0.3(jiti@2.6.1)) - '@typescript-eslint/eslint-plugin': 8.56.1(@typescript-eslint/parser@8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/parser': 8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) - '@vitest/eslint-plugin': 1.6.9(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)(vitest@packages+vitest) + '@stylistic/eslint-plugin': 5.10.0(eslint@10.5.0(jiti@2.6.1)) + '@typescript-eslint/eslint-plugin': 8.62.0(@typescript-eslint/parser@8.62.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.62.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3) + '@vitest/eslint-plugin': 1.6.20(@typescript-eslint/eslint-plugin@8.62.0(@typescript-eslint/parser@8.62.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3)(vitest@packages+vitest) ansis: 4.2.0 - cac: 6.7.14(patch_hash=a8f0f3517a47ce716ed90c0cfe6ae382ab763b021a664ada2a608477d0621588) - eslint: 10.0.3(jiti@2.6.1) - eslint-config-flat-gitignore: 2.2.1(eslint@10.0.3(jiti@2.6.1)) - eslint-flat-config-utils: 3.0.1 - eslint-merge-processors: 2.0.0(eslint@10.0.3(jiti@2.6.1)) - eslint-plugin-antfu: 3.2.2(eslint@10.0.3(jiti@2.6.1)) - eslint-plugin-command: 3.5.2(@typescript-eslint/rule-tester@8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(@typescript-eslint/typescript-estree@8.56.1(typescript@5.9.3))(@typescript-eslint/utils@8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.3(jiti@2.6.1)) - eslint-plugin-import-lite: 0.5.2(eslint@10.0.3(jiti@2.6.1)) - eslint-plugin-jsdoc: 62.7.1(eslint@10.0.3(jiti@2.6.1)) - eslint-plugin-jsonc: 3.1.1(eslint@10.0.3(jiti@2.6.1)) - eslint-plugin-n: 17.24.0(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) + cac: 7.0.0 + eslint: 10.5.0(jiti@2.6.1) + eslint-config-flat-gitignore: 2.2.1(eslint@10.5.0(jiti@2.6.1)) + eslint-flat-config-utils: 3.2.0 + eslint-merge-processors: 2.0.0(eslint@10.5.0(jiti@2.6.1)) + eslint-plugin-antfu: 3.2.2(eslint@10.5.0(jiti@2.6.1)) + eslint-plugin-command: 3.5.2(@typescript-eslint/rule-tester@8.56.1(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(@typescript-eslint/typescript-estree@8.62.0(typescript@5.9.3))(@typescript-eslint/utils@8.62.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1)) + eslint-plugin-import-lite: 0.5.2(eslint@10.5.0(jiti@2.6.1)) + eslint-plugin-jsdoc: 62.7.1(eslint@10.5.0(jiti@2.6.1)) + eslint-plugin-jsonc: 3.1.1(eslint@10.5.0(jiti@2.6.1)) + eslint-plugin-n: 17.24.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3) eslint-plugin-no-only-tests: 3.3.0 - eslint-plugin-perfectionist: 5.6.0(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) - eslint-plugin-pnpm: 1.6.0(eslint@10.0.3(jiti@2.6.1)) - eslint-plugin-regexp: 3.0.0(eslint@10.0.3(jiti@2.6.1)) - eslint-plugin-toml: 1.3.0(eslint@10.0.3(jiti@2.6.1)) - eslint-plugin-unicorn: 63.0.0(eslint@10.0.3(jiti@2.6.1)) - eslint-plugin-unused-imports: 4.4.1(@typescript-eslint/eslint-plugin@8.56.1(@typescript-eslint/parser@8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.3(jiti@2.6.1)) - eslint-plugin-vue: 10.8.0(@stylistic/eslint-plugin@5.9.0(eslint@10.0.3(jiti@2.6.1)))(@typescript-eslint/parser@8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.3(jiti@2.6.1))(vue-eslint-parser@10.4.0(eslint@10.0.3(jiti@2.6.1))) - eslint-plugin-yml: 3.3.0(eslint@10.0.3(jiti@2.6.1)) - eslint-processor-vue-blocks: 2.0.0(@vue/compiler-sfc@3.5.29)(eslint@10.0.3(jiti@2.6.1)) - globals: 17.3.0 + eslint-plugin-perfectionist: 5.6.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3) + eslint-plugin-pnpm: 1.6.0(eslint@10.5.0(jiti@2.6.1)) + eslint-plugin-regexp: 3.1.0(eslint@10.5.0(jiti@2.6.1)) + eslint-plugin-toml: 1.4.0(eslint@10.5.0(jiti@2.6.1)) + eslint-plugin-unicorn: 63.0.0(eslint@10.5.0(jiti@2.6.1)) + eslint-plugin-unused-imports: 4.4.1(@typescript-eslint/eslint-plugin@8.62.0(@typescript-eslint/parser@8.62.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1)) + eslint-plugin-vue: 10.8.0(@stylistic/eslint-plugin@5.10.0(eslint@10.5.0(jiti@2.6.1)))(@typescript-eslint/parser@8.62.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(vue-eslint-parser@10.4.0(eslint@10.5.0(jiti@2.6.1))) + eslint-plugin-yml: 3.4.0(eslint@10.5.0(jiti@2.6.1)) + eslint-processor-vue-blocks: 2.0.0(@vue/compiler-sfc@3.5.29)(eslint@10.5.0(jiti@2.6.1)) + globals: 17.7.0 local-pkg: 1.1.2 parse-gitignore: 2.0.0 toml-eslint-parser: 1.0.3 - vue-eslint-parser: 10.4.0(eslint@10.0.3(jiti@2.6.1)) + vue-eslint-parser: 10.4.0(eslint@10.5.0(jiti@2.6.1)) yaml-eslint-parser: 2.0.0 transitivePeerDependencies: - '@eslint/json' @@ -11015,6 +11051,7 @@ snapshots: - '@typescript-eslint/typescript-estree' - '@typescript-eslint/utils' - '@vue/compiler-sfc' + - oxlint - supports-color - typescript - vitest @@ -11944,15 +11981,16 @@ snapshots: '@canvas/image-data@1.0.0': {} - '@clack/core@1.0.1': + '@clack/core@1.4.2': dependencies: - picocolors: 1.1.1 + fast-wrap-ansi: 0.2.2 sisteransi: 1.0.5 - '@clack/prompts@1.0.1': + '@clack/prompts@1.6.0': dependencies: - '@clack/core': 1.0.1 - picocolors: 1.1.1 + '@clack/core': 1.4.2 + fast-string-width: 3.0.2 + fast-wrap-ansi: 0.2.2 sisteransi: 1.0.5 '@csstools/color-helpers@6.0.2': {} @@ -12007,6 +12045,12 @@ snapshots: '@docsearch/sidepanel-js@4.6.0': {} + '@e18e/eslint-plugin@0.2.0(eslint@10.5.0(jiti@2.6.1))': + dependencies: + eslint-plugin-depend: 1.5.0(eslint@10.5.0(jiti@2.6.1)) + optionalDependencies: + eslint: 10.5.0(jiti@2.6.1) + '@edge-runtime/primitives@6.0.0': {} '@edge-runtime/vm@5.0.0': @@ -12052,7 +12096,7 @@ snapshots: '@es-joy/jsdoccomment@0.84.0': dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 '@typescript-eslint/types': 8.56.1 comment-parser: 1.4.5 esquery: 1.7.0 @@ -12216,46 +12260,50 @@ snapshots: '@esbuild/win32-x64@0.27.3': optional: true - '@eslint-community/eslint-plugin-eslint-comments@4.6.0(eslint@10.0.3(jiti@2.6.1))': + '@eslint-community/eslint-plugin-eslint-comments@4.7.2(eslint@10.5.0(jiti@2.6.1))': dependencies: escape-string-regexp: 4.0.0 - eslint: 10.0.3(jiti@2.6.1) + eslint: 10.5.0(jiti@2.6.1) ignore: 7.0.5 - '@eslint-community/eslint-utils@4.9.1(eslint@10.0.3(jiti@2.6.1))': + '@eslint-community/eslint-utils@4.9.1(eslint@10.5.0(jiti@2.6.1))': dependencies: - eslint: 10.0.3(jiti@2.6.1) + eslint: 10.5.0(jiti@2.6.1) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.2': {} - '@eslint/compat@2.0.2(eslint@10.0.3(jiti@2.6.1))': + '@eslint/compat@2.0.2(eslint@10.5.0(jiti@2.6.1))': dependencies: - '@eslint/core': 1.1.0 + '@eslint/core': 1.1.1 optionalDependencies: - eslint: 10.0.3(jiti@2.6.1) + eslint: 10.5.0(jiti@2.6.1) - '@eslint/config-array@0.23.3': + '@eslint/config-array@0.23.5': dependencies: - '@eslint/object-schema': 3.0.3 + '@eslint/object-schema': 3.0.5 debug: 4.4.3 minimatch: 10.2.4 transitivePeerDependencies: - supports-color - '@eslint/config-helpers@0.5.2': + '@eslint/config-helpers@0.5.5': dependencies: - '@eslint/core': 1.1.1 + '@eslint/core': 1.2.1 + + '@eslint/config-helpers@0.6.0': + dependencies: + '@eslint/core': 1.2.1 '@eslint/core@0.17.0': dependencies: '@types/json-schema': 7.0.15 - '@eslint/core@1.1.0': + '@eslint/core@1.1.1': dependencies: '@types/json-schema': 7.0.15 - '@eslint/core@1.1.1': + '@eslint/core@1.2.1': dependencies: '@types/json-schema': 7.0.15 @@ -12264,7 +12312,7 @@ snapshots: '@eslint/core': 0.17.0 '@eslint/plugin-kit': 0.4.1 github-slugger: 2.0.0 - mdast-util-from-markdown: 2.0.2 + mdast-util-from-markdown: 2.0.3 mdast-util-frontmatter: 2.0.1 mdast-util-gfm: 3.1.0 micromark-extension-frontmatter: 2.0.0 @@ -12273,21 +12321,21 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/object-schema@3.0.3': {} + '@eslint/object-schema@3.0.5': {} '@eslint/plugin-kit@0.4.1': dependencies: '@eslint/core': 0.17.0 levn: 0.4.1 - '@eslint/plugin-kit@0.6.0': + '@eslint/plugin-kit@0.6.1': dependencies: - '@eslint/core': 1.1.0 + '@eslint/core': 1.1.1 levn: 0.4.1 - '@eslint/plugin-kit@0.6.1': + '@eslint/plugin-kit@0.7.2': dependencies: - '@eslint/core': 1.1.1 + '@eslint/core': 1.2.1 levn: 0.4.1 '@exodus/bytes@1.15.0(@noble/hashes@1.8.0)': @@ -12300,8 +12348,8 @@ snapshots: '@fastify/ajv-compiler@4.0.5': dependencies: - ajv: 8.17.1 - ajv-formats: 3.0.1(ajv@8.17.1) + ajv: 8.20.0 + ajv-formats: 3.0.1(ajv@8.20.0) fast-uri: 3.0.3 '@fastify/error@4.2.0': {} @@ -13530,7 +13578,7 @@ snapshots: extract-zip: 2.0.1 progress: 2.0.3 proxy-agent: 6.5.0 - semver: 7.7.4 + semver: 7.8.5 tar-fs: 3.0.8 yargs: 17.7.2 transitivePeerDependencies: @@ -13983,15 +14031,15 @@ snapshots: '@standard-schema/spec@1.1.0': {} - '@stylistic/eslint-plugin@5.9.0(eslint@10.0.3(jiti@2.6.1))': + '@stylistic/eslint-plugin@5.10.0(eslint@10.5.0(jiti@2.6.1))': dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.3(jiti@2.6.1)) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.5.0(jiti@2.6.1)) '@typescript-eslint/types': 8.56.1 - eslint: 10.0.3(jiti@2.6.1) + eslint: 10.5.0(jiti@2.6.1) eslint-visitor-keys: 4.2.1 espree: 10.4.0 estraverse: 5.3.0 - picomatch: 4.0.3 + picomatch: 4.0.4 '@surma/rollup-plugin-off-main-thread@2.2.3': dependencies: @@ -14320,7 +14368,7 @@ snapshots: '@types/tern@0.23.4': dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 '@types/tough-cookie@4.0.5': {} @@ -14344,30 +14392,42 @@ snapshots: dependencies: '@types/node': 24.12.0 - '@typescript-eslint/eslint-plugin@8.56.1(@typescript-eslint/parser@8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/eslint-plugin@8.62.0(@typescript-eslint/parser@8.62.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/scope-manager': 8.56.1 - '@typescript-eslint/type-utils': 8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/utils': 8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.56.1 - eslint: 10.0.3(jiti@2.6.1) + '@typescript-eslint/parser': 8.62.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.62.0 + '@typescript-eslint/type-utils': 8.62.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.62.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.62.0 + eslint: 10.5.0(jiti@2.6.1) ignore: 7.0.5 natural-compare: 1.4.0 - ts-api-utils: 2.4.0(typescript@5.9.3) + ts-api-utils: 2.5.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/parser@8.56.1(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@typescript-eslint/scope-manager': 8.56.1 '@typescript-eslint/types': 8.56.1 '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.9.3) '@typescript-eslint/visitor-keys': 8.56.1 debug: 4.4.3 - eslint: 10.0.3(jiti@2.6.1) + eslint: 10.5.0(jiti@2.6.1) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@8.62.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.62.0 + '@typescript-eslint/types': 8.62.0 + '@typescript-eslint/typescript-estree': 8.62.0(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.62.0 + debug: 4.4.3 + eslint: 10.5.0(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -14381,13 +14441,22 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/rule-tester@8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/project-service@8.62.0(typescript@5.9.3)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.62.0(typescript@5.9.3) + '@typescript-eslint/types': 8.62.0 + debug: 4.4.3 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/rule-tester@8.56.1(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@typescript-eslint/parser': 8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.56.1(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.9.3) - '@typescript-eslint/utils': 8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.56.1(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3) ajv: 6.15.0 - eslint: 10.0.3(jiti@2.6.1) + eslint: 10.5.0(jiti@2.6.1) json-stable-stringify-without-jsonify: 1.0.1 lodash.merge: 4.6.2 semver: 7.8.5 @@ -14400,24 +14469,35 @@ snapshots: '@typescript-eslint/types': 8.56.1 '@typescript-eslint/visitor-keys': 8.56.1 + '@typescript-eslint/scope-manager@8.62.0': + dependencies: + '@typescript-eslint/types': 8.62.0 + '@typescript-eslint/visitor-keys': 8.62.0 + '@typescript-eslint/tsconfig-utils@8.56.1(typescript@5.9.3)': dependencies: typescript: 5.9.3 - '@typescript-eslint/type-utils@8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/tsconfig-utils@8.62.0(typescript@5.9.3)': dependencies: - '@typescript-eslint/types': 8.56.1 - '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.9.3) - '@typescript-eslint/utils': 8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) + typescript: 5.9.3 + + '@typescript-eslint/type-utils@8.62.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3)': + dependencies: + '@typescript-eslint/types': 8.62.0 + '@typescript-eslint/typescript-estree': 8.62.0(typescript@5.9.3) + '@typescript-eslint/utils': 8.62.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3) debug: 4.4.3 - eslint: 10.0.3(jiti@2.6.1) - ts-api-utils: 2.4.0(typescript@5.9.3) + eslint: 10.5.0(jiti@2.6.1) + ts-api-utils: 2.5.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: - supports-color '@typescript-eslint/types@8.56.1': {} + '@typescript-eslint/types@8.62.0': {} + '@typescript-eslint/typescript-estree@8.56.1(typescript@5.9.3)': dependencies: '@typescript-eslint/project-service': 8.56.1(typescript@5.9.3) @@ -14425,21 +14505,47 @@ snapshots: '@typescript-eslint/types': 8.56.1 '@typescript-eslint/visitor-keys': 8.56.1 debug: 4.4.3 - minimatch: 10.2.3 - semver: 7.7.4 - tinyglobby: 0.2.15 + minimatch: 10.2.4 + semver: 7.8.5 + tinyglobby: 0.2.16 ts-api-utils: 2.4.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/typescript-estree@8.62.0(typescript@5.9.3)': dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.3(jiti@2.6.1)) + '@typescript-eslint/project-service': 8.62.0(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.62.0(typescript@5.9.3) + '@typescript-eslint/types': 8.62.0 + '@typescript-eslint/visitor-keys': 8.62.0 + debug: 4.4.3 + minimatch: 10.2.4 + semver: 7.8.5 + tinyglobby: 0.2.16 + ts-api-utils: 2.5.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.56.1(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3)': + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@10.5.0(jiti@2.6.1)) '@typescript-eslint/scope-manager': 8.56.1 '@typescript-eslint/types': 8.56.1 '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.9.3) - eslint: 10.0.3(jiti@2.6.1) + eslint: 10.5.0(jiti@2.6.1) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.62.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3)': + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@10.5.0(jiti@2.6.1)) + '@typescript-eslint/scope-manager': 8.62.0 + '@typescript-eslint/types': 8.62.0 + '@typescript-eslint/typescript-estree': 8.62.0(typescript@5.9.3) + eslint: 10.5.0(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -14447,7 +14553,12 @@ snapshots: '@typescript-eslint/visitor-keys@8.56.1': dependencies: '@typescript-eslint/types': 8.56.1 - eslint-visitor-keys: 5.0.0 + eslint-visitor-keys: 5.0.1 + + '@typescript-eslint/visitor-keys@8.62.0': + dependencies: + '@typescript-eslint/types': 8.62.0 + eslint-visitor-keys: 5.0.1 '@typescript/vfs@1.6.2(typescript@5.9.3)': dependencies: @@ -14636,12 +14747,13 @@ snapshots: '@vitest/cjs-lib@file:test/browser/cjs-lib': {} - '@vitest/eslint-plugin@1.6.9(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)(vitest@packages+vitest)': + '@vitest/eslint-plugin@1.6.20(@typescript-eslint/eslint-plugin@8.62.0(@typescript-eslint/parser@8.62.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3)(vitest@packages+vitest)': dependencies: - '@typescript-eslint/scope-manager': 8.56.1 - '@typescript-eslint/utils': 8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) - eslint: 10.0.3(jiti@2.6.1) + '@typescript-eslint/scope-manager': 8.62.0 + '@typescript-eslint/utils': 8.62.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3) + eslint: 10.5.0(jiti@2.6.1) optionalDependencies: + '@typescript-eslint/eslint-plugin': 8.62.0(@typescript-eslint/parser@8.62.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3) typescript: 5.9.3 vitest: link:packages/vitest transitivePeerDependencies: @@ -15022,16 +15134,9 @@ snapshots: agent-base@7.1.3: {} - ajv-formats@3.0.1(ajv@8.17.1): + ajv-formats@3.0.1(ajv@8.20.0): optionalDependencies: - ajv: 8.17.1 - - ajv@6.14.0: - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 + ajv: 8.20.0 ajv@6.15.0: dependencies: @@ -15040,17 +15145,10 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 - ajv@8.17.1: - dependencies: - fast-deep-equal: 3.1.3 - fast-uri: 3.0.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - ajv@8.20.0: dependencies: fast-deep-equal: 3.1.3 - fast-uri: 3.1.2 + fast-uri: 3.0.3 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 @@ -15081,7 +15179,7 @@ snapshots: anymatch@3.1.3: dependencies: normalize-path: 3.0.0 - picomatch: 2.3.1 + picomatch: 2.3.2 appdata-path@1.0.0: {} @@ -15286,10 +15384,6 @@ snapshots: balanced-match: 1.0.2 concat-map: 0.0.1 - brace-expansion@2.0.1: - dependencies: - balanced-match: 1.0.2 - brace-expansion@2.1.1: dependencies: balanced-match: 1.0.2 @@ -15401,6 +15495,8 @@ snapshots: cac@6.7.14(patch_hash=a8f0f3517a47ce716ed90c0cfe6ae382ab763b021a664ada2a608477d0621588): {} + cac@7.0.0: {} + call-bind-apply-helpers@1.0.2: dependencies: es-errors: 1.3.0 @@ -15646,10 +15742,6 @@ snapshots: dependencies: is-what: 4.1.8 - core-js-compat@3.47.0: - dependencies: - browserslist: 4.28.1 - core-js-compat@3.49.0: dependencies: browserslist: 4.28.4 @@ -15952,7 +16044,7 @@ snapshots: '@one-ini/wasm': 0.1.1 commander: 10.0.1 minimatch: 9.0.1 - semver: 7.7.4 + semver: 7.8.5 ee-first@1.1.1: {} @@ -16165,55 +16257,62 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-compat-utils@0.5.1(eslint@10.0.3(jiti@2.6.1)): + eslint-compat-utils@0.5.1(eslint@10.5.0(jiti@2.6.1)): dependencies: - eslint: 10.0.3(jiti@2.6.1) - semver: 7.7.4 + eslint: 10.5.0(jiti@2.6.1) + semver: 7.8.5 - eslint-config-flat-gitignore@2.2.1(eslint@10.0.3(jiti@2.6.1)): + eslint-config-flat-gitignore@2.2.1(eslint@10.5.0(jiti@2.6.1)): dependencies: - '@eslint/compat': 2.0.2(eslint@10.0.3(jiti@2.6.1)) - eslint: 10.0.3(jiti@2.6.1) + '@eslint/compat': 2.0.2(eslint@10.5.0(jiti@2.6.1)) + eslint: 10.5.0(jiti@2.6.1) - eslint-flat-config-utils@3.0.1: + eslint-flat-config-utils@3.2.0: dependencies: - '@eslint/config-helpers': 0.5.2 + '@eslint/config-helpers': 0.5.5 pathe: 2.0.3 - eslint-json-compat-utils@0.2.1(eslint@10.0.3(jiti@2.6.1))(jsonc-eslint-parser@3.1.0): + eslint-json-compat-utils@0.2.1(eslint@10.5.0(jiti@2.6.1))(jsonc-eslint-parser@3.1.0): dependencies: - eslint: 10.0.3(jiti@2.6.1) + eslint: 10.5.0(jiti@2.6.1) esquery: 1.7.0 jsonc-eslint-parser: 3.1.0 - eslint-merge-processors@2.0.0(eslint@10.0.3(jiti@2.6.1)): + eslint-merge-processors@2.0.0(eslint@10.5.0(jiti@2.6.1)): dependencies: - eslint: 10.0.3(jiti@2.6.1) + eslint: 10.5.0(jiti@2.6.1) - eslint-plugin-antfu@3.2.2(eslint@10.0.3(jiti@2.6.1)): + eslint-plugin-antfu@3.2.2(eslint@10.5.0(jiti@2.6.1)): dependencies: - eslint: 10.0.3(jiti@2.6.1) + eslint: 10.5.0(jiti@2.6.1) - eslint-plugin-command@3.5.2(@typescript-eslint/rule-tester@8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(@typescript-eslint/typescript-estree@8.56.1(typescript@5.9.3))(@typescript-eslint/utils@8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.3(jiti@2.6.1)): + eslint-plugin-command@3.5.2(@typescript-eslint/rule-tester@8.56.1(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(@typescript-eslint/typescript-estree@8.62.0(typescript@5.9.3))(@typescript-eslint/utils@8.62.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1)): dependencies: '@es-joy/jsdoccomment': 0.84.0 - '@typescript-eslint/rule-tester': 8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.9.3) - '@typescript-eslint/utils': 8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) - eslint: 10.0.3(jiti@2.6.1) + '@typescript-eslint/rule-tester': 8.56.1(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.62.0(typescript@5.9.3) + '@typescript-eslint/utils': 8.62.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3) + eslint: 10.5.0(jiti@2.6.1) + + eslint-plugin-depend@1.5.0(eslint@10.5.0(jiti@2.6.1)): + dependencies: + empathic: 2.0.0 + eslint: 10.5.0(jiti@2.6.1) + module-replacements: 2.11.0 + semver: 7.8.5 - eslint-plugin-es-x@7.8.0(eslint@10.0.3(jiti@2.6.1)): + eslint-plugin-es-x@7.8.0(eslint@10.5.0(jiti@2.6.1)): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.3(jiti@2.6.1)) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.5.0(jiti@2.6.1)) '@eslint-community/regexpp': 4.12.2 - eslint: 10.0.3(jiti@2.6.1) - eslint-compat-utils: 0.5.1(eslint@10.0.3(jiti@2.6.1)) + eslint: 10.5.0(jiti@2.6.1) + eslint-compat-utils: 0.5.1(eslint@10.5.0(jiti@2.6.1)) - eslint-plugin-import-lite@0.5.2(eslint@10.0.3(jiti@2.6.1)): + eslint-plugin-import-lite@0.5.2(eslint@10.5.0(jiti@2.6.1)): dependencies: - eslint: 10.0.3(jiti@2.6.1) + eslint: 10.5.0(jiti@2.6.1) - eslint-plugin-jsdoc@62.7.1(eslint@10.0.3(jiti@2.6.1)): + eslint-plugin-jsdoc@62.7.1(eslint@10.5.0(jiti@2.6.1)): dependencies: '@es-joy/jsdoccomment': 0.84.0 '@es-joy/resolve.exports': 1.2.0 @@ -16221,101 +16320,101 @@ snapshots: comment-parser: 1.4.5 debug: 4.4.3 escape-string-regexp: 4.0.0 - eslint: 10.0.3(jiti@2.6.1) - espree: 11.1.0 + eslint: 10.5.0(jiti@2.6.1) + espree: 11.2.0 esquery: 1.7.0 html-entities: 2.6.0 object-deep-merge: 2.0.0 parse-imports-exports: 0.2.4 - semver: 7.7.4 + semver: 7.8.5 spdx-expression-parse: 4.0.0 to-valid-identifier: 1.0.0 transitivePeerDependencies: - supports-color - eslint-plugin-jsonc@3.1.1(eslint@10.0.3(jiti@2.6.1)): + eslint-plugin-jsonc@3.1.1(eslint@10.5.0(jiti@2.6.1)): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.3(jiti@2.6.1)) - '@eslint/core': 1.1.0 - '@eslint/plugin-kit': 0.6.0 + '@eslint-community/eslint-utils': 4.9.1(eslint@10.5.0(jiti@2.6.1)) + '@eslint/core': 1.1.1 + '@eslint/plugin-kit': 0.6.1 '@ota-meshi/ast-token-store': 0.3.0 diff-sequences: 29.6.3 - eslint: 10.0.3(jiti@2.6.1) - eslint-json-compat-utils: 0.2.1(eslint@10.0.3(jiti@2.6.1))(jsonc-eslint-parser@3.1.0) + eslint: 10.5.0(jiti@2.6.1) + eslint-json-compat-utils: 0.2.1(eslint@10.5.0(jiti@2.6.1))(jsonc-eslint-parser@3.1.0) jsonc-eslint-parser: 3.1.0 natural-compare: 1.4.0 synckit: 0.11.12 transitivePeerDependencies: - '@eslint/json' - eslint-plugin-n@17.24.0(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3): + eslint-plugin-n@17.24.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.3(jiti@2.6.1)) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.5.0(jiti@2.6.1)) enhanced-resolve: 5.18.4 - eslint: 10.0.3(jiti@2.6.1) - eslint-plugin-es-x: 7.8.0(eslint@10.0.3(jiti@2.6.1)) + eslint: 10.5.0(jiti@2.6.1) + eslint-plugin-es-x: 7.8.0(eslint@10.5.0(jiti@2.6.1)) get-tsconfig: 4.13.0 globals: 15.15.0 globrex: 0.1.2 ignore: 5.3.2 - semver: 7.7.4 + semver: 7.8.5 ts-declaration-location: 1.0.7(typescript@5.9.3) transitivePeerDependencies: - typescript eslint-plugin-no-only-tests@3.3.0: {} - eslint-plugin-perfectionist@5.6.0(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3): + eslint-plugin-perfectionist@5.6.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3): dependencies: - '@typescript-eslint/utils': 8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) - eslint: 10.0.3(jiti@2.6.1) + '@typescript-eslint/utils': 8.56.1(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3) + eslint: 10.5.0(jiti@2.6.1) natural-orderby: 5.0.0 transitivePeerDependencies: - supports-color - typescript - eslint-plugin-pnpm@1.6.0(eslint@10.0.3(jiti@2.6.1)): + eslint-plugin-pnpm@1.6.0(eslint@10.5.0(jiti@2.6.1)): dependencies: empathic: 2.0.0 - eslint: 10.0.3(jiti@2.6.1) + eslint: 10.5.0(jiti@2.6.1) jsonc-eslint-parser: 3.1.0 pathe: 2.0.3 pnpm-workspace-yaml: 1.6.0 - tinyglobby: 0.2.15 + tinyglobby: 0.2.16 yaml: 2.8.2 yaml-eslint-parser: 2.0.0 - eslint-plugin-regexp@3.0.0(eslint@10.0.3(jiti@2.6.1)): + eslint-plugin-regexp@3.1.0(eslint@10.5.0(jiti@2.6.1)): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.3(jiti@2.6.1)) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.5.0(jiti@2.6.1)) '@eslint-community/regexpp': 4.12.2 comment-parser: 1.4.5 - eslint: 10.0.3(jiti@2.6.1) - jsdoc-type-pratt-parser: 7.1.0 + eslint: 10.5.0(jiti@2.6.1) + jsdoc-type-pratt-parser: 7.1.1 refa: 0.12.1 regexp-ast-analysis: 0.7.1 scslre: 0.3.0 - eslint-plugin-toml@1.3.0(eslint@10.0.3(jiti@2.6.1)): + eslint-plugin-toml@1.4.0(eslint@10.5.0(jiti@2.6.1)): dependencies: - '@eslint/core': 1.1.0 - '@eslint/plugin-kit': 0.6.0 + '@eslint/core': 1.1.1 + '@eslint/plugin-kit': 0.7.2 '@ota-meshi/ast-token-store': 0.3.0 debug: 4.4.3 - eslint: 10.0.3(jiti@2.6.1) + eslint: 10.5.0(jiti@2.6.1) toml-eslint-parser: 1.0.3 transitivePeerDependencies: - supports-color - eslint-plugin-unicorn@63.0.0(eslint@10.0.3(jiti@2.6.1)): + eslint-plugin-unicorn@63.0.0(eslint@10.5.0(jiti@2.6.1)): dependencies: - '@babel/helper-validator-identifier': 7.28.5 - '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.3(jiti@2.6.1)) + '@babel/helper-validator-identifier': 7.29.7 + '@eslint-community/eslint-utils': 4.9.1(eslint@10.5.0(jiti@2.6.1)) change-case: 5.4.4 ci-info: 4.3.1 clean-regexp: 1.0.0 - core-js-compat: 3.47.0 - eslint: 10.0.3(jiti@2.6.1) + core-js-compat: 3.49.0 + eslint: 10.5.0(jiti@2.6.1) find-up-simple: 1.0.1 globals: 16.5.0 indent-string: 5.0.0 @@ -16323,58 +16422,50 @@ snapshots: jsesc: 3.1.0 pluralize: 8.0.0 regexp-tree: 0.1.27 - regjsparser: 0.13.0 - semver: 7.7.4 + regjsparser: 0.13.2 + semver: 7.8.5 strip-indent: 4.1.1 - eslint-plugin-unused-imports@4.4.1(@typescript-eslint/eslint-plugin@8.56.1(@typescript-eslint/parser@8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.3(jiti@2.6.1)): + eslint-plugin-unused-imports@4.4.1(@typescript-eslint/eslint-plugin@8.62.0(@typescript-eslint/parser@8.62.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1)): dependencies: - eslint: 10.0.3(jiti@2.6.1) + eslint: 10.5.0(jiti@2.6.1) optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.56.1(@typescript-eslint/parser@8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/eslint-plugin': 8.62.0(@typescript-eslint/parser@8.62.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3) - eslint-plugin-vue@10.8.0(@stylistic/eslint-plugin@5.9.0(eslint@10.0.3(jiti@2.6.1)))(@typescript-eslint/parser@8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.3(jiti@2.6.1))(vue-eslint-parser@10.4.0(eslint@10.0.3(jiti@2.6.1))): + eslint-plugin-vue@10.8.0(@stylistic/eslint-plugin@5.10.0(eslint@10.5.0(jiti@2.6.1)))(@typescript-eslint/parser@8.62.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(vue-eslint-parser@10.4.0(eslint@10.5.0(jiti@2.6.1))): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.3(jiti@2.6.1)) - eslint: 10.0.3(jiti@2.6.1) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.5.0(jiti@2.6.1)) + eslint: 10.5.0(jiti@2.6.1) natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 7.1.1 - semver: 7.7.4 - vue-eslint-parser: 10.4.0(eslint@10.0.3(jiti@2.6.1)) + semver: 7.8.5 + vue-eslint-parser: 10.4.0(eslint@10.5.0(jiti@2.6.1)) xml-name-validator: 4.0.0 optionalDependencies: - '@stylistic/eslint-plugin': 5.9.0(eslint@10.0.3(jiti@2.6.1)) - '@typescript-eslint/parser': 8.56.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3) + '@stylistic/eslint-plugin': 5.10.0(eslint@10.5.0(jiti@2.6.1)) + '@typescript-eslint/parser': 8.62.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3) - eslint-plugin-yml@3.3.0(eslint@10.0.3(jiti@2.6.1)): + eslint-plugin-yml@3.4.0(eslint@10.5.0(jiti@2.6.1)): dependencies: - '@eslint/core': 1.1.0 - '@eslint/plugin-kit': 0.6.0 + '@eslint/core': 1.1.1 + '@eslint/plugin-kit': 0.7.2 '@ota-meshi/ast-token-store': 0.3.0 - debug: 4.4.3 diff-sequences: 29.6.3 escape-string-regexp: 5.0.0 - eslint: 10.0.3(jiti@2.6.1) + eslint: 10.5.0(jiti@2.6.1) natural-compare: 1.4.0 yaml-eslint-parser: 2.0.0 - transitivePeerDependencies: - - supports-color - eslint-processor-vue-blocks@2.0.0(@vue/compiler-sfc@3.5.29)(eslint@10.0.3(jiti@2.6.1)): + eslint-processor-vue-blocks@2.0.0(@vue/compiler-sfc@3.5.29)(eslint@10.5.0(jiti@2.6.1)): dependencies: '@vue/compiler-sfc': 3.5.29 - eslint: 10.0.3(jiti@2.6.1) - - eslint-scope@8.4.0: - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 + eslint: 10.5.0(jiti@2.6.1) eslint-scope@9.1.2: dependencies: '@types/esrecurse': 4.3.1 - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 esrecurse: 4.3.0 estraverse: 5.3.0 @@ -16382,23 +16473,21 @@ snapshots: eslint-visitor-keys@4.2.1: {} - eslint-visitor-keys@5.0.0: {} - eslint-visitor-keys@5.0.1: {} - eslint@10.0.3(jiti@2.6.1): + eslint@10.5.0(jiti@2.6.1): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.3(jiti@2.6.1)) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.5.0(jiti@2.6.1)) '@eslint-community/regexpp': 4.12.2 - '@eslint/config-array': 0.23.3 - '@eslint/config-helpers': 0.5.2 - '@eslint/core': 1.1.1 - '@eslint/plugin-kit': 0.6.1 + '@eslint/config-array': 0.23.5 + '@eslint/config-helpers': 0.6.0 + '@eslint/core': 1.2.1 + '@eslint/plugin-kit': 0.7.2 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.2 - '@types/estree': 1.0.8 - ajv: 6.14.0 + '@types/estree': 1.0.9 + ajv: 6.15.0 cross-spawn: 7.0.6 debug: 4.4.3 escape-string-regexp: 4.0.0 @@ -16429,12 +16518,6 @@ snapshots: acorn-jsx: 5.3.2(acorn@8.11.3(patch_hash=62f89b815dbd769c8a4d5b19b1f6852f28922ecb581d876c8a8377d05c2483c4)) eslint-visitor-keys: 4.2.1 - espree@11.1.0: - dependencies: - acorn: 8.11.3(patch_hash=62f89b815dbd769c8a4d5b19b1f6852f28922ecb581d876c8a8377d05c2483c4) - acorn-jsx: 5.3.2(acorn@8.11.3(patch_hash=62f89b815dbd769c8a4d5b19b1f6852f28922ecb581d876c8a8377d05c2483c4)) - eslint-visitor-keys: 5.0.0 - espree@11.2.0: dependencies: acorn: 8.11.3(patch_hash=62f89b815dbd769c8a4d5b19b1f6852f28922ecb581d876c8a8377d05c2483c4) @@ -16565,8 +16648,8 @@ snapshots: fast-json-stringify@6.0.1: dependencies: '@fastify/merge-json-schemas': 0.2.1 - ajv: 8.17.1 - ajv-formats: 3.0.1(ajv@8.17.1) + ajv: 8.20.0 + ajv-formats: 3.0.1(ajv@8.20.0) fast-uri: 3.0.3 json-schema-ref-resolver: 2.0.1 rfdc: 1.4.1 @@ -16579,9 +16662,17 @@ snapshots: fast-safe-stringify@2.1.1: {} + fast-string-truncated-width@3.0.3: {} + + fast-string-width@3.0.2: + dependencies: + fast-string-truncated-width: 3.0.3 + fast-uri@3.0.3: {} - fast-uri@3.1.2: {} + fast-wrap-ansi@0.2.2: + dependencies: + fast-string-width: 3.0.2 fast-xml-parser@5.2.5: dependencies: @@ -16900,7 +16991,7 @@ snapshots: globals@16.5.0: {} - globals@17.3.0: {} + globals@17.7.0: {} globalthis@1.0.4: dependencies: @@ -16952,7 +17043,7 @@ snapshots: '@types/ws': 8.18.1 entities: 7.0.1 whatwg-mimetype: 3.0.0 - ws: 8.20.1 + ws: 8.21.0 transitivePeerDependencies: - bufferutil - utf-8-validate @@ -17395,8 +17486,6 @@ snapshots: jsbn@1.1.0: {} - jsdoc-type-pratt-parser@7.1.0: {} - jsdoc-type-pratt-parser@7.1.1: {} jsdom@27.4.0(@noble/hashes@1.8.0): @@ -17473,8 +17562,8 @@ snapshots: jsonc-eslint-parser@3.1.0: dependencies: acorn: 8.11.3(patch_hash=62f89b815dbd769c8a4d5b19b1f6852f28922ecb581d876c8a8377d05c2483c4) - eslint-visitor-keys: 5.0.0 - semver: 7.7.4 + eslint-visitor-keys: 5.0.1 + semver: 7.8.5 jsonc-parser@3.3.1: {} @@ -18137,7 +18226,7 @@ snapshots: micromatch@4.0.8: dependencies: braces: 3.0.3 - picomatch: 2.3.1 + picomatch: 2.3.2 optional: true millify@6.1.0: @@ -18166,10 +18255,6 @@ snapshots: dependencies: '@isaacs/brace-expansion': 5.0.0 - minimatch@10.2.3: - dependencies: - brace-expansion: 5.0.3 - minimatch@10.2.4: dependencies: brace-expansion: 5.0.3 @@ -18178,21 +18263,17 @@ snapshots: dependencies: brace-expansion: 1.1.15 - minimatch@5.1.6: - dependencies: - brace-expansion: 2.0.1 - minimatch@5.1.9: dependencies: brace-expansion: 2.1.1 minimatch@9.0.1: dependencies: - brace-expansion: 2.0.1 + brace-expansion: 2.1.1 minimatch@9.0.5: dependencies: - brace-expansion: 2.0.1 + brace-expansion: 2.1.1 minipass@3.3.4: dependencies: @@ -18224,6 +18305,8 @@ snapshots: module-details-from-path@1.0.4: {} + module-replacements@2.11.0: {} + moment@2.30.1: {} mri@1.2.0: {} @@ -18655,8 +18738,6 @@ snapshots: picocolors@1.1.1: {} - picomatch@2.3.1: {} - picomatch@2.3.2: {} picomatch@4.0.3: {} @@ -18922,11 +19003,11 @@ snapshots: readdir-glob@1.1.2: dependencies: - minimatch: 5.1.6 + minimatch: 5.1.9 readdirp@3.6.0: dependencies: - picomatch: 2.3.1 + picomatch: 2.3.2 readdirp@4.0.2: {} @@ -18999,10 +19080,6 @@ snapshots: regjsgen@0.8.0: {} - regjsparser@0.13.0: - dependencies: - jsesc: 3.1.0 - regjsparser@0.13.2: dependencies: jsesc: 3.1.0 @@ -19978,7 +20055,7 @@ snapshots: toml-eslint-parser@1.0.3: dependencies: - eslint-visitor-keys: 5.0.0 + eslint-visitor-keys: 5.0.1 totalist@3.0.0: {} @@ -20010,9 +20087,13 @@ snapshots: dependencies: typescript: 5.9.3 + ts-api-utils@2.5.0(typescript@5.9.3): + dependencies: + typescript: 5.9.3 + ts-declaration-location@1.0.7(typescript@5.9.3): dependencies: - picomatch: 4.0.3 + picomatch: 4.0.4 typescript: 5.9.3 tslib@2.8.1: {} @@ -20479,15 +20560,15 @@ snapshots: dependencies: vue: 3.5.29(typescript@5.9.3) - vue-eslint-parser@10.4.0(eslint@10.0.3(jiti@2.6.1)): + vue-eslint-parser@10.4.0(eslint@10.5.0(jiti@2.6.1)): dependencies: debug: 4.4.3 - eslint: 10.0.3(jiti@2.6.1) - eslint-scope: 8.4.0 - eslint-visitor-keys: 5.0.0 - espree: 11.1.0 + eslint: 10.5.0(jiti@2.6.1) + eslint-scope: 9.1.2 + eslint-visitor-keys: 5.0.1 + espree: 11.2.0 esquery: 1.7.0 - semver: 7.7.4 + semver: 7.8.5 transitivePeerDependencies: - supports-color @@ -20846,8 +20927,6 @@ snapshots: ws@8.18.3: {} - ws@8.20.1: {} - ws@8.21.0: {} xml-name-validator@4.0.0: {} @@ -20864,7 +20943,7 @@ snapshots: yaml-eslint-parser@2.0.0: dependencies: - eslint-visitor-keys: 5.0.0 + eslint-visitor-keys: 5.0.1 yaml: 2.8.2 yaml@2.8.2: {} diff --git a/test/e2e/snapshots/properties.test.ts b/test/e2e/snapshots/properties.test.ts index a6b505b7a..15858f4d1 100644 --- a/test/e2e/snapshots/properties.test.ts +++ b/test/e2e/snapshots/properties.test.ts @@ -6,7 +6,7 @@ import { editFile, runVitest } from '../../test-utils' const INLINE_BLOCK_RE = /\/\/ -- TEST INLINE START --\n([\s\S]*?)\/\/ -- TEST INLINE END --/g function extractInlineBlocks(content: string): string { - return [...content.matchAll(INLINE_BLOCK_RE)].map(m => m[1].trim()).join('\n\n') + return Array.from(content.matchAll(INLINE_BLOCK_RE), m => m[1].trim()).join('\n\n') } test('toMatchSnapshot and toMatchInlineSnapshot with properties', async () => { diff --git a/test/e2e/test/benchmarking.test.ts b/test/e2e/test/benchmarking.test.ts index 92af67411..1d9587b43 100644 --- a/test/e2e/test/benchmarking.test.ts +++ b/test/e2e/test/benchmarking.test.ts @@ -706,7 +706,7 @@ test('`bench.from()` rows render rme and samples columns from the stored data', const cells = storedRow.trim().replace(/\s+(?:fastest|slowest)\s*$/, '').split(/\s+/) // rme + samples must be real values, not the `-` placeholder expect(cells[cells.length - 2]).toBe('±1.23%') - expect(cells[cells.length - 1]).toBe('7') + expect(cells.at(-1)).toBe('7') }) test('`benchmark.include` overrides the default `*.bench.ts` pattern', async () => { diff --git a/test/unit/src/cjs/prototype-cjs.js b/test/unit/src/cjs/prototype-cjs.js index d52c76dfd..21baafb72 100644 --- a/test/unit/src/cjs/prototype-cjs.js +++ b/test/unit/src/cjs/prototype-cjs.js @@ -1,6 +1,5 @@ exports.test = () => { - // eslint-disable-next-line no-prototype-builtins - return exports.hasOwnProperty('test') + return Object.hasOwn(exports, 'test') } exports.getPrototype = () => { return Object.getPrototypeOf(exports) diff --git a/test/unit/test/each.test.ts b/test/unit/test/each.test.ts index 6592edcd3..60b5df709 100644 --- a/test/unit/test/each.test.ts +++ b/test/unit/test/each.test.ts @@ -90,7 +90,7 @@ test.each([ ])('return a promise like result %#', async (a, b, expected) => { const promiseResolver = (first: number, second: number) => { return new Promise((resolve) => { - setTimeout(() => resolve(first + second), 1) + setTimeout(resolve, 1, first + second) }) } @@ -112,7 +112,7 @@ test.each([ ])('return a promise like result %$', async (a, b, expected) => { const promiseResolver = (first: number, second: number) => { return new Promise((resolve) => { - setTimeout(() => resolve(first + second), 1) + setTimeout(resolve, 1, first + second) }) } diff --git a/test/unit/test/snapshot-custom-serializer.test.ts b/test/unit/test/snapshot-custom-serializer.test.ts index 07aae5864..c82c5014c 100644 --- a/test/unit/test/snapshot-custom-serializer.test.ts +++ b/test/unit/test/snapshot-custom-serializer.test.ts @@ -32,7 +32,7 @@ test('basic', () => { )}` }, test(val) { - return val && Object.prototype.hasOwnProperty.call(val, 'foo') + return val && Object.hasOwn(val, 'foo') }, }) diff --git a/test/unit/test/timers-queueMicrotask.test.ts b/test/unit/test/timers-queueMicrotask.test.ts index 25edc40c9..2fc61b106 100644 --- a/test/unit/test/timers-queueMicrotask.test.ts +++ b/test/unit/test/timers-queueMicrotask.test.ts @@ -20,7 +20,7 @@ test.skip(`node fetch timeouts with fake queueMicrotask`, async () => { }) expect( await Promise.race([ - new Promise(r => setTimeout(() => r('timeout'), 200)), + new Promise(r => setTimeout(r, 200, 'timeout')), Response.json('ok').json(), ]), ).toBe('timeout') diff --git a/test/unit/test/utils.spec.ts b/test/unit/test/utils.spec.ts index a9f135373..0dd18259e 100644 --- a/test/unit/test/utils.spec.ts +++ b/test/unit/test/utils.spec.ts @@ -365,7 +365,7 @@ describe('parseSingleFFOrSafariStack', () => { const size = 40 const obj = Object.fromEntries( - [...Array.from({ length: size }).keys()].map(i => [`prop${i}`, i]), + Array.from(Array.from({ length: size }).keys(), i => [`prop${i}`, i]), ) class PrettyError extends globalThis.Error { -- 2.51.2