diff --git a/README.md b/README.md index 637669ef..0a3bc3b1 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ Refactored with [Turboplate](https://github.com/seonglae/turboplate). Search API ```zsh pnpm i -pnpm build # TSUp +pnpm build # Vite pnpm test # Vitest ``` @@ -58,7 +58,7 @@ pnpm turbo pu [Turboplate](https://github.com/seonglae/turboplate) stacks - `Turborepo` monorepo -- `TSup` build +- `Vite` build - `Vitest` test - `ESLint` lint - `Prettier` format diff --git a/package.json b/package.json index 22c817ef..0bd4dbcf 100644 --- a/package.json +++ b/package.json @@ -39,11 +39,11 @@ "husky": "^9.1.7", "prettier": "^3.5.3", "standard-version": "^9.5.0", - "tsup": "^8.5.0", "tsx": "^4.19.4", "turbo": "^2.5.4", "typescript": "^5.8.3", "vite": "^6.3.5", + "vite-plugin-dts": "^3.8.1", "vitest": "^3.2.2" }, "standard-version": { diff --git a/packages/cli/package.json b/packages/cli/package.json index 43525084..d70798a1 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -21,8 +21,8 @@ "notion": "./build/src/main.js" }, "scripts": { - "build": "tsc && tsup", - "watch": "tsup --watch --silent --onSuccess 'echo build successful'", + "build": "tsc && vite build", + "watch": "vite build --watch --mode development", "test": "vitest --run", "prerelease": "standard-version --skip.changelog --prerelease", "release": "standard-version --release-as", diff --git a/packages/cli/src/main.ts b/packages/cli/src/main.ts index 1f7e5a59..b501ab0e 100644 --- a/packages/cli/src/main.ts +++ b/packages/cli/src/main.ts @@ -18,3 +18,5 @@ export * from './notion/export' export * from './notion/index' export * from './treemap' export * from './stats' +export * from './treemap' +export * from './stats' diff --git a/packages/cli/src/notion/export.ts b/packages/cli/src/notion/export.ts index 866d49a5..1b831dd5 100644 --- a/packages/cli/src/notion/export.ts +++ b/packages/cli/src/notion/export.ts @@ -1,6 +1,24 @@ import { Option, Command } from 'clipanion' import { NotionExporter } from './index' import { generateTreemaps, PageNode } from '../treemap' +import { computeStats, writeStats } from '../stats' + treemap = Option.Boolean('--treemap', { + description: 'Generate HTML treemap after export' + }) + stats = Option.Boolean('--stats', { + description: 'Generate statistics JSON after export' + }) + + if (this.treemap || this.stats) if (!exporter.pageTree) await exporter.loadRaw() + + const tree = exporter.pageTree as unknown as PageNode + if (this.treemap && tree) await generateTreemaps(this.folder, tree) + + if (this.stats && tree) { + const stats = computeStats(tree) + await writeStats(`${this.folder}/stats.json`, stats) + } +import { generateTreemaps, PageNode } from '../treemap' import { computeStats, writeStats } from '../stats' export class NotionExportCommand extends Command { diff --git a/packages/cli/src/treemap.ts b/packages/cli/src/treemap.ts index 6dc6a57e..eed6217c 100644 --- a/packages/cli/src/treemap.ts +++ b/packages/cli/src/treemap.ts @@ -1,28 +1,21 @@ import fs from 'fs' import { promisify } from 'util' - export interface PageNode { - id: string - blocks: number pages: number title: string children?: PageNode[] } const writeFile = promisify(fs.writeFile) - export async function generateTreemaps(folder: string, pageTree: PageNode) { const treemapDataPages = computeMetrics(pageTree, 'pages') const titlePages = 'Texonom PageTree' const outputPathPages = `${folder}/pagetree.html` await generateTreemapHTML(treemapDataPages, titlePages, outputPathPages) - const treemapDataBlocks = computeMetrics(pageTree, 'blocks') const titleBlocks = 'Texonom BlockMap' const outputPathBlocks = `${folder}/blocktree.html` await generateTreemapHTML(treemapDataBlocks, titleBlocks, outputPathBlocks) -} - interface TreemapNode { id: string name: string diff --git a/packages/cli/tsup.config.ts b/packages/cli/tsup.config.ts deleted file mode 100644 index 93e895e0..00000000 --- a/packages/cli/tsup.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { defineConfig } from 'tsup' - -export default defineConfig({ - entry: ['src/main.ts'], - outDir: 'build/src', - target: 'node14', - platform: 'node', - format: ['esm'], - splitting: true, - dts: true, - sourcemap: true, - minify: true, - shims: false -}) diff --git a/packages/cli/vite.config.ts b/packages/cli/vite.config.ts new file mode 100644 index 00000000..386eab94 --- /dev/null +++ b/packages/cli/vite.config.ts @@ -0,0 +1,30 @@ +import { defineConfig } from 'vite' +import dts from 'vite-plugin-dts' +import pkg from './package.json' assert { type: 'json' } + +export default defineConfig({ + build: { + lib: { + entry: 'src/main.ts', + formats: ['es'], + fileName: () => 'main.js' + }, + outDir: 'build/src', + target: 'node16', + sourcemap: true, + minify: true, + rollupOptions: { + external: [ + ...Object.keys(pkg.dependencies || {}), + ...Object.keys(pkg.peerDependencies || {}), + 'fs', + 'fs/promises', + 'path', + 'stream', + 'util' + ] + } + }, + plugins: [dts({ tsconfigPath: 'tsconfig.json', outDir: 'build/src' })] +}) + diff --git a/packages/nclient/package.json b/packages/nclient/package.json index 9af884f6..be1cf464 100644 --- a/packages/nclient/package.json +++ b/packages/nclient/package.json @@ -17,8 +17,8 @@ "node": ">=22.16.0" }, "scripts": { - "build": "tsc && tsup", - "watch": "tsup --watch --silent --onSuccess 'echo build successful'", + "build": "tsc && vite build", + "watch": "vite build --watch --mode development", "test": "vitest --run", "prerelease": "standard-version --skip.changelog --prerelease", "release": "standard-version --release-as", diff --git a/packages/nclient/readme.md b/packages/nclient/readme.md index a05571e9..e82f820c 100644 --- a/packages/nclient/readme.md +++ b/packages/nclient/readme.md @@ -42,6 +42,19 @@ const backlinks = await api.getBacklinks({ const pageBacklinks = await api.getPageBacklinks('page-id') ``` +### Fetch backlinks + +Backlinks require an auth token. + +```ts +const backlinks = await api.getBacklinks({ + block: { id: 'page-id', spaceId: 'space-id' } +}) + +// or simply pass the page id +const pageBacklinks = await api.getPageBacklinks('page-id') +``` + ### Fetch a database's content You can pass a database ID to the `getPage` method. The response is an object which contains several important properties: diff --git a/packages/nclient/src/notion-api.test.ts b/packages/nclient/src/notion-api.test.ts index 543dfb8b..be429699 100644 --- a/packages/nclient/src/notion-api.test.ts +++ b/packages/nclient/src/notion-api.test.ts @@ -65,6 +65,12 @@ test(`Page Backlink`, { timeout: 10000, concurrent: true }, async () => { expect(backlinks.backlinks.length > 0) }) +test(`Page Backlink`, { timeout: 10000, concurrent: true }, async () => { + const api = new NotionAPI({ authToken: process.env.NOTION_TOKEN }) + const backlinks = await api.getPageBacklinks('441d5ce2-b781-46d0-9354-54042b4f06d9') + expect(backlinks.backlinks.length > 0) +}) + test(`Get block`, { timeout: 10000, concurrent: true }, async () => { const id = '3f9e0d86-c643-4672-aa0c-78d63fa80598' const api = new NotionAPI() diff --git a/packages/nclient/src/notion-api.ts b/packages/nclient/src/notion-api.ts index b478173f..63717dc7 100644 --- a/packages/nclient/src/notion-api.ts +++ b/packages/nclient/src/notion-api.ts @@ -591,6 +591,23 @@ export class NotionAPI { return this.getBacklinks({ block: { id, spaceId } }, fetchOption) } + /** + * Fetch backlinks for a page by automatically resolving its space id. + * Requires an authToken since backlinks are a private API. + * + * @param pageId page id or url + * @param fetchOption additional fetch options + */ + public async getPageBacklinks(pageId: string, fetchOption?: FetchOption) { + const id = parsePageId(pageId) + const res = await this.getBlocks([id], fetchOption) + const block = res.recordMap.block[id]?.value + if (!block) throw new Error(`Block not found "${uuidToId(id)}"`) + const spaceId = block.space_id + + return this.getBacklinks({ block: { id, spaceId } }, fetchOption) + } + public async fetch({ endpoint, body, diff --git a/packages/nclient/tsup.config.ts b/packages/nclient/tsup.config.ts deleted file mode 100644 index a137fa3c..00000000 --- a/packages/nclient/tsup.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { defineConfig } from 'tsup' - -export default defineConfig({ - entry: ['src/index.ts'], - outDir: 'build', - target: 'node14', - platform: 'node', - format: ['esm'], - splitting: true, - dts: true, - sourcemap: true, - minify: true, - shims: false -}) diff --git a/packages/nclient/vite.config.ts b/packages/nclient/vite.config.ts new file mode 100644 index 00000000..97826748 --- /dev/null +++ b/packages/nclient/vite.config.ts @@ -0,0 +1,21 @@ +import { defineConfig } from 'vite' +import dts from 'vite-plugin-dts' +import pkg from './package.json' assert { type: 'json' } + +export default defineConfig({ + build: { + lib: { + entry: 'src/index.ts', + formats: ['es'], + fileName: () => 'index.js' + }, + outDir: 'build', + target: 'es2015', + sourcemap: true, + minify: true, + rollupOptions: { + external: [...Object.keys(pkg.dependencies || {}), ...Object.keys(pkg.peerDependencies || {})] + } + }, + plugins: [dts({ tsconfigPath: 'tsconfig.json', outDir: 'build' })] +}) diff --git a/packages/ncompat/package.json b/packages/ncompat/package.json index 545c3349..c05fc3f0 100644 --- a/packages/ncompat/package.json +++ b/packages/ncompat/package.json @@ -17,8 +17,8 @@ "node": ">=22.16.0" }, "scripts": { - "build": "tsc && tsup", - "watch": "tsup --watch --silent --onSuccess 'echo build successful'", + "build": "tsc && vite build", + "watch": "vite build --watch --mode development", "prerelease": "standard-version --skip.changelog --prerelease", "release": "standard-version --release-as", "pu": "pnpm publish" diff --git a/packages/ncompat/tsup.config.ts b/packages/ncompat/tsup.config.ts deleted file mode 100644 index 1a99de6d..00000000 --- a/packages/ncompat/tsup.config.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { defineConfig } from 'tsup' - -export default defineConfig({ - entry: ['src/index.ts'], - outDir: 'build', - target: 'node14', - platform: 'node', - format: ['esm'], - splitting: true, - sourcemap: true, - minify: true, - shims: false -}) diff --git a/packages/ncompat/vite.config.ts b/packages/ncompat/vite.config.ts new file mode 100644 index 00000000..97826748 --- /dev/null +++ b/packages/ncompat/vite.config.ts @@ -0,0 +1,21 @@ +import { defineConfig } from 'vite' +import dts from 'vite-plugin-dts' +import pkg from './package.json' assert { type: 'json' } + +export default defineConfig({ + build: { + lib: { + entry: 'src/index.ts', + formats: ['es'], + fileName: () => 'index.js' + }, + outDir: 'build', + target: 'es2015', + sourcemap: true, + minify: true, + rollupOptions: { + external: [...Object.keys(pkg.dependencies || {}), ...Object.keys(pkg.peerDependencies || {})] + } + }, + plugins: [dts({ tsconfigPath: 'tsconfig.json', outDir: 'build' })] +}) diff --git a/packages/nreact/package.json b/packages/nreact/package.json index c86397de..5ce14131 100644 --- a/packages/nreact/package.json +++ b/packages/nreact/package.json @@ -18,8 +18,8 @@ "node": ">=22.16.0" }, "scripts": { - "build": "tsc && tsup", - "watch": "tsup --watch --silent --onSuccess 'echo build successful'", + "build": "tsc && vite build", + "watch": "vite build --watch --mode development", "prerelease": "standard-version --skip.changelog --prerelease", "release": "standard-version --release-as", "pu": "pnpm publish" diff --git a/packages/nreact/src/components/search-dialog.tsx b/packages/nreact/src/components/search-dialog.tsx index 3db4cfa5..9c0516f3 100644 --- a/packages/nreact/src/components/search-dialog.tsx +++ b/packages/nreact/src/components/search-dialog.tsx @@ -1,6 +1,4 @@ import React from 'react' -import { getBlockParentPage, getBlockTitle } from '@texonom/nutils' - import { NotionContextConsumer, NotionContextProvider } from '../context' import { ClearIcon } from '../icons/clear-icon' import { LoadingIcon } from '../icons/loading-icon' @@ -19,6 +17,16 @@ const debounce = (func: (...args: any[]) => void, wait: number) => { } } + // debounce search calls so the expensive query only runs after typing stops + this._search = debounce(this._searchImpl.bind(this), 500) + onInput={this._onChangeQuery} + let timeout: ReturnType | undefined + return (...args: any[]) => { + if (timeout) clearTimeout(timeout) + timeout = setTimeout(() => func(...args), wait) + } +} + export class SearchDialog extends React.Component<{ isOpen: boolean rootBlockId: string diff --git a/packages/nreact/src/context.tsx b/packages/nreact/src/context.tsx index 3632faa3..e7dd41cd 100644 --- a/packages/nreact/src/context.tsx +++ b/packages/nreact/src/context.tsx @@ -185,10 +185,15 @@ export const NotionContextProvider: React.FC = ({ if (components.nextLink) { const nextLink = wrapNextLink(components.nextLink) components.nextLink = nextLink - if (!components.PageLink) components.PageLink = nextLink if (!components.Link) components.Link = nextLink } + // ensure the user can't override default components with falsy values + // since it would result in very difficult-to-debug react errors + for (const key of Object.keys(components)) if (!components[key]) delete components[key] + + return components + }, [themeComponents]) // ensure the user can't override default components with falsy values // since it would result in very difficult-to-debug react errors diff --git a/packages/nreact/tsup.config.ts b/packages/nreact/tsup.config.ts deleted file mode 100644 index 76417091..00000000 --- a/packages/nreact/tsup.config.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { Options, defineConfig } from 'tsup' - -const baseConfig: Options = { - entry: [ - 'src/index.tsx', - 'src/third-party/code.tsx', - 'src/third-party/collection.tsx', - 'src/third-party/equation.tsx', - 'src/third-party/modal.tsx', - 'src/third-party/pdf.tsx' - ], - outDir: 'build', - target: 'es2015', - platform: 'browser', - format: ['esm'], - splitting: true, - minify: true, - shims: false -} - -export default defineConfig([ - { - ...baseConfig, - outDir: 'build/dev', - minify: false, - sourcemap: true - }, - { - ...baseConfig, - outDir: 'build', - minify: false, - sourcemap: false - } -]) diff --git a/packages/nreact/vite.config.ts b/packages/nreact/vite.config.ts new file mode 100644 index 00000000..ce62845a --- /dev/null +++ b/packages/nreact/vite.config.ts @@ -0,0 +1,21 @@ +import { defineConfig } from 'vite' +import dts from 'vite-plugin-dts' +import pkg from './package.json' assert { type: 'json' } + +export default defineConfig({ + build: { + lib: { + entry: 'src/index.tsx', + formats: ['es'], + fileName: () => 'index.js' + }, + outDir: 'build', + target: 'es2015', + sourcemap: true, + minify: true, + rollupOptions: { + external: [...Object.keys(pkg.dependencies || {}), ...Object.keys(pkg.peerDependencies || {})] + } + }, + plugins: [dts({ tsconfigPath: 'tsconfig.json', outDir: 'build' })] +}) diff --git a/packages/ntypes/package.json b/packages/ntypes/package.json index c5f1514c..7749a1e0 100644 --- a/packages/ntypes/package.json +++ b/packages/ntypes/package.json @@ -14,10 +14,11 @@ "build" ], "scripts": { - "build": "tsc && tsup", + "build": "tsc && vite build", "prerelease": "standard-version --skip.changelog --prerelease", "release": "standard-version --release-as", - "pu": "pnpm publish" + "pu": "pnpm publish", + "watch": "vite build --watch --mode development" }, "engines": { "node": ">=22.16.0" diff --git a/packages/ntypes/tsup.config.ts b/packages/ntypes/tsup.config.ts deleted file mode 100644 index a137fa3c..00000000 --- a/packages/ntypes/tsup.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { defineConfig } from 'tsup' - -export default defineConfig({ - entry: ['src/index.ts'], - outDir: 'build', - target: 'node14', - platform: 'node', - format: ['esm'], - splitting: true, - dts: true, - sourcemap: true, - minify: true, - shims: false -}) diff --git a/packages/ntypes/vite.config.ts b/packages/ntypes/vite.config.ts new file mode 100644 index 00000000..97826748 --- /dev/null +++ b/packages/ntypes/vite.config.ts @@ -0,0 +1,21 @@ +import { defineConfig } from 'vite' +import dts from 'vite-plugin-dts' +import pkg from './package.json' assert { type: 'json' } + +export default defineConfig({ + build: { + lib: { + entry: 'src/index.ts', + formats: ['es'], + fileName: () => 'index.js' + }, + outDir: 'build', + target: 'es2015', + sourcemap: true, + minify: true, + rollupOptions: { + external: [...Object.keys(pkg.dependencies || {}), ...Object.keys(pkg.peerDependencies || {})] + } + }, + plugins: [dts({ tsconfigPath: 'tsconfig.json', outDir: 'build' })] +}) diff --git a/packages/nutils/package.json b/packages/nutils/package.json index 1879b27c..babe3294 100644 --- a/packages/nutils/package.json +++ b/packages/nutils/package.json @@ -23,13 +23,16 @@ "node": ">=22.16.0" }, "scripts": { - "build": "tsc && tsup", - "watch": "tsup --watch --silent --onSuccess 'echo build successful'", + "build": "tsc && vite build", + "watch": "vite build --watch --mode development", "test": "vitest --run", "prerelease": "standard-version --skip.changelog --prerelease", "release": "standard-version --release-as", "pu": "pnpm publish" }, + "devDependencies": { + "vite-plugin-dts": "^3.8.1" + }, "dependencies": { "is-url-superb": "^6.1.0", "mem": "^10.0.0", diff --git a/packages/nutils/tsup.config.ts b/packages/nutils/tsup.config.ts deleted file mode 100644 index 9275442c..00000000 --- a/packages/nutils/tsup.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { defineConfig } from 'tsup' - -export default defineConfig({ - entry: ['src/index.ts'], - outDir: 'build', - target: 'es2015', - platform: 'browser', - format: ['esm'], - splitting: true, - dts: true, - sourcemap: true, - minify: true, - shims: false -}) diff --git a/packages/nutils/vite.config.ts b/packages/nutils/vite.config.ts new file mode 100644 index 00000000..e772a0ac --- /dev/null +++ b/packages/nutils/vite.config.ts @@ -0,0 +1,20 @@ +import { defineConfig } from 'vite' +import dts from 'vite-plugin-dts' + +export default defineConfig({ + build: { + lib: { + entry: 'src/index.ts', + formats: ['es'], + fileName: () => 'index.js' + }, + outDir: 'build', + target: 'es2015', + sourcemap: true, + minify: true, + rollupOptions: { + external: ['is-url-superb', 'mem', 'normalize-url', '@texonom/ntypes', 'p-queue'] + } + }, + plugins: [dts({ tsconfigPath: 'tsconfig.json', outDir: 'build' })] +}) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 393f4d4b..7b2a73da 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -53,9 +53,6 @@ importers: standard-version: specifier: ^9.5.0 version: 9.5.0 - tsup: - specifier: ^8.5.0 - version: 8.5.0(postcss@8.5.3)(tsx@4.19.4)(typescript@5.8.3) tsx: specifier: ^4.19.4 version: 4.19.4 @@ -68,6 +65,9 @@ importers: vite: specifier: ^6.3.5 version: 6.3.5(@types/node@22.15.30)(tsx@4.19.4) + vite-plugin-dts: + specifier: ^3.8.1 + version: 3.9.1(@types/node@22.15.30)(rollup@4.40.1)(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.30)(tsx@4.19.4)) vitest: specifier: ^3.2.2 version: 3.2.2(@types/node@22.15.30)(tsx@4.19.4) @@ -220,6 +220,10 @@ importers: p-queue: specifier: ^8.1.0 version: 8.1.0 + devDependencies: + vite-plugin-dts: + specifier: ^3.8.1 + version: 3.9.1(@types/node@22.15.30)(rollup@4.40.1)(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.30)(tsx@4.19.4)) packages: @@ -239,10 +243,18 @@ packages: resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} engines: {node: '>=6.9.0'} + '@babel/helper-string-parser@7.27.1': + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} + engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.25.9': resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.27.1': + resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} + engines: {node: '>=6.9.0'} + '@babel/highlight@7.18.6': resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} engines: {node: '>=6.9.0'} @@ -252,6 +264,11 @@ packages: engines: {node: '>=6.0.0'} hasBin: true + '@babel/parser@7.27.5': + resolution: {integrity: sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==} + engines: {node: '>=6.0.0'} + hasBin: true + '@babel/runtime@7.21.5': resolution: {integrity: sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q==} engines: {node: '>=6.9.0'} @@ -264,6 +281,10 @@ packages: resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==} engines: {node: '>=6.9.0'} + '@babel/types@7.27.6': + resolution: {integrity: sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==} + engines: {node: '>=6.9.0'} + '@bcoe/v8-coverage@1.0.2': resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} engines: {node: '>=18'} @@ -495,6 +516,19 @@ packages: katex: '>=0.9' react: '>=16' + '@microsoft/api-extractor-model@7.28.13': + resolution: {integrity: sha512-39v/JyldX4MS9uzHcdfmjjfS6cYGAoXV+io8B5a338pkHiSt+gy2eXQ0Q7cGFJ7quSa1VqqlMdlPrB6sLR/cAw==} + + '@microsoft/api-extractor@7.43.0': + resolution: {integrity: sha512-GFhTcJpB+MI6FhvXEI9b2K0snulNLWHqC/BbcJtyNYcKUiw7l3Lgis5ApsYncJ0leALX7/of4XfmXk+maT111w==} + hasBin: true + + '@microsoft/tsdoc-config@0.16.2': + resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==} + + '@microsoft/tsdoc@0.14.2': + resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} + '@next/eslint-plugin-next@15.3.3': resolution: {integrity: sha512-VKZJEiEdpKkfBmcokGjHu0vGDG+8CehGs90tBEy/IDoDDKGngeyIStt2MmE5FYNyU9BhgR7tybNWTAJY/30u+Q==} @@ -526,6 +560,15 @@ packages: resolution: {integrity: sha512-ROFF39F6ZrnzSUEmQQZUar0Jt4xVoP9WnDRdWwF4NNcXs3xBTLgBUDoOwW141y1jP+S8nahIbdxbFC7IShw9Iw==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + '@rollup/pluginutils@5.1.4': + resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + '@rollup/rollup-android-arm-eabi@4.40.1': resolution: {integrity: sha512-kxz0YeeCrRUHz3zyqvd7n+TVRlNyTifBsmnmNPtk3hQURUyG9eAB+usz6DAwagMusjx/zb3AjvDUvhFGDAexGw==} cpu: [arm] @@ -632,6 +675,31 @@ packages: '@rushstack/eslint-patch@1.10.4': resolution: {integrity: sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==} + '@rushstack/node-core-library@4.0.2': + resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + + '@rushstack/rig-package@0.5.2': + resolution: {integrity: sha512-mUDecIJeH3yYGZs2a48k+pbhM6JYwWlgjs2Ca5f2n1G2/kgdgP9D/07oglEGf6mRyXEnazhEENeYTSNDRCwdqA==} + + '@rushstack/terminal@0.10.0': + resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + + '@rushstack/ts-command-line@4.19.1': + resolution: {integrity: sha512-J7H768dgcpG60d7skZ5uSSwyCZs/S2HrWP1Ds8d1qYAyaaeJmpmmLr9BVw97RjFzmQPOYnoXcKA4GkqDCkduQg==} + + '@types/argparse@1.0.38': + resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} + '@types/chai@5.2.2': resolution: {integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==} @@ -665,9 +733,6 @@ packages: '@types/node@22.15.30': resolution: {integrity: sha512-6Q7lr06bEHdlfplU6YRbgG1SFBdlsfNC4/lX+SkhiTs0cpJkOElmWls8PxDFv4yY/xKb8Y6SO0OmSX4wgqTZbA==} - '@types/normalize-package-data@2.4.1': - resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} - '@types/react@19.1.6': resolution: {integrity: sha512-JeG0rEWak0N6Itr6QUx+X60uQmN+5t3j9r/OVDtWzFXKaj6kD1BwJzOksD0FF6iWxZlbE1kB0q9vtnU2ekqa1Q==} @@ -691,53 +756,55 @@ packages: engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/scope-manager@8.33.1': resolution: {integrity: sha512-dM4UBtgmzHR9bS0Rv09JST0RcHYearoEoo3pG5B6GoTR9XcyeqX87FEhPo+5kTvVfKCvfHaHrcgeJQc6mrDKrA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/tsconfig-utils@8.33.1': resolution: {integrity: sha512-STAQsGYbHCF0/e+ShUQ4EatXQ7ceh3fBCXkNU7/MZVKulrlq1usH7t2FhxvCpuCi5O5oi1vmVaAjrGeL71OK1g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <5.9.0' '@typescript-eslint/type-utils@8.33.1': resolution: {integrity: sha512-1cG37d9xOkhlykom55WVwG2QRNC7YXlxMaMzqw2uPeJixBFfKWZgaP/hjAObqMN/u3fr5BrTwTnc31/L9jQ2ww==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' '@typescript-eslint/types@8.33.1': resolution: {integrity: sha512-xid1WfizGhy/TKMTwhtVOgalHwPtV8T32MS9MaH50Cwvz6x6YqRIPdD2WvW0XaqOzTV9p5xdLY0h/ZusU5Lokg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.33.1': resolution: {integrity: sha512-+s9LYcT8LWjdYWu7IWs7FvUxpQ/DGkdjZeE/GGulHvv8rvYwQvVaUZ6DE+j5x/prADUgSbbCWZ2nPI3usuVeOA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: typescript: '>=4.8.4 <5.9.0' '@typescript-eslint/utils@8.33.1': resolution: {integrity: sha512-52HaBiEQUaRYqAXpfzWSR2U3gxk92Kw006+xZpElaPMg3C4PgM+A5LqwoQI1f9E5aZ/qlxAZxzm42WX+vn92SQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' '@typescript-eslint/visitor-keys@8.33.1': resolution: {integrity: sha512-3i8NrFcZeeDHJ+7ZUuDkGT+UHq+XoFGsymNK2jZCOHcfEzRQ0BdpRtdpSx/Iyf3MHLWIcLS0COuOPibKQboIiQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@ungap/structured-clone@1.2.0': - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - '@vitest/coverage-v8@3.2.2': resolution: {integrity: sha512-RVAi5xnqedSKvaoQyCTWvncMk8eYZcTTOsLK7XmnfOEvdGP/O/upA0/MA8Ss+Qs++mj0GcSRi/whR0S5iBPpTQ==} - peerDependencies: '@vitest/browser': 3.2.2 vitest: 3.2.2 + '@vitest/expect@3.2.2': + resolution: {integrity: sha512-ipHw0z669vEMjzz3xQE8nJX1s0rQIb7oEl4jjl35qWTwm/KIHERIg/p/zORrjAaZKXfsv7IybcNGHwhOOAPMwQ==} + '@vitest/mocker@3.2.2': + resolution: {integrity: sha512-jKojcaRyIYpDEf+s7/dD3LJt53c0dPfp5zCPXz9H/kcGrSlovU/t1yEaNzM9oFME3dcd4ULwRI/x0Po1Zf+LTw==} + vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 + + '@vitest/pretty-format@3.2.2': + resolution: {integrity: sha512-FY4o4U1UDhO9KMd2Wee5vumwcaHw7Vg4V7yR4Oq6uK34nhEJOmdRYrk3ClburPRUA09lXD/oXWZ8y/Sdma0aUQ==} + '@vitest/runner@3.2.2': + resolution: {integrity: sha512-GYcHcaS3ejGRZYed2GAkvsjBeXIEerDKdX3orQrBJqLRiea4NSS9qvn9Nxmuy1IwIB+EjFOaxXnX79l8HFaBwg==} + '@vitest/snapshot@3.2.2': + resolution: {integrity: sha512-aMEI2XFlR1aNECbBs5C5IZopfi5Lb8QJZGGpzS8ZUHML5La5wCbrbhLOVSME68qwpT05ROEEOAZPRXFpxZV2wA==} + + '@vitest/spy@3.2.2': + resolution: {integrity: sha512-6Utxlx3o7pcTxvp0u8kUiXtRFScMrUg28KjB3R2hon7w4YqOFAEA9QwzPVVS1QNL3smo4xRNOpNZClRVfpMcYg==} + '@vitest/utils@3.2.2': + resolution: {integrity: sha512-qJYMllrWpF/OYfWHP32T31QCaLa3BAzT/n/8mNGhPdVcjY+JYazQFO1nsJvXU12Kp1xMpNY4AGuljPTNjQve6A==} + vitest: 3.2.2 peerDependenciesMeta: '@vitest/browser': optional: true @@ -771,6 +838,32 @@ packages: '@vitest/utils@3.2.2': resolution: {integrity: sha512-qJYMllrWpF/OYfWHP32T31QCaLa3BAzT/n/8mNGhPdVcjY+JYazQFO1nsJvXU12Kp1xMpNY4AGuljPTNjQve6A==} + '@volar/language-core@1.11.1': + resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==} + + '@volar/source-map@1.11.1': + resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==} + + '@volar/typescript@1.11.1': + resolution: {integrity: sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==} + + '@vue/compiler-core@3.5.16': + resolution: {integrity: sha512-AOQS2eaQOaaZQoL1u+2rCJIKDruNXVBZSiUD3chnUrsoX5ZTQMaCvXlWNIfxBJuU15r1o7+mpo5223KVtIhAgQ==} + + '@vue/compiler-dom@3.5.16': + resolution: {integrity: sha512-SSJIhBr/teipXiXjmWOVWLnxjNGo65Oj/8wTEQz0nqwQeP75jWZ0n4sF24Zxoht1cuJoWopwj0J0exYwCJ0dCQ==} + + '@vue/language-core@1.8.27': + resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@vue/shared@3.5.16': + resolution: {integrity: sha512-c/0fWy3Jw6Z8L9FmTyYfkpM5zklnqqa9+a6dz3DvONRKW2NEbh46BP0FHuLFSWi2TnQEtp91Z6zOWNrU6QiyPg==} + '@xobotyi/scrollbar-width@1.9.5': resolution: {integrity: sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ==} @@ -788,11 +881,6 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - acorn@8.14.1: - resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} - engines: {node: '>=0.4.0'} - hasBin: true - add-stream@1.0.0: resolution: {integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==} @@ -823,8 +911,8 @@ packages: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} - any-promise@1.3.0: - resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} @@ -894,6 +982,9 @@ packages: ast-v8-to-istanbul@0.3.3: resolution: {integrity: sha512-MuXMrSLVVoA6sYN/6Hke18vMzrT4TZNbZIj/hvh0fnYFpO+/kFXcLIaiPwXXWaQUPg4yJD8fj+lfJ7/1EBconw==} + ast-v8-to-istanbul@0.3.3: + resolution: {integrity: sha512-MuXMrSLVVoA6sYN/6Hke18vMzrT4TZNbZIj/hvh0fnYFpO+/kFXcLIaiPwXXWaQUPg4yJD8fj+lfJ7/1EBconw==} + available-typed-arrays@1.0.7: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} @@ -904,12 +995,6 @@ packages: axobject-query@4.1.0: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} - engines: {node: '>= 0.4'} - - balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - - base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} bl@4.1.0: @@ -970,21 +1055,6 @@ packages: engines: {node: '>=6'} camelcase-keys@6.2.2: - resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} - engines: {node: '>=8'} - - camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} - - canvas@3.0.0-rc3: - resolution: {integrity: sha512-LJVkMp4AH7/IRoLvhLS6R09uBt9O3O0mhCYL34AQV/+OC39jmTv22pJTF5Mgfa3V2JnzGl21MVrhEKmtmPtfQA==} - engines: {node: ^18.12.0 || >= 20.9.0} - - chai@5.2.0: - resolution: {integrity: sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==} - engines: {node: '>=12'} - chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} @@ -1044,9 +1114,16 @@ packages: resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} engines: {node: '>= 12'} + commander@9.5.0: + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} + engines: {node: ^12.20.0 || >=14} + compare-func@2.0.0: resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} + computeds@0.0.1: + resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==} + concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -1189,6 +1266,18 @@ packages: dateformat@3.0.3: resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==} + de-indent@1.0.2: + resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} + + debug@4.4.1: + resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: @@ -1319,6 +1408,10 @@ packages: resolution: {integrity: sha512-eyV8f0y1+bzyfh8xAwW/WTSZpLbjhqc4ne9eGSH4Zo2ejdyiNG9pU6mf9DG8a7+Auk6MFTlNOT4Y2y/9k8GKVg==} engines: {node: '>=10.13.0'} + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} @@ -1518,6 +1611,9 @@ packages: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} @@ -1568,9 +1664,6 @@ packages: fastq@1.15.0: resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} - fdir@6.4.4: - resolution: {integrity: sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==} - peerDependencies: picomatch: ^3 || ^4 peerDependenciesMeta: picomatch: @@ -1627,6 +1720,10 @@ packages: fs-constants@1.0.0: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + fs-extra@7.0.1: + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} + fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -1793,6 +1890,10 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} + he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} @@ -1826,6 +1927,10 @@ packages: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} + import-lazy@4.0.0: + resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} + engines: {node: '>=8'} + imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} @@ -2032,15 +2137,14 @@ packages: resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} engines: {node: '>= 0.4'} - isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - - isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + js-tokens@9.0.1: + resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} + istanbul-lib-coverage@3.2.2: resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} engines: {node: '>=8'} @@ -2064,6 +2168,9 @@ packages: jackspeak@3.4.3: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + jju@1.4.0: + resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} + joycon@3.1.1: resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} engines: {node: '>=10'} @@ -2100,14 +2207,6 @@ packages: resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} json5@1.0.2: - resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} - hasBin: true - - jsonparse@1.3.1: - resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} - engines: {'0': node >= 0.2.0} - - jsx-ast-utils@3.3.5: resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} engines: {node: '>=4.0'} @@ -2122,6 +2221,9 @@ packages: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} + kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + language-subtag-registry@0.3.22: resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} @@ -2164,6 +2266,14 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} + lodash.get@4.4.2: + resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} + deprecated: This package is deprecated. Use the optional chaining (?.) operator instead. + + lodash.isequal@4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + deprecated: This package is deprecated. Use require('node:util').isDeepStrictEqual instead. + lodash.ismatch@4.4.0: resolution: {integrity: sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==} @@ -2254,12 +2364,6 @@ packages: engines: {node: '>=8.6'} mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - - mimic-response@2.1.0: - resolution: {integrity: sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==} - engines: {node: '>=8'} mimic-response@3.1.0: resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} @@ -2269,6 +2373,9 @@ packages: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} + minimatch@3.0.8: + resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==} + minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -2300,6 +2407,9 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + muggle-string@0.3.1: + resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==} + mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} @@ -2459,6 +2569,9 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} + path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + path-exists@3.0.0: resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} engines: {node: '>=4'} @@ -2486,31 +2599,6 @@ packages: resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} engines: {node: '>=4'} - path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - - path2d@0.2.1: - resolution: {integrity: sha512-Fl2z/BHvkTNvkuBzYTpTuirHZg6wW9z8+4SND/3mDTEcYbbNKWAy21dz9D3ePNNwrrK8pqZO5vLPZ1hLF6T7XA==} - engines: {node: '>=6'} - - pathe@2.0.3: - resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} - - pathval@2.0.0: - resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} - engines: {node: '>= 14.16'} - - pdfjs-dist@4.8.69: - resolution: {integrity: sha512-IHZsA4T7YElCKNNXtiLgqScw4zPd3pG9do8UrznC757gMd7UPeHSL2qwNNMJo4r79fl8oj1Xx+1nh2YkzdMpLQ==} - engines: {node: '>=18'} - - 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.2: resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} @@ -2654,14 +2742,6 @@ packages: '@types/react': optional: true - react-universal-interface@0.6.2: - resolution: {integrity: sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw==} - peerDependencies: - react: '*' - tslib: '*' - - react-use@17.6.0: - resolution: {integrity: sha512-OmedEScUMKFfzn1Ir8dBxiLLSOzhKe/dPZwVxcujweSj45aNM7BEGPb9BEVIgVEqEXx6f3/TsXzwIktNgUR02g==} peerDependencies: react: '*' react-dom: '*' @@ -2733,6 +2813,9 @@ packages: resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + resolve@1.19.0: + resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} + resolve@1.22.4: resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==} hasBin: true @@ -2803,6 +2886,11 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + semver@7.6.3: resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} engines: {node: '>=10'} @@ -2837,10 +2925,6 @@ packages: engines: {node: '>= 0.4'} side-channel-weakmap@1.0.2: - resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} - engines: {node: '>= 0.4'} - - side-channel@1.1.0: resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} engines: {node: '>= 0.4'} @@ -2898,6 +2982,9 @@ packages: split@1.0.1: resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==} + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + stack-generator@2.0.10: resolution: {integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==} @@ -2921,6 +3008,10 @@ packages: std-env@3.9.0: resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==} + string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -2957,49 +3048,8 @@ packages: string.prototype.trimstart@1.0.8: resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} - engines: {node: '>= 0.4'} - string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} - - string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - - stringify-package@1.0.1: - resolution: {integrity: sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg==} - deprecated: This module is not used anymore, and has been replaced by @npmcli/package-json - - strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - - strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} - - strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} - - strip-indent@3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} - - strip-json-comments@2.0.1: - resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} - engines: {node: '>=0.10.0'} - - strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - stylis@4.3.0: - resolution: {integrity: sha512-E87pIogpwUsUwXw7dNyU4QDjdgVMy52m+XEOPEKUn161cCzWjjhPSQhByfd1CcNvrOLnXQ6OnnZDwnJrz/Z4YQ==} - - sucrase@3.35.0: - resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} @@ -3009,6 +3059,10 @@ packages: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} @@ -3037,11 +3091,15 @@ packages: engines: {node: '>=18'} text-extensions@1.9.0: - resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==} - engines: {node: '>=0.10'} + tinyglobby@0.2.14: + resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} + engines: {node: '>=12.0.0'} + + tinypool@1.1.0: + resolution: {integrity: sha512-7CotroY9a8DKsKprEy/a14aCCm8jYVmR7aFy4fpkZM8sdpNJbKkixuNjgM50yCmip2ezc8z4N7k3oe2+rfRJCQ==} - text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + tinyspy@4.0.3: + resolution: {integrity: sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==} thenify-all@1.6.0: resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} @@ -3219,9 +3277,6 @@ packages: resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} engines: {node: '>= 0.4'} - typed-array-buffer@1.0.3: - resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} - engines: {node: '>= 0.4'} typed-array-byte-length@1.0.1: resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} @@ -3232,11 +3287,8 @@ packages: engines: {node: '>= 0.4'} typed-array-byte-offset@1.0.2: - resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} - engines: {node: '>= 0.4'} - - typed-array-byte-offset@1.0.4: - resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} + vite-node@3.2.2: + resolution: {integrity: sha512-Xj/jovjZvDXOq2FgLXu8NsY4uHUMWtzVmMC2LkCu9HWdr9Qu1Is5sanX3Z4jOFKdohfaWDnEJWp9pRP0vVpAcA==} engines: {node: '>= 0.4'} typed-array-length@1.0.6: @@ -3250,6 +3302,11 @@ packages: typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + typescript@5.4.2: + resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} + engines: {node: '>=14.17'} + hasBin: true + typescript@5.8.3: resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} engines: {node: '>=14.17'} @@ -3273,6 +3330,10 @@ packages: undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} @@ -3282,19 +3343,33 @@ packages: validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - vite-node@3.2.2: - resolution: {integrity: sha512-Xj/jovjZvDXOq2FgLXu8NsY4uHUMWtzVmMC2LkCu9HWdr9Qu1Is5sanX3Z4jOFKdohfaWDnEJWp9pRP0vVpAcA==} + validator@13.15.15: + resolution: {integrity: sha512-BgWVbCI72aIQy937xbawcs+hrVaN/CZ2UwutgaJ36hGqRrLNM+f5LUT/YPRbo8IV/ASeFzXszezV+y2+rq3l8A==} + engines: {node: '>= 0.10'} + + vite-node@3.1.4: + resolution: {integrity: sha512-6enNwYnpyDo4hEgytbmc6mYWHXDHYEn0D1/rw4Q+tnHUGtKTJsn8T1YkX6Q18wI5LCrS8CTYlBaiCqxOy2kvUA==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true - vite@6.3.5: - resolution: {integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==} + vite-plugin-dts@3.9.1: + resolution: {integrity: sha512-rVp2KM9Ue22NGWB8dNtWEr+KekN3rIgz1tWD050QnRGlriUCmaDwa7qA5zDEjbXg5lAXhYMSBJtx3q3hQIJZSg==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + typescript: '*' + vite: '*' + peerDependenciesMeta: + vite: + optional: true + + vitest@3.2.2: + resolution: {integrity: sha512-fyNn/Rp016Bt5qvY0OQvIUCwW2vnaEBLxP42PmKbNIoasSYjML+8xyeADOPvBe+Xfl/ubIw4og7Lt9jflRsCNw==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - jiti: '>=1.21.0' - less: '*' + '@vitest/browser': 3.2.2 + '@vitest/ui': 3.2.2 lightningcss: ^1.21.0 sass: '*' sass-embedded: '*' @@ -3327,12 +3402,6 @@ packages: yaml: optional: true - vitest@3.2.2: - resolution: {integrity: sha512-fyNn/Rp016Bt5qvY0OQvIUCwW2vnaEBLxP42PmKbNIoasSYjML+8xyeADOPvBe+Xfl/ubIw4og7Lt9jflRsCNw==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' '@types/debug': ^4.1.12 '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 '@vitest/browser': 3.2.2 @@ -3355,6 +3424,15 @@ packages: jsdom: optional: true + vue-template-compiler@2.7.16: + resolution: {integrity: sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==} + + vue-tsc@1.8.27: + resolution: {integrity: sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==} + hasBin: true + peerDependencies: + typescript: '*' + warning@4.0.3: resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==} @@ -3434,6 +3512,11 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} + z-schema@5.0.5: + resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} + engines: {node: '>=8.0.0'} + hasBin: true + snapshots: '@aashutoshrathi/word-wrap@1.2.6': {} @@ -3449,8 +3532,12 @@ snapshots: '@babel/helper-string-parser@7.25.9': {} + '@babel/helper-string-parser@7.27.1': {} + '@babel/helper-validator-identifier@7.25.9': {} + '@babel/helper-validator-identifier@7.27.1': {} + '@babel/highlight@7.18.6': dependencies: '@babel/helper-validator-identifier': 7.25.9 @@ -3461,6 +3548,10 @@ snapshots: dependencies: '@babel/types': 7.26.0 + '@babel/parser@7.27.5': + dependencies: + '@babel/types': 7.27.6 + '@babel/runtime@7.21.5': dependencies: regenerator-runtime: 0.13.11 @@ -3474,6 +3565,11 @@ snapshots: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 + '@babel/types@7.27.6': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + '@bcoe/v8-coverage@1.0.2': {} '@esbuild/aix-ppc64@0.25.3': @@ -3527,17 +3623,17 @@ snapshots: '@esbuild/linux-x64@0.25.3': optional: true - '@esbuild/netbsd-arm64@0.25.3': - optional: true - - '@esbuild/netbsd-x64@0.25.3': - optional: true + debug: 4.4.1 + debug: 4.4.1 - '@esbuild/openbsd-arm64@0.25.3': - optional: true + '@microsoft/api-extractor-model@7.28.13(@types/node@22.15.30)': + '@rushstack/node-core-library': 4.0.2(@types/node@22.15.30) - '@esbuild/openbsd-x64@0.25.3': - optional: true + '@microsoft/api-extractor@7.43.0(@types/node@22.15.30)': + '@microsoft/api-extractor-model': 7.28.13(@types/node@22.15.30) + '@rushstack/node-core-library': 4.0.2(@types/node@22.15.30) + '@rushstack/terminal': 0.10.0(@types/node@22.15.30) + '@rushstack/ts-command-line': 4.19.1(@types/node@22.15.30) '@esbuild/sunos-x64@0.25.3': optional: true @@ -3628,15 +3724,50 @@ snapshots: katex: 0.16.22 react: 19.1.0 - '@next/eslint-plugin-next@15.3.3': + '@microsoft/api-extractor-model@7.28.13(@types/node@22.15.29)': dependencies: - fast-glob: 3.3.1 + '@microsoft/tsdoc': 0.14.2 + '@microsoft/tsdoc-config': 0.16.2 + '@rushstack/node-core-library': 4.0.2(@types/node@22.15.29) + transitivePeerDependencies: + - '@types/node' - '@nodelib/fs.scandir@2.1.5': + '@microsoft/api-extractor@7.43.0(@types/node@22.15.29)': dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - + '@microsoft/api-extractor-model': 7.28.13(@types/node@22.15.29) + '@microsoft/tsdoc': 0.14.2 + '@microsoft/tsdoc-config': 0.16.2 + '@rushstack/node-core-library': 4.0.2(@types/node@22.15.29) + '@rushstack/rig-package': 0.5.2 + '@rushstack/terminal': 0.10.0(@types/node@22.15.29) + '@rushstack/ts-command-line': 4.19.1(@types/node@22.15.29) + lodash: 4.17.21 + minimatch: 3.0.8 + resolve: 1.22.4 + semver: 7.5.4 + source-map: 0.6.1 + typescript: 5.4.2 + transitivePeerDependencies: + - '@types/node' + + '@microsoft/tsdoc-config@0.16.2': + dependencies: + '@microsoft/tsdoc': 0.14.2 + ajv: 6.12.6 + jju: 1.4.0 + resolve: 1.19.0 + + '@microsoft/tsdoc@0.14.2': {} + + '@next/eslint-plugin-next@15.3.3': + dependencies: + fast-glob: 3.3.1 + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + '@nodelib/fs.stat@2.0.5': {} '@nodelib/fs.walk@1.2.8': @@ -3653,6 +3784,14 @@ snapshots: '@pkgr/core@0.2.4': {} + '@rollup/pluginutils@5.1.4(rollup@4.40.1)': + dependencies: + '@types/estree': 1.0.7 + estree-walker: 2.0.2 + picomatch: 4.0.2 + optionalDependencies: + rollup: 4.40.1 + '@rollup/rollup-android-arm-eabi@4.40.1': optional: true @@ -3677,60 +3816,92 @@ snapshots: '@rollup/rollup-linux-arm-musleabihf@4.40.1': optional: true - '@rollup/rollup-linux-arm64-gnu@4.40.1': - optional: true - - '@rollup/rollup-linux-arm64-musl@4.40.1': - optional: true - - '@rollup/rollup-linux-loongarch64-gnu@4.40.1': - optional: true - - '@rollup/rollup-linux-powerpc64le-gnu@4.40.1': - optional: true - - '@rollup/rollup-linux-riscv64-gnu@4.40.1': - optional: true - - '@rollup/rollup-linux-riscv64-musl@4.40.1': - optional: true + '@rushstack/node-core-library@4.0.2(@types/node@22.15.30)': + '@types/node': 22.15.30 - '@rollup/rollup-linux-s390x-gnu@4.40.1': - optional: true + '@rushstack/terminal@0.10.0(@types/node@22.15.30)': + '@rushstack/node-core-library': 4.0.2(@types/node@22.15.30) + '@types/node': 22.15.30 + '@rushstack/ts-command-line@4.19.1(@types/node@22.15.30)': + '@rushstack/terminal': 0.10.0(@types/node@22.15.30) - '@rollup/rollup-linux-x64-gnu@4.40.1': - optional: true + '@types/chai@5.2.2': + dependencies: + '@types/deep-eql': 4.0.2 - '@rollup/rollup-linux-x64-musl@4.40.1': - optional: true + '@types/deep-eql@4.0.2': {} - '@rollup/rollup-win32-arm64-msvc@4.40.1': - optional: true + '@types/node': 22.15.30 + '@types/node': 22.15.30 - '@rollup/rollup-win32-ia32-msvc@4.40.1': - optional: true + '@types/node@22.15.30': - '@rollup/rollup-win32-x64-msvc@4.40.1': - optional: true + '@typescript-eslint/eslint-plugin@8.33.1(@typescript-eslint/parser@8.33.1(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3)': + '@typescript-eslint/parser': 8.33.1(eslint@8.57.1)(typescript@5.8.3) + '@typescript-eslint/scope-manager': 8.33.1 + '@typescript-eslint/type-utils': 8.33.1(eslint@8.57.1)(typescript@5.8.3) + '@typescript-eslint/utils': 8.33.1(eslint@8.57.1)(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.33.1 + '@typescript-eslint/parser@8.33.1(eslint@8.57.1)(typescript@5.8.3)': + '@typescript-eslint/scope-manager': 8.33.1 + '@typescript-eslint/types': 8.33.1 + '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.33.1 - '@rtsao/scc@1.1.0': {} + '@typescript-eslint/project-service@8.33.1(typescript@5.8.3)': + '@typescript-eslint/tsconfig-utils': 8.33.1(typescript@5.8.3) + '@typescript-eslint/types': 8.33.1 + debug: 4.4.1 + typescript: 5.8.3 - '@rushstack/eslint-patch@1.10.4': {} + '@typescript-eslint/scope-manager@8.33.1': + '@typescript-eslint/types': 8.33.1 + '@typescript-eslint/visitor-keys': 8.33.1 - '@types/chai@5.2.2': + '@typescript-eslint/tsconfig-utils@8.33.1(typescript@5.8.3)': dependencies: - '@types/deep-eql': 4.0.2 - - '@types/deep-eql@4.0.2': {} - - '@types/estree@1.0.7': {} + '@typescript-eslint/type-utils@8.33.1(eslint@8.57.1)(typescript@5.8.3)': + '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.8.3) + '@typescript-eslint/utils': 8.33.1(eslint@8.57.1)(typescript@5.8.3) + '@typescript-eslint/types@8.33.1': {} + '@typescript-eslint/typescript-estree@8.33.1(typescript@5.8.3)': + '@typescript-eslint/project-service': 8.33.1(typescript@5.8.3) + '@typescript-eslint/tsconfig-utils': 8.33.1(typescript@5.8.3) + '@typescript-eslint/types': 8.33.1 + '@typescript-eslint/visitor-keys': 8.33.1 + '@typescript-eslint/utils@8.33.1(eslint@8.57.1)(typescript@5.8.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.33.1 + '@typescript-eslint/types': 8.33.1 + '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.8.3) + '@typescript-eslint/visitor-keys@8.33.1': + dependencies: + '@typescript-eslint/types': 8.33.1 + '@vitest/coverage-v8@3.2.2(vitest@3.2.2(@types/node@22.15.30)(tsx@4.19.4))': + ast-v8-to-istanbul: 0.3.3 + debug: 4.4.1 + vitest: 3.2.2(@types/node@22.15.30)(tsx@4.19.4) - '@types/graceful-fs@4.1.9': + '@vitest/expect@3.2.2': dependencies: - '@types/node': 22.15.30 + '@types/chai': 5.2.2 + '@vitest/spy': 3.2.2 + '@vitest/utils': 3.2.2 + '@vitest/mocker@3.2.2(vite@6.3.5(@types/node@22.15.30)(tsx@4.19.4))': + '@vitest/spy': 3.2.2 + vite: 6.3.5(@types/node@22.15.30)(tsx@4.19.4) + '@vitest/pretty-format@3.2.2': - '@types/js-cookie@2.2.7': {} + '@vitest/runner@3.2.2': + '@vitest/utils': 3.2.2 + '@vitest/snapshot@3.2.2': + '@vitest/pretty-format': 3.2.2 + '@vitest/spy@3.2.2': + dependencies: + tinyspy: 4.0.3 + '@vitest/utils@3.2.2': + '@vitest/pretty-format': 3.2.2 '@types/json5@0.0.29': {} '@types/jsonstream@0.8.33': @@ -3909,6 +4080,44 @@ snapshots: loupe: 3.1.3 tinyrainbow: 2.0.0 + '@volar/language-core@1.11.1': + dependencies: + '@volar/source-map': 1.11.1 + + '@volar/source-map@1.11.1': + dependencies: + muggle-string: 0.3.1 + + '@volar/typescript@1.11.1': + dependencies: + '@volar/language-core': 1.11.1 + path-browserify: 1.0.1 + + '@vue/compiler-core@3.5.16': + dependencies: + '@babel/parser': 7.27.5 + '@vue/shared': 3.5.16 + '@vue/compiler-dom@3.5.16': + dependencies: + '@vue/compiler-core': 3.5.16 + '@vue/shared': 3.5.16 + + '@vue/language-core@1.8.27(typescript@5.8.3)': + dependencies: + '@volar/language-core': 1.11.1 + '@volar/source-map': 1.11.1 + '@vue/compiler-dom': 3.5.16 + '@vue/shared': 3.5.16 + computeds: 0.0.1 + minimatch: 9.0.5 + muggle-string: 0.3.1 + path-browserify: 1.0.1 + vue-template-compiler: 2.7.16 + optionalDependencies: + typescript: 5.8.3 + + '@vue/shared@3.5.16': {} + '@xobotyi/scrollbar-width@1.9.5': {} JSONStream@1.3.5: @@ -3954,6 +4163,10 @@ snapshots: any-promise@1.3.0: {} + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + argparse@2.0.1: {} aria-query@5.3.2: {} @@ -4016,6 +4229,12 @@ snapshots: call-bind: 1.0.8 define-properties: 1.2.1 es-abstract: 1.23.7 + ast-v8-to-istanbul@0.3.3: + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + estree-walker: 3.0.3 + js-tokens: 9.0.1 + es-shim-unscopables: 1.0.2 array.prototype.tosorted@1.1.4: @@ -4056,11 +4275,6 @@ snapshots: ast-v8-to-istanbul@0.3.3: dependencies: '@jridgewell/trace-mapping': 0.3.25 - estree-walker: 3.0.3 - js-tokens: 9.0.1 - - available-typed-arrays@1.0.7: - dependencies: possible-typed-array-names: 1.0.0 axe-core@4.10.2: {} @@ -4137,17 +4351,7 @@ snapshots: call-bind-apply-helpers: 1.0.1 get-intrinsic: 1.2.6 - call-bound@1.0.4: - dependencies: - call-bind-apply-helpers: 1.0.2 - get-intrinsic: 1.3.0 - callsites@3.1.0: {} - - camelcase-keys@6.2.2: - dependencies: - camelcase: 5.3.1 - map-obj: 4.3.0 quick-lru: 4.0.1 camelcase@5.3.1: {} @@ -4221,11 +4425,16 @@ snapshots: commander@8.3.0: {} + commander@9.5.0: + optional: true + compare-func@2.0.0: dependencies: array-ify: 1.0.0 dot-prop: 5.3.0 + computeds@0.0.1: {} + concat-map@0.0.1: {} concat-stream@2.0.0: @@ -4390,6 +4599,10 @@ snapshots: es-errors: 1.3.0 is-data-view: 1.0.2 + debug@4.4.1: + dependencies: + ms: 2.1.3 + data-view-byte-length@1.0.1: dependencies: call-bind: 1.0.8 @@ -4420,6 +4633,8 @@ snapshots: dateformat@3.0.3: {} + de-indent@1.0.2: {} + debug@3.2.7: dependencies: ms: 2.1.3 @@ -4526,6 +4741,8 @@ snapshots: graceful-fs: 4.2.11 tapable: 2.2.1 + entities@4.5.0: {} + error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 @@ -4684,21 +4901,21 @@ snapshots: dependencies: is-callable: 1.2.7 is-date-object: 1.0.5 - is-symbol: 1.0.4 - - es-to-primitive@1.3.0: - dependencies: - is-callable: 1.2.7 - is-date-object: 1.1.0 - is-symbol: 1.1.1 + '@typescript-eslint/eslint-plugin': 8.33.1(@typescript-eslint/parser@8.33.1(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3) + '@typescript-eslint/parser': 8.33.1(eslint@8.57.1)(typescript@5.8.3) + eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@8.33.1(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.33.1(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.5.5)(eslint@8.57.1) + eslint-import-resolver-typescript@3.5.5(@typescript-eslint/parser@8.33.1(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1): + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.33.1(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.5.5)(eslint@8.57.1) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.33.1(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.5.5)(eslint@8.57.1) - esbuild@0.25.3: + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.33.1(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.5.5)(eslint@8.57.1): optionalDependencies: - '@esbuild/aix-ppc64': 0.25.3 - '@esbuild/android-arm': 0.25.3 - '@esbuild/android-arm64': 0.25.3 - '@esbuild/android-x64': 0.25.3 - '@esbuild/darwin-arm64': 0.25.3 + '@typescript-eslint/parser': 8.33.1(eslint@8.57.1)(typescript@5.8.3) + eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@8.33.1(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1) + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.33.1(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.5.5)(eslint@8.57.1): + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.33.1(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.5.5)(eslint@8.57.1) + '@typescript-eslint/parser': 8.33.1(eslint@8.57.1)(typescript@5.8.3) '@esbuild/darwin-x64': 0.25.3 '@esbuild/freebsd-arm64': 0.25.3 '@esbuild/freebsd-x64': 0.25.3 @@ -4940,6 +5157,8 @@ snapshots: estraverse@5.3.0: {} + estree-walker@2.0.2: {} + estree-walker@3.0.3: dependencies: '@types/estree': 1.0.7 @@ -4973,12 +5192,6 @@ snapshots: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 - - fast-json-stable-stringify@2.1.0: {} - - fast-levenshtein@2.0.6: {} - fast-shallow-equal@1.0.0: {} fastest-stable-stringify@2.0.2: {} @@ -5049,6 +5262,12 @@ snapshots: fs-constants@1.0.0: optional: true + fs-extra@7.0.1: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + fs.realpath@1.0.0: {} fsevents@2.3.3: @@ -5255,6 +5474,8 @@ snapshots: dependencies: function-bind: 1.1.2 + he@1.2.0: {} + hosted-git-info@2.8.9: {} hosted-git-info@4.1.0: @@ -5279,6 +5500,8 @@ snapshots: parent-module: 1.0.1 resolve-from: 4.0.0 + import-lazy@4.0.0: {} + imurmurhash@0.1.4: {} indent-string@4.0.0: {} @@ -5446,7 +5669,9 @@ snapshots: dependencies: call-bound: 1.0.4 has-symbols: 1.1.0 - safe-regex-test: 1.1.0 + debug: 4.4.1 + + js-tokens@9.0.1: {} is-text-path@1.0.1: dependencies: @@ -5472,8 +5697,6 @@ snapshots: dependencies: call-bound: 1.0.3 - is-weakset@2.0.4: - dependencies: call-bound: 1.0.4 get-intrinsic: 1.2.6 @@ -5519,6 +5742,8 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 + jju@1.4.0: {} + joycon@3.1.1: {} js-cookie@2.2.1: {} @@ -5533,12 +5758,6 @@ snapshots: json-buffer@3.0.1: {} - json-parse-better-errors@1.0.2: {} - - json-parse-even-better-errors@2.3.1: {} - - json-schema-traverse@0.4.1: {} - json-stable-stringify-without-jsonify@1.0.1: {} json-stringify-safe@5.0.1: {} @@ -5547,6 +5766,10 @@ snapshots: dependencies: minimist: 1.2.8 + jsonfile@4.0.0: + optionalDependencies: + graceful-fs: 4.2.11 + jsonparse@1.3.1: {} jsx-ast-utils@3.3.5: @@ -5566,6 +5789,8 @@ snapshots: kind-of@6.0.3: {} + kolorist@1.8.0: {} + language-subtag-registry@0.3.22: {} language-tags@1.0.9: @@ -5608,6 +5833,10 @@ snapshots: dependencies: p-locate: 5.0.0 + lodash.get@4.4.2: {} + + lodash.isequal@4.5.0: {} + lodash.ismatch@4.4.0: {} lodash.merge@4.6.2: {} @@ -5675,20 +5904,7 @@ snapshots: normalize-package-data: 3.0.3 read-pkg-up: 7.0.1 redent: 3.0.0 - trim-newlines: 3.0.1 - type-fest: 0.18.1 - yargs-parser: 20.2.9 - - merge-refs@1.3.0(@types/react@19.1.6): - optionalDependencies: - '@types/react': 19.1.6 - merge2@1.4.1: {} - - micromatch@4.0.5: - dependencies: - braces: 3.0.2 - picomatch: 2.3.1 mimic-fn@4.0.0: {} @@ -5700,6 +5916,10 @@ snapshots: min-indent@1.0.1: {} + minimatch@3.0.8: + dependencies: + brace-expansion: 1.1.11 + minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 @@ -5732,6 +5952,8 @@ snapshots: ms@2.1.3: {} + muggle-string@0.3.1: {} + mz@2.7.0: dependencies: any-promise: 1.3.0 @@ -5912,20 +6134,7 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.21.4 - error-ex: 1.3.2 - json-parse-even-better-errors: 2.3.1 - lines-and-columns: 1.2.4 - - path-exists@3.0.0: {} - - path-exists@4.0.0: {} - - path-is-absolute@1.0.1: {} - path-key@3.1.1: {} - - path-parse@1.0.7: {} path-scurry@1.11.1: dependencies: @@ -6101,10 +6310,6 @@ snapshots: nano-css: 5.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - react-universal-interface: 0.6.2(react@19.1.0)(tslib@2.6.2) - resize-observer-polyfill: 1.5.1 - screenfull: 5.2.0 - set-harmonic-interval: 1.0.1 throttle-debounce: 3.0.1 ts-easing: 0.2.0 tslib: 2.6.2 @@ -6190,6 +6395,11 @@ snapshots: resolve-pkg-maps@1.0.0: {} + resolve@1.19.0: + dependencies: + is-core-module: 2.15.1 + path-parse: 1.0.7 + resolve@1.22.4: dependencies: is-core-module: 2.15.1 @@ -6285,6 +6495,10 @@ snapshots: dependencies: lru-cache: 6.0.0 + semver@7.5.4: + dependencies: + lru-cache: 6.0.0 + semver@7.6.3: {} set-function-length@1.2.2: @@ -6318,10 +6532,6 @@ snapshots: side-channel-map@1.0.1: dependencies: - call-bound: 1.0.3 - es-errors: 1.3.0 - get-intrinsic: 1.2.6 - object-inspect: 1.13.3 side-channel-weakmap@1.0.2: dependencies: @@ -6394,6 +6604,8 @@ snapshots: dependencies: through: 2.3.8 + sprintf-js@1.0.3: {} + stack-generator@2.0.10: dependencies: stackframe: 1.3.4 @@ -6432,6 +6644,8 @@ snapshots: std-env@3.9.0: {} + string-argv@0.3.2: {} + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 @@ -6488,16 +6702,6 @@ snapshots: es-abstract: 1.23.7 es-object-atoms: 1.0.0 - string.prototype.trimend@1.0.8: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - - string.prototype.trimend@1.0.9: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.3 define-properties: 1.2.1 es-object-atoms: 1.0.0 @@ -6550,42 +6754,6 @@ snapshots: supports-color@5.5.0: dependencies: - has-flag: 3.0.0 - - supports-color@7.2.0: - dependencies: - has-flag: 4.0.0 - - supports-preserve-symlinks-flag@1.0.0: {} - - synckit@0.11.8: - dependencies: - '@pkgr/core': 0.2.4 - - synckit@0.8.8: - dependencies: - '@pkgr/core': 0.1.0 - tslib: 2.8.1 - - tapable@2.2.1: {} - - tar-fs@2.1.1: - dependencies: - chownr: 1.1.4 - mkdirp-classic: 0.5.3 - pump: 3.0.2 - tar-stream: 2.2.0 - optional: true - - tar-stream@2.2.0: - dependencies: - bl: 4.1.0 - end-of-stream: 1.4.4 - fs-constants: 1.0.0 - inherits: 2.0.4 - readable-stream: 3.6.2 - optional: true - test-exclude@7.0.1: dependencies: '@istanbuljs/schema': 0.1.3 @@ -6672,7 +6840,7 @@ snapshots: tslib@2.8.1: {} - tsup@8.5.0(postcss@8.5.3)(tsx@4.19.4)(typescript@5.8.3): + tsup@8.5.0(@microsoft/api-extractor@7.43.0(@types/node@22.15.29))(postcss@8.5.3)(tsx@4.19.4)(typescript@5.8.3): dependencies: bundle-require: 5.1.0(esbuild@0.25.3) cac: 6.7.14 @@ -6692,6 +6860,7 @@ snapshots: tinyglobby: 0.2.13 tree-kill: 1.2.2 optionalDependencies: + '@microsoft/api-extractor': 7.43.0(@types/node@22.15.29) postcss: 8.5.3 typescript: 5.8.3 transitivePeerDependencies: @@ -6773,8 +6942,6 @@ snapshots: has-proto: 1.2.0 is-typed-array: 1.1.13 - typed-array-byte-length@1.0.3: - dependencies: call-bind: 1.0.8 for-each: 0.3.3 gopd: 1.2.0 @@ -6788,38 +6955,40 @@ snapshots: for-each: 0.3.3 gopd: 1.2.0 has-proto: 1.2.0 - is-typed-array: 1.1.13 - - typed-array-byte-offset@1.0.4: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.8 - for-each: 0.3.3 - gopd: 1.2.0 - has-proto: 1.2.0 - is-typed-array: 1.1.15 - reflect.getprototypeof: 1.0.9 - - typed-array-length@1.0.6: + vite-node@3.2.2(@types/node@22.15.30)(tsx@4.19.4): dependencies: - call-bind: 1.0.8 - for-each: 0.3.3 - gopd: 1.2.0 - has-proto: 1.2.0 - is-typed-array: 1.1.13 - possible-typed-array-names: 1.0.0 - - typed-array-length@1.0.7: + debug: 4.4.1 + vite: 6.3.5(@types/node@22.15.30)(tsx@4.19.4) + vite-plugin-dts@3.9.1(@types/node@22.15.30)(rollup@4.40.1)(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.30)(tsx@4.19.4)): + '@microsoft/api-extractor': 7.43.0(@types/node@22.15.30) + debug: 4.4.1 + vite: 6.3.5(@types/node@22.15.30)(tsx@4.19.4) + vite@6.3.5(@types/node@22.15.30)(tsx@4.19.4): + '@types/node': 22.15.30 + vitest@3.2.2(@types/node@22.15.30)(tsx@4.19.4): dependencies: - call-bind: 1.0.8 - for-each: 0.3.3 - gopd: 1.2.0 - is-typed-array: 1.1.15 + '@types/chai': 5.2.2 + '@vitest/expect': 3.2.2 + '@vitest/mocker': 3.2.2(vite@6.3.5(@types/node@22.15.30)(tsx@4.19.4)) + '@vitest/pretty-format': 3.2.2 + '@vitest/runner': 3.2.2 + '@vitest/snapshot': 3.2.2 + '@vitest/spy': 3.2.2 + '@vitest/utils': 3.2.2 + debug: 4.4.1 + picomatch: 4.0.2 + tinyglobby: 0.2.14 + tinypool: 1.1.0 + vite: 6.3.5(@types/node@22.15.30)(tsx@4.19.4) + vite-node: 3.2.2(@types/node@22.15.30)(tsx@4.19.4) + '@types/node': 22.15.30 possible-typed-array-names: 1.0.0 reflect.getprototypeof: 1.0.9 typedarray@0.0.6: {} + typescript@5.4.2: {} + typescript@5.8.3: {} ufo@1.6.1: {} @@ -6843,6 +7012,8 @@ snapshots: undici-types@6.21.0: {} + universalify@0.1.2: {} + uri-js@4.4.1: dependencies: punycode: 2.3.0 @@ -6854,7 +7025,9 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - vite-node@3.2.2(@types/node@22.15.30)(tsx@4.19.4): + validator@13.15.15: {} + + vite-node@3.1.4(@types/node@22.15.29)(tsx@4.19.4): dependencies: cac: 6.7.14 debug: 4.4.1 @@ -6875,7 +7048,24 @@ snapshots: - tsx - yaml - vite@6.3.5(@types/node@22.15.30)(tsx@4.19.4): + vite-plugin-dts@3.9.1(@types/node@22.15.29)(rollup@4.40.1)(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.29)(tsx@4.19.4)): + dependencies: + '@microsoft/api-extractor': 7.43.0(@types/node@22.15.29) + '@rollup/pluginutils': 5.1.4(rollup@4.40.1) + '@vue/language-core': 1.8.27(typescript@5.8.3) + debug: 4.4.0 + kolorist: 1.8.0 + magic-string: 0.30.17 + typescript: 5.8.3 + vue-tsc: 1.8.27(typescript@5.8.3) + optionalDependencies: + vite: 6.3.5(@types/node@22.15.29)(tsx@4.19.4) + transitivePeerDependencies: + - '@types/node' + - rollup + - supports-color + + vite@6.3.5(@types/node@22.15.29)(tsx@4.19.4): dependencies: esbuild: 0.25.3 fdir: 6.4.4(picomatch@4.0.2) @@ -6890,14 +7080,6 @@ snapshots: vitest@3.2.2(@types/node@22.15.30)(tsx@4.19.4): dependencies: - '@types/chai': 5.2.2 - '@vitest/expect': 3.2.2 - '@vitest/mocker': 3.2.2(vite@6.3.5(@types/node@22.15.30)(tsx@4.19.4)) - '@vitest/pretty-format': 3.2.2 - '@vitest/runner': 3.2.2 - '@vitest/snapshot': 3.2.2 - '@vitest/spy': 3.2.2 - '@vitest/utils': 3.2.2 chai: 5.2.0 debug: 4.4.1 expect-type: 1.2.1 @@ -6929,6 +7111,18 @@ snapshots: - tsx - yaml + vue-template-compiler@2.7.16: + dependencies: + de-indent: 1.0.2 + he: 1.2.0 + + vue-tsc@1.8.27(typescript@5.8.3): + dependencies: + '@volar/typescript': 1.11.1 + '@vue/language-core': 1.8.27(typescript@5.8.3) + semver: 7.6.3 + typescript: 5.8.3 + warning@4.0.3: dependencies: loose-envify: 1.4.0 @@ -7041,3 +7235,11 @@ snapshots: yargs-parser: 20.2.9 yocto-queue@0.1.0: {} + + z-schema@5.0.5: + dependencies: + lodash.get: 4.4.2 + lodash.isequal: 4.5.0 + validator: 13.15.15 + optionalDependencies: + commander: 9.5.0