diff --git a/Build/lib/create-file.test.ts b/Build/lib/create-file.test.ts index eae248cf..ab99ed68 100644 --- a/Build/lib/create-file.test.ts +++ b/Build/lib/create-file.test.ts @@ -1,4 +1,4 @@ -import { expect } from 'expect'; +import { expect } from 'earl'; import { fileEqual } from './create-file'; // eslint-disable-next-line @typescript-eslint/require-await -- async iterable @@ -9,7 +9,7 @@ async function *createSource(input: string[]) { } async function test(a: string[], b: string[], expected: boolean) { - expect((await fileEqual(a, createSource(b)))).toBe(expected); + expect((await fileEqual(a, createSource(b)))).toEqual(expected); } describe('fileEqual', () => { diff --git a/Build/lib/process-line.test.ts b/Build/lib/process-line.test.ts index ff12f5a3..2dde4c18 100644 --- a/Build/lib/process-line.test.ts +++ b/Build/lib/process-line.test.ts @@ -1,7 +1,7 @@ import { describe, it } from 'mocha'; import { processLine } from './process-line'; -import { expect } from 'expect'; +import { expect } from 'earl'; describe('processLine', () => { ([ @@ -16,7 +16,7 @@ describe('processLine', () => { ['##### EOF', null] ] as const).forEach(([input, expected]) => { it(input, () => { - expect(processLine(input)).toBe(expected); + expect(processLine(input)).toEqual(expected); }); }); }); diff --git a/Build/lib/trie.test.ts b/Build/lib/trie.test.ts index ce4b991e..9fe67636 100644 --- a/Build/lib/trie.test.ts +++ b/Build/lib/trie.test.ts @@ -1,5 +1,5 @@ import { describe, it } from 'mocha'; -import { expect } from 'expect'; +import { expect } from 'earl'; import { HostnameSmolTrie, HostnameTrie } from './trie'; function createTrie(from: string[] | Set | null, smolTree: true): HostnameSmolTrie; @@ -13,7 +13,7 @@ function createTrie<_Meta = any>(from?: string[] | Set | null, smolTree // describe('hostname to tokens', () => { // it('should split hostname into tokens.', () => { -// expect(hostnameToTokens('.blog.skk.moe')).toStrictEqual([ +// expect(hostnameToTokens('.blog.skk.moe')).toEqual([ // '.', // 'blog', // '.', @@ -22,7 +22,7 @@ function createTrie<_Meta = any>(from?: string[] | Set | null, smolTree // 'moe' // ]); -// expect(hostnameToTokens('blog.skk.moe')).toStrictEqual([ +// expect(hostnameToTokens('blog.skk.moe')).toEqual([ // 'blog', // '.', // 'skk', @@ -30,13 +30,13 @@ function createTrie<_Meta = any>(from?: string[] | Set | null, smolTree // 'moe' // ]); -// expect(hostnameToTokens('skk.moe')).toStrictEqual([ +// expect(hostnameToTokens('skk.moe')).toEqual([ // 'skk', // '.', // 'moe' // ]); -// expect(hostnameToTokens('moe')).toStrictEqual([ +// expect(hostnameToTokens('moe')).toEqual([ // 'moe' // ]); // }); @@ -50,14 +50,14 @@ describe('Trie', () => { trie.add('skk.moe'); trie.add('anotherskk.moe'); - expect(trie.size).toBe(3); + expect(trie.size).toEqual(3); - expect(trie.has('a.skk.moe')).toBe(true); - expect(trie.has('skk.moe')).toBe(true); - expect(trie.has('anotherskk.moe')).toBe(true); - expect(trie.has('example.com')).toBe(false); - expect(trie.has('skk.mo')).toBe(false); - expect(trie.has('another.skk.moe')).toBe(false); + expect(trie.has('a.skk.moe')).toEqual(true); + expect(trie.has('skk.moe')).toEqual(true); + expect(trie.has('anotherskk.moe')).toEqual(true); + expect(trie.has('example.com')).toEqual(false); + expect(trie.has('skk.mo')).toEqual(false); + expect(trie.has('another.skk.moe')).toEqual(false); }); it('adding the same item several times should not increase size.', () => { @@ -68,19 +68,19 @@ describe('Trie', () => { // eslint-disable-next-line sukka/no-element-overwrite -- deliberately do testing trie.add('skk.moe'); - expect(trie.size).toBe(2); - expect(trie.has('skk.moe')).toBe(true); + expect(trie.size).toEqual(2); + expect(trie.has('skk.moe')).toEqual(true); }); it('should be possible to set the null sequence.', () => { const trie = createTrie(null, false); trie.add(''); - expect(trie.has('')).toBe(true); + expect(trie.has('')).toEqual(true); const trie2 = createTrie(null, true); trie2.add(''); - expect(trie2.has('')).toBe(true); + expect(trie2.has('')).toEqual(true); }); it('should be possible to delete items.', () => { @@ -91,19 +91,19 @@ describe('Trie', () => { trie.add('example.com'); trie.add('moe.sb'); - expect(trie.delete('no-match.com')).toBe(false); - expect(trie.delete('example.org')).toBe(false); + expect(trie.delete('no-match.com')).toEqual(false); + expect(trie.delete('example.org')).toEqual(false); - expect(trie.delete('skk.moe')).toBe(true); - expect(trie.has('skk.moe')).toBe(false); - expect(trie.has('moe.sb')).toBe(true); + expect(trie.delete('skk.moe')).toEqual(true); + expect(trie.has('skk.moe')).toEqual(false); + expect(trie.has('moe.sb')).toEqual(true); - expect(trie.size).toBe(3); + expect(trie.size).toEqual(3); - expect(trie.delete('example.com')).toBe(true); - expect(trie.size).toBe(2); - expect(trie.delete('moe.sb')).toBe(true); - expect(trie.size).toBe(1); + expect(trie.delete('example.com')).toEqual(true); + expect(trie.size).toEqual(2); + expect(trie.delete('moe.sb')).toEqual(true); + expect(trie.size).toEqual(1); }); it('should be possible to check the existence of a sequence in the Trie.', () => { @@ -111,10 +111,10 @@ describe('Trie', () => { trie.add('example.org.skk.moe'); - expect(trie.has('example.org.skk.moe')).toBe(true); - expect(trie.has('skk.moe')).toBe(false); - expect(trie.has('example.org')).toBe(false); - expect(trie.has('')).toBe(false); + expect(trie.has('example.org.skk.moe')).toEqual(true); + expect(trie.has('skk.moe')).toEqual(false); + expect(trie.has('example.org')).toEqual(false); + expect(trie.has('')).toEqual(false); }); it('should be possible to retrieve items matching the given prefix.', () => { @@ -125,12 +125,12 @@ describe('Trie', () => { trie.add('cdn.example.com'); trie.add('example.org'); - expect(trie.find('example.com')).toStrictEqual(['example.com', 'cdn.example.com', 'blog.example.com']); - expect(trie.find('com')).toStrictEqual(['example.com', 'cdn.example.com', 'blog.example.com']); - expect(trie.find('.example.com')).toStrictEqual(['cdn.example.com', 'blog.example.com']); - expect(trie.find('org')).toStrictEqual(['example.org']); - expect(trie.find('example.net')).toStrictEqual([]); - expect(trie.dump()).toStrictEqual(['example.org', 'example.com', 'cdn.example.com', 'blog.example.com']); + expect(trie.find('example.com')).toEqual(['example.com', 'cdn.example.com', 'blog.example.com']); + expect(trie.find('com')).toEqual(['example.com', 'cdn.example.com', 'blog.example.com']); + expect(trie.find('.example.com')).toEqual(['cdn.example.com', 'blog.example.com']); + expect(trie.find('org')).toEqual(['example.org']); + expect(trie.find('example.net')).toEqual([]); + expect(trie.dump()).toEqual(['example.org', 'example.com', 'cdn.example.com', 'blog.example.com']); }); it('should be possible to retrieve items matching the given prefix even with a smol trie', () => { @@ -142,23 +142,23 @@ describe('Trie', () => { trie.add('cdn.example.com'); trie.add('example.org'); - expect(trie.find('example.com')).toStrictEqual(['.example.com']); - expect(trie.find('com')).toStrictEqual(['.example.com']); - expect(trie.find('.example.com')).toStrictEqual(['.example.com']); - expect(trie.find('org')).toStrictEqual(['example.org']); - expect(trie.find('example.net')).toStrictEqual([]); - expect(trie.dump()).toStrictEqual(['example.org', '.example.com']); + expect(trie.find('example.com')).toEqual(['.example.com']); + expect(trie.find('com')).toEqual(['.example.com']); + expect(trie.find('.example.com')).toEqual(['.example.com']); + expect(trie.find('org')).toEqual(['example.org']); + expect(trie.find('example.net')).toEqual([]); + expect(trie.dump()).toEqual(['example.org', '.example.com']); }); it('should be possible to create a trie from an arbitrary iterable.', () => { let trie = createTrie(['skk.moe', 'blog.skk.moe'], false); - expect(trie.size).toBe(2); - expect(trie.has('skk.moe')).toBe(true); + expect(trie.size).toEqual(2); + expect(trie.has('skk.moe')).toEqual(true); trie = createTrie(new Set(['skk.moe', 'example.com']), false); - expect(trie.size).toBe(2); - expect(trie.has('skk.moe')).toBe(true); + expect(trie.size).toEqual(2); + expect(trie.has('skk.moe')).toEqual(true); }); }); @@ -166,27 +166,27 @@ describe('surge domainset dedupe', () => { it('should not remove same entry', () => { const trie = createTrie(['.skk.moe', 'noc.one'], false); - expect(trie.find('.skk.moe')).toStrictEqual(['.skk.moe']); - expect(trie.find('noc.one')).toStrictEqual(['noc.one']); + expect(trie.find('.skk.moe')).toEqual(['.skk.moe']); + expect(trie.find('noc.one')).toEqual(['noc.one']); }); it('should match subdomain - 1', () => { const trie = createTrie(['www.noc.one', 'www.sukkaw.com', 'blog.skk.moe', 'image.cdn.skk.moe', 'cdn.sukkaw.net'], false); - expect(trie.find('.skk.moe')).toStrictEqual(['image.cdn.skk.moe', 'blog.skk.moe']); - expect(trie.find('.sukkaw.com')).toStrictEqual(['www.sukkaw.com']); + expect(trie.find('.skk.moe')).toEqual(['image.cdn.skk.moe', 'blog.skk.moe']); + expect(trie.find('.sukkaw.com')).toEqual(['www.sukkaw.com']); }); it('should match subdomain - 2', () => { const trie = createTrie(['www.noc.one', 'www.sukkaw.com', '.skk.moe', 'blog.skk.moe', 'image.cdn.skk.moe', 'cdn.sukkaw.net'], false); - expect(trie.find('.skk.moe')).toStrictEqual(['.skk.moe', 'image.cdn.skk.moe', 'blog.skk.moe']); - expect(trie.find('.sukkaw.com')).toStrictEqual(['www.sukkaw.com']); + expect(trie.find('.skk.moe')).toEqual(['.skk.moe', 'image.cdn.skk.moe', 'blog.skk.moe']); + expect(trie.find('.sukkaw.com')).toEqual(['www.sukkaw.com']); }); it('should not remove non-subdomain', () => { const trie = createTrie(['skk.moe', 'sukkaskk.moe'], false); - expect(trie.find('.skk.moe')).toStrictEqual([]); + expect(trie.find('.skk.moe')).toEqual([]); }); }); @@ -202,7 +202,7 @@ describe('smol tree', () => { 'img.skk.local' ], true); - expect(trie.dump()).toStrictEqual([ + expect(trie.dump()).toEqual([ 'img.skk.local', 'blog.img.skk.local', '.cdn.local', @@ -220,7 +220,7 @@ describe('smol tree', () => { '.blog.sub.example.com', 'sub.example.com', 'cdn.sub.example.com', '.sub.example.com' ], true); - expect(trie.dump()).toStrictEqual([ + expect(trie.dump()).toEqual([ '.sub.example.com', 'cdn.noc.one', 'www.noc.one', @@ -233,7 +233,7 @@ describe('smol tree', () => { '.skk.moe', 'blog.skk.moe', '.cdn.skk.moe', 'skk.moe' ], true); - expect(trie.dump()).toStrictEqual([ + expect(trie.dump()).toEqual([ '.skk.moe' ]); }); @@ -243,12 +243,12 @@ describe('smol tree', () => { '.blog.sub.example.com', 'cdn.sub.example.com', '.sub.example.com' ], true); - expect(trie.dump()).toStrictEqual([ + expect(trie.dump()).toEqual([ '.sub.example.com' ]); trie.add('.sub.example.com'); - expect(trie.dump()).toStrictEqual([ + expect(trie.dump()).toEqual([ '.sub.example.com' ]); }); @@ -261,7 +261,7 @@ describe('smol tree', () => { 'px.cdn.creative.medialytics.com' ], true); - expect(trie.dump()).toStrictEqual([ + expect(trie.dump()).toEqual([ 'cdn.creative.medialytics.com', 'px.cdn.creative.medialytics.com', 'commercial.shouji.360.cn', @@ -277,7 +277,7 @@ describe('smol tree', () => { 'blog.skk.moe' ], true); - expect(trie.dump()).toStrictEqual([ + expect(trie.dump()).toEqual([ 'anotherskk.moe', 'blog.anotherskk.moe', 'skk.moe', @@ -298,7 +298,7 @@ describe('smol tree', () => { trie.whitelist('.skk.moe'); - expect(trie.dump()).toStrictEqual([ + expect(trie.dump()).toEqual([ 'img.skk.local', 'blog.img.skk.local', '.cdn.local', @@ -307,7 +307,7 @@ describe('smol tree', () => { ]); trie.whitelist('anotherskk.moe'); - expect(trie.dump()).toStrictEqual([ + expect(trie.dump()).toEqual([ 'img.skk.local', 'blog.img.skk.local', '.cdn.local', @@ -317,25 +317,25 @@ describe('smol tree', () => { trie.add('anotherskk.moe'); trie.whitelist('.anotherskk.moe'); - expect(trie.dump()).toStrictEqual([ + expect(trie.dump()).toEqual([ 'img.skk.local', 'blog.img.skk.local', '.cdn.local' ]); trie.whitelist('img.skk.local'); - expect(trie.dump()).toStrictEqual([ + expect(trie.dump()).toEqual([ 'blog.img.skk.local', '.cdn.local' ]); trie.whitelist('cdn.local'); - expect(trie.dump()).toStrictEqual([ + expect(trie.dump()).toEqual([ 'blog.img.skk.local' ]); trie.whitelist('.skk.local'); - expect(trie.dump()).toStrictEqual([]); + expect(trie.dump()).toEqual([]); }); it('should whitelist trie correctly', () => { @@ -348,22 +348,22 @@ describe('smol tree', () => { 'cdn.example.com' ], true); - expect(trie.dump()).toStrictEqual([ + expect(trie.dump()).toEqual([ 'cdn.example.com', 'blog.cdn.example.com', '.skk.moe', '.t.co' ]); trie.whitelist('.t.co'); - expect(trie.dump()).toStrictEqual([ + expect(trie.dump()).toEqual([ 'cdn.example.com', 'blog.cdn.example.com', '.skk.moe' ]); trie.whitelist('skk.moe'); - expect(trie.dump()).toStrictEqual(['cdn.example.com', 'blog.cdn.example.com']); + expect(trie.dump()).toEqual(['cdn.example.com', 'blog.cdn.example.com']); trie.whitelist('cdn.example.com'); - expect(trie.dump()).toStrictEqual(['blog.cdn.example.com']); + expect(trie.dump()).toEqual(['blog.cdn.example.com']); }); it('contains - normal', () => { @@ -374,15 +374,15 @@ describe('smol tree', () => { 'blog.skk.moe' ], true); - expect(trie.contains('skk.moe')).toBe(true); - expect(trie.contains('blog.skk.moe')).toBe(true); - expect(trie.contains('anotherskk.moe')).toBe(true); - expect(trie.contains('blog.anotherskk.moe')).toBe(true); + expect(trie.contains('skk.moe')).toEqual(true); + expect(trie.contains('blog.skk.moe')).toEqual(true); + expect(trie.contains('anotherskk.moe')).toEqual(true); + expect(trie.contains('blog.anotherskk.moe')).toEqual(true); - expect(trie.contains('example.com')).toBe(false); - expect(trie.contains('blog.example.com')).toBe(false); - expect(trie.contains('skk.mo')).toBe(false); - expect(trie.contains('cdn.skk.moe')).toBe(false); + expect(trie.contains('example.com')).toEqual(false); + expect(trie.contains('blog.example.com')).toEqual(false); + expect(trie.contains('skk.mo')).toEqual(false); + expect(trie.contains('cdn.skk.moe')).toEqual(false); }); it('contains - subdomain', () => { @@ -390,9 +390,9 @@ describe('smol tree', () => { 'index.rubygems.org' ], true); - expect(trie.contains('rubygems.org')).toBe(false); - expect(trie.contains('index.rubygems.org')).toBe(true); - expect(trie.contains('sub.index.rubygems.org')).toBe(false); + expect(trie.contains('rubygems.org')).toEqual(false); + expect(trie.contains('index.rubygems.org')).toEqual(true); + expect(trie.contains('sub.index.rubygems.org')).toEqual(false); }); it('contains - include subdomains', () => { @@ -400,12 +400,12 @@ describe('smol tree', () => { '.skk.moe' ], true); - expect(trie.contains('skk.moe')).toBe(true); - expect(trie.contains('blog.skk.moe')).toBe(true); - expect(trie.contains('image.cdn.skk.moe')).toBe(true); + expect(trie.contains('skk.moe')).toEqual(true); + expect(trie.contains('blog.skk.moe')).toEqual(true); + expect(trie.contains('image.cdn.skk.moe')).toEqual(true); - expect(trie.contains('example.com')).toBe(false); - expect(trie.contains('blog.example.com')).toBe(false); - expect(trie.contains('skk.mo')).toBe(false); + expect(trie.contains('example.com')).toEqual(false); + expect(trie.contains('blog.example.com')).toEqual(false); + expect(trie.contains('skk.mo')).toEqual(false); }); }); diff --git a/package.json b/package.json index 33c7f447..e19a6f65 100644 --- a/package.json +++ b/package.json @@ -59,10 +59,10 @@ "@types/node": "^24.10.13", "@types/tar-fs": "^2.0.4", "@types/yauzl-promise": "^4.0.1", + "earl": "^2.0.0", "eslint": "^10.0.1", "eslint-config-sukka": "^8.6.4", "eslint-formatter-sukka": "^8.6.4", - "expect": "^30.2.0", "mitata": "^1.0.34", "mocha": "^11.7.5", "tinyexec": "^1.0.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c5e8f3ac..e984c164 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -129,6 +129,9 @@ importers: '@types/yauzl-promise': specifier: ^4.0.1 version: 4.0.1 + earl: + specifier: ^2.0.0 + version: 2.0.0 eslint: specifier: ^10.0.1 version: 10.0.1 @@ -138,9 +141,6 @@ importers: eslint-formatter-sukka: specifier: ^8.6.4 version: 8.6.4(eslint@10.0.1) - expect: - specifier: ^30.2.0 - version: 30.2.0 mitata: specifier: ^1.0.34 version: 1.0.34 @@ -159,14 +159,6 @@ packages: '@antfu/install-pkg@1.1.0': resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} - '@babel/code-frame@7.27.1': - resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-identifier@7.27.1': - resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} - engines: {node: '>=6.9.0'} - '@cryptography/aes@0.1.1': resolution: {integrity: sha512-PcYz4FDGblO6tM2kSC+VzhhK62vml6k6/YAkiWtyPvrgJVfnDRoHGDtKn5UiaRRUrvUTTocBpvc2rRgTCqxjsg==} @@ -297,30 +289,6 @@ packages: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} - '@jest/diff-sequences@30.0.1': - resolution: {integrity: sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/expect-utils@30.2.0': - resolution: {integrity: sha512-1JnRfhqpD8HGpOmQp180Fo9Zt69zNtC+9lR+kT7NVL05tNXIi+QC8Csz7lfidMoVLPD3FnOtcmp0CEFnxExGEA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/get-type@30.1.0': - resolution: {integrity: sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/pattern@30.0.1': - resolution: {integrity: sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/schemas@30.0.5': - resolution: {integrity: sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/types@30.2.0': - resolution: {integrity: sha512-H9xg1/sfVvyfU7o3zMfBEjQ1gcsdeTMgqHoYdN79tuLqfTtuu7WckRA1R5whDwOzxaZAeMKTYWqP+WCAi0CHsg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - '@mitata/counters@0.0.8': resolution: {integrity: sha512-f11w0Y1ETFlarDP7CePj8Z+y8Gv5Ax4gMxWsEwrqh0kH/YIY030Ezx5SUJeQg0YPTZ2OHKGcLG1oGJbIqHzaJA==} @@ -576,9 +544,6 @@ packages: '@remusao/trie@2.1.0': resolution: {integrity: sha512-Er3Q8q0/2OcCJPQYJOPLmCuqO0wu7cav3SPtpjlxSbjFi1x+A1pZkkLD6c9q2rGEkGW/tkrRzfrhNMt8VQjzXg==} - '@sinclair/typebox@0.34.40': - resolution: {integrity: sha512-gwBNIP8ZAYev/ORDWW0QvxdwPXwxBtLsdsJgSc7eDIRt8ubP+rxUBzPsrwnu16fgEF8Bx4lh/+mvQvJzcTM6Kw==} - '@swc-node/core@1.14.1': resolution: {integrity: sha512-jrt5GUaZUU6cmMS+WTJEvGvaB6j1YNKPHPzC2PUi2BjaFbtxURHj6641Az6xN7b665hNniAIdvjxWcRml5yCnw==} engines: {node: '>= 10'} @@ -692,15 +657,6 @@ packages: '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} - '@types/istanbul-lib-coverage@2.0.6': - resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - - '@types/istanbul-lib-report@3.0.3': - resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} - - '@types/istanbul-reports@3.0.4': - resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} - '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} @@ -716,9 +672,6 @@ packages: '@types/node@24.10.13': resolution: {integrity: sha512-oH72nZRfDv9lADUBSo104Aq7gPHpQZc4BTx38r9xf9pg5LfP6EzSyH2n7qFmmxRQXh7YlUXODcYsg6PuTDSxGg==} - '@types/stack-utils@2.0.3': - resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} - '@types/tar-fs@2.0.4': resolution: {integrity: sha512-ipPec0CjTmVDWE+QKr9cTmIIoTl7dFG/yARCM5MqK8i6CNLIG1P8x4kwDsOQY1ChZOZjH0wO9nvfgBvWl4R3kA==} @@ -728,12 +681,6 @@ packages: '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} - '@types/yargs-parser@21.0.3': - resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - - '@types/yargs@17.0.33': - resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} - '@types/yauzl-promise@4.0.1': resolution: {integrity: sha512-qYEC3rJwqiJpdQ9b+bPNeuSY0c3JUM8vIuDy08qfuVN7xHm3ZDsHn2kGphUIB0ruEXrPGNXZ64nMUcu4fDjViQ==} @@ -924,10 +871,6 @@ packages: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} - ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} - ansi-styles@6.2.1: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} @@ -1008,10 +951,6 @@ packages: resolution: {integrity: sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==} engines: {node: 18 || 20 || >=22} - braces@3.0.3: - resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} - engines: {node: '>=8'} - browser-stdout@1.3.1: resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} @@ -1183,6 +1122,9 @@ packages: domutils@2.8.0: resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + earl@2.0.0: + resolution: {integrity: sha512-je2x7VWHNN3kN5zqcUUeEEokHoL7HWwiOxCdlLi66LkMqUnLECVZGePdgBtrqLrUg25bHLFrM+bkBXwcI7f+EQ==} + eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} @@ -1202,6 +1144,9 @@ packages: entities@2.2.0: resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + error-stack-parser@2.1.4: + resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} + es5-ext@0.10.64: resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} engines: {node: '>=0.10'} @@ -1217,10 +1162,6 @@ packages: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} - escape-string-regexp@2.0.0: - resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} - engines: {node: '>=8'} - escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} @@ -1398,10 +1339,6 @@ packages: resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} engines: {node: '>=6'} - expect@30.2.0: - resolution: {integrity: sha512-u/feCi0GPsI+988gU2FLcsHyAHTU0MX1Wg68NhAnN7z/+C5wqG+CY8J53N9ioe8RXgaoz0nBR/TYMf3AycUuPw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - ext@1.7.0: resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} @@ -1449,10 +1386,6 @@ packages: file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} - fill-range@7.1.1: - resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} - engines: {node: '>=8'} - find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} @@ -1592,10 +1525,6 @@ packages: resolution: {integrity: sha512-AX2uU0HW+TxagTgQXOJY7+2fbFHemC7YFBwN1XqD8qQMKdtfbOC8OC3fUb4s5NU59a3662Dzwto8tWDdZYRXxg==} engines: {node: '>=12'} - is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - is-path-inside@3.0.3: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} @@ -1623,33 +1552,6 @@ packages: jackspeak@3.4.3: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} - jest-diff@30.2.0: - resolution: {integrity: sha512-dQHFo3Pt4/NLlG5z4PxZ/3yZTZ1C7s9hveiOj+GCN+uT109NC2QgsoVZsVOAvbJ3RgKkvyLGXZV9+piDpWbm6A==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-matcher-utils@30.2.0: - resolution: {integrity: sha512-dQ94Nq4dbzmUWkQ0ANAWS9tBRfqCrn0bV9AMYdOi/MHW726xn7eQmMeRTpX2ViC00bpNaWXq+7o4lIQ3AX13Hg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-message-util@30.2.0: - resolution: {integrity: sha512-y4DKFLZ2y6DxTWD4cDe07RglV88ZiNEdlRfGtqahfbIjfsw1nMCPx49Uev4IA/hWn3sDKyAnSPwoYSsAEdcimw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-mock@30.2.0: - resolution: {integrity: sha512-JNNNl2rj4b5ICpmAcq+WbLH83XswjPbjH4T7yvGzfAGCPh1rw+xVNbtk+FnRslvt9lkCcdn9i1oAoKUuFsOxRw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-regex-util@30.0.1: - resolution: {integrity: sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-util@30.2.0: - resolution: {integrity: sha512-QKNsM0o3Xe6ISQU869e+DhG+4CK/48aHYdJZGlFQVTjnbvgpcKyxpzk29fGiO7i/J8VENZ+d2iGnSsvmuHywlA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true @@ -1821,10 +1723,6 @@ packages: micromark@4.0.2: resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} - micromatch@4.0.8: - resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} - engines: {node: '>=8.6'} - mime@3.0.0: resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} engines: {node: '>=10.0.0'} @@ -1944,10 +1842,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@4.0.3: resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} engines: {node: '>=12'} @@ -1966,10 +1860,6 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - pretty-format@30.2.0: - resolution: {integrity: sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - promise-make-naked@3.0.2: resolution: {integrity: sha512-B+b+kQ1YrYS7zO7P7bQcoqqMUizP06BOyNSBEnB5VJKDSWo8fsVuDkfSmwdjF0JsRtaNh83so5MMFJ95soH5jg==} @@ -1987,9 +1877,6 @@ packages: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true - react-is@18.3.1: - resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} - readable-stream@3.6.2: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} @@ -2055,10 +1942,6 @@ packages: resolution: {integrity: sha512-1sbhsxqI+I2tqlmjbz99GXNmZtr6tKIyEgGGnJw/MKGblalqk/XoOYYFJlBzTKZCxx8kLaD3FD5s9BEEjx5Pyg==} engines: {node: '>=10'} - slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - slide@1.1.6: resolution: {integrity: sha512-NwrtjCg+lZoqhFU8fOwl4ay2ei8PaqCBOUV3/ektPY9trO1yQ1oXEfmHAhKArUVUr/hOHvy5f6AdP17dCM0zMw==} @@ -2081,9 +1964,8 @@ packages: resolution: {integrity: sha512-o3yWv49B/o4QZk5ZcsALc6t0+eCelPc44zZsLtCQnZPDwFpDYSWcDnrv2TtMmMbQ7uKo3J0HTURCqckw23czNQ==} engines: {node: '>=12.0.0'} - stack-utils@2.0.6: - resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} - engines: {node: '>=10'} + stackframe@1.3.4: + resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} store2@2.14.4: resolution: {integrity: sha512-srTItn1GOvyvOycgxjAnPA63FZNwy0PTyUBFMHRM+hVFltAeoh0LmNBz9SZqUS9mMqGk8rfyWyXn3GH5ReJ8Zw==} @@ -2175,10 +2057,6 @@ packages: resolution: {integrity: sha512-ASdhgQIBSay0R/eXggAkQ53G4nTJqTXqC2kbaBbdDwM7SkjyZyO0OaaN1/FH7U/yCeqOHDwFO5j8+Os/IS1dXw==} hasBin: true - to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - ts-api-utils@2.4.0: resolution: {integrity: sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==} engines: {node: '>=18.12'} @@ -2347,14 +2225,6 @@ snapshots: package-manager-detector: 1.5.0 tinyexec: 1.0.2 - '@babel/code-frame@7.27.1': - dependencies: - '@babel/helper-validator-identifier': 7.27.1 - js-tokens: 4.0.0 - picocolors: 1.1.1 - - '@babel/helper-validator-identifier@7.27.1': {} - '@cryptography/aes@0.1.1': {} '@emnapi/core@1.7.1': @@ -2514,33 +2384,6 @@ snapshots: wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 - '@jest/diff-sequences@30.0.1': {} - - '@jest/expect-utils@30.2.0': - dependencies: - '@jest/get-type': 30.1.0 - - '@jest/get-type@30.1.0': {} - - '@jest/pattern@30.0.1': - dependencies: - '@types/node': 24.10.13 - jest-regex-util: 30.0.1 - - '@jest/schemas@30.0.5': - dependencies: - '@sinclair/typebox': 0.34.40 - - '@jest/types@30.2.0': - dependencies: - '@jest/pattern': 30.0.1 - '@jest/schemas': 30.0.5 - '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-reports': 3.0.4 - '@types/node': 24.10.13 - '@types/yargs': 17.0.33 - chalk: 4.1.2 - '@mitata/counters@0.0.8': {} '@napi-rs/wasm-runtime@0.2.12': @@ -2717,8 +2560,6 @@ snapshots: '@remusao/trie@2.1.0': {} - '@sinclair/typebox@0.34.40': {} - '@swc-node/core@1.14.1(@swc/core@1.13.5)(@swc/types@0.1.25)': dependencies: '@swc/core': 1.13.5 @@ -2817,16 +2658,6 @@ snapshots: '@types/estree@1.0.8': {} - '@types/istanbul-lib-coverage@2.0.6': {} - - '@types/istanbul-lib-report@3.0.3': - dependencies: - '@types/istanbul-lib-coverage': 2.0.6 - - '@types/istanbul-reports@3.0.4': - dependencies: - '@types/istanbul-lib-report': 3.0.3 - '@types/json-schema@7.0.15': {} '@types/mdast@4.0.4': @@ -2841,8 +2672,6 @@ snapshots: dependencies: undici-types: 7.16.0 - '@types/stack-utils@2.0.3': {} - '@types/tar-fs@2.0.4': dependencies: '@types/node': 24.10.13 @@ -2854,12 +2683,6 @@ snapshots: '@types/unist@3.0.3': {} - '@types/yargs-parser@21.0.3': {} - - '@types/yargs@17.0.33': - dependencies: - '@types/yargs-parser': 21.0.3 - '@types/yauzl-promise@4.0.1': dependencies: '@types/node': 24.10.13 @@ -3035,8 +2858,6 @@ snapshots: dependencies: color-convert: 2.0.1 - ansi-styles@5.2.0: {} - ansi-styles@6.2.1: {} argparse@2.0.1: {} @@ -3110,10 +2931,6 @@ snapshots: dependencies: balanced-match: 4.0.4 - braces@3.0.3: - dependencies: - fill-range: 7.1.1 - browser-stdout@1.3.1: {} buffer-from@1.1.2: {} @@ -3265,6 +3082,10 @@ snapshots: domelementtype: 2.3.0 domhandler: 4.3.1 + earl@2.0.0: + dependencies: + error-stack-parser: 2.1.4 + eastasianwidth@0.2.0: {} emoji-regex@8.0.0: {} @@ -3282,6 +3103,10 @@ snapshots: entities@2.2.0: {} + error-stack-parser@2.1.4: + dependencies: + stackframe: 1.3.4 + es5-ext@0.10.64: dependencies: es6-iterator: 2.0.3 @@ -3302,8 +3127,6 @@ snapshots: escalade@3.2.0: {} - escape-string-regexp@2.0.0: {} - escape-string-regexp@4.0.0: {} escape-string-regexp@5.0.0: {} @@ -3564,15 +3387,6 @@ snapshots: expand-template@2.0.3: {} - expect@30.2.0: - dependencies: - '@jest/expect-utils': 30.2.0 - '@jest/get-type': 30.1.0 - jest-matcher-utils: 30.2.0 - jest-message-util: 30.2.0 - jest-mock: 30.2.0 - jest-util: 30.2.0 - ext@1.7.0: dependencies: type: 2.7.3 @@ -3609,10 +3423,6 @@ snapshots: file-uri-to-path@1.0.0: {} - fill-range@7.1.1: - dependencies: - to-regex-range: 5.0.1 - find-up@5.0.0: dependencies: locate-path: 6.0.0 @@ -3735,8 +3545,6 @@ snapshots: dependencies: globalthis: '@nolyfill/globalthis@1.0.44' - is-number@7.0.0: {} - is-path-inside@3.0.3: {} is-plain-obj@2.1.0: {} @@ -3759,51 +3567,6 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 - jest-diff@30.2.0: - dependencies: - '@jest/diff-sequences': 30.0.1 - '@jest/get-type': 30.1.0 - chalk: 4.1.2 - pretty-format: 30.2.0 - - jest-matcher-utils@30.2.0: - dependencies: - '@jest/get-type': 30.1.0 - chalk: 4.1.2 - jest-diff: 30.2.0 - pretty-format: 30.2.0 - - jest-message-util@30.2.0: - dependencies: - '@babel/code-frame': 7.27.1 - '@jest/types': 30.2.0 - '@types/stack-utils': 2.0.3 - chalk: 4.1.2 - graceful-fs: 4.2.11 - micromatch: 4.0.8 - pretty-format: 30.2.0 - slash: 3.0.0 - stack-utils: 2.0.6 - - jest-mock@30.2.0: - dependencies: - '@jest/types': 30.2.0 - '@types/node': 24.10.13 - jest-util: 30.2.0 - - jest-regex-util@30.0.1: {} - - jest-util@30.2.0: - dependencies: - '@jest/types': 30.2.0 - '@types/node': 24.10.13 - chalk: 4.1.2 - ci-info: 4.4.0 - graceful-fs: 4.2.11 - picomatch: 4.0.3 - - js-tokens@4.0.0: {} - js-yaml@4.1.0: dependencies: argparse: 2.0.1 @@ -4159,11 +3922,6 @@ snapshots: transitivePeerDependencies: - supports-color - micromatch@4.0.8: - dependencies: - braces: 3.0.3 - picomatch: 2.3.1 - mime@3.0.0: {} mimic-response@3.1.0: {} @@ -4298,8 +4056,6 @@ snapshots: picocolors@1.1.1: {} - picomatch@2.3.1: {} - picomatch@4.0.3: {} pirates@4.0.7: {} @@ -4321,12 +4077,6 @@ snapshots: prelude-ls@1.2.1: {} - pretty-format@30.2.0: - dependencies: - '@jest/schemas': 30.0.5 - ansi-styles: 5.2.0 - react-is: 18.3.1 - promise-make-naked@3.0.2: {} pump@3.0.3: @@ -4347,8 +4097,6 @@ snapshots: minimist: 1.2.8 strip-json-comments: 2.0.1 - react-is@18.3.1: {} - readable-stream@3.6.2: dependencies: inherits: 2.0.4 @@ -4409,8 +4157,6 @@ snapshots: simple-invariant@2.0.1: {} - slash@3.0.0: {} - slide@1.1.6: {} smart-buffer@4.2.0: {} @@ -4429,9 +4175,7 @@ snapshots: stable-hash-x@0.2.0: {} - stack-utils@2.0.6: - dependencies: - escape-string-regexp: 2.0.0 + stackframe@1.3.4: {} store2@2.14.4: {} @@ -4561,10 +4305,6 @@ snapshots: dependencies: tldts-core: 7.0.23 - to-regex-range@5.0.1: - dependencies: - is-number: 7.0.0 - ts-api-utils@2.4.0(typescript@5.9.3): dependencies: typescript: 5.9.3