diff --git a/.changeset/fix-worma-vscode-2026-07-25.md b/.changeset/fix-worma-vscode-2026-07-25.md new file mode 100644 index 00000000..86b34ae9 --- /dev/null +++ b/.changeset/fix-worma-vscode-2026-07-25.md @@ -0,0 +1,6 @@ +--- +"wormajs": patch +"worma-vscode": patch +--- + +Fix OpenAPI circular-reference detection by replacing `Object.prototype.hasOwnProperty.call` with the native `Object.hasOwn`, and stabilize unit tests. Update VS Code extension to use `Date.now()` for id generation, fix import ordering, and adjust publish script order. diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 3264a8da..ebd7fcb4 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -27,7 +27,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: 20 + node-version: 22 registry-url: 'https://registry.npmjs.org' cache: pnpm diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index eb53fefb..62ff4d84 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -25,7 +25,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: 20 + node-version: 22 registry-url: 'https://registry.npmjs.org' cache: pnpm @@ -51,7 +51,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: 20 + node-version: 22 registry-url: 'https://registry.npmjs.org' cache: pnpm diff --git a/.gitignore b/.gitignore index a6afa0f2..f6e9b6bb 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,9 @@ out dist docs/.source/ dist-ssr +*.tsbuildinfo +tsc_out.txt +**/tsc_out.txt *.vsix .vscode-test .vite-ssg-dist diff --git a/benchmark/package.json b/benchmark/package.json index 8d5c847c..d90ccdea 100644 --- a/benchmark/package.json +++ b/benchmark/package.json @@ -31,6 +31,6 @@ "vite": "^7.3.1", "vue": "^3.5.17", "vue-echarts": "^7.0.3", - "wormajs": "workspace:*" + "wormajs": "latest" } } diff --git a/docs/src/components/home/Cta.tsx b/docs/src/components/home/Cta.tsx index 49f2f2b9..23d37714 100644 --- a/docs/src/components/home/Cta.tsx +++ b/docs/src/components/home/Cta.tsx @@ -12,7 +12,7 @@ export default function Cta() { try { await navigator.clipboard.writeText(AGENT_PROMPT) setToast(true) - setTimeout(() => setToast(false), 2500) + setTimeout(setToast, 2500, false) } catch { // ignore clipboard errors diff --git a/docs/src/components/home/Hero.tsx b/docs/src/components/home/Hero.tsx index 4b1b8d1b..d1bab440 100644 --- a/docs/src/components/home/Hero.tsx +++ b/docs/src/components/home/Hero.tsx @@ -194,7 +194,7 @@ export default function Hero() { try { await navigator.clipboard.writeText(AGENT_PROMPT) setToast(true) - setTimeout(() => setToast(false), 2500) + setTimeout(setToast, 2500, false) } catch { // ignore clipboard errors diff --git a/examples/commonjs/package.json b/examples/commonjs/package.json index 58fd10b0..13ce0055 100644 --- a/examples/commonjs/package.json +++ b/examples/commonjs/package.json @@ -12,6 +12,6 @@ "axios": "^1.17.0" }, "devDependencies": { - "wormajs": "workspace:*" + "wormajs": "latest" } } diff --git a/examples/esm/package.json b/examples/esm/package.json index 5fd65611..b84c331a 100644 --- a/examples/esm/package.json +++ b/examples/esm/package.json @@ -13,6 +13,6 @@ "ky": "^2.0.2" }, "devDependencies": { - "wormajs": "workspace:*" + "wormajs": "latest" } } diff --git a/examples/monorepo/package.json b/examples/monorepo/package.json index 885cb7f7..1699c511 100644 --- a/examples/monorepo/package.json +++ b/examples/monorepo/package.json @@ -12,6 +12,6 @@ "start": "npm run gen:all && pnpm start:alova && pnpm start:axios && pnpm start:fetch && pnpm start:ky" }, "devDependencies": { - "wormajs": "workspace:*" + "wormajs": "latest" } } diff --git a/examples/typescript/package.json b/examples/typescript/package.json index 8a45cc1e..82b71034 100644 --- a/examples/typescript/package.json +++ b/examples/typescript/package.json @@ -16,6 +16,6 @@ "devDependencies": { "tsx": "^4.22.4", "typescript": "^5.9.3", - "wormajs": "workspace:*" + "wormajs": "latest" } } diff --git a/package.json b/package.json index 66b3f096..677f1bb6 100644 --- a/package.json +++ b/package.json @@ -14,11 +14,11 @@ "url": "https://github.com/alovajs/devtools/issues" }, "engines": { - "node": ">=20.19.0", + "node": ">=22.0.0", "pnpm": ">=9.1.0" }, "scripts": { - "test": "run-s test:*", + "test": "run-s \"test:*\"", "test:e2e": "nr build && nr --filter=./packages/vscode-extension test:e2e", "test:unit": "vitest run --exclude '**/e2e*/**'", "test:unit:coverage": "vitest run --exclude '**/e2e*/**' --coverage", @@ -33,7 +33,7 @@ "changeset:beta": "changeset pre enter beta", "changeset:pre.exit": "changeset pre exit", "changeset:version": "tsx scripts/version.ts", - "build": "nr --filter=./packages/* build", + "build": "nr --filter=\"./packages/*\" build", "release": "tsx scripts/release.ts" }, "devDependencies": { @@ -76,7 +76,8 @@ "resolutions": { "unplugin": "catalog:build", "vite": "catalog:build", - "vite-plugin-inspect": "catalog:build" + "vite-plugin-inspect": "catalog:build", + "wormajs": "workspace:*" }, "lint-staged": { "*": "npm run lintf" diff --git a/packages/vscode-extension/e2e/actions/create-config-content/basic.test.ts b/packages/vscode-extension/e2e/actions/create-config-content/basic.test.ts index ad398105..99ecaa5b 100644 --- a/packages/vscode-extension/e2e/actions/create-config-content/basic.test.ts +++ b/packages/vscode-extension/e2e/actions/create-config-content/basic.test.ts @@ -1,4 +1,4 @@ -import { Commands, executeCommand, expect, openFile, setupTest } from '../../ctx' +import { Commands, executeCommand, expect, openFile, setupTest } from '../../ctx.js' // The harness launches this action once per declared fixture and tells us // which one via `E2E_FIXTURE`. The expected config file name follows the diff --git a/packages/vscode-extension/e2e/actions/create-config-content/index.ts b/packages/vscode-extension/e2e/actions/create-config-content/index.ts index 4f02ed26..8783cce6 100644 --- a/packages/vscode-extension/e2e/actions/create-config-content/index.ts +++ b/packages/vscode-extension/e2e/actions/create-config-content/index.ts @@ -1,3 +1,3 @@ -import { createRunner } from '../../runner' +import { createRunner } from '../../runner.js' export const run = createRunner(__dirname) diff --git a/packages/vscode-extension/e2e/actions/create-config/basic.test.ts b/packages/vscode-extension/e2e/actions/create-config/basic.test.ts index e4a1bf33..0294a167 100644 --- a/packages/vscode-extension/e2e/actions/create-config/basic.test.ts +++ b/packages/vscode-extension/e2e/actions/create-config/basic.test.ts @@ -1,5 +1,5 @@ import sinon from 'sinon' -import { Commands, executeCommand, expect, MockWorma, setupTest } from '../../ctx' +import { Commands, executeCommand, expect, MockWorma, setupTest } from '../../ctx.js' setupTest('create-config command', () => { it('invokes worma.createConfig exactly once', async () => { diff --git a/packages/vscode-extension/e2e/actions/create-config/index.ts b/packages/vscode-extension/e2e/actions/create-config/index.ts index 4f02ed26..8783cce6 100644 --- a/packages/vscode-extension/e2e/actions/create-config/index.ts +++ b/packages/vscode-extension/e2e/actions/create-config/index.ts @@ -1,3 +1,3 @@ -import { createRunner } from '../../runner' +import { createRunner } from '../../runner.js' export const run = createRunner(__dirname) diff --git a/packages/vscode-extension/e2e/actions/extension-activation/basic.test.ts b/packages/vscode-extension/e2e/actions/extension-activation/basic.test.ts index 58c802fc..6b6c5c68 100644 --- a/packages/vscode-extension/e2e/actions/extension-activation/basic.test.ts +++ b/packages/vscode-extension/e2e/actions/extension-activation/basic.test.ts @@ -1,4 +1,4 @@ -import { getExt, is, setupTest } from '../../ctx' +import { getExt, is, setupTest } from '../../ctx.js' setupTest('extension-activation', () => { it('extension is active after startup', () => { diff --git a/packages/vscode-extension/e2e/actions/extension-activation/index.ts b/packages/vscode-extension/e2e/actions/extension-activation/index.ts index 4f02ed26..8783cce6 100644 --- a/packages/vscode-extension/e2e/actions/extension-activation/index.ts +++ b/packages/vscode-extension/e2e/actions/extension-activation/index.ts @@ -1,3 +1,3 @@ -import { createRunner } from '../../runner' +import { createRunner } from '../../runner.js' export const run = createRunner(__dirname) diff --git a/packages/vscode-extension/e2e/actions/generate-api/basic.test.ts b/packages/vscode-extension/e2e/actions/generate-api/basic.test.ts index 9ea7fde0..8728b325 100644 --- a/packages/vscode-extension/e2e/actions/generate-api/basic.test.ts +++ b/packages/vscode-extension/e2e/actions/generate-api/basic.test.ts @@ -1,5 +1,5 @@ import sinon from 'sinon' -import { Commands, executeCommand, expect, MockWorma, setupTest } from '../../ctx' +import { Commands, executeCommand, expect, MockWorma, setupTest } from '../../ctx.js' setupTest('generate-api command', () => { it('runs the generator through the refresh action', async () => { diff --git a/packages/vscode-extension/e2e/actions/generate-api/index.ts b/packages/vscode-extension/e2e/actions/generate-api/index.ts index 4f02ed26..8783cce6 100644 --- a/packages/vscode-extension/e2e/actions/generate-api/index.ts +++ b/packages/vscode-extension/e2e/actions/generate-api/index.ts @@ -1,3 +1,3 @@ -import { createRunner } from '../../runner' +import { createRunner } from '../../runner.js' export const run = createRunner(__dirname) diff --git a/packages/vscode-extension/e2e/ctx.ts b/packages/vscode-extension/e2e/ctx.ts index 83c78532..d0d4a9d5 100644 --- a/packages/vscode-extension/e2e/ctx.ts +++ b/packages/vscode-extension/e2e/ctx.ts @@ -4,10 +4,10 @@ import Chai from 'chai' import Snapshot from 'chai-jest-snapshot' import sinon from 'sinon' import { commands, extensions, Uri, window, workspace } from 'vscode' -import { Meta } from './test' +import { Meta } from './test.js' Chai.use(Snapshot) -export * from './test' +export * from './test.js' export const expect = Chai.expect export { is, not } export function timeout(ms = 1000) { diff --git a/packages/vscode-extension/e2e/frameworks/commonjs/basic.test.ts b/packages/vscode-extension/e2e/frameworks/commonjs/basic.test.ts index dd70ac3a..53eebe4a 100644 --- a/packages/vscode-extension/e2e/frameworks/commonjs/basic.test.ts +++ b/packages/vscode-extension/e2e/frameworks/commonjs/basic.test.ts @@ -1,5 +1,5 @@ import sinon from 'sinon' -import { Commands, executeCommand, expect, getExt, is, MockWorma, openFile, setupTest } from '../../ctx' +import { Commands, executeCommand, expect, getExt, is, MockWorma, openFile, setupTest } from '../../ctx.js' setupTest('commonjs', () => { it('opens entry file', async () => { diff --git a/packages/vscode-extension/e2e/frameworks/commonjs/index.ts b/packages/vscode-extension/e2e/frameworks/commonjs/index.ts index 4f02ed26..8783cce6 100644 --- a/packages/vscode-extension/e2e/frameworks/commonjs/index.ts +++ b/packages/vscode-extension/e2e/frameworks/commonjs/index.ts @@ -1,3 +1,3 @@ -import { createRunner } from '../../runner' +import { createRunner } from '../../runner.js' export const run = createRunner(__dirname) diff --git a/packages/vscode-extension/e2e/frameworks/esm/basic.test.ts b/packages/vscode-extension/e2e/frameworks/esm/basic.test.ts index 28f6cadf..a0f895f3 100644 --- a/packages/vscode-extension/e2e/frameworks/esm/basic.test.ts +++ b/packages/vscode-extension/e2e/frameworks/esm/basic.test.ts @@ -1,5 +1,5 @@ import sinon from 'sinon' -import { Commands, executeCommand, expect, getExt, is, MockWorma, openFile, setupTest } from '../../ctx' +import { Commands, executeCommand, expect, getExt, is, MockWorma, openFile, setupTest } from '../../ctx.js' setupTest('esm', () => { it('opens entry file', async () => { diff --git a/packages/vscode-extension/e2e/frameworks/esm/index.ts b/packages/vscode-extension/e2e/frameworks/esm/index.ts index 4f02ed26..8783cce6 100644 --- a/packages/vscode-extension/e2e/frameworks/esm/index.ts +++ b/packages/vscode-extension/e2e/frameworks/esm/index.ts @@ -1,3 +1,3 @@ -import { createRunner } from '../../runner' +import { createRunner } from '../../runner.js' export const run = createRunner(__dirname) diff --git a/packages/vscode-extension/e2e/frameworks/monorepo/basic.test.ts b/packages/vscode-extension/e2e/frameworks/monorepo/basic.test.ts index 719bc012..b59f3094 100644 --- a/packages/vscode-extension/e2e/frameworks/monorepo/basic.test.ts +++ b/packages/vscode-extension/e2e/frameworks/monorepo/basic.test.ts @@ -1,5 +1,5 @@ import sinon from 'sinon' -import { Commands, executeCommand, expect, getExt, is, MockWorma, openFile, setupTest } from '../../ctx' +import { Commands, executeCommand, expect, getExt, is, MockWorma, openFile, setupTest } from '../../ctx.js' setupTest('monorepo', () => { it('opens entry file', async () => { diff --git a/packages/vscode-extension/e2e/frameworks/monorepo/index.ts b/packages/vscode-extension/e2e/frameworks/monorepo/index.ts index 4f02ed26..8783cce6 100644 --- a/packages/vscode-extension/e2e/frameworks/monorepo/index.ts +++ b/packages/vscode-extension/e2e/frameworks/monorepo/index.ts @@ -1,3 +1,3 @@ -import { createRunner } from '../../runner' +import { createRunner } from '../../runner.js' export const run = createRunner(__dirname) diff --git a/packages/vscode-extension/e2e/frameworks/typescript/basic.test.ts b/packages/vscode-extension/e2e/frameworks/typescript/basic.test.ts index a8897ec2..2f0b3c5b 100644 --- a/packages/vscode-extension/e2e/frameworks/typescript/basic.test.ts +++ b/packages/vscode-extension/e2e/frameworks/typescript/basic.test.ts @@ -1,5 +1,5 @@ import sinon from 'sinon' -import { Commands, executeCommand, expect, getExt, is, MockWorma, openFile, setupTest } from '../../ctx' +import { Commands, executeCommand, expect, getExt, is, MockWorma, openFile, setupTest } from '../../ctx.js' setupTest('typescript', () => { it('opens entry file', async () => { diff --git a/packages/vscode-extension/e2e/frameworks/typescript/index.ts b/packages/vscode-extension/e2e/frameworks/typescript/index.ts index 4f02ed26..8783cce6 100644 --- a/packages/vscode-extension/e2e/frameworks/typescript/index.ts +++ b/packages/vscode-extension/e2e/frameworks/typescript/index.ts @@ -1,3 +1,3 @@ -import { createRunner } from '../../runner' +import { createRunner } from '../../runner.js' export const run = createRunner(__dirname) diff --git a/packages/vscode-extension/e2e/index.ts b/packages/vscode-extension/e2e/index.ts index 2d70e3d4..887f8827 100644 --- a/packages/vscode-extension/e2e/index.ts +++ b/packages/vscode-extension/e2e/index.ts @@ -4,8 +4,8 @@ import { runTests } from '@vscode/test-electron' import chalk from 'chalk' import fg from 'fast-glob' import fs from 'fs-extra' -import { projectRoot, root } from './path' -import { logger, run } from './utils' +import { projectRoot, root } from './path.js' +import { logger, run } from './utils.js' async function main() { const extensionDevelopmentPath = projectRoot @@ -91,8 +91,15 @@ async function main() { let fixtures: string[] = ['commonjs'] try { const mod = await import(join(actionsDir, action, 'fixtures.js')) - const value = mod.default ?? mod - fixtures = Array.isArray(value) ? value : [value] + // Under `module: nodenext` the e2e is compiled to CommonJS, and Node's + // native ESM `import()` of a CJS module exposes `module.exports` as + // `default`, which itself carries the real `default` export. Unwrap one + // level so `export default X` resolves to `X` for both scalar and array + // fixture declarations. + let value: unknown = mod.default ?? mod + if (value && typeof value === 'object' && !Array.isArray(value) && 'default' in value) + value = (value as { default?: unknown }).default + fixtures = Array.isArray(value) ? value : [String(value)] } catch { fixtures = ['commonjs'] diff --git a/packages/vscode-extension/e2e/tsconfig.json b/packages/vscode-extension/e2e/tsconfig.json index cc5851bc..301b282e 100644 --- a/packages/vscode-extension/e2e/tsconfig.json +++ b/packages/vscode-extension/e2e/tsconfig.json @@ -2,9 +2,8 @@ "compilerOptions": { "target": "esnext", "lib": ["ESNext"], - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "node", + "module": "nodenext", + "moduleResolution": "nodenext", "strict": true, "outDir": "../e2e-out", "esModuleInterop": true, diff --git a/packages/vscode-extension/e2e/utils.ts b/packages/vscode-extension/e2e/utils.ts index fa14dd7c..1578e889 100644 --- a/packages/vscode-extension/e2e/utils.ts +++ b/packages/vscode-extension/e2e/utils.ts @@ -2,7 +2,7 @@ import { spawn } from 'node:child_process' import chalk from 'chalk' import Pino from 'pino' -import { projectRoot } from './path' +import { projectRoot } from './path.js' interface RunOptons { cwd?: string diff --git a/packages/vscode-extension/ext/utils/index.ts b/packages/vscode-extension/ext/utils/index.ts index 93c0dbaa..3cd6c298 100644 --- a/packages/vscode-extension/ext/utils/index.ts +++ b/packages/vscode-extension/ext/utils/index.ts @@ -25,7 +25,7 @@ export function getFileNameByPath(path: string) { } // Generate unique id export function uuid() { - let dt = new Date().getTime() + let dt = Date.now() const id = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => { const r = (dt + Math.random() * 16) % 16 | 0 dt = Math.floor(dt / 16) diff --git a/packages/vscode-extension/package.json b/packages/vscode-extension/package.json index ae48afd5..f059ed6d 100644 --- a/packages/vscode-extension/package.json +++ b/packages/vscode-extension/package.json @@ -177,7 +177,7 @@ "lint": "eslint .", "lintf": "eslint . --fix", "vscode:prepublish": "nr build", - "publish": "vsce publish --no-dependencies && ovsx publish --no-dependencies", + "publish": "ovsx publish --no-dependencies && vsce publish --no-dependencies", "pack": "vsce package --no-dependencies", "pack:pre": "vsce package --no-dependencies --pre-release", "test": "vitest", @@ -186,8 +186,8 @@ "test:unit": "vitest", "typecheck": "vue-tsc --noEmit", "sizecheck": "npx vite-bundle-visualizer", - "release:pre": "vsce publish --no-dependencies --pre-release && ovsx publish --no-dependencies --pre-release", - "release": "vsce publish --no-dependencies && ovsx publish --no-dependencies" + "release:pre": "ovsx publish --no-dependencies --pre-release && vsce publish --no-dependencies --pre-release", + "release": "ovsx publish --no-dependencies && vsce publish --no-dependencies" }, "dependencies": { "@unhead/vue": "catalog:frontend", diff --git a/packages/vscode-extension/src/hooks/use-handlers.ts b/packages/vscode-extension/src/hooks/use-handlers.ts index bf60ccc7..d929adb3 100644 --- a/packages/vscode-extension/src/hooks/use-handlers.ts +++ b/packages/vscode-extension/src/hooks/use-handlers.ts @@ -1,5 +1,5 @@ -import type { DataType, HandlersType, MessageType } from '#/handlers' import type { MessageReceiver, MessageSender } from '@jsonrpc-rx/client' +import type { DataType, HandlersType, MessageType } from '#/handlers' import { JsonrpcClient, wrap } from '@jsonrpc-rx/client' import { getVscodeApi } from '~/utils/vscode' diff --git a/packages/worma/package.json b/packages/worma/package.json index 7b8c06f1..d644886b 100644 --- a/packages/worma/package.json +++ b/packages/worma/package.json @@ -46,7 +46,7 @@ ], "scripts": { "test": "vitest run", - "build": "run-s build:*", + "build": "run-s \"build:*\"", "build:ts": "tsc --build tsconfig.build.json && tsc-alias -p tsconfig.build.json", "build:dts": "dts-bundle-generator -o typings/index.d.ts src/index.ts --no-check --no-banner --project tsconfig.dts.json", "build:plugin-dts": "dts-bundle-generator -o typings/plugins.d.ts src/plugins/index.ts --no-check --no-banner --project tsconfig.dts.json", diff --git a/packages/worma/src/template/presets/alova/partials/dts-fn-declare.handlebars b/packages/worma/src/template/presets/alova/partials/dts-fn-declare.handlebars index 129505ba..26c4fbff 100644 --- a/packages/worma/src/template/presets/alova/partials/dts-fn-declare.handlebars +++ b/packages/worma/src/template/presets/alova/partials/dts-fn-declare.handlebars @@ -1 +1 @@ -export declare function {{{name}}} & {{{name}}}ExtraConfig>(config: Config): Alova2Method>; \ No newline at end of file +export declare function {{{name}}} & {{{name}}}ExtraConfig>(config{{#or pathParameters queryParameters requestBody }}{{else}}?{{/or}}: Config): Alova2Method>; \ No newline at end of file diff --git a/packages/worma/src/template/presets/alova/typescript/services/{tag}.ts.handlebars b/packages/worma/src/template/presets/alova/typescript/services/{tag}.ts.handlebars index dd501c0e..b12500e6 100644 --- a/packages/worma/src/template/presets/alova/typescript/services/{tag}.ts.handlebars +++ b/packages/worma/src/template/presets/alova/typescript/services/{tag}.ts.handlebars @@ -18,7 +18,7 @@ interface {{{name}}}ExtraConfig { {{/if}} } {{> api-jsdoc}} -export function {{{name}}} & {{{name}}}ExtraConfig>(config: Config): Alova2Method> { +export function {{{name}}} & {{{name}}}ExtraConfig>(config{{#or pathParameters queryParameters requestBody }}{{else}}?{{/or}}: Config): Alova2Method> { const { url, data, mergedConfig } = buildPayload('{{{path}}}', {{{tag}}}DefaultConfig, {{{name}}}.name, config); return alovaInstance.Request>({ ...mergedConfig, diff --git a/packages/worma/src/template/presets/axios/partials/dts-fn-declare.handlebars b/packages/worma/src/template/presets/axios/partials/dts-fn-declare.handlebars index 3b2830eb..adab13d9 100644 --- a/packages/worma/src/template/presets/axios/partials/dts-fn-declare.handlebars +++ b/packages/worma/src/template/presets/axios/partials/dts-fn-declare.handlebars @@ -1 +1 @@ -export declare function {{{name}}}(config: {{{name}}}ExtraConfig): Promise<{{{name}}}Response>; +export declare function {{{name}}}(config{{#or pathParameters queryParameters requestBody }}{{else}}?{{/or}}: {{{name}}}ExtraConfig): Promise<{{{name}}}Response>; diff --git a/packages/worma/src/template/presets/axios/typescript/services/{tag}.ts.handlebars b/packages/worma/src/template/presets/axios/typescript/services/{tag}.ts.handlebars index 01472069..137f215c 100644 --- a/packages/worma/src/template/presets/axios/typescript/services/{tag}.ts.handlebars +++ b/packages/worma/src/template/presets/axios/typescript/services/{tag}.ts.handlebars @@ -17,7 +17,7 @@ type {{{name}}}ExtraConfig = Omit & { {{/if}} }; {{> api-jsdoc}} -export function {{{name}}}(config: {{{name}}}ExtraConfig): Promise<{{{name}}}Response> { +export function {{{name}}}(config{{#or pathParameters queryParameters requestBody }}{{else}}?{{/or}}: {{{name}}}ExtraConfig): Promise<{{{name}}}Response> { const { url, mergedConfig } = buildPayload('{{{path}}}', {{{tag}}}DefaultConfig, {{{name}}}.name, config); return axiosInstance<{{{name}}}Response>({ method: '{{method}}', diff --git a/packages/worma/src/template/presets/fetch/partials/dts-fn-declare.handlebars b/packages/worma/src/template/presets/fetch/partials/dts-fn-declare.handlebars index 3b2830eb..adab13d9 100644 --- a/packages/worma/src/template/presets/fetch/partials/dts-fn-declare.handlebars +++ b/packages/worma/src/template/presets/fetch/partials/dts-fn-declare.handlebars @@ -1 +1 @@ -export declare function {{{name}}}(config: {{{name}}}ExtraConfig): Promise<{{{name}}}Response>; +export declare function {{{name}}}(config{{#or pathParameters queryParameters requestBody }}{{else}}?{{/or}}: {{{name}}}ExtraConfig): Promise<{{{name}}}Response>; diff --git a/packages/worma/src/template/presets/fetch/typescript/services/{tag}.ts.handlebars b/packages/worma/src/template/presets/fetch/typescript/services/{tag}.ts.handlebars index 7f25e055..171a7299 100644 --- a/packages/worma/src/template/presets/fetch/typescript/services/{tag}.ts.handlebars +++ b/packages/worma/src/template/presets/fetch/typescript/services/{tag}.ts.handlebars @@ -16,7 +16,7 @@ type {{{name}}}ExtraConfig = Omit & { {{/if}} }; {{> api-jsdoc}} -export async function {{{name}}}(config: {{{name}}}ExtraConfig): Promise<{{{name}}}Response> { +export async function {{{name}}}(config{{#or pathParameters queryParameters requestBody }}{{else}}?{{/or}}: {{{name}}}ExtraConfig): Promise<{{{name}}}Response> { const { url, mergedConfig } = buildPayload('{{{path}}}', {{{tag}}}DefaultConfig, {{{name}}}.name, config); return fetchClient.request(url, { method: '{{method}}', ...mergedConfig{{#if (eq response "Blob")}}, blob: true{{/if}} }) as Promise<{{{name}}}Response>; } diff --git a/packages/worma/src/template/presets/ky/partials/dts-fn-declare.handlebars b/packages/worma/src/template/presets/ky/partials/dts-fn-declare.handlebars index 320179c7..5adae3ea 100644 --- a/packages/worma/src/template/presets/ky/partials/dts-fn-declare.handlebars +++ b/packages/worma/src/template/presets/ky/partials/dts-fn-declare.handlebars @@ -1 +1 @@ -export declare function {{{name}}}(config: {{{name}}}ExtraConfig): Promise<{{{name}}}Response>; \ No newline at end of file +export declare function {{{name}}}(config{{#or pathParameters queryParameters requestBody }}{{else}}?{{/or}}: {{{name}}}ExtraConfig): Promise<{{{name}}}Response>; \ No newline at end of file diff --git a/packages/worma/src/template/presets/ky/typescript/services/{tag}.ts.handlebars b/packages/worma/src/template/presets/ky/typescript/services/{tag}.ts.handlebars index 6280b4dc..8c5d4ed6 100644 --- a/packages/worma/src/template/presets/ky/typescript/services/{tag}.ts.handlebars +++ b/packages/worma/src/template/presets/ky/typescript/services/{tag}.ts.handlebars @@ -17,7 +17,7 @@ type {{{name}}}ExtraConfig = Options & { {{/if}} }; {{> api-jsdoc}} -export function {{{name}}}(config: {{{name}}}ExtraConfig): Promise<{{{name}}}Response> { +export function {{{name}}}(config{{#or pathParameters queryParameters requestBody }}{{else}}?{{/or}}: {{{name}}}ExtraConfig): Promise<{{{name}}}Response> { const { url, mergedConfig } = buildPayload('{{{path}}}', {{{tag}}}DefaultConfig, {{{name}}}.name, config); const resolvedPath = url.replace(/^\//, ''); return kyInstance(resolvedPath, { diff --git a/packages/worma/src/utils/openapi.ts b/packages/worma/src/utils/openapi.ts index 6e32e2b3..eee15581 100644 --- a/packages/worma/src/utils/openapi.ts +++ b/packages/worma/src/utils/openapi.ts @@ -280,7 +280,7 @@ function isCircular(obj: any) { } seenObjects.add(obj) for (const key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { + if (Object.hasOwn(obj, key)) { if (detect(obj[key])) { return true } @@ -298,7 +298,7 @@ function hasBaseReferenceObject(obj: any) { return true } for (const key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { + if (Object.hasOwn(obj, key)) { if (hasBaseReferenceObject(obj[key])) { return true } @@ -319,7 +319,7 @@ function removeBaseReference(obj: Record, options: { return refObj } for (const key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key) && hasBaseReferenceObject(obj[key])) { + if (Object.hasOwn(obj, key) && hasBaseReferenceObject(obj[key])) { obj[key] = removeBaseReference(obj[key], { openApi, map, refNameMap }) } } @@ -341,7 +341,7 @@ function removeBaseReference(obj: Record, options: { } } for (const key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key) && hasBaseReferenceObject(obj[key])) { + if (Object.hasOwn(obj, key) && hasBaseReferenceObject(obj[key])) { obj[key] = removeBaseReference(obj[key], { openApi, map, refNameMap }) } } @@ -387,7 +387,7 @@ function unCircular( seen.set(obj, { $ref: nextPath }) map.push([nextPath, obj]) for (const key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { + if (Object.hasOwn(obj, key)) { obj[key] = unCircular(obj[key], { openApi, map, objPath: `${objPath}.${key}`, seen, refNameMap }) } } @@ -398,7 +398,7 @@ function unCircular( } map.push([$ref, obj]) for (const key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { + if (Object.hasOwn(obj, key)) { obj[key] = unCircular(obj[key], { openApi, map, objPath: `${objPath}.${key}`, seen, refNameMap }) } } diff --git a/packages/worma/test/cli.spec.ts b/packages/worma/test/cli.spec.ts index ec3a76fd..429e4514 100644 --- a/packages/worma/test/cli.spec.ts +++ b/packages/worma/test/cli.spec.ts @@ -52,18 +52,26 @@ function resetMocks() { // Re-apply default implementations vi.mocked(readConfig).mockImplementation(() => Promise.resolve(generatingConfig) as any) vi.mocked(resolveWorkspaces).mockImplementation(() => Promise.resolve(['./packages/test-pkg-1', './packages/test-pkg-2']) as any) - mockMultiGenRenderer.mockImplementation(() => ({ - setActive: vi.fn(), - setProgress: vi.fn(), - setDone: vi.fn(), - setFailed: vi.fn(), - setSkipped: vi.fn(), - finalize: vi.fn(), - })) - mockMultiProjRenderer.mockImplementation(() => ({ - onProjectEvent: vi.fn(), - finalize: vi.fn(), - })) + // Vitest 4 requires the mock implementation to be a `function`/`class` + // (not an arrow) because `actions.ts` instantiates it with `new`. + // eslint-disable-next-line prefer-arrow-callback + mockMultiGenRenderer.mockImplementation(function () { + return { + setActive: vi.fn(), + setProgress: vi.fn(), + setDone: vi.fn(), + setFailed: vi.fn(), + setSkipped: vi.fn(), + finalize: vi.fn(), + } + }) + // eslint-disable-next-line prefer-arrow-callback + mockMultiProjRenderer.mockImplementation(function () { + return { + onProjectEvent: vi.fn(), + finalize: vi.fn(), + } + }) } describe('cli', () => { diff --git a/packages/worma/test/configParamsEffectiveness.spec.ts b/packages/worma/test/configParamsEffectiveness.spec.ts index 09694336..af04f224 100644 --- a/packages/worma/test/configParamsEffectiveness.spec.ts +++ b/packages/worma/test/configParamsEffectiveness.spec.ts @@ -225,7 +225,7 @@ describe('serverName effectiveness (cache persistence)', () => { openapi: '3.0.0', version: '1.0.0', baseUrl: 'http://localhost', - allApis: [{ tag: 'test', method: 'GET', summary: 'test', path: '/t', pathParameters: '', queryParameters: '', name: 'test', response: 'Test', pathKey: 'test.test' }], + allApis: [{ tag: 'test', method: 'GET', summary: 'test', path: '/t', pathParameters: '', queryParameters: '', name: 'test', response: 'Test' }], tagedApis: [{ tagName: 'test', apis: [] }], components: [], type: 'typescript' as const, diff --git a/packages/worma/test/defineConfig.spec.ts b/packages/worma/test/defineConfig.spec.ts index e47064ce..7613b9d4 100644 --- a/packages/worma/test/defineConfig.spec.ts +++ b/packages/worma/test/defineConfig.spec.ts @@ -37,7 +37,7 @@ describe('defineConfig', () => { const result = await configPromise expect(result.generator[0].input).toBe('./openapi.json') expect(result.generator[0].output).toBe('./src/api') - expect(typeof result.generator[0].plugins[0].getTemplate).toBe('function') + expect(typeof result.generator[0].plugins![0].getTemplate).toBe('function') }) }) @@ -65,7 +65,7 @@ describe('configHelper.readUserConfig', () => { const result = await ConfigHelper.readUserConfig(configFn) expect(result.generator[0].input).toBe('./openapi.json') expect(result.generator[0].output).toBe('./src/api') - expect(typeof result.generator[0].plugins[0].getTemplate).toBe('function') + expect(typeof result.generator[0].plugins![0].getTemplate).toBe('function') }) it('should return the config object when passed a promise', async () => { @@ -79,7 +79,7 @@ describe('configHelper.readUserConfig', () => { const result = await ConfigHelper.readUserConfig(configPromise) expect(result.generator[0].input).toBe('./openapi.json') expect(result.generator[0].output).toBe('./src/api') - expect(typeof result.generator[0].plugins[0].getTemplate).toBe('function') + expect(typeof result.generator[0].plugins![0].getTemplate).toBe('function') }) it('should handle async functions correctly', async () => { @@ -93,6 +93,6 @@ describe('configHelper.readUserConfig', () => { const result = await ConfigHelper.readUserConfig(asyncConfigFn) expect(result.generator[0].input).toBe('./openapi.json') expect(result.generator[0].output).toBe('./src/api') - expect(typeof result.generator[0].plugins[0].getTemplate).toBe('function') + expect(typeof result.generator[0].plugins![0].getTemplate).toBe('function') }) }) diff --git a/packages/worma/test/openapi.spec.ts b/packages/worma/test/openapi.spec.ts index f6105d86..35c9967e 100644 --- a/packages/worma/test/openapi.spec.ts +++ b/packages/worma/test/openapi.spec.ts @@ -297,7 +297,9 @@ describe('generate with OpenAPI file', () => { ) }) - it.skip('should auto detect generating module codes if not set `type`', async () => { + it.skip('should auto detect generating module codes if not set `type`', { + timeout: 10 * 1000, + }, async () => { // default type: auto // generate ts modules const outputDir = resolve(__dirname, `./mock_output/openapi_301${getSalt()}`) @@ -369,8 +371,6 @@ describe('generate with OpenAPI file', () => { ) unlinkSync(tempPkgFile) - }, { - timeout: 10 * 1000, }) it.skip('should generate corresponding module codes dependent to `type`', async () => { diff --git a/packages/worma/test/plugins/importType.spec.ts b/packages/worma/test/plugins/importType.spec.ts index c09a1135..2b01d84c 100644 --- a/packages/worma/test/plugins/importType.spec.ts +++ b/packages/worma/test/plugins/importType.spec.ts @@ -21,7 +21,7 @@ describe('plugins/importType', () => { }) const cfg: any = { externalTypes: ['Existing'] } - const returned = plugin.config?.({ config: cfg, projectPath: '' }) + const returned = plugin.config?.({ config: cfg, projectPath: '', reportProgress: () => {} }) expect(returned).toBe(cfg) expect(cfg.externalTypes).toEqual([ @@ -33,7 +33,7 @@ describe('plugins/importType', () => { ]) // Calling config twice should not duplicate - plugin.config?.({ config: cfg, projectPath: '' }) + plugin.config?.({ config: cfg, projectPath: '', reportProgress: () => {} }) expect(cfg.externalTypes).toEqual([ 'Existing', 'Apis', diff --git a/packages/worma/test/plugins/payloadModifier.spec.ts b/packages/worma/test/plugins/payloadModifier.spec.ts index 9a395884..38db645b 100644 --- a/packages/worma/test/plugins/payloadModifier.spec.ts +++ b/packages/worma/test/plugins/payloadModifier.spec.ts @@ -820,7 +820,7 @@ describe('payloadModifier plugin tests', () => { describe('validation: handler return value', () => { function api(): ApiDescriptor { return { - url: '/x', + url: '/x', method: 'get', parameters: [{ name: 'age', in: 'query', required: false, schema: { type: 'string' } }], requestBody: { type: 'object', properties: { name: { type: 'string' } }, required: [] }, @@ -829,47 +829,47 @@ describe('payloadModifier plugin tests', () => { } it('throws on invalid primitive type', () => { - const handleApi = getHandleApi([{ scope: 'params', match: 'age', handler: () => 'int64' }]) + const handleApi = getHandleApi([{ scope: 'params', match: 'age', handler: () => 'int64' as any }]) expect(() => handleApi(api())).toThrow(/Invalid schema type "int64"/) }) it('throws on invalid primitive in SchemaOptional.type', () => { - const handleApi = getHandleApi([{ scope: 'params', match: 'age', handler: () => ({ required: false, type: 'int64' }) }]) + const handleApi = getHandleApi([{ scope: 'params', match: 'age', handler: () => ({ required: false, type: 'int64' as any }) }]) expect(() => handleApi(api())).toThrow(/Invalid schema type "int64"/) }) it('throws on invalid primitive in oneOf', () => { - const handleApi = getHandleApi([{ scope: 'params', match: 'age', handler: () => ({ oneOf: ['int64', 'string'] }) }]) + const handleApi = getHandleApi([{ scope: 'params', match: 'age', handler: () => ({ oneOf: ['int64' as any, 'string'] }) }]) expect(() => handleApi(api())).toThrow(/Invalid schema type "int64"/) }) it('throws on invalid primitive in anyOf', () => { - const handleApi = getHandleApi([{ scope: 'params', match: 'age', handler: () => ({ anyOf: ['int64', 'string'] }) }]) + const handleApi = getHandleApi([{ scope: 'params', match: 'age', handler: () => ({ anyOf: ['int64' as any, 'string'] }) }]) expect(() => handleApi(api())).toThrow(/Invalid schema type "int64"/) }) it('throws on invalid primitive in allOf', () => { - const handleApi = getHandleApi([{ scope: 'params', match: 'age', handler: () => ({ allOf: ['int64', 'string'] }) }]) + const handleApi = getHandleApi([{ scope: 'params', match: 'age', handler: () => ({ allOf: ['int64' as any, 'string'] }) }]) expect(() => handleApi(api())).toThrow(/Invalid schema type "int64"/) }) it('throws on invalid type in SchemaEnum', () => { - const handleApi = getHandleApi([{ scope: 'params', match: 'age', handler: () => ({ enum: ['a', 'b'], type: 'int64' }) }]) + const handleApi = getHandleApi([{ scope: 'params', match: 'age', handler: () => ({ enum: ['a', 'b'], type: 'int64' as any }) }]) expect(() => handleApi(api())).toThrow(/Invalid schema type "int64"/) }) it('throws on invalid primitive in array element', () => { - const handleApi = getHandleApi([{ scope: 'data', match: 'name', handler: () => ['int64'] }]) + const handleApi = getHandleApi([{ scope: 'data', match: 'name', handler: () => ['int64' as any] }]) expect(() => handleApi(api())).toThrow(/Invalid schema type "int64"/) }) it('throws on invalid primitive in nested SchemaReference', () => { - const handleApi = getHandleApi([{ scope: 'data', match: 'name', handler: () => ({ key: 'int64' }) }]) + const handleApi = getHandleApi([{ scope: 'data', match: 'name', handler: () => ({ key: 'int64' as any }) }]) expect(() => handleApi(api())).toThrow(/Invalid schema type "int64"/) }) it('throws on invalid primitive in deeply nested SchemaOptional', () => { - const handleApi = getHandleApi([{ scope: 'params', match: 'age', handler: () => ({ required: true, type: { required: false, type: 'int64' } }) }]) + const handleApi = getHandleApi([{ scope: 'params', match: 'age', handler: () => ({ required: true, type: { required: false, type: 'int64' as any } }) }]) expect(() => handleApi(api())).toThrow(/Invalid schema type "int64"/) }) diff --git a/packages/worma/test/plugins/platform.spec.ts b/packages/worma/test/plugins/platform.spec.ts index 05e312e6..aa645541 100644 --- a/packages/worma/test/plugins/platform.spec.ts +++ b/packages/worma/test/plugins/platform.spec.ts @@ -1,10 +1,9 @@ +import type { YapiOptions } from '@/plugins/presets/platform' import type { GeneratorConfig } from '@/type' import { describe, expect, it } from 'vitest' import { alovaGlobals } from '@/plugins' import { fastapi, knife4j, swagger, yapi } from '@/plugins/presets/platform' -// eslint-disable-next-line unused-imports/no-unused-vars -interface Req { config: GeneratorConfig, projectPath: string, reportProgress: () => void } function noop() { } function makeConfig(overrides?: Partial): GeneratorConfig { @@ -123,14 +122,14 @@ describe('platform preset plugins - config', () => { }) it('should throw when url is missing', async () => { - const plugin = yapi({ pid: 123, cookie: 'x' }) + const plugin = yapi({ pid: 123, cookie: 'x' } as YapiOptions) await expect( plugin.config!({ config: makeConfig(), projectPath: '', reportProgress: noop }), ).rejects.toThrow(/url/) }) it('should throw when pid is missing', async () => { - const plugin = yapi({ url: yapiBase, cookie: 'x' }) + const plugin = yapi({ url: yapiBase, cookie: 'x' } as YapiOptions) await expect( plugin.config!({ config: makeConfig(), projectPath: '', reportProgress: noop }), ).rejects.toThrow(/pid/) diff --git a/packages/worma/test/plugins/rename.spec.ts b/packages/worma/test/plugins/rename.spec.ts index 0ab43289..d25f49f5 100644 --- a/packages/worma/test/plugins/rename.spec.ts +++ b/packages/worma/test/plugins/rename.spec.ts @@ -303,7 +303,7 @@ describe('rename plugin', () => { // ---- The following are unit tests calling handleApi directly, to avoid relying on file writes (memfs) ---- function runRename(descriptor: any, config: any): any { const plugin = rename(config) - return plugin.config({ config: {} as any }).handleApi(descriptor as any) + return (plugin.config?.({ config: {} as any, projectPath: '', reportProgress: () => {} }) as any).handleApi(descriptor as any) } it('should deep-rename nested object and array-item properties (data scope)', () => { @@ -472,7 +472,7 @@ describe('rename plugin', () => { const result = runRename(descriptor, { scope: 'name', // Apply a custom prefix to the function name - transform: (descriptor, value) => `api_${value}`, + transform: (descriptor: any, value: any) => `api_${value}`, }) expect(result.operationId).toBe('api_get_all_users') diff --git a/packages/worma/test/plugins/tagModifier.spec.ts b/packages/worma/test/plugins/tagModifier.spec.ts index 0eb2ea71..e8766899 100644 --- a/packages/worma/test/plugins/tagModifier.spec.ts +++ b/packages/worma/test/plugins/tagModifier.spec.ts @@ -25,7 +25,7 @@ describe('tagModifier plugin tests', () => { function getHandleApi(handler: ModifierHandler) { const plugin = tagModifier(handler) expect(plugin.name).toBe(PluginName.TAG_MODIFIER) - const configured = plugin.config!({ config: {} as any }) + const configured = plugin.config!({ config: {} as any, projectPath: '', reportProgress: () => {} }) as any return configured.handleApi as (api: ApiDescriptor) => ApiDescriptor | null } diff --git a/packages/worma/test/templates/__snapshots__/alova.spec.ts.snap b/packages/worma/test/templates/__snapshots__/alova.spec.ts.snap index 3f9d8ab8..3190bed9 100644 --- a/packages/worma/test/templates/__snapshots__/alova.spec.ts.snap +++ b/packages/worma/test/templates/__snapshots__/alova.spec.ts.snap @@ -3512,7 +3512,7 @@ interface getInventoryExtraConfig {} * */ export function getInventory> & getInventoryExtraConfig>( - config: Config + config?: Config ): Alova2Method>> { const { url, data, mergedConfig } = buildPayload('/store/inventory', storeDefaultConfig, getInventory.name, config); return alovaInstance.Request>>({ @@ -4066,7 +4066,7 @@ interface logoutUserExtraConfig {} * */ export function logoutUser & logoutUserExtraConfig>( - config: Config + config?: Config ): Alova2Method> { const { url, data, mergedConfig } = buildPayload('/user/logout', userDefaultConfig, logoutUser.name, config); return alovaInstance.Request>({ diff --git a/packages/worma/test/templates/alova-api.spec.ts b/packages/worma/test/templates/alova-api.spec.ts index 7dd28fb3..825ba467 100644 --- a/packages/worma/test/templates/alova-api.spec.ts +++ b/packages/worma/test/templates/alova-api.spec.ts @@ -47,7 +47,7 @@ describe('alova template — API call execution', () => { expect(result.name).toBe('bird') }) - it('pUT with data body: sends and returns response', async () => { + it('put with data body: sends and returns response', async () => { let receivedBody: any = null getServer().use( http.put(`${BASE}/pet`, async ({ request }) => { @@ -95,7 +95,7 @@ describe('alova template — API call execution', () => { expect(result[0].name).toBe('cat') }) - it('pUT with data: returns response', async () => { + it('put with data: returns response', async () => { let receivedBody: any = null getServer().use( http.put(`${BASE}/pet`, async ({ request }) => { @@ -143,7 +143,7 @@ describe('alova template — API call execution', () => { expect(result[0].name).toBe('fish') }) - it('pUT with data: returns response', async () => { + it('put with data: returns response', async () => { let receivedBody: any = null getServer().use( http.put(`${BASE}/pet`, async ({ request }) => { diff --git a/packages/worma/test/templates/alova-globals.spec.ts b/packages/worma/test/templates/alova-globals.spec.ts index af7b2ed5..542b0fe8 100644 --- a/packages/worma/test/templates/alova-globals.spec.ts +++ b/packages/worma/test/templates/alova-globals.spec.ts @@ -301,7 +301,9 @@ describe('generate API', () => { }) // Skipped: module-type template generation does not work correctly with the memfs mock in this test environment - it.skip('should auto detect generating module codes if not set `type`', async () => { + it.skip('should auto detect generating module codes if not set `type`', { + timeout: 10 * 1000, + }, async () => { // default type: auto // generate ts modules const outputDir = resolve(__dirname, `./mock_output/openapi_301${getSalt()}`) @@ -373,8 +375,6 @@ describe('generate API', () => { ) unlinkSync(tempPkgFile) - }, { - timeout: 10 * 1000, }) // Skipped: module-type template generation does not work correctly with the memfs mock in this test environment diff --git a/packages/worma/test/templates/axios-api.spec.ts b/packages/worma/test/templates/axios-api.spec.ts index 9bf5cc42..48de53c4 100644 --- a/packages/worma/test/templates/axios-api.spec.ts +++ b/packages/worma/test/templates/axios-api.spec.ts @@ -41,7 +41,7 @@ describe('axios template — API call execution', () => { expect(result.name).toBe('bird') }) - it('pUT with data body: sends JSON, returns response', async () => { + it('put with data body: sends JSON, returns response', async () => { let receivedBody: any = null getServer().use( http.put(`${BASE}/pet`, async ({ request }) => { @@ -89,7 +89,7 @@ describe('axios template — API call execution', () => { expect(result[0].name).toBe('cat') }) - it('pUT with data: returns response', async () => { + it('put with data: returns response', async () => { let receivedBody: any = null getServer().use( http.put(`${BASE}/pet`, async ({ request }) => { @@ -137,7 +137,7 @@ describe('axios template — API call execution', () => { expect(result[0].name).toBe('fish') }) - it('pUT with data: returns response', async () => { + it('put with data: returns response', async () => { let receivedBody: any = null getServer().use( http.put(`${BASE}/pet`, async ({ request }) => { diff --git a/packages/worma/test/templates/fetch-api.spec.ts b/packages/worma/test/templates/fetch-api.spec.ts index d804a9c1..132049c0 100644 --- a/packages/worma/test/templates/fetch-api.spec.ts +++ b/packages/worma/test/templates/fetch-api.spec.ts @@ -41,7 +41,7 @@ describe('fetch template — API call execution', () => { expect(result.name).toBe('bird') }) - it('pUT with body: sends JSON, returns response', async () => { + it('put with body: sends JSON, returns response', async () => { let receivedBody: any = null getServer().use( http.put(`${BASE}/pet`, async ({ request }) => { @@ -89,7 +89,7 @@ describe('fetch template — API call execution', () => { expect(result[0].name).toBe('cat') }) - it('pUT with body: returns response', async () => { + it('put with body: returns response', async () => { let receivedBody: any = null getServer().use( http.put(`${BASE}/pet`, async ({ request }) => { @@ -137,7 +137,7 @@ describe('fetch template — API call execution', () => { expect(result[0].name).toBe('fish') }) - it('pUT with body: returns response', async () => { + it('put with body: returns response', async () => { let receivedBody: any = null getServer().use( http.put(`${BASE}/pet`, async ({ request }) => { diff --git a/packages/worma/test/templates/ky-api.spec.ts b/packages/worma/test/templates/ky-api.spec.ts index faf11322..947628fc 100644 --- a/packages/worma/test/templates/ky-api.spec.ts +++ b/packages/worma/test/templates/ky-api.spec.ts @@ -12,7 +12,7 @@ describe('ky template — API call execution', () => { }) describe('typescript', () => { - it('gET with searchParams: params forwarded, returns data', async () => { + it('get with searchParams: params forwarded, returns data', async () => { let receivedParams: Record = {} getServer().use( http.get(`${BASE}/pet/findByStatus`, ({ request }) => { @@ -26,7 +26,7 @@ describe('ky template — API call execution', () => { expect(result).toEqual([{ id: 1, name: 'dog', status: 'available' }]) }) - it('gET with path params: substitutes {petId}', async () => { + it('get with path params: substitutes {petId}', async () => { let receivedId = '' getServer().use( http.get(`${BASE}/pet/:petId`, ({ params }) => { @@ -40,7 +40,7 @@ describe('ky template — API call execution', () => { expect(result).toEqual({ id: 5, name: 'cat' }) }) - it('pUT with json body: sends and returns response', async () => { + it('put with json body: sends and returns response', async () => { let receivedBody: any = null getServer().use( http.put(`${BASE}/pet`, async ({ request }) => { @@ -74,7 +74,7 @@ describe('ky template — API call execution', () => { }) describe('module', () => { - it('gET with searchParams: returns data', async () => { + it('get with searchParams: returns data', async () => { let receivedParams: Record = {} getServer().use( http.get(`${BASE}/pet/findByStatus`, ({ request }) => { @@ -88,7 +88,7 @@ describe('ky template — API call execution', () => { expect(result).toEqual([{ id: 2, name: 'bird', status: 'sold' }]) }) - it('pUT with json body: returns response', async () => { + it('put with json body: returns response', async () => { let receivedBody: any = null getServer().use( http.put(`${BASE}/pet`, async ({ request }) => { diff --git a/packages/worma/tsconfig.build.json b/packages/worma/tsconfig.build.json index 2fe9efb1..581d95a5 100644 --- a/packages/worma/tsconfig.build.json +++ b/packages/worma/tsconfig.build.json @@ -1,6 +1,7 @@ { "extends": "./tsconfig.json", "compilerOptions": { + "rootDir": "./src", "types": ["node"], "outDir": "./dist" }, diff --git a/packages/worma/tsconfig.json b/packages/worma/tsconfig.json index b327c00e..b30fa1ab 100644 --- a/packages/worma/tsconfig.json +++ b/packages/worma/tsconfig.json @@ -15,6 +15,7 @@ ] }, "resolveJsonModule": false, + "ignoreDeprecations": "6.0", "types": [ "vitest/globals" ], @@ -31,6 +32,8 @@ "vitest.config.mts" ], "exclude": [ - "test/output/**/*" + "test/output/**/*", + "test/debug_output*/**", + "test/mock_output/**" ] -} +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1b26e780..c77255f7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -111,8 +111,8 @@ catalogs: version: 7.2.0 dev: '@antfu/eslint-config': - specifier: ^5.4.1 - version: 5.4.1 + specifier: ^9.2.0 + version: 9.2.0 '@antfu/ni': specifier: ^25.0.0 version: 25.0.0 @@ -138,8 +138,8 @@ catalogs: specifier: ^2.0.0 version: 2.0.0 '@vitest/coverage-v8': - specifier: ^3.2.6 - version: 3.2.6 + specifier: ^4.1.6 + version: 4.1.10 '@vscode/test-electron': specifier: ^2.5.2 version: 2.5.2 @@ -240,11 +240,11 @@ catalogs: specifier: ^4.22.4 version: 4.22.4 typescript: - specifier: ^5.9.3 - version: 5.9.3 + specifier: ^6.0.3 + version: 6.0.3 vitest: - specifier: ^3.2.6 - version: 3.2.6 + specifier: ^4.1.6 + version: 4.1.10 vue-tsc: specifier: ^3.0.2 version: 3.1.1 @@ -366,6 +366,7 @@ overrides: unplugin: ^2.3.5 vite: ^7.3.1 vite-plugin-inspect: ^11.3.0 + wormajs: workspace:* importers: @@ -373,7 +374,7 @@ importers: devDependencies: '@antfu/eslint-config': specifier: catalog:dev - version: 5.4.1(@typescript-eslint/rule-tester@8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(@typescript-eslint/typescript-estree@8.62.0(typescript@5.9.3))(@typescript-eslint/utils@8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(@unocss/eslint-plugin@66.7.3(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(@vue/compiler-sfc@3.5.22)(eslint-plugin-format@1.5.0(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)(vitest@3.2.6(@types/debug@4.1.13)(@types/node@24.13.2)(jiti@2.7.0)(jsdom@26.1.0)(lightningcss@1.32.0)(msw@2.14.6(@types/node@24.13.2)(typescript@5.9.3))(tsx@4.22.4)(yaml@2.9.0)) + version: 9.2.0(@typescript-eslint/typescript-estree@8.65.0(typescript@6.0.3))(@typescript-eslint/utils@8.65.0(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3))(@unocss/eslint-plugin@66.7.3(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3))(@vue/compiler-sfc@3.5.22)(eslint-plugin-format@1.5.0(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0))(oxlint@1.71.0)(ts-declaration-location@1.0.7(typescript@6.0.3))(typescript@6.0.3)(vitest@4.1.10) '@antfu/ni': specifier: catalog:dev version: 25.0.0 @@ -391,7 +392,7 @@ importers: version: 6.1.0 '@commitlint/cli': specifier: catalog:dev - version: 19.8.1(@types/node@24.13.2)(typescript@5.9.3) + version: 19.8.1(@types/node@24.13.2)(typescript@6.0.3) '@commitlint/config-conventional': specifier: catalog:dev version: 19.8.1 @@ -406,19 +407,19 @@ importers: version: 24.13.2 '@vitest/coverage-v8': specifier: catalog:dev - version: 3.2.6(vitest@3.2.6(@types/debug@4.1.13)(@types/node@24.13.2)(jiti@2.7.0)(jsdom@26.1.0)(lightningcss@1.32.0)(msw@2.14.6(@types/node@24.13.2)(typescript@5.9.3))(tsx@4.22.4)(yaml@2.9.0)) + version: 4.1.10(vitest@4.1.10) '@vueuse/core': specifier: catalog:frontend - version: 13.9.0(vue@3.5.22(typescript@5.9.3)) + version: 13.9.0(vue@3.5.22(typescript@6.0.3)) commitizen: specifier: catalog:dev - version: 4.3.2(@types/node@24.13.2)(typescript@5.9.3) + version: 4.3.2(@types/node@24.13.2)(typescript@6.0.3) coveralls-next: specifier: catalog:dev version: 5.0.0 cz-conventional-changelog: specifier: catalog:dev - version: 3.3.0(@types/node@24.13.2)(typescript@5.9.3) + version: 3.3.0(@types/node@24.13.2)(typescript@6.0.3) dts-bundle-generator: specifier: catalog:build version: 9.5.1 @@ -442,7 +443,7 @@ importers: version: 16.4.0 msw: specifier: catalog:dev - version: 2.14.6(@types/node@24.13.2)(typescript@5.9.3) + version: 2.14.6(@types/node@24.13.2)(typescript@6.0.3) ncp: specifier: catalog:build version: 2.0.0 @@ -469,10 +470,10 @@ importers: version: 4.41.0 typescript: specifier: catalog:dev - version: 5.9.3 + version: 6.0.3 vitest: specifier: catalog:dev - version: 3.2.6(@types/debug@4.1.13)(@types/node@24.13.2)(jiti@2.7.0)(jsdom@26.1.0)(lightningcss@1.32.0)(msw@2.14.6(@types/node@24.13.2)(typescript@5.9.3))(tsx@4.22.4)(yaml@2.9.0) + version: 4.1.10(@types/node@24.13.2)(@vitest/coverage-v8@4.1.10)(jsdom@26.1.0)(msw@2.14.6(@types/node@24.13.2)(typescript@6.0.3))(vite@7.3.6(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0)) wormajs: specifier: workspace:* version: link:packages/worma @@ -699,13 +700,13 @@ importers: dependencies: '@unhead/vue': specifier: catalog:frontend - version: 2.0.19(vue@3.5.22(typescript@5.9.3)) + version: 2.0.19(vue@3.5.22(typescript@6.0.3)) '@vicons/ionicons5': specifier: catalog:frontend version: 0.13.0 '@vueuse/core': specifier: catalog:frontend - version: 13.9.0(vue@3.5.22(typescript@5.9.3)) + version: 13.9.0(vue@3.5.22(typescript@6.0.3)) glob: specifier: catalog:dev version: 11.0.3 @@ -720,29 +721,29 @@ importers: version: 0.2.0 pinia: specifier: catalog:frontend - version: 3.0.3(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3)) + version: 3.0.3(typescript@6.0.3)(vue@3.5.22(typescript@6.0.3)) query-string: specifier: catalog:frontend version: 9.3.1 vue: specifier: catalog:frontend - version: 3.5.22(typescript@5.9.3) + version: 3.5.22(typescript@6.0.3) vue-i18n: specifier: catalog:frontend - version: 11.1.12(vue@3.5.22(typescript@5.9.3)) + version: 11.1.12(vue@3.5.22(typescript@6.0.3)) vue-router: specifier: catalog:frontend - version: 4.5.1(vue@3.5.22(typescript@5.9.3)) + version: 4.5.1(vue@3.5.22(typescript@6.0.3)) devDependencies: '@czhlin/vite-plugin-vscode': specifier: catalog:build - version: 4.3.0(typescript@5.9.3)(vite@7.3.1(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.1.1(typescript@5.9.3)) + version: 4.3.0(typescript@6.0.3)(vite@7.3.1(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.1.1(typescript@6.0.3)) '@iconify-json/carbon': specifier: catalog:dev version: 1.2.13 '@intlify/unplugin-vue-i18n': specifier: catalog:build - version: 6.0.8(@vue/compiler-dom@3.5.22)(eslint@9.39.4(jiti@2.7.0))(rollup@4.62.2)(typescript@5.9.3)(vue-i18n@11.1.12(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3)) + version: 6.0.8(@vue/compiler-dom@3.5.22)(eslint@9.39.4(jiti@2.7.0))(rollup@4.62.2)(typescript@6.0.3)(vue-i18n@11.1.12(vue@3.5.22(typescript@6.0.3)))(vue@3.5.22(typescript@6.0.3)) '@jsonrpc-rx/client': specifier: catalog:frontend version: 0.2.2 @@ -796,10 +797,10 @@ importers: version: 1.57.5 '@vitejs/plugin-vue': specifier: catalog:build - version: 6.0.1(vite@7.3.1(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.22(typescript@5.9.3)) + version: 6.0.1(vite@7.3.1(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.22(typescript@6.0.3)) '@vitejs/plugin-vue-jsx': specifier: catalog:build - version: 5.1.1(vite@7.3.1(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.22(typescript@5.9.3)) + version: 5.1.1(vite@7.3.1(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.22(typescript@6.0.3)) '@vscode/test-electron': specifier: catalog:dev version: 2.5.2 @@ -829,7 +830,7 @@ importers: version: 11.7.4 naive-ui: specifier: catalog:frontend - version: 2.43.1(vue@3.5.22(typescript@5.9.3)) + version: 2.43.1(vue@3.5.22(typescript@6.0.3)) ovsx: specifier: catalog:dev version: 0.10.6 @@ -847,19 +848,19 @@ importers: version: 4.3.1 typescript: specifier: catalog:dev - version: 5.9.3 + version: 6.0.3 unplugin-auto-import: specifier: catalog:build - version: 19.3.0(@vueuse/core@13.9.0(vue@3.5.22(typescript@5.9.3))) + version: 19.3.0(@vueuse/core@13.9.0(vue@3.5.22(typescript@6.0.3))) unplugin-vue-components: specifier: catalog:build - version: 28.8.0(@babel/parser@7.29.7)(vue@3.5.22(typescript@5.9.3)) + version: 28.8.0(@babel/parser@7.29.7)(vue@3.5.22(typescript@6.0.3)) unplugin-vue-markdown: specifier: catalog:build version: 29.2.0(vite@7.3.1(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0)) unplugin-vue-router: specifier: catalog:build - version: 0.14.0(@vue/compiler-sfc@3.5.22)(vue-router@4.5.1(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3)) + version: 0.14.0(@vue/compiler-sfc@3.5.22)(vue-router@4.5.1(vue@3.5.22(typescript@6.0.3)))(vue@3.5.22(typescript@6.0.3)) vite: specifier: ^7.3.1 version: 7.3.1(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0) @@ -871,16 +872,16 @@ importers: version: 11.3.3(vite@7.3.1(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0)) vite-plugin-vue-devtools: specifier: catalog:build - version: 7.7.7(vite@7.3.1(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.22(typescript@5.9.3)) + version: 7.7.7(vite@7.3.1(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.22(typescript@6.0.3)) vite-plugin-vue-layouts: specifier: catalog:build - version: 0.11.0(vite@7.3.1(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0))(vue-router@4.5.1(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3)) + version: 0.11.0(vite@7.3.1(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0))(vue-router@4.5.1(vue@3.5.22(typescript@6.0.3)))(vue@3.5.22(typescript@6.0.3)) vscode-ext-gen: specifier: catalog:build version: 1.3.0 vue-tsc: specifier: catalog:dev - version: 3.1.1(typescript@5.9.3) + version: 3.1.1(typescript@6.0.3) wormajs: specifier: workspace:* version: link:../worma @@ -979,10 +980,6 @@ packages: '@alova/shared@1.3.1': resolution: {integrity: sha512-ijSOaFLUFcVzMKSY3avoEE5C03/p9atjMDPBwvNkwnzaCrhv6/m4A121NdadF8YlHCRuifyYfz90IyEdMXTsJg==} - '@ampproject/remapping@2.3.0': - resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} - engines: {node: '>=6.0.0'} - '@ant-design/colors@6.0.0': resolution: {integrity: sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==} @@ -994,21 +991,23 @@ packages: peerDependencies: vue: '>=3.0.3' - '@antfu/eslint-config@5.4.1': - resolution: {integrity: sha512-x7BiNkxJRlXXs8tIvg0CgMuNo5IZVWkGLMJotCtCtzWUHW78Pmm8PvtXhvLBbTc8683GGBK616MMztWLh4RNjA==} + '@antfu/eslint-config@9.2.0': + resolution: {integrity: sha512-v/j0Pjn6Sj9CxHT8n4nIKI8lg4O/+P4G+Zdbg7u/3J6JaLayxRXsX2Twx0fjpUtoyxW5mdYd67QycVfr1ahirA==} hasBin: true peerDependencies: - '@eslint-react/eslint-plugin': ^1.38.4 - '@next/eslint-plugin-next': ^15.4.0-canary.115 + '@angular-eslint/eslint-plugin': ^21.1.0 + '@angular-eslint/eslint-plugin-template': ^21.1.0 + '@angular-eslint/template-parser': ^21.1.0 + '@eslint-react/eslint-plugin': ^5.6.0 + '@next/eslint-plugin-next': '>=15.0.0' '@prettier/plugin-xml': ^3.4.1 '@unocss/eslint-plugin': '>=0.50.0' - astro-eslint-parser: ^1.0.2 - eslint: ^9.10.0 - eslint-plugin-astro: ^1.2.0 + astro-eslint-parser: '>=1.0.2' + eslint: ^9.10.0 || ^10.0.0 + eslint-plugin-astro: '>=1.2.0' eslint-plugin-format: '>=0.1.0' eslint-plugin-jsx-a11y: '>=6.10.2' - eslint-plugin-react-hooks: ^5.2.0 - eslint-plugin-react-refresh: ^0.4.19 + eslint-plugin-react-refresh: ^0.5.0 eslint-plugin-solid: ^0.14.3 eslint-plugin-svelte: '>=2.35.1' eslint-plugin-vuejs-accessibility: ^2.4.1 @@ -1016,6 +1015,12 @@ packages: prettier-plugin-slidev: ^1.0.5 svelte-eslint-parser: '>=0.37.0' peerDependenciesMeta: + '@angular-eslint/eslint-plugin': + optional: true + '@angular-eslint/eslint-plugin-template': + optional: true + '@angular-eslint/template-parser': + optional: true '@eslint-react/eslint-plugin': optional: true '@next/eslint-plugin-next': @@ -1032,8 +1037,6 @@ packages: optional: true eslint-plugin-jsx-a11y: optional: true - eslint-plugin-react-hooks: - optional: true eslint-plugin-react-refresh: optional: true eslint-plugin-solid: @@ -1329,11 +1332,13 @@ packages: '@chevrotain/types@11.1.2': resolution: {integrity: sha512-U+HFai5+zmJCkK86QsaJtoITlboZHBqrVketcO2ROv865xfCMSFpELQoz1GkX5GzME8pTa+3kbKrZHQtI0gdbw==} - '@clack/core@0.5.0': - resolution: {integrity: sha512-p3y0FIOwaYRUPRcMO7+dlmLh8PSRcrjuTndsiA0WAFbWES0mLZlrjVoBRZ9DzkPFJZG6KGkJmoEAY0ZcVWTkow==} + '@clack/core@1.4.3': + resolution: {integrity: sha512-/kr3UWNtdJfxZtPgDqUOmG2pvwlmcLGheex5yiZKdwbzZJxhV+HMNR9QNmyY5cGwTNV6LrR7Jtp+KjhUAP1qBQ==} + engines: {node: '>= 20.12.0'} - '@clack/prompts@0.11.0': - resolution: {integrity: sha512-pMN5FcrEw9hUkZA4f+zLlzivQSeQf5dRGJjSUbvVYDLvpKCdQx5OaknvKzgbtXOizhP+SJJJjqEbOe55uKKfAw==} + '@clack/prompts@1.7.0': + resolution: {integrity: sha512-y7/yvZ2TPAnR9+jnc00klvNNLkJiXFFrQA/hlLCcxA9a2A4zQIOimyFQ9XfwYKiGD1fb5GY8vbKIIgO8d5Tb2A==} + engines: {node: '>= 20.12.0'} '@commitlint/cli@19.8.1': resolution: {integrity: sha512-LXUdNIkspyxrlV6VDHWBmCZRtkEVRpBKxi2Gtw3J54cGWhLCTouVD/Q6ZSaSvd2YaDObWK8mDjrz3TIKtaQMAA==} @@ -1481,6 +1486,17 @@ packages: '@dprint/toml@0.7.0': resolution: {integrity: sha512-eFaQTcfxKHB+YyTh83x7GEv+gDPuj9q5NFOTaoj5rZmQTbj6OgjjMxUicmS1R8zYcx8YAq5oA9J3YFa5U6x2gA==} + '@e18e/eslint-plugin@0.5.1': + resolution: {integrity: sha512-mqUozeyNI9xvJbjrOO7y765dT7Kud3bwCm/DHwctxdEngPdJWQaS9BNGgpM1wCCzZfOtlKQh4ZRhm3VRomT9KA==} + peerDependencies: + eslint: ^9.0.0 || ^10.0.0 + oxlint: ^1.68.0 + peerDependenciesMeta: + eslint: + optional: true + oxlint: + optional: true + '@emnapi/core@1.5.0': resolution: {integrity: sha512-sbP8GzB1WDzacS8fgNPpHlp6C9VZe+SJP3F90W9rLemaQj2PzIuTEl1qDOYQf58YIpyjViI24y9aPWCjEzY2cg==} @@ -1502,14 +1518,18 @@ packages: '@emotion/unitless@0.8.1': resolution: {integrity: sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==} - '@es-joy/jsdoccomment@0.58.0': - resolution: {integrity: sha512-smMc5pDht/UVsCD3hhw/a/e/p8m0RdRYiluXToVfd+d4yaQQh7nn9bACjkk6nXJvat7EWPAxuFkMEFfrxeGa3Q==} - engines: {node: '>=20.11.0'} + '@es-joy/jsdoccomment@0.88.0': + resolution: {integrity: sha512-GK/HL/claLLNo5KG705auIlZMwEtmn88ofSGuLsmVZwKBqMPJhW9DiznYNq07QEqz9BPtA3LBfYImtZmhVvRAw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@es-joy/jsdoccomment@0.84.0': - resolution: {integrity: sha512-0xew1CxOam0gV5OMjh2KjFQZsKL2bByX1+q4j3E73MpYIdyUxcZb/xQct9ccUb+ve5KGUYbCUxyPnYB7RbuP+w==} + '@es-joy/jsdoccomment@0.90.0': + resolution: {integrity: sha512-51x9KxyTAN6guZOCd+lmcDdkhgdMdP/6iMMtg9dyhCWDc3+iSUyoB7f/9WAM/yGHmGFq25Vd6bXRR7CZcB+tog==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} + '@es-joy/resolve.exports@1.2.0': + resolution: {integrity: sha512-Q9hjxWI5xBM+qW2enxfe8wDKdFWMfd0Z29k5ZJnuBqD/CasY5Zryj09aCA6owbGATWz+39p5uIdaHXpopOcG8g==} + engines: {node: '>=10'} + '@esbuild/aix-ppc64@0.25.10': resolution: {integrity: sha512-0NFWnA+7l41irNuaSVlLfgNT12caWJVLzp5eAVhZ0z1qpxbockccEt3s+149rE64VUI3Ml2zt8Nv5JVc4QXTsw==} engines: {node: '>=18'} @@ -2017,9 +2037,9 @@ packages: resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/core@0.15.2': - resolution: {integrity: sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/config-helpers@0.5.5': + resolution: {integrity: sha512-eIJYKTCECbP/nsKaaruF6LW967mtbQbsw4JTtSVkUQc9MneSkbrgPJAbKl9nWr0ZeowV8BfsarBmPpBzGelA2w==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} '@eslint/core@0.17.0': resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==} @@ -2029,6 +2049,10 @@ packages: resolution: {integrity: sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} + '@eslint/css-tree@4.0.5': + resolution: {integrity: sha512-iPmijIAq4hlIJB86PYmY/fcZORHtjphSqICDbwuw32A/JmkhZQ/K/6TjHE03zqf3n5yABpVcbRAMG8Mi9ojy8g==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + '@eslint/eslintrc@3.3.5': resolution: {integrity: sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2037,22 +2061,22 @@ packages: resolution: {integrity: sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/markdown@7.5.1': - resolution: {integrity: sha512-R8uZemG9dKTbru/DQRPblbJyXpObwKzo8rv1KYGGuPUPtjM4LXBYM9q5CIZAComzZupws3tWbDwam5AFpPLyJQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/markdown@8.0.3': + resolution: {integrity: sha512-rBTSSShrq7e4O+PWfeE4azH4/CWPNrC+VGxBXiW00o3vYVJnznsZiDayj3KC9JztIMVRZxZHn2nrDIUau/4j7A==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} '@eslint/object-schema@2.1.7': resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.3.5': - resolution: {integrity: sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.4.1': resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/plugin-kit@0.7.2': + resolution: {integrity: sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + '@exodus/schemasafe@1.3.0': resolution: {integrity: sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==} @@ -2405,10 +2429,6 @@ packages: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} - '@istanbuljs/schema@0.1.6': - resolution: {integrity: sha512-+Sg6GCR/wy1oSmQDFq4LQDAhm3ETKnorxN+y5nbLULOR3P0c14f2Wurzj3/xqPXtasLFfHd5iRFQ7AJt4KH2cw==} - engines: {node: '>=8'} - '@jridgewell/gen-mapping@0.3.13': resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} @@ -2687,6 +2707,10 @@ packages: resolution: {integrity: sha512-a61ljmRVVyG5MC/698C8/FfFDw5a8LOIvyOLW5fztgUXqUpc1jOfQzOitSCbge657OgXXThmY3Tk8fpiDb4UcA==} engines: {node: '>= 20.0.0'} + '@ota-meshi/ast-token-store@0.3.0': + resolution: {integrity: sha512-XRO0zi2NIUKq2lUk3T1ecFSld1fMWRKE6naRFGkgkdeosx7IslyUKNv5Dcb5PJTja9tHJoFu0v/7yEpAkrkrTg==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + '@oxc-project/types@0.94.0': resolution: {integrity: sha512-+UgQT/4o59cZfH6Cp7G0hwmqEQ0wE+AdIwhikdwnhWI9Dp8CgSY081+Q3O67/wq3VJu8mgUEB93J9EHHn70fOw==} @@ -3796,6 +3820,10 @@ packages: resolution: {integrity: sha512-KxXvfapcixpz6rVEB6HPjOUZT22yN6v0vI0urQSk1L8MlEWPDFCZkhw2xmkyoTGYeFw7tWTZd7e3lVzRZRN/EA==} engines: {node: '>=18'} + '@sindresorhus/base62@1.0.0': + resolution: {integrity: sha512-TeheYy0ILzBEI/CO55CP6zJCSdSWeRtGnHy8U8dWSUH4I68iqTsy7HkMktR4xakThc9jotkPQUXT4ITdbV7cHA==} + engines: {node: '>=18'} + '@sindresorhus/merge-streams@2.3.0': resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} engines: {node: '>=18'} @@ -4286,16 +4314,16 @@ packages: '@types/web-bluetooth@0.0.21': resolution: {integrity: sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==} - '@typescript-eslint/eslint-plugin@8.62.0': - resolution: {integrity: sha512-o+mpz7EYiMzXoySXiKmzlabIvTVqUuK5yLrAedRPRDA0IpPFMUV1IXt6OqljIxX/kumN6EjUYp41Hqelh6p/Dw==} + '@typescript-eslint/eslint-plugin@8.65.0': + resolution: {integrity: sha512-IEgob78X12rHpUmtcwFsXhZdVGJtwTVP8FiCLZkR6GlYVrl2PcuB+KhCE5BlVC/eQpQnu8WXRtkHZuPar+gCRA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.62.0 + '@typescript-eslint/parser': ^8.65.0 eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/parser@8.62.0': - resolution: {integrity: sha512-dzHeT2gySzZtLDsuqxU9AkYgIsQoHAHtRBpOqM+Ofzx1Bwrd2RcCjQJ+6iQbsHOIR6NS33bF2W1k3blN1zLDrA==} + '@typescript-eslint/parser@8.65.0': + resolution: {integrity: sha512-CZ4nMxWwgu1HEEFNkeaCptra9QCtkmKdgf3sWh1rl1trIhmxLilgTV4cwcbQ4wemnT4sWQN8CaKOmdYx+g2gMA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 @@ -4313,11 +4341,10 @@ packages: peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/rule-tester@8.62.0': - resolution: {integrity: sha512-WfzCnmTeOM3AifMf5rXPbFWHGWEru9rZKy4U6CSgpmxfOM6sTdKwjX7gTQEfXwsQp/MjRuEv3XOTBdQzxTCWMw==} + '@typescript-eslint/project-service@8.65.0': + resolution: {integrity: sha512-SxnPhbTsGahizDgbu7oqFH/xVtzIqMd/s+WtnSxNxJZJpLbdT5IPdzg8EZxO3+PoKahXmwJLeNQOpKJb3/bi7Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' '@typescript-eslint/scope-manager@8.46.0': @@ -4328,6 +4355,10 @@ packages: resolution: {integrity: sha512-1lX38kNxXIRb8mEc3lbq5mdHq1Pf2+U0nFU65KfT18mtPxxl0fvjuEE92mHuXPuCtElJhOrddOpyMlM3Z0umEA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/scope-manager@8.65.0': + resolution: {integrity: sha512-Esbl8OSYiVxBokYgWPf7VVWg/BE798wXhimnn9ML9Pt5qoDf8bfQlgjlKXR/k98+AcNzlLKYrpCcrcuZ9DZLgg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/tsconfig-utils@8.46.0': resolution: {integrity: sha512-WrYXKGAHY836/N7zoK/kzi6p8tXFhasHh8ocFL9VZSAkvH956gfeRfcnhs3xzRy8qQ/dq3q44v1jvQieMFg2cw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4340,8 +4371,14 @@ packages: peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/type-utils@8.62.0': - resolution: {integrity: sha512-+g5O3j0w2ldzC86Pv6fvbO/xhAonbJFIdf/MKQ1d30gndlsVzUOE83ldfSE15Qrl9fhFjK6AovHs5Wpp6vx86w==} + '@typescript-eslint/tsconfig-utils@8.65.0': + resolution: {integrity: sha512-j6GzGqCiRdA7Qhur2VVmKZAkBLfnHFQfx4TaJGL9RMveZqCo48jSHHO0DTgizEnGhtWnqmbtCUSrqSkdiY/0Hg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/type-utils@8.65.0': + resolution: {integrity: sha512-YjaZ7PRI5qY7ax2L3PbvX0rRyGtipAReCWs0mhhDBHjH/vl0g0BonaGXrKdKpMbIIsMIwDgbk/xzkBTyAltS5g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 @@ -4355,6 +4392,10 @@ packages: resolution: {integrity: sha512-KvAclkktORPvM54TgLgA4z9HIV1M8zOgw9ZVNXl9f/8dLYfXYX1wkMXP7qmabpijQRV5bHJLOmoyGQbLMaUYeg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/types@8.65.0': + resolution: {integrity: sha512-JSSwWNy+H0E/01jJEM+hrX6N0OFDzFzeIhHFSAS01tlVaevpG8cFyYRPhS5yjGOvBUx3sqQHVMjCL1CAZZMxBg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/typescript-estree@8.46.0': resolution: {integrity: sha512-ekDCUfVpAKWJbRfm8T1YRrCot1KFxZn21oV76v5Fj4tr7ELyk84OS+ouvYdcDAwZL89WpEkEj2DKQ+qg//+ucg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4367,6 +4408,12 @@ packages: peerDependencies: typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/typescript-estree@8.65.0': + resolution: {integrity: sha512-JboAE2swaYt4tb1fHhHTABE2K+OLy09XfcTbhnk4Pw96f9dd2e9iYsJ28gBggHlo5z5x1rkyWvcPoTuNTd4oGg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/utils@8.62.0': resolution: {integrity: sha512-82r66fi9zYwZ+mTq3vKgwjbZ1PVk/DJzrXFLpG6RnBbdvH8TEGVHIs9H4d2drhkOzf0syZuD/OZvvlu6GDbP4g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4374,6 +4421,13 @@ packages: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/utils@8.65.0': + resolution: {integrity: sha512-gXiwIHsYreboxeJucHKPvgwl7dXt50mF8s1/c00cP/WoVTyWKFdtfhRWwZiXYFU5H2O8vVoSLNrexFZjYS/SGA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/visitor-keys@8.46.0': resolution: {integrity: sha512-FrvMpAK+hTbFy7vH5j1+tMYHMSKLE6RzluFJlkFNKD0p9YsUT75JlBSmr5so3QRzvMwU5/bIEdeNrxm8du8l3Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4382,6 +4436,10 @@ packages: resolution: {integrity: sha512-CY3uyFSRbcQv3nnSv8S0+lDftMVz6P963PoRlxrV7ew/Md564g9ut60PYzdLM5qW4jFn93GBF+Soi90ISAN+GQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/visitor-keys@8.65.0': + resolution: {integrity: sha512-8C71BQkGjiMmXtop7pHVJu1l2NNShFdkCyD6a2ezzs5vU/L3LRtb69EtcteFwz0mYMPzIgOw0n6OV4VBUWZd7A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript/vfs@1.6.4': resolution: {integrity: sha512-PJFXFS4ZJKiJ9Qiuix6Dz/OwEIqHD7Dme1UwZhTK11vR+5dqW2ACbdndWQexBzCx+CPuMe5WBYQWCsFyGlQLlQ==} peerDependencies: @@ -4432,17 +4490,17 @@ packages: vite: ^7.3.1 vue: ^3.2.25 - '@vitest/coverage-v8@3.2.6': - resolution: {integrity: sha512-LsAdmUapA0qSN306d8+zOyawM0hFm2m2Hg9IwVNIKBm+qJV8cijiq2c+gxKZcB1HCfIWAy+0qEZDCUQA58A1cw==} + '@vitest/coverage-v8@4.1.10': + resolution: {integrity: sha512-IM49HmthevbgAO4anp1hwtoT9wYe59w0LR00gr+eagHE+ZJ5lK4sLPeO0ubgoJcwLk6dehU3R24N+FbEEKDc8g==} peerDependencies: - '@vitest/browser': 3.2.6 - vitest: 3.2.6 + '@vitest/browser': 4.1.10 + vitest: 4.1.10 peerDependenciesMeta: '@vitest/browser': optional: true - '@vitest/eslint-plugin@1.6.20': - resolution: {integrity: sha512-xRwWHFG0Utp6hXtbGiWk4VdKXCGdExD8kbWrrmFEiG5dk8anOJ+vbWbeOa8EbkocKQRTsx7JAWETccZiBgFp/Q==} + '@vitest/eslint-plugin@1.6.24': + resolution: {integrity: sha512-U5isuChJ58H1M6oRGaIotYbH2gM1rhzKUjtiarqpLNG/3+fzXIXs5RyTLrYQJmQPnXbvIMPFvI9z8ufpFZc8lg==} engines: {node: '>=18'} peerDependencies: '@typescript-eslint/eslint-plugin': '*' @@ -4457,11 +4515,11 @@ packages: vitest: optional: true - '@vitest/expect@3.2.6': - resolution: {integrity: sha512-1+7q9BtaKzEmO+fmNT3kYvoNn5Y71XWAx2Q5HRim4tTVRQVRv4uJFAQ5FbK0OPUeNP/WmVCpxYxoJdvuHVjzBQ==} + '@vitest/expect@4.1.10': + resolution: {integrity: sha512-YsCn+qAk1GWjQOWFEsEcL2gNQ0zmVmQu3T03qP6UyjhtmdtwtbuI+DASn/7iQB3HGTXkdBwGddzxPlmiql5vlA==} - '@vitest/mocker@3.2.6': - resolution: {integrity: sha512-EZOrpDbkKotFAP7wPAQV1UIyoGOk4oX7ynWhBhLB7v+meMHbQhU16oPpIYGTTe4oFlhpryGpgpcZP/sin3hYuw==} + '@vitest/mocker@4.1.10': + resolution: {integrity: sha512-v0xaezt+DKEmKfaxg133ldzADrwLGd7Ze1MfQQTYfvs8OqZIwbxyxaYURivwV7sWy5fqn3rH5uOrSp07bp44Ow==} peerDependencies: msw: ^2.4.9 vite: ^7.3.1 @@ -4471,20 +4529,20 @@ packages: vite: optional: true - '@vitest/pretty-format@3.2.6': - resolution: {integrity: sha512-lb7XXXzmm2h2ASzFnRvQpDo6onT1NmMJA3tkGTWiBFtRJ9lxGY3d3mm/Apt36gej2bkkOVLL/yTOtufDaFa/jA==} + '@vitest/pretty-format@4.1.10': + resolution: {integrity: sha512-W1HsjSH4MXQ9YfmmhLAoIYf1HRfekQCGngeIgcei6MP5QQGWUe0gkopdZQaVCFO+JDJMrAJGwa5pRpNpvy4P8Q==} - '@vitest/runner@3.2.6': - resolution: {integrity: sha512-HYcoSj1w5tcgUnzoF0HcyaAQjpA1gj9ftUJ7iSJSuipc02jW9gKkigwZbjFldAfYHA1fa8UZVRftdMY5msWM9Q==} + '@vitest/runner@4.1.10': + resolution: {integrity: sha512-IKI6kpIH+LmpROplyLwBBaCfMgOZOMsygVa6BARD6ahA04VRuJSa6OaVG7kRvSEMD870Vd91rSSw0eegtWyLGg==} - '@vitest/snapshot@3.2.6': - resolution: {integrity: sha512-H+ZjNTWGpObenh0YnlBctAPnJSI20P81PL8BPzWpx54YXLLTm8hEsWawtcYLMrwvpK48hGxLLbCS+1KRXhsKhw==} + '@vitest/snapshot@4.1.10': + resolution: {integrity: sha512-xRkfOT1qpTAi/Ti4Y1LtfRc3kEuqxGw59eN2jN9pRWMtS/XDevekhcFSqvQqjUNGksfjMJu3Y+oJ+4Ypn2OaJw==} - '@vitest/spy@3.2.6': - resolution: {integrity: sha512-oq6BbH68WzcWmwtBrU9nqLeaXTR4XwJF7FSLkKEZo4i6eoXcrxjcwSuTvWBIRUTC6VC72nXYunzqgZA+IKdtxg==} + '@vitest/spy@4.1.10': + resolution: {integrity: sha512-PLf/Ugvoq5wO/b4rwYCR1h2PSIdXz7wnkQFMiUpLdtM7l6pqVFcQIBEHyT1+l+cj7mNwAfZHzqXqDyjvOuwbDw==} - '@vitest/utils@3.2.6': - resolution: {integrity: sha512-lI23nIs4bnT3T8NIoh+vFaz5s2/DdP0Jgt2jxwgWljvwn82cLJtyi/If+fjFyoLMGIOz0U/fKvWE0d4jsNQEfg==} + '@vitest/utils@4.1.10': + resolution: {integrity: sha512-fy9am/HWxbaGt/Sawrp90vt6Y6jQwf1RX77cz3uwoJwJVMli/e1IEwRPnMNJ7vKfPTwo0diXifkpPvwH9v7nGA==} '@volar/language-core@2.4.23': resolution: {integrity: sha512-hEEd5ET/oSmBC6pi1j6NaNYRWoAiDhINbT8rmwtINugR39loROSlufGdYMF9TaKGfz+ViGs1Idi3mAhnuPcoGQ==} @@ -4790,8 +4848,8 @@ packages: resolution: {integrity: sha512-TH+b3Lv6pUjy/Nu0m6A2JULtdzLpmqF9x1Dhj00ZoEiML8qvVA9j1flkzTKNYgdEhWrjDwtWNpyyCUbfQe514g==} engines: {node: '>=20.19.0'} - ast-v8-to-istanbul@0.3.12: - resolution: {integrity: sha512-BRRC8VRZY2R4Z4lFIL35MwNXmwVqBityvOIwETtsCSwvjl0IdgFsy9NhdaA6j74nUdtJJlIypeRhpDam19Wq3g==} + ast-v8-to-istanbul@1.0.5: + resolution: {integrity: sha512-UPAgKJFSEGMWSDr3LX4tqnAb4f7KGT8O40Tyx8wbYmmZ/yn58lNCm8h3svs3eXgiGd5AXxz8NDOvXWvicq+rJA==} ast-walker-scope@0.8.3: resolution: {integrity: sha512-cbdCP0PGOBq0ASG+sjnKIoYkWMKhhz+F/h9pRexUdX2Hd38+WOlBkRKlqkGOSm0YQpcFMQBJeK4WspUAkwsEdg==} @@ -4888,11 +4946,6 @@ packages: browser-stdout@1.3.1: resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} - browserslist@4.26.3: - resolution: {integrity: sha512-lAUU+02RFBuCKQPj/P6NgjlbCnLBMp4UtgTx7vNHd3XSIJF87s9a5rA3aH2yw3GS9DqZAUbOtZdCCiZeVRqt0w==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - browserslist@4.28.4: resolution: {integrity: sha512-MTc8i/x9jBQd1iMw2CFGS+rwMa07eYjLR0CCTLDACl9xhxy+nIs3KeML/biicXtk9JrZ6dnnTatmc7ErPXIxqw==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -4981,8 +5034,8 @@ packages: resolution: {integrity: sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==} engines: {node: '>=4'} - chai@5.3.3: - resolution: {integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==} + chai@6.2.2: + resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} engines: {node: '>=18'} chalk-template@0.4.0: @@ -5026,10 +5079,6 @@ packages: check-error@1.0.3: resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} - check-error@2.1.3: - resolution: {integrity: sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==} - engines: {node: '>= 16'} - cheerio-select@2.1.0: resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} @@ -5069,10 +5118,6 @@ packages: class-variance-authority@0.7.1: resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==} - clean-regexp@1.0.0: - resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} - engines: {node: '>=4'} - cli-boxes@3.0.0: resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} engines: {node: '>=10'} @@ -5193,14 +5238,6 @@ packages: resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} engines: {node: ^12.20.0 || >=14} - comment-parser@1.4.1: - resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} - engines: {node: '>= 12.0.0'} - - comment-parser@1.4.5: - resolution: {integrity: sha512-aRDkn3uyIlCFfk5NUA+VdwMmMsh8JGhc4hapfV4yxymHGQ3BVskMQfoXGpCo5IoBuQ9tS5iiVKhCpTcB4pW4qw==} - engines: {node: '>= 12.0.0'} - comment-parser@1.4.7: resolution: {integrity: sha512-0h+uSNtQGW3D98eQt3jJ8L06Fves8hncB4V/PKdw/Qb8Hnk19VaKuTr55UNRYiSoVa7WwrFls+rh3ux9agmkeQ==} engines: {node: '>= 12.0.0'} @@ -5273,6 +5310,10 @@ packages: engines: {node: '>=18'} hasBin: true + convert-hrtime@5.0.0: + resolution: {integrity: sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==} + engines: {node: '>=12'} + convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} @@ -5585,10 +5626,6 @@ packages: resolution: {integrity: sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==} engines: {node: '>=6'} - deep-eql@5.0.2: - resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} - engines: {node: '>=6'} - deep-extend@0.6.0: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} engines: {node: '>=4.0.0'} @@ -5648,6 +5685,10 @@ packages: resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} engines: {node: '>=8'} + detect-indent@7.0.2: + resolution: {integrity: sha512-y+8xyqdGLL+6sh0tVeHcfP/QDd8gUgbasolJJpY7NgeQGSZ739bDtSiaiDgtoicy+mtYB81dKLxO9xRhCyIB3A==} + engines: {node: '>=12.20'} + detect-libc@2.1.2: resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} engines: {node: '>=8'} @@ -5658,9 +5699,9 @@ packages: devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} - diff-sequences@27.5.1: - resolution: {integrity: sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} diff@3.5.0: resolution: {integrity: sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==} @@ -5748,9 +5789,6 @@ packages: engines: {node: '>=14'} hasBin: true - electron-to-chromium@1.5.234: - resolution: {integrity: sha512-RXfEp2x+VRYn8jbKfQlRImzoJU01kyDvVPBmG39eU2iuRVhuS6vQNocB8J0/8GrIMLnPzgz4eW6WiRnJkTuNWg==} - electron-to-chromium@1.5.379: resolution: {integrity: sha512-v/qV5aV5EUA2pGilzUCq5/eyOloZAqDZBu9UMBIzgPpLlprjSR6zswsWBTv0KpqxLGUAZEwhO95ZCt7srymNVA==} @@ -5763,10 +5801,6 @@ packages: emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - empathic@2.0.0: - resolution: {integrity: sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==} - engines: {node: '>=14'} - empathic@2.0.1: resolution: {integrity: sha512-YGRs8knHhKHVShLkFET/rWAU8kmHbOV5LwN938RHI0pljAJ1Gf6SzXsSmRaEzcXTtOOmVqJ5+WtQPL5uigY50Q==} engines: {node: '>=14'} @@ -5819,8 +5853,8 @@ packages: resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} engines: {node: '>= 0.4'} - es-module-lexer@1.7.0: - resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} + es-module-lexer@2.3.1: + resolution: {integrity: sha512-shc1dbU90Yl/xq1QrC7QRtfcwURZuVRfPhZbDoldJ1cn1gzDvBaBWlv0eFolj5+0znnPJz5TXLxsN77X/12KTA==} es-object-atoms@1.1.1: resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} @@ -5884,19 +5918,13 @@ packages: peerDependencies: eslint: '>=6.0.0' - eslint-compat-utils@0.6.5: - resolution: {integrity: sha512-vAUHYzue4YAa2hNACjB8HvUQj5yehAZgiClyFVVom9cP8z5NSFq3PwB/TtJslN2zAMgRX6FCFCjYBbQh71g5RQ==} - engines: {node: '>=12'} - peerDependencies: - eslint: '>=6.0.0' - eslint-config-flat-gitignore@2.3.0: resolution: {integrity: sha512-bg4ZLGgoARg1naWfsINUUb/52Ksw/K22K+T16D38Y8v+/sGwwIYrGvH/JBjOin+RQtxxC9tzNNiy4shnGtGyyQ==} peerDependencies: eslint: ^9.5.0 || ^10.0.0 - eslint-flat-config-utils@2.1.4: - resolution: {integrity: sha512-bEnmU5gqzS+4O+id9vrbP43vByjF+8KOs+QuuV4OlqAuXmnRW2zfI/Rza1fQvdihQ5h4DUo0NqFAiViD4mSrzQ==} + eslint-flat-config-utils@3.2.0: + resolution: {integrity: sha512-PHgo1X5uqIorJONLVD9BIaOSdoYFD3z/AeJljdqDPlWVRpeCYkDbK9k0AXoYVqqNJr6FEYIEr5Rm2TSktLQcHw==} eslint-formatting-reporter@0.0.0: resolution: {integrity: sha512-k9RdyTqxqN/wNYVaTk/ds5B5rA8lgoAmvceYN7bcZMBwU7TuXx5ntewJv81eF3pIL/CiJE+pJZm36llG8yhyyw==} @@ -5927,10 +5955,9 @@ packages: peerDependencies: eslint: '*' - eslint-plugin-command@3.5.2: - resolution: {integrity: sha512-PA59QAkQDwvcCMEt5lYLJLI3zDGVKJeC4id/pcRY2XdRYhSGW7iyYT1VC1N3bmpuvu6Qb/9QptiS3GJMjeGTJg==} + eslint-plugin-command@3.5.3: + resolution: {integrity: sha512-JIhmUOW2K2Dw1K+p4mtj5potkqTZ4ZaicrTkgCygPZCWErP2+O2F46n7ZwGKapeEjiwcVqoY8u01SxNUUXWPeQ==} peerDependencies: - '@typescript-eslint/rule-tester': '*' '@typescript-eslint/typescript-estree': '*' '@typescript-eslint/utils': '*' eslint: '*' @@ -5946,66 +5973,69 @@ packages: peerDependencies: eslint: ^8.40.0 || ^9.0.0 || ^10.0.0 - eslint-plugin-import-lite@0.3.1: - resolution: {integrity: sha512-9+EByHZatvWFn/lRsUja5pwah0U5lhOA6SXqTI/iIzoIJHMgmsHUHEaTlLzKU/ukyCRwKEU5E92aUURPgVWq0A==} + eslint-plugin-import-lite@0.6.0: + resolution: {integrity: sha512-80vevx2A7i3H7n1/6pqDO8cc5wRz6OwLDvIyVl9UflBV1N1f46e9Ihzi65IOLYoSxM6YykK2fTw1xm0Ixx6aTQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: '>=9.0.0' - typescript: '>=4.5' - peerDependenciesMeta: - typescript: - optional: true + eslint: ^9.0.0 || ^10.0.0 - eslint-plugin-jsdoc@59.1.0: - resolution: {integrity: sha512-sg9mzjjzfnMynyY4W8FDiQv3i8eFcKVEHDt4Xh7MLskP3QkMt2z6p7FuzSw7jJSKFues6RaK2GWvmkB1FLPxXg==} - engines: {node: '>=20.11.0'} + eslint-plugin-jsdoc@63.2.2: + resolution: {integrity: sha512-xCoHKeaRwAhZ+i2ZUY11few2Lmy9qpJLDsY139c4KNJLMSZYoFJ5UMYkDjdTkO9PfkFOKmVO+7i4Yjx+x7VQWQ==} + engines: {node: ^22.13.0 || >=24} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 - eslint-plugin-jsonc@2.21.1: - resolution: {integrity: sha512-dbNR5iEnQeORwsK2WZzr3QaMtFCY3kKJVMRHPzUpKzMhmVy2zIpVgFDpX8MNoIdoqz6KCpCfOJavhfiSbZbN+w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-plugin-jsonc@3.3.0: + resolution: {integrity: sha512-CsTR8aDcShDg6A71ZppLaWiPoSo2J1Ivjm5/c4Mnb9sxgwWq+WG2PgeoAnj7SwzDPJB75tlHvLrGy6ntooIitg==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} peerDependencies: - eslint: '>=6.0.0' + eslint: '>=9.38.0' - eslint-plugin-n@17.24.0: - resolution: {integrity: sha512-/gC7/KAYmfNnPNOb3eu8vw+TdVnV0zhdQwexsw6FLXbhzroVj20vRn2qL8lDWDGnAQ2J8DhdfvXxX9EoxvERvw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint-plugin-n@18.2.2: + resolution: {integrity: sha512-gOO0lIqwEjZ750kv9/SptCWArUoAZXJoBr0vYWTO2dCBxctHUXlBIigiC8xuxxr/NKqgIT6Ehz1xRcilj8a5cA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} peerDependencies: - eslint: '>=8.23.0' + eslint: '>=8.57.1' + ts-declaration-location: ^1.0.6 + typescript: '>=5.0.0' + peerDependenciesMeta: + ts-declaration-location: + optional: true + typescript: + optional: true eslint-plugin-no-only-tests@3.4.0: resolution: {integrity: sha512-4S3/9Nb7A2tiMcpzEQE9bQSlpeOz6WJkgryBuou/SA8W2x2c8Zf4j0NvTKBjv6qNhF9T79tmkecm/0CHqV0UGg==} engines: {node: '>=5.0.0'} - eslint-plugin-perfectionist@4.15.1: - resolution: {integrity: sha512-MHF0cBoOG0XyBf7G0EAFCuJJu4I18wy0zAoT1OHfx2o6EOx1EFTIzr2HGeuZa1kDcusoX0xJ9V7oZmaeFd773Q==} - engines: {node: ^18.0.0 || >=20.0.0} + eslint-plugin-perfectionist@5.10.0: + resolution: {integrity: sha512-HiqpDrUDbGrMC6iHQbemgDyHJ0366Vyz/qRWmxQcSAkmG25cXr8BdRgx8yAhOKhEfBXn8Rnf/mTCsV4EqUJSxg==} + engines: {node: ^20.0.0 || >=22.0.0} peerDependencies: - eslint: '>=8.45.0' + eslint: ^8.45.0 || ^9.0.0 || ^10.0.0 eslint-plugin-pnpm@1.6.1: resolution: {integrity: sha512-pgcaJclu3YxZ/WMsiKMF58bHQasbGVARSMqCJvFaETYxSc7KcR2H74UVWV6exuGv9nNv9c0KKqn4PVHQlzMSEg==} peerDependencies: eslint: ^9.0.0 || ^10.0.0 - eslint-plugin-regexp@2.10.0: - resolution: {integrity: sha512-ovzQT8ESVn5oOe5a7gIDPD5v9bCSjIFJu57sVPDqgPRXicQzOnYfFN21WoQBQF18vrhT5o7UMKFwJQVVjyJ0ng==} - engines: {node: ^18 || >=20} + eslint-plugin-regexp@3.1.1: + resolution: {integrity: sha512-MxR5nqoQCtVWmJwia0D2+NlXX1xzdpkslsVOZLEYQ4PQWEaL65PCZXURxaBc3lPnkNFpNxzMIRmYVxdl8giXRA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} peerDependencies: - eslint: '>=8.44.0' + eslint: '>=9.38.0' - eslint-plugin-toml@0.12.0: - resolution: {integrity: sha512-+/wVObA9DVhwZB1nG83D2OAQRrcQZXy+drqUnFJKymqnmbnbfg/UPmEMCKrJNcEboUGxUjYrJlgy+/Y930mURQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-plugin-toml@1.4.0: + resolution: {integrity: sha512-3ErTnfUjXq/23f72XeyRcE0Y4Sd/ME1lsZeezczqpn2R4tE7+Sgco/NUKDXm0xAMz15tzcRz/9RfJRm6AqRO+A==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} peerDependencies: - eslint: '>=6.0.0' + eslint: '>=9.38.0' - eslint-plugin-unicorn@61.0.2: - resolution: {integrity: sha512-zLihukvneYT7f74GNbVJXfWIiNQmkc/a9vYBTE4qPkQZswolWNdu+Wsp9sIXno1JOzdn6OUwLPd19ekXVkahRA==} - engines: {node: ^20.10.0 || >=21.0.0} + eslint-plugin-unicorn@72.0.0: + resolution: {integrity: sha512-hqO6ksoOHO+ZhdseTuKRVQbx9U7PRO/cv8qAR1mctwzdVO2hYud8uS9luAhp43RJgziYgHAph8eHyipT8GL0ng==} + engines: {node: '>=22'} peerDependencies: - eslint: '>=9.29.0' + eslint: '>=10.4' eslint-plugin-unused-imports@4.4.1: resolution: {integrity: sha512-oZGYUz1X3sRMGUB+0cZyK2VcvRX5lm/vB56PgNNcU+7ficUCKm66oZWKUubXWnOuPjQ8PvmXtCViXBMONPe7tQ==} @@ -6016,8 +6046,8 @@ packages: '@typescript-eslint/eslint-plugin': optional: true - eslint-plugin-vue@10.9.2: - resolution: {integrity: sha512-4g7ZP3pYcuqd7Zp0pzUKcos0W+RkjBz4EGdhJ92FcYk6v03Ti/GK5NwjgsjxHK+98eXDbHeK7VtX1az7/8doZA==} + eslint-plugin-vue@10.10.0: + resolution: {integrity: sha512-dL9x9rBHqqNcByWiLOHK6L0SB97V82/NC0cZRn9cXPjM7pCuWlpQQP9bFH4vjBv80ej1ZpzAkuD8zWH1o9bZbA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@stylistic/eslint-plugin': ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 @@ -6030,11 +6060,11 @@ packages: '@typescript-eslint/parser': optional: true - eslint-plugin-yml@1.19.1: - resolution: {integrity: sha512-bYkOxyEiXh9WxUhVYPELdSHxGG5pOjCSeJOVkfdIyj6tuiHDxrES2WAW1dBxn3iaZQey57XflwLtCYRcNPOiOg==} - engines: {node: ^14.17.0 || >=16.0.0} + eslint-plugin-yml@3.6.0: + resolution: {integrity: sha512-8lSqBIiOJO8ms1gktdlNaVGm3zXQJiYeKhQmtIG66XzU58kFDOjQae4sufQEMGHC4bP8VxiaH3tjU5PpDB6euw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24.0.0} peerDependencies: - eslint: '>=6.0.0' + eslint: '>=9.38.0' eslint-processor-vue-blocks@2.0.0: resolution: {integrity: sha512-u4W0CJwGoWY3bjXAuFpc/b6eK3NQEI8MoeW7ritKj3G3z/WtHrKjkqf+wk8mPEy5rlMGS+k6AZYOw2XBoN/02Q==} @@ -6477,6 +6507,10 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + function-timeout@1.0.2: + resolution: {integrity: sha512-939eZS4gJ3htTHAldmyyuzlrD58P03fHG49v2JfFXbV6OhvZKRC9j2yAtdHw/zrp2zXHuv05zMIy40F0ge7spA==} + engines: {node: '>=18'} + fzf@0.5.2: resolution: {integrity: sha512-Tt4kuxLXFKHy8KT40zwsUPUkg1CrsgY25FxA2U/j/0WgEDCk3ddc/zLTCCcbSHX9FcKtLuVaDGtGE/STWC+j3Q==} @@ -6594,8 +6628,8 @@ packages: resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} engines: {node: '>=18'} - globals@16.5.0: - resolution: {integrity: sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==} + globals@17.7.0: + resolution: {integrity: sha512-Czmyns5dUsq4seFBR/Kdydhmo8y9kC79hiSkPn0YcGtNnYWnrgt0vjrSjx9tspoDGWm2CMarffRuLjM4xUz8xg==} engines: {node: '>=18'} globalthis@1.0.4: @@ -6620,9 +6654,6 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - graphql@16.14.2: resolution: {integrity: sha512-Chq1s4CY7jmh8gO2qvLIJyfCDIN+EHLFW/9iShnp1z8FjBQMoodWP1kDC36VAMXXIvAjj4ARa7ntfAV2BrjsbA==} engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} @@ -6726,6 +6757,9 @@ packages: resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} engines: {node: '>=18'} + html-entities@2.6.0: + resolution: {integrity: sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==} + html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} @@ -6779,6 +6813,10 @@ packages: resolution: {integrity: sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==} engines: {node: '>=0.10.0'} + identifier-regex@1.1.0: + resolution: {integrity: sha512-SLX4H/vtcYlYnL7XqnuJKHU7Z8517TgsW9nmQiGOgMCjQ8V/deLYu6bEmbGoXe7WMMhc9+EUGyFFneHja8KabA==} + engines: {node: '>=18'} + ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -6909,6 +6947,10 @@ packages: is-hexadecimal@2.0.1: resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} + is-identifier@1.1.0: + resolution: {integrity: sha512-NhOds0mDx9lJu+1lBRO0xbwFo5nobA7GCk/0e5xjr6+6XugX985+0OyGX35BNrTkPAsdLcIKg02HUQJOK8D8kw==} + engines: {node: '>=18'} + is-inside-container@1.0.0: resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} engines: {node: '>=14.16'} @@ -7025,10 +7067,6 @@ packages: resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} engines: {node: '>=10'} - istanbul-lib-source-maps@5.0.6: - resolution: {integrity: sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==} - engines: {node: '>=10'} - istanbul-reports@3.2.0: resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==} engines: {node: '>=8'} @@ -7102,18 +7140,18 @@ packages: resolution: {integrity: sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==} hasBin: true - jsdoc-type-pratt-parser@4.8.0: - resolution: {integrity: sha512-iZ8Bdb84lWRuGHamRXFyML07r21pcwBrLkHEuHgEY5UbCouBwv7ECknDRKzsQIXMiqpPymqtIf8TC/shYKB5rw==} - engines: {node: '>=12.0.0'} - - jsdoc-type-pratt-parser@5.4.0: - resolution: {integrity: sha512-F9GQ+F1ZU6qvSrZV8fNFpjDNf614YzR2eF6S0+XbDjAcUI28FSoXnYZFjQmb1kFx3rrJb5PnxUH3/Yti6fcM+g==} - engines: {node: '>=12.0.0'} - jsdoc-type-pratt-parser@7.1.1: resolution: {integrity: sha512-/2uqY7x6bsrpi3i9LVU6J89352C0rpMk0as8trXxCtvd4kPk1ke/Eyif6wqfSLvoNJqcDG9Vk4UsXgygzCt2xA==} engines: {node: '>=20.0.0'} + jsdoc-type-pratt-parser@7.2.0: + resolution: {integrity: sha512-dh140MMgjyg3JhJZY/+iEzW+NO5xR2gpbDFKHqotCmexElVntw7GjWjt511+C/Ef02RU5TKYrJo/Xlzk+OLaTw==} + engines: {node: '>=20.0.0'} + + jsdoc-type-pratt-parser@7.3.0: + resolution: {integrity: sha512-DoyJXo7x/n48M3NsGOs9QnEws0ft0tV3YsSgvWMNxz2hZtz+Q6fpqUD96lVYX4a+jcEkzHeFNDJOn68TzXfbdA==} + engines: {node: '>=20.0.0'} + jsdom@26.1.0: resolution: {integrity: sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==} engines: {node: '>=18'} @@ -7123,11 +7161,6 @@ packages: canvas: optional: true - jsesc@3.0.2: - resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} - engines: {node: '>=6'} - hasBin: true - jsesc@3.1.0: resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} engines: {node: '>=6'} @@ -7444,9 +7477,6 @@ packages: loupe@2.3.7: resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} - loupe@3.2.1: - resolution: {integrity: sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==} - lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} @@ -7483,6 +7513,13 @@ packages: magicast@0.3.5: resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} + magicast@0.5.3: + resolution: {integrity: sha512-pVKE4UdSQ7DvHzivsCIFx2BJn1mHG6KsyrFcaxFx6tONdneEuThrDx0Cj3AMg58KyN4pzYT+LHOotxDQDjNvkw==} + + make-asynchronous@1.1.0: + resolution: {integrity: sha512-ayF7iT+44LXdxJLTrTd3TLQpFDDvPCBxXxbv+pMUSuHA5Q8zyAfwkRP6aHHwNVFBUFWtxAHqwNJxF8vMZLAbVg==} + engines: {node: '>=18'} + make-dir@4.0.0: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} @@ -7540,6 +7577,9 @@ packages: mdast-util-gfm@3.1.0: resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==} + mdast-util-math@3.0.0: + resolution: {integrity: sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w==} + mdast-util-mdx-expression@2.0.1: resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==} @@ -7564,6 +7604,9 @@ packages: mdast-util-to-string@4.0.0: resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + mdn-data@2.29.0: + resolution: {integrity: sha512-pVxQFCcaYUEAH853+v7yoI/qzhxXSq1bTb9obMYGYAN1c3Hen+XDCEvr296XhstrwlSTNgOR7mCSD4JPjbJe5A==} + mdurl@2.0.0: resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} @@ -7622,6 +7665,9 @@ packages: micromark-extension-gfm@3.0.0: resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + micromark-extension-math@3.1.0: + resolution: {integrity: sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg==} + micromark-extension-mdx-expression@3.0.1: resolution: {integrity: sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==} @@ -7819,6 +7865,9 @@ packages: engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true + module-replacements@3.1.0: + resolution: {integrity: sha512-MSTNGqlp2q0seRlrAA/FK3SUkGnmPeexeKWuCjeJ7HobD2RCjk4f8ry8lJ+nUQFDVBAHSdC4TdjyJSaocnR7Uw==} + motion-dom@12.42.2: resolution: {integrity: sha512-5gIMWLp/PycBtJRJWRgjxke5n8dlvkSn2DrYW+tr3XcqAZY1xZh6BJyooJXCM8wdfM7wfMjkBJNLge1CKPUIRA==} @@ -7986,9 +8035,6 @@ packages: node-readfiles@0.2.0: resolution: {integrity: sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==} - node-releases@2.0.23: - resolution: {integrity: sha512-cCmFDMSm26S6tQSDpBCg/NR8NENrVPhAJSf+XbxBG4rPFaaonlEoE9wHQmun+cls499TQGSb7ZyPBRlzgKfpeg==} - node-releases@2.0.50: resolution: {integrity: sha512-J6l92tKHX6w8Jy5nO1Vuc01NoIiRGi/d6qBKVxh+IQ8Cr3b6HbVNfKiF8ZpFKufTwpwxMmce2W3iQZ861ZRyTg==} engines: {node: '>=18'} @@ -8057,8 +8103,8 @@ packages: oas-validator@5.0.8: resolution: {integrity: sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw==} - object-deep-merge@1.0.5: - resolution: {integrity: sha512-3DioFgOzetbxbeUq8pB2NunXo8V0n4EvqsWM/cJoI6IA9zghd7cl/2pBOuWRf4dlvA+fcg5ugFMZaN2/RuoaGg==} + object-deep-merge@2.0.1: + resolution: {integrity: sha512-aKttDKcU3pyZqKcCkDhsMn70WmZFG2JGDQLP9EcLyTSIFQRCPWLAmBZRLJnrVUrhPG1jETEEbfdgbNtJf1LyMg==} object-inspect@1.13.4: resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} @@ -8068,6 +8114,10 @@ packages: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} + obug@2.1.4: + resolution: {integrity: sha512-4a+OsYv9UktOJKE+l1A4OufDgdRF9PifWj+tJnHURo/P+WOxpG4GzUFL9qCalmWauao6ogiG+QvnCovwPoyAWA==} + engines: {node: '>=12.20.0'} + ofetch@1.5.1: resolution: {integrity: sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==} @@ -8160,6 +8210,10 @@ packages: vite-plus: optional: true + p-event@6.0.1: + resolution: {integrity: sha512-Q6Bekk5wpzW5qIyUP4gdMEujObYstZl6DMMOSenwBvV0BlE5LkDwkjs5yHbZmdCEq2o4RJx4tE1vwxFVf2FG1w==} + engines: {node: '>=16.17'} + p-filter@2.1.0: resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} engines: {node: '>=8'} @@ -8196,6 +8250,10 @@ packages: resolution: {integrity: sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==} engines: {node: '>=18'} + p-timeout@6.1.4: + resolution: {integrity: sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==} + engines: {node: '>=14.16'} + p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} @@ -8321,10 +8379,6 @@ packages: pathval@1.1.1: resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} - pathval@2.0.1: - resolution: {integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==} - engines: {node: '>= 14.16'} - pend@1.2.0: resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} @@ -8520,6 +8574,10 @@ packages: quick-format-unescaped@4.0.4: resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} + quote-js-string@0.1.0: + resolution: {integrity: sha512-Y3NoRtprEEZQD8RfxMCfS0ZTqc4e+i18OrXEXAvpM6TfC/3y+0L5rNbZiSnbBBEkDfFzbpd8o+cE8q3/anjMGA==} + engines: {node: '>=22'} + randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} @@ -8657,10 +8715,6 @@ packages: resolution: {integrity: sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - regexp-tree@0.1.27: - resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} - hasBin: true - registry-auth-token@3.3.2: resolution: {integrity: sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==} @@ -8668,8 +8722,8 @@ packages: resolution: {integrity: sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==} engines: {node: '>=0.10.0'} - regjsparser@0.12.0: - resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==} + regjsparser@0.13.2: + resolution: {integrity: sha512-NgRBy2Nx/bE+9F27nVHnqcN5HjyLmecqsqx2PJHu3/IEtADD4WuxuXIVExD5PoSDFVrl78dOonfcOe5O+5nbzQ==} hasBin: true rehype-raw@7.0.0: @@ -8704,6 +8758,10 @@ packages: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} + reserved-identifiers@1.2.0: + resolution: {integrity: sha512-yE7KUfFvaBFzGPs5H3Ops1RevfUEsDc5Iz65rOwWg4lE8HJSYtle77uul3+573457oHvBKuHYDl/xqUkKpEEdw==} + engines: {node: '>=18'} + resize-observer-polyfill@1.5.1: resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} @@ -9057,8 +9115,8 @@ packages: spdx-expression-parse@3.0.1: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - spdx-expression-parse@4.0.0: - resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==} + spdx-expression-parse@5.0.0: + resolution: {integrity: sha512-vngmw3Rgn+o2arXNbnZaj5UtOEBuWBfvaI+Wc8GFfykIhA5/vdK9/Sp/XkLv63dykz2rxKDvKEHupF5P0FORcQ==} spdx-license-ids@3.0.23: resolution: {integrity: sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==} @@ -9085,8 +9143,8 @@ packages: resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} engines: {node: '>= 0.8'} - std-env@3.10.0: - resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} + std-env@4.2.0: + resolution: {integrity: sha512-oCUKSupKTHX53EyjDtuZQ64pjLJ6yYCtpmEw0goYxtjG9KpbRe8KAsl2tBUGU9DyMcJ0RwJ8GqJAFzMXcXW1Rw==} stdin-discarder@0.2.2: resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==} @@ -9192,6 +9250,10 @@ packages: stylis@4.4.0: resolution: {integrity: sha512-5Z9ZpRzfuH6l/UAvCPAPUo3665Nk2wLaZU3x+TLHKVzIz33+sbJqbtrYoC3KD4/uVOr2Zp+L0LySezP9OHV9yA==} + super-regex@1.1.0: + resolution: {integrity: sha512-WHkws2ZflZe41zj6AolvvmaTrWds/VuyeYr9iPVv/oQeaIoVxMKaushfFWpOGDT+GuBrM/sVqF8KUCYQlSSTdQ==} + engines: {node: '>=18'} + superjson@2.2.2: resolution: {integrity: sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==} engines: {node: '>=16'} @@ -9272,10 +9334,6 @@ packages: resolution: {integrity: sha512-lk+vH+MccxNqgVqSnkMVKx4VLJfnLjDBGzH16JVZjKE2DoxP57s6/vt6JmXV5I3jBcfGrxNrYtC+mPtU7WJztA==} engines: {node: '>=18'} - test-exclude@7.0.2: - resolution: {integrity: sha512-u9E6A+ZDYdp7a4WnarkXPZOx8Ilz46+kby6p1yZ8zsGTz9gYa6FIS7lj2oezzNKmtdyyJNNmmXDppga5GB7kSw==} - engines: {node: '>=18'} - text-extensions@2.4.0: resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==} engines: {node: '>=8'} @@ -9303,6 +9361,10 @@ packages: through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + time-span@5.1.0: + resolution: {integrity: sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==} + engines: {node: '>=12'} + tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} @@ -9321,20 +9383,12 @@ packages: resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} engines: {node: '>=12.0.0'} - tinypool@1.1.1: - resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==} - engines: {node: ^18.0.0 || >=20.0.0} - tinypool@2.1.0: resolution: {integrity: sha512-Pugqs6M0m7Lv1I7FtxN4aoyToKg1C4tu+/381vH35y8oENM/Ai7f7C4StcoK4/+BSw9ebcS8jRiVrORFKCALLw==} engines: {node: ^20.0.0 || >=22.0.0} - tinyrainbow@2.0.0: - resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} - engines: {node: '>=14.0.0'} - - tinyspy@4.0.4: - resolution: {integrity: sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==} + tinyrainbow@3.1.0: + resolution: {integrity: sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==} engines: {node: '>=14.0.0'} tldts-core@6.1.86: @@ -9359,9 +9413,13 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - toml-eslint-parser@0.10.1: - resolution: {integrity: sha512-9mjy3frhioGIVGcwamlVlUyJ9x+WHw/TXiz9R4YOlmsIuBN43r9Dp8HZ35SF9EKjHrn3BUZj04CF+YqZ2oJ+7w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + to-valid-identifier@1.0.0: + resolution: {integrity: sha512-41wJyvKep3yT2tyPqX/4blcfybknGB4D+oETKLs7Q76UiPqRpUJK3hr1nxelyYO0PHKVzJwlu0aCeEAsGI6rpw==} + engines: {node: '>=20'} + + toml-eslint-parser@1.0.3: + resolution: {integrity: sha512-A5F0cM6+mDleacLIEUkmfpkBbnHJFV1d2rprHU2MXNk7mlxHq2zGojA+SRvQD1RoMo9gqjZPWEaKG4v1BQ48lw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} totalist@3.0.1: resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} @@ -9401,12 +9459,6 @@ packages: trough@2.2.0: resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} - ts-api-utils@2.1.0: - resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} - engines: {node: '>=18.12'} - peerDependencies: - typescript: '>=4.8.4' - ts-api-utils@2.5.0: resolution: {integrity: sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==} engines: {node: '>=18.12'} @@ -9495,10 +9547,6 @@ packages: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} engines: {node: '>=12.20'} - type-fest@4.2.0: - resolution: {integrity: sha512-5zknd7Dss75pMSED270A1RQS3KloqRJA9XbXLe0eCxyw7xXFb3rd+9B0UQ/0E+LQT6lnrLviEolYORlRWamn4w==} - engines: {node: '>=16'} - type-fest@4.41.0: resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} engines: {node: '>=16'} @@ -9656,12 +9704,6 @@ packages: until-async@3.0.2: resolution: {integrity: sha512-IiSk4HlzAMqTUseHHe3VhIGyuFmN90zMTpD3Z3y8jeQbzLIq500MVM7Jq2vUAnTKAFPJrqwkzr6PoTcPhGcOiw==} - update-browserslist-db@1.1.3: - resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - update-browserslist-db@1.2.3: resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} hasBin: true @@ -9752,11 +9794,6 @@ packages: peerDependencies: vite: ^7.3.1 - vite-node@3.2.4: - resolution: {integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} - hasBin: true - vite-plugin-inspect@11.3.3: resolution: {integrity: sha512-u2eV5La99oHoYPHE6UvbwgEqKKOQGz86wMg40CCosP6q8BkB6e5xPneZfYagK4ojPJSj5anHCrnvC20DpwVdRA==} engines: {node: '>=14'} @@ -9865,26 +9902,39 @@ packages: yaml: optional: true - vitest@3.2.6: - resolution: {integrity: sha512-xejya+bT/j/+R/AGa1XOfRxLmNUlLtlwjRsFUILF+xHfzElmGcmFydy2gqqIrd62ptIEfwVMofd19uNWD9L7Nw==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + vitest@4.1.10: + resolution: {integrity: sha512-R9jUTe5S4Qb0HCd4TNqpC7oGcrMssMRGXLW80ubjWsW9VH5GF8y1Y0SFLY9AbqSk6nt0PnOx4H4WNJYZ13GUPw==} + engines: {node: ^20.0.0 || ^22.0.0 || >=24.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.6 - '@vitest/ui': 3.2.6 + '@opentelemetry/api': ^1.9.0 + '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 + '@vitest/browser-playwright': 4.1.10 + '@vitest/browser-preview': 4.1.10 + '@vitest/browser-webdriverio': 4.1.10 + '@vitest/coverage-istanbul': 4.1.10 + '@vitest/coverage-v8': 4.1.10 + '@vitest/ui': 4.1.10 happy-dom: '*' jsdom: '*' + vite: ^7.3.1 peerDependenciesMeta: '@edge-runtime/vm': optional: true - '@types/debug': + '@opentelemetry/api': optional: true '@types/node': optional: true - '@vitest/browser': + '@vitest/browser-playwright': + optional: true + '@vitest/browser-preview': + optional: true + '@vitest/browser-webdriverio': + optional: true + '@vitest/coverage-istanbul': + optional: true + '@vitest/coverage-v8': optional: true '@vitest/ui': optional: true @@ -9985,6 +10035,9 @@ packages: web-namespaces@2.0.1: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} + web-worker@1.5.0: + resolution: {integrity: sha512-RiMReJrTAiA+mBjGONMnjVDP2u3p9R1vkcGz6gDIrOMT3oGuYwX2WRMYI9ipkphSuE5XKEhydbhNEJh4NY9mlw==} + webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} @@ -10079,10 +10132,6 @@ packages: resolution: {integrity: sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==} engines: {node: '>=18'} - xml-name-validator@4.0.0: - resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} - engines: {node: '>=12'} - xml-name-validator@5.0.0: resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} engines: {node: '>=18'} @@ -10115,8 +10164,8 @@ packages: resolution: {integrity: sha512-odxVsHAkZYYglR30aPYRY4nUGJnoJ2y1ww2HDvZALo0BDETv9kWbi16J52eHs+PWRNmF4ub6nZqfVOeesOvntg==} engines: {node: ^14.17.0 || >=16.0.0} - yaml-eslint-parser@2.0.0: - resolution: {integrity: sha512-h0uDm97wvT2bokfwwTmY6kJ1hp6YDFL0nRHwNKz8s/VD1FH/vvZjAKoMUE+un0eaYBSG7/c6h+lJTP+31tjgTw==} + yaml-eslint-parser@2.1.0: + resolution: {integrity: sha512-1zo9KRfp6vIAXBEhWAz09ex3hUwh3T+/6dGbGteHvNseA0Uk4FgQnPES55klZ6cDzSy9FpgKS0D/CoLUvCCj4w==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} yaml@1.10.2: @@ -10195,11 +10244,6 @@ snapshots: '@alova/shared@1.3.1': {} - '@ampproject/remapping@2.3.0': - dependencies: - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - '@ant-design/colors@6.0.0': dependencies: '@ctrl/tinycolor': 3.6.1 @@ -10212,55 +10256,56 @@ snapshots: '@ant-design/icons-svg': 4.4.2 vue: 3.5.22(typescript@5.9.3) - '@antfu/eslint-config@5.4.1(@typescript-eslint/rule-tester@8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(@typescript-eslint/typescript-estree@8.62.0(typescript@5.9.3))(@typescript-eslint/utils@8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(@unocss/eslint-plugin@66.7.3(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(@vue/compiler-sfc@3.5.22)(eslint-plugin-format@1.5.0(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)(vitest@3.2.6(@types/debug@4.1.13)(@types/node@24.13.2)(jiti@2.7.0)(jsdom@26.1.0)(lightningcss@1.32.0)(msw@2.14.6(@types/node@24.13.2)(typescript@5.9.3))(tsx@4.22.4)(yaml@2.9.0))': + '@antfu/eslint-config@9.2.0(@typescript-eslint/typescript-estree@8.65.0(typescript@6.0.3))(@typescript-eslint/utils@8.65.0(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3))(@unocss/eslint-plugin@66.7.3(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3))(@vue/compiler-sfc@3.5.22)(eslint-plugin-format@1.5.0(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0))(oxlint@1.71.0)(ts-declaration-location@1.0.7(typescript@6.0.3))(typescript@6.0.3)(vitest@4.1.10)': dependencies: '@antfu/install-pkg': 1.1.0 - '@clack/prompts': 0.11.0 + '@clack/prompts': 1.7.0 + '@e18e/eslint-plugin': 0.5.1(eslint@9.39.4(jiti@2.7.0))(oxlint@1.71.0) '@eslint-community/eslint-plugin-eslint-comments': 4.7.2(eslint@9.39.4(jiti@2.7.0)) - '@eslint/markdown': 7.5.1 + '@eslint/markdown': 8.0.3 '@stylistic/eslint-plugin': 5.10.0(eslint@9.39.4(jiti@2.7.0)) - '@typescript-eslint/eslint-plugin': 8.62.0(@typescript-eslint/parser@8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) - '@typescript-eslint/parser': 8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) - '@vitest/eslint-plugin': 1.6.20(@typescript-eslint/eslint-plugin@8.62.0(@typescript-eslint/parser@8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)(vitest@3.2.6(@types/debug@4.1.13)(@types/node@24.13.2)(jiti@2.7.0)(jsdom@26.1.0)(lightningcss@1.32.0)(msw@2.14.6(@types/node@24.13.2)(typescript@5.9.3))(tsx@4.22.4)(yaml@2.9.0)) + '@typescript-eslint/eslint-plugin': 8.65.0(@typescript-eslint/parser@8.65.0(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/parser': 8.65.0(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3) + '@vitest/eslint-plugin': 1.6.24(@typescript-eslint/eslint-plugin@8.65.0(@typescript-eslint/parser@8.65.0(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3)(vitest@4.1.10) ansis: 4.3.1 - cac: 6.7.14 + cac: 7.0.0 eslint: 9.39.4(jiti@2.7.0) eslint-config-flat-gitignore: 2.3.0(eslint@9.39.4(jiti@2.7.0)) - eslint-flat-config-utils: 2.1.4 + eslint-flat-config-utils: 3.2.0 eslint-merge-processors: 2.0.0(eslint@9.39.4(jiti@2.7.0)) eslint-plugin-antfu: 3.2.3(eslint@9.39.4(jiti@2.7.0)) - eslint-plugin-command: 3.5.2(@typescript-eslint/rule-tester@8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(@typescript-eslint/typescript-estree@8.62.0(typescript@5.9.3))(@typescript-eslint/utils@8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0)) - eslint-plugin-import-lite: 0.3.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) - eslint-plugin-jsdoc: 59.1.0(eslint@9.39.4(jiti@2.7.0)) - eslint-plugin-jsonc: 2.21.1(eslint@9.39.4(jiti@2.7.0)) - eslint-plugin-n: 17.24.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) + eslint-plugin-command: 3.5.3(@typescript-eslint/typescript-estree@8.65.0(typescript@6.0.3))(@typescript-eslint/utils@8.65.0(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)) + eslint-plugin-import-lite: 0.6.0(eslint@9.39.4(jiti@2.7.0)) + eslint-plugin-jsdoc: 63.2.2(eslint@9.39.4(jiti@2.7.0)) + eslint-plugin-jsonc: 3.3.0(eslint@9.39.4(jiti@2.7.0)) + eslint-plugin-n: 18.2.2(eslint@9.39.4(jiti@2.7.0))(ts-declaration-location@1.0.7(typescript@6.0.3))(typescript@6.0.3) eslint-plugin-no-only-tests: 3.4.0 - eslint-plugin-perfectionist: 4.15.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) + eslint-plugin-perfectionist: 5.10.0(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3) eslint-plugin-pnpm: 1.6.1(eslint@9.39.4(jiti@2.7.0)) - eslint-plugin-regexp: 2.10.0(eslint@9.39.4(jiti@2.7.0)) - eslint-plugin-toml: 0.12.0(eslint@9.39.4(jiti@2.7.0)) - eslint-plugin-unicorn: 61.0.2(eslint@9.39.4(jiti@2.7.0)) - eslint-plugin-unused-imports: 4.4.1(@typescript-eslint/eslint-plugin@8.62.0(@typescript-eslint/parser@8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0)) - eslint-plugin-vue: 10.9.2(@stylistic/eslint-plugin@5.10.0(eslint@9.39.4(jiti@2.7.0)))(@typescript-eslint/parser@8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(vue-eslint-parser@10.4.1(eslint@9.39.4(jiti@2.7.0))) - eslint-plugin-yml: 1.19.1(eslint@9.39.4(jiti@2.7.0)) + eslint-plugin-regexp: 3.1.1(eslint@9.39.4(jiti@2.7.0)) + eslint-plugin-toml: 1.4.0(eslint@9.39.4(jiti@2.7.0)) + eslint-plugin-unicorn: 72.0.0(eslint@9.39.4(jiti@2.7.0)) + eslint-plugin-unused-imports: 4.4.1(@typescript-eslint/eslint-plugin@8.65.0(@typescript-eslint/parser@8.65.0(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)) + eslint-plugin-vue: 10.10.0(@stylistic/eslint-plugin@5.10.0(eslint@9.39.4(jiti@2.7.0)))(@typescript-eslint/parser@8.65.0(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0))(vue-eslint-parser@10.4.1(eslint@9.39.4(jiti@2.7.0))) + eslint-plugin-yml: 3.6.0(eslint@9.39.4(jiti@2.7.0)) eslint-processor-vue-blocks: 2.0.0(@vue/compiler-sfc@3.5.22)(eslint@9.39.4(jiti@2.7.0)) - globals: 16.5.0 - jsonc-eslint-parser: 2.4.2 + globals: 17.7.0 local-pkg: 1.2.1 parse-gitignore: 2.0.0 - toml-eslint-parser: 0.10.1 + toml-eslint-parser: 1.0.3 vue-eslint-parser: 10.4.1(eslint@9.39.4(jiti@2.7.0)) - yaml-eslint-parser: 1.3.2 + yaml-eslint-parser: 2.1.0 optionalDependencies: - '@unocss/eslint-plugin': 66.7.3(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) + '@unocss/eslint-plugin': 66.7.3(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3) eslint-plugin-format: 1.5.0(eslint@9.39.4(jiti@2.7.0)) transitivePeerDependencies: - '@eslint/json' - - '@typescript-eslint/rule-tester' - '@typescript-eslint/typescript-estree' - '@typescript-eslint/utils' - '@vue/compiler-sfc' + - oxlint - supports-color + - ts-declaration-location - typescript - vitest @@ -10424,7 +10469,7 @@ snapshots: dependencies: '@babel/compat-data': 7.28.4 '@babel/helper-validator-option': 7.27.1 - browserslist: 4.26.3 + browserslist: 4.28.4 lru-cache: 5.1.1 semver: 6.3.1 @@ -10737,22 +10782,23 @@ snapshots: '@chevrotain/types@11.1.2': {} - '@clack/core@0.5.0': + '@clack/core@1.4.3': dependencies: - picocolors: 1.1.1 + fast-wrap-ansi: 0.2.2 sisteransi: 1.0.5 - '@clack/prompts@0.11.0': + '@clack/prompts@1.7.0': dependencies: - '@clack/core': 0.5.0 - picocolors: 1.1.1 + '@clack/core': 1.4.3 + fast-string-width: 3.0.2 + fast-wrap-ansi: 0.2.2 sisteransi: 1.0.5 - '@commitlint/cli@19.8.1(@types/node@24.13.2)(typescript@5.9.3)': + '@commitlint/cli@19.8.1(@types/node@24.13.2)(typescript@6.0.3)': dependencies: '@commitlint/format': 19.8.1 '@commitlint/lint': 19.8.1 - '@commitlint/load': 19.8.1(@types/node@24.13.2)(typescript@5.9.3) + '@commitlint/load': 19.8.1(@types/node@24.13.2)(typescript@6.0.3) '@commitlint/read': 19.8.1 '@commitlint/types': 19.8.1 tinyexec: 1.2.4 @@ -10808,15 +10854,15 @@ snapshots: '@commitlint/rules': 19.8.1 '@commitlint/types': 19.8.1 - '@commitlint/load@19.8.1(@types/node@24.13.2)(typescript@5.9.3)': + '@commitlint/load@19.8.1(@types/node@24.13.2)(typescript@6.0.3)': dependencies: '@commitlint/config-validator': 19.8.1 '@commitlint/execute-rule': 19.8.1 '@commitlint/resolve-extends': 19.8.1 '@commitlint/types': 19.8.1 chalk: 5.6.2 - cosmiconfig: 9.0.2(typescript@5.9.3) - cosmiconfig-typescript-loader: 6.3.0(@types/node@24.13.2)(cosmiconfig@9.0.2(typescript@5.9.3))(typescript@5.9.3) + cosmiconfig: 9.0.2(typescript@6.0.3) + cosmiconfig-typescript-loader: 6.3.0(@types/node@24.13.2)(cosmiconfig@9.0.2(typescript@6.0.3))(typescript@6.0.3) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -10824,14 +10870,14 @@ snapshots: - '@types/node' - typescript - '@commitlint/load@21.1.0(@types/node@24.13.2)(typescript@5.9.3)': + '@commitlint/load@21.1.0(@types/node@24.13.2)(typescript@6.0.3)': dependencies: '@commitlint/config-validator': 21.1.0 '@commitlint/execute-rule': 21.0.1 '@commitlint/resolve-extends': 21.1.0 '@commitlint/types': 21.1.0 - cosmiconfig: 9.0.2(typescript@5.9.3) - cosmiconfig-typescript-loader: 6.3.0(@types/node@24.13.2)(cosmiconfig@9.0.2(typescript@5.9.3))(typescript@5.9.3) + cosmiconfig: 9.0.2(typescript@6.0.3) + cosmiconfig-typescript-loader: 6.3.0(@types/node@24.13.2)(cosmiconfig@9.0.2(typescript@6.0.3))(typescript@6.0.3) es-toolkit: 1.49.0 is-plain-obj: 4.1.0 picocolors: 1.1.1 @@ -10902,9 +10948,9 @@ snapshots: dependencies: css-render: 0.15.14 - '@css-render/vue3-ssr@0.15.14(vue@3.5.22(typescript@5.9.3))': + '@css-render/vue3-ssr@0.15.14(vue@3.5.22(typescript@6.0.3))': dependencies: - vue: 3.5.22(typescript@5.9.3) + vue: 3.5.22(typescript@6.0.3) '@csstools/color-helpers@5.1.0': {} @@ -10928,7 +10974,7 @@ snapshots: '@ctrl/tinycolor@3.6.1': {} - '@czhlin/vite-plugin-vscode@4.3.0(typescript@5.9.3)(vite@7.3.1(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.1.1(typescript@5.9.3))': + '@czhlin/vite-plugin-vscode@4.3.0(typescript@6.0.3)(vite@7.3.1(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.1.1(typescript@6.0.3))': dependencies: '@tomjs/logger': 1.4.0 '@tomjs/node': 2.2.3 @@ -10938,7 +10984,7 @@ snapshots: lodash.clonedeep: 4.5.0 lodash.merge: 4.6.2 node-html-parser: 6.1.13 - tsdown: 0.12.9(typescript@5.9.3)(vue-tsc@3.1.1(typescript@5.9.3)) + tsdown: 0.12.9(typescript@6.0.3)(vue-tsc@3.1.1(typescript@6.0.3)) vite: 7.3.1(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0) transitivePeerDependencies: - '@arethetypeswrong/core' @@ -10957,6 +11003,15 @@ snapshots: '@dprint/toml@0.7.0': {} + '@e18e/eslint-plugin@0.5.1(eslint@9.39.4(jiti@2.7.0))(oxlint@1.71.0)': + dependencies: + empathic: 2.0.1 + module-replacements: 3.1.0 + semver: 7.8.5 + optionalDependencies: + eslint: 9.39.4(jiti@2.7.0) + oxlint: 1.71.0 + '@emnapi/core@1.5.0': dependencies: '@emnapi/wasi-threads': 1.1.0 @@ -10984,21 +11039,23 @@ snapshots: '@emotion/unitless@0.8.1': {} - '@es-joy/jsdoccomment@0.58.0': + '@es-joy/jsdoccomment@0.88.0': dependencies: '@types/estree': 1.0.9 '@typescript-eslint/types': 8.62.0 - comment-parser: 1.4.1 + comment-parser: 1.4.7 esquery: 1.7.0 - jsdoc-type-pratt-parser: 5.4.0 + jsdoc-type-pratt-parser: 7.2.0 - '@es-joy/jsdoccomment@0.84.0': + '@es-joy/jsdoccomment@0.90.0': dependencies: '@types/estree': 1.0.9 - '@typescript-eslint/types': 8.62.0 - comment-parser: 1.4.5 + '@typescript-eslint/types': 8.65.0 + comment-parser: 1.4.7 esquery: 1.7.0 - jsdoc-type-pratt-parser: 7.1.1 + jsdoc-type-pratt-parser: 7.3.0 + + '@es-joy/resolve.exports@1.2.0': {} '@esbuild/aix-ppc64@0.25.10': optional: true @@ -11270,9 +11327,9 @@ snapshots: dependencies: '@eslint/core': 0.17.0 - '@eslint/core@0.15.2': + '@eslint/config-helpers@0.5.5': dependencies: - '@types/json-schema': 7.0.15 + '@eslint/core': 1.2.1 '@eslint/core@0.17.0': dependencies: @@ -11282,6 +11339,11 @@ snapshots: dependencies: '@types/json-schema': 7.0.15 + '@eslint/css-tree@4.0.5': + dependencies: + mdn-data: 2.29.0 + source-map-js: 1.2.1 + '@eslint/eslintrc@3.3.5': dependencies: ajv: 6.15.0 @@ -11298,30 +11360,32 @@ snapshots: '@eslint/js@9.39.4': {} - '@eslint/markdown@7.5.1': + '@eslint/markdown@8.0.3': dependencies: - '@eslint/core': 0.17.0 - '@eslint/plugin-kit': 0.4.1 + '@eslint/core': 1.2.1 + '@eslint/plugin-kit': 0.7.2 github-slugger: 2.0.0 mdast-util-from-markdown: 2.0.3 mdast-util-frontmatter: 2.0.1 mdast-util-gfm: 3.1.0 + mdast-util-math: 3.0.0 micromark-extension-frontmatter: 2.0.0 micromark-extension-gfm: 3.0.0 + micromark-extension-math: 3.1.0 micromark-util-normalize-identifier: 2.0.1 transitivePeerDependencies: - supports-color '@eslint/object-schema@2.1.7': {} - '@eslint/plugin-kit@0.3.5': + '@eslint/plugin-kit@0.4.1': dependencies: - '@eslint/core': 0.15.2 + '@eslint/core': 0.17.0 levn: 0.4.1 - '@eslint/plugin-kit@0.4.1': + '@eslint/plugin-kit@0.7.2': dependencies: - '@eslint/core': 0.17.0 + '@eslint/core': 1.2.1 levn: 0.4.1 '@exodus/schemasafe@1.3.0': {} @@ -11536,7 +11600,7 @@ snapshots: optionalDependencies: '@types/node': 24.13.2 - '@intlify/bundle-utils@10.0.1(vue-i18n@11.1.12(vue@3.5.22(typescript@5.9.3)))': + '@intlify/bundle-utils@10.0.1(vue-i18n@11.1.12(vue@3.5.22(typescript@6.0.3)))': dependencies: '@intlify/message-compiler': 11.1.12 '@intlify/shared': 11.1.12 @@ -11548,7 +11612,7 @@ snapshots: source-map-js: 1.2.1 yaml-eslint-parser: 1.3.2 optionalDependencies: - vue-i18n: 11.1.12(vue@3.5.22(typescript@5.9.3)) + vue-i18n: 11.1.12(vue@3.5.22(typescript@6.0.3)) '@intlify/core-base@11.1.12': dependencies: @@ -11562,15 +11626,15 @@ snapshots: '@intlify/shared@11.1.12': {} - '@intlify/unplugin-vue-i18n@6.0.8(@vue/compiler-dom@3.5.22)(eslint@9.39.4(jiti@2.7.0))(rollup@4.62.2)(typescript@5.9.3)(vue-i18n@11.1.12(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3))': + '@intlify/unplugin-vue-i18n@6.0.8(@vue/compiler-dom@3.5.22)(eslint@9.39.4(jiti@2.7.0))(rollup@4.62.2)(typescript@6.0.3)(vue-i18n@11.1.12(vue@3.5.22(typescript@6.0.3)))(vue@3.5.22(typescript@6.0.3))': dependencies: '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.4(jiti@2.7.0)) - '@intlify/bundle-utils': 10.0.1(vue-i18n@11.1.12(vue@3.5.22(typescript@5.9.3))) + '@intlify/bundle-utils': 10.0.1(vue-i18n@11.1.12(vue@3.5.22(typescript@6.0.3))) '@intlify/shared': 11.1.12 - '@intlify/vue-i18n-extensions': 8.0.0(@intlify/shared@11.1.12)(@vue/compiler-dom@3.5.22)(vue-i18n@11.1.12(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3)) + '@intlify/vue-i18n-extensions': 8.0.0(@intlify/shared@11.1.12)(@vue/compiler-dom@3.5.22)(vue-i18n@11.1.12(vue@3.5.22(typescript@6.0.3)))(vue@3.5.22(typescript@6.0.3)) '@rollup/pluginutils': 5.3.0(rollup@4.62.2) '@typescript-eslint/scope-manager': 8.46.0 - '@typescript-eslint/typescript-estree': 8.46.0(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.46.0(typescript@6.0.3) debug: 4.4.3(supports-color@8.1.1) fast-glob: 3.3.3 js-yaml: 4.1.0 @@ -11579,9 +11643,9 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 unplugin: 2.3.10 - vue: 3.5.22(typescript@5.9.3) + vue: 3.5.22(typescript@6.0.3) optionalDependencies: - vue-i18n: 11.1.12(vue@3.5.22(typescript@5.9.3)) + vue-i18n: 11.1.12(vue@3.5.22(typescript@6.0.3)) transitivePeerDependencies: - '@vue/compiler-dom' - eslint @@ -11589,14 +11653,14 @@ snapshots: - supports-color - typescript - '@intlify/vue-i18n-extensions@8.0.0(@intlify/shared@11.1.12)(@vue/compiler-dom@3.5.22)(vue-i18n@11.1.12(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3))': + '@intlify/vue-i18n-extensions@8.0.0(@intlify/shared@11.1.12)(@vue/compiler-dom@3.5.22)(vue-i18n@11.1.12(vue@3.5.22(typescript@6.0.3)))(vue@3.5.22(typescript@6.0.3))': dependencies: '@babel/parser': 7.29.7 optionalDependencies: '@intlify/shared': 11.1.12 '@vue/compiler-dom': 3.5.22 - vue: 3.5.22(typescript@5.9.3) - vue-i18n: 11.1.12(vue@3.5.22(typescript@5.9.3)) + vue: 3.5.22(typescript@6.0.3) + vue-i18n: 11.1.12(vue@3.5.22(typescript@6.0.3)) '@isaacs/balanced-match@4.0.1': {} @@ -11613,8 +11677,6 @@ snapshots: wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 - '@istanbuljs/schema@0.1.6': {} - '@jridgewell/gen-mapping@0.3.13': dependencies: '@jridgewell/sourcemap-codec': 1.5.5 @@ -11888,6 +11950,8 @@ snapshots: '@orama/orama@3.1.18': {} + '@ota-meshi/ast-token-store@0.3.0': {} + '@oxc-project/types@0.94.0': {} '@oxfmt/binding-android-arm-eabi@0.35.0': @@ -12756,6 +12820,8 @@ snapshots: '@simple-libs/stream-utils@1.2.0': optional: true + '@sindresorhus/base62@1.0.0': {} + '@sindresorhus/merge-streams@2.3.0': {} '@sindresorhus/merge-streams@4.0.0': {} @@ -13236,63 +13302,58 @@ snapshots: '@types/web-bluetooth@0.0.21': {} - '@typescript-eslint/eslint-plugin@8.62.0(@typescript-eslint/parser@8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)': + '@typescript-eslint/eslint-plugin@8.65.0(@typescript-eslint/parser@8.65.0(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) - '@typescript-eslint/scope-manager': 8.62.0 - '@typescript-eslint/type-utils': 8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) - '@typescript-eslint/utils': 8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.62.0 + '@typescript-eslint/parser': 8.65.0(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/scope-manager': 8.65.0 + '@typescript-eslint/type-utils': 8.65.0(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/utils': 8.65.0(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/visitor-keys': 8.65.0 eslint: 9.39.4(jiti@2.7.0) ignore: 7.0.5 natural-compare: 1.4.0 - ts-api-utils: 2.5.0(typescript@5.9.3) - typescript: 5.9.3 + ts-api-utils: 2.5.0(typescript@6.0.3) + typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)': + '@typescript-eslint/parser@8.65.0(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3)': dependencies: - '@typescript-eslint/scope-manager': 8.62.0 - '@typescript-eslint/types': 8.62.0 - '@typescript-eslint/typescript-estree': 8.62.0(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.62.0 + '@typescript-eslint/scope-manager': 8.65.0 + '@typescript-eslint/types': 8.65.0 + '@typescript-eslint/typescript-estree': 8.65.0(typescript@6.0.3) + '@typescript-eslint/visitor-keys': 8.65.0 debug: 4.4.3(supports-color@8.1.1) eslint: 9.39.4(jiti@2.7.0) - typescript: 5.9.3 + typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.46.0(typescript@5.9.3)': + '@typescript-eslint/project-service@8.46.0(typescript@6.0.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.46.0(typescript@5.9.3) - '@typescript-eslint/types': 8.46.0 + '@typescript-eslint/tsconfig-utils': 8.62.0(typescript@6.0.3) + '@typescript-eslint/types': 8.62.0 debug: 4.4.3(supports-color@8.1.1) - typescript: 5.9.3 + typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.62.0(typescript@5.9.3)': + '@typescript-eslint/project-service@8.62.0(typescript@6.0.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.62.0(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.62.0(typescript@6.0.3) '@typescript-eslint/types': 8.62.0 debug: 4.4.3(supports-color@8.1.1) - typescript: 5.9.3 + typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/rule-tester@8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)': + '@typescript-eslint/project-service@8.65.0(typescript@6.0.3)': dependencies: - '@typescript-eslint/parser': 8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) - '@typescript-eslint/typescript-estree': 8.62.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) - ajv: 6.15.0 - eslint: 9.39.4(jiti@2.7.0) - json-stable-stringify-without-jsonify: 1.0.1 - lodash.merge: 4.6.2 - semver: 7.8.5 - typescript: 5.9.3 + '@typescript-eslint/tsconfig-utils': 8.65.0(typescript@6.0.3) + '@typescript-eslint/types': 8.65.0 + debug: 4.4.3(supports-color@8.1.1) + typescript: 6.0.3 transitivePeerDependencies: - supports-color @@ -13306,23 +13367,32 @@ snapshots: '@typescript-eslint/types': 8.62.0 '@typescript-eslint/visitor-keys': 8.62.0 - '@typescript-eslint/tsconfig-utils@8.46.0(typescript@5.9.3)': + '@typescript-eslint/scope-manager@8.65.0': dependencies: - typescript: 5.9.3 + '@typescript-eslint/types': 8.65.0 + '@typescript-eslint/visitor-keys': 8.65.0 - '@typescript-eslint/tsconfig-utils@8.62.0(typescript@5.9.3)': + '@typescript-eslint/tsconfig-utils@8.46.0(typescript@6.0.3)': dependencies: - typescript: 5.9.3 + typescript: 6.0.3 - '@typescript-eslint/type-utils@8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)': + '@typescript-eslint/tsconfig-utils@8.62.0(typescript@6.0.3)': dependencies: - '@typescript-eslint/types': 8.62.0 - '@typescript-eslint/typescript-estree': 8.62.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) - debug: 4.4.3(supports-color@8.1.1) + typescript: 6.0.3 + + '@typescript-eslint/tsconfig-utils@8.65.0(typescript@6.0.3)': + dependencies: + typescript: 6.0.3 + + '@typescript-eslint/type-utils@8.65.0(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3)': + dependencies: + '@typescript-eslint/types': 8.65.0 + '@typescript-eslint/typescript-estree': 8.65.0(typescript@6.0.3) + '@typescript-eslint/utils': 8.65.0(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3) + debug: 4.4.3(supports-color@8.1.1) eslint: 9.39.4(jiti@2.7.0) - ts-api-utils: 2.5.0(typescript@5.9.3) - typescript: 5.9.3 + ts-api-utils: 2.5.0(typescript@6.0.3) + typescript: 6.0.3 transitivePeerDependencies: - supports-color @@ -13330,10 +13400,12 @@ snapshots: '@typescript-eslint/types@8.62.0': {} - '@typescript-eslint/typescript-estree@8.46.0(typescript@5.9.3)': + '@typescript-eslint/types@8.65.0': {} + + '@typescript-eslint/typescript-estree@8.46.0(typescript@6.0.3)': dependencies: - '@typescript-eslint/project-service': 8.46.0(typescript@5.9.3) - '@typescript-eslint/tsconfig-utils': 8.46.0(typescript@5.9.3) + '@typescript-eslint/project-service': 8.46.0(typescript@6.0.3) + '@typescript-eslint/tsconfig-utils': 8.46.0(typescript@6.0.3) '@typescript-eslint/types': 8.46.0 '@typescript-eslint/visitor-keys': 8.46.0 debug: 4.4.3(supports-color@8.1.1) @@ -13341,34 +13413,60 @@ snapshots: is-glob: 4.0.3 minimatch: 9.0.9 semver: 7.8.5 - ts-api-utils: 2.1.0(typescript@5.9.3) - typescript: 5.9.3 + ts-api-utils: 2.5.0(typescript@6.0.3) + typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.62.0(typescript@5.9.3)': + '@typescript-eslint/typescript-estree@8.62.0(typescript@6.0.3)': dependencies: - '@typescript-eslint/project-service': 8.62.0(typescript@5.9.3) - '@typescript-eslint/tsconfig-utils': 8.62.0(typescript@5.9.3) + '@typescript-eslint/project-service': 8.62.0(typescript@6.0.3) + '@typescript-eslint/tsconfig-utils': 8.62.0(typescript@6.0.3) '@typescript-eslint/types': 8.62.0 '@typescript-eslint/visitor-keys': 8.62.0 debug: 4.4.3(supports-color@8.1.1) minimatch: 10.2.5 semver: 7.8.5 tinyglobby: 0.2.17 - ts-api-utils: 2.5.0(typescript@5.9.3) - typescript: 5.9.3 + ts-api-utils: 2.5.0(typescript@6.0.3) + typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)': + '@typescript-eslint/typescript-estree@8.65.0(typescript@6.0.3)': + dependencies: + '@typescript-eslint/project-service': 8.65.0(typescript@6.0.3) + '@typescript-eslint/tsconfig-utils': 8.65.0(typescript@6.0.3) + '@typescript-eslint/types': 8.65.0 + '@typescript-eslint/visitor-keys': 8.65.0 + debug: 4.4.3(supports-color@8.1.1) + minimatch: 10.2.5 + semver: 7.8.5 + tinyglobby: 0.2.17 + ts-api-utils: 2.5.0(typescript@6.0.3) + typescript: 6.0.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3)': dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.7.0)) '@typescript-eslint/scope-manager': 8.62.0 '@typescript-eslint/types': 8.62.0 - '@typescript-eslint/typescript-estree': 8.62.0(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.62.0(typescript@6.0.3) eslint: 9.39.4(jiti@2.7.0) - typescript: 5.9.3 + typescript: 6.0.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.65.0(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3)': + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.7.0)) + '@typescript-eslint/scope-manager': 8.65.0 + '@typescript-eslint/types': 8.65.0 + '@typescript-eslint/typescript-estree': 8.65.0(typescript@6.0.3) + eslint: 9.39.4(jiti@2.7.0) + typescript: 6.0.3 transitivePeerDependencies: - supports-color @@ -13382,6 +13480,11 @@ snapshots: '@typescript-eslint/types': 8.62.0 eslint-visitor-keys: 5.0.1 + '@typescript-eslint/visitor-keys@8.65.0': + dependencies: + '@typescript-eslint/types': 8.65.0 + eslint-visitor-keys: 5.0.1 + '@typescript/vfs@1.6.4(typescript@6.0.3)': dependencies: debug: 4.4.3(supports-color@8.1.1) @@ -13399,11 +13502,11 @@ snapshots: '@ungap/structured-clone@1.3.0': {} - '@unhead/vue@2.0.19(vue@3.5.22(typescript@5.9.3))': + '@unhead/vue@2.0.19(vue@3.5.22(typescript@6.0.3))': dependencies: hookable: 5.5.3 unhead: 2.0.19 - vue: 3.5.22(typescript@5.9.3) + vue: 3.5.22(typescript@6.0.3) '@unocss/config@66.7.3': dependencies: @@ -13416,9 +13519,9 @@ snapshots: '@unocss/core@66.7.3': optional: true - '@unocss/eslint-plugin@66.7.3(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)': + '@unocss/eslint-plugin@66.7.3(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3)': dependencies: - '@typescript-eslint/utils': 8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) + '@typescript-eslint/utils': 8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3) '@unocss/config': 66.7.3 '@unocss/core': 66.7.3 '@unocss/rule-utils': 66.7.3 @@ -13443,7 +13546,7 @@ snapshots: '@vicons/ionicons5@0.13.0': {} - '@vitejs/plugin-vue-jsx@5.1.1(vite@7.3.1(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.22(typescript@5.9.3))': + '@vitejs/plugin-vue-jsx@5.1.1(vite@7.3.1(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.22(typescript@6.0.3))': dependencies: '@babel/core': 7.28.4 '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.4) @@ -13451,15 +13554,15 @@ snapshots: '@rolldown/pluginutils': 1.0.0-beta.42 '@vue/babel-plugin-jsx': 1.5.0(@babel/core@7.28.4) vite: 7.3.1(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0) - vue: 3.5.22(typescript@5.9.3) + vue: 3.5.22(typescript@6.0.3) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@6.0.1(vite@7.3.1(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.22(typescript@5.9.3))': + '@vitejs/plugin-vue@6.0.1(vite@7.3.1(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.22(typescript@6.0.3))': dependencies: '@rolldown/pluginutils': 1.0.0-beta.29 vite: 7.3.1(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0) - vue: 3.5.22(typescript@5.9.3) + vue: 3.5.22(typescript@6.0.3) '@vitejs/plugin-vue@6.0.1(vite@7.3.1(@types/node@26.0.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.22(typescript@5.9.3))': dependencies: @@ -13467,79 +13570,73 @@ snapshots: vite: 7.3.1(@types/node@26.0.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0) vue: 3.5.22(typescript@5.9.3) - '@vitest/coverage-v8@3.2.6(vitest@3.2.6(@types/debug@4.1.13)(@types/node@24.13.2)(jiti@2.7.0)(jsdom@26.1.0)(lightningcss@1.32.0)(msw@2.14.6(@types/node@24.13.2)(typescript@5.9.3))(tsx@4.22.4)(yaml@2.9.0))': + '@vitest/coverage-v8@4.1.10(vitest@4.1.10)': dependencies: - '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 1.0.2 - ast-v8-to-istanbul: 0.3.12 - debug: 4.4.3(supports-color@8.1.1) + '@vitest/utils': 4.1.10 + ast-v8-to-istanbul: 1.0.5 istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 5.0.6 istanbul-reports: 3.2.0 - magic-string: 0.30.21 - magicast: 0.3.5 - std-env: 3.10.0 - test-exclude: 7.0.2 - tinyrainbow: 2.0.0 - vitest: 3.2.6(@types/debug@4.1.13)(@types/node@24.13.2)(jiti@2.7.0)(jsdom@26.1.0)(lightningcss@1.32.0)(msw@2.14.6(@types/node@24.13.2)(typescript@5.9.3))(tsx@4.22.4)(yaml@2.9.0) - transitivePeerDependencies: - - supports-color + magicast: 0.5.3 + obug: 2.1.4 + std-env: 4.2.0 + tinyrainbow: 3.1.0 + vitest: 4.1.10(@types/node@24.13.2)(@vitest/coverage-v8@4.1.10)(jsdom@26.1.0)(msw@2.14.6(@types/node@24.13.2)(typescript@6.0.3))(vite@7.3.6(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0)) - '@vitest/eslint-plugin@1.6.20(@typescript-eslint/eslint-plugin@8.62.0(@typescript-eslint/parser@8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3)(vitest@3.2.6(@types/debug@4.1.13)(@types/node@24.13.2)(jiti@2.7.0)(jsdom@26.1.0)(lightningcss@1.32.0)(msw@2.14.6(@types/node@24.13.2)(typescript@5.9.3))(tsx@4.22.4)(yaml@2.9.0))': + '@vitest/eslint-plugin@1.6.24(@typescript-eslint/eslint-plugin@8.65.0(@typescript-eslint/parser@8.65.0(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3)(vitest@4.1.10)': dependencies: '@typescript-eslint/scope-manager': 8.62.0 - '@typescript-eslint/utils': 8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) + '@typescript-eslint/utils': 8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3) eslint: 9.39.4(jiti@2.7.0) optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.62.0(@typescript-eslint/parser@8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) - typescript: 5.9.3 - vitest: 3.2.6(@types/debug@4.1.13)(@types/node@24.13.2)(jiti@2.7.0)(jsdom@26.1.0)(lightningcss@1.32.0)(msw@2.14.6(@types/node@24.13.2)(typescript@5.9.3))(tsx@4.22.4)(yaml@2.9.0) + '@typescript-eslint/eslint-plugin': 8.65.0(@typescript-eslint/parser@8.65.0(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3) + typescript: 6.0.3 + vitest: 4.1.10(@types/node@24.13.2)(@vitest/coverage-v8@4.1.10)(jsdom@26.1.0)(msw@2.14.6(@types/node@24.13.2)(typescript@6.0.3))(vite@7.3.6(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0)) transitivePeerDependencies: - supports-color - '@vitest/expect@3.2.6': + '@vitest/expect@4.1.10': dependencies: + '@standard-schema/spec': 1.1.0 '@types/chai': 5.2.3 - '@vitest/spy': 3.2.6 - '@vitest/utils': 3.2.6 - chai: 5.3.3 - tinyrainbow: 2.0.0 + '@vitest/spy': 4.1.10 + '@vitest/utils': 4.1.10 + chai: 6.2.2 + tinyrainbow: 3.1.0 - '@vitest/mocker@3.2.6(msw@2.14.6(@types/node@24.13.2)(typescript@5.9.3))(vite@7.3.6(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0))': + '@vitest/mocker@4.1.10(msw@2.14.6(@types/node@24.13.2)(typescript@6.0.3))(vite@7.3.6(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0))': dependencies: - '@vitest/spy': 3.2.6 + '@vitest/spy': 4.1.10 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - msw: 2.14.6(@types/node@24.13.2)(typescript@5.9.3) + msw: 2.14.6(@types/node@24.13.2)(typescript@6.0.3) vite: 7.3.6(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0) - '@vitest/pretty-format@3.2.6': + '@vitest/pretty-format@4.1.10': dependencies: - tinyrainbow: 2.0.0 + tinyrainbow: 3.1.0 - '@vitest/runner@3.2.6': + '@vitest/runner@4.1.10': dependencies: - '@vitest/utils': 3.2.6 + '@vitest/utils': 4.1.10 pathe: 2.0.3 - strip-literal: 3.1.0 - '@vitest/snapshot@3.2.6': + '@vitest/snapshot@4.1.10': dependencies: - '@vitest/pretty-format': 3.2.6 + '@vitest/pretty-format': 4.1.10 + '@vitest/utils': 4.1.10 magic-string: 0.30.21 pathe: 2.0.3 - '@vitest/spy@3.2.6': - dependencies: - tinyspy: 4.0.4 + '@vitest/spy@4.1.10': {} - '@vitest/utils@3.2.6': + '@vitest/utils@4.1.10': dependencies: - '@vitest/pretty-format': 3.2.6 - loupe: 3.2.1 - tinyrainbow: 2.0.0 + '@vitest/pretty-format': 4.1.10 + convert-source-map: 2.0.0 + tinyrainbow: 3.1.0 '@volar/language-core@2.4.23': dependencies: @@ -13638,15 +13735,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@vue-macros/common@3.0.0-beta.15(vue@3.5.22(typescript@5.9.3))': + '@vue-macros/common@3.0.0-beta.15(vue@3.5.22(typescript@6.0.3))': dependencies: '@vue/compiler-sfc': 3.5.22 ast-kit: 2.1.3 - local-pkg: 1.1.2 + local-pkg: 1.2.1 magic-string-ast: 1.0.3 unplugin-utils: 0.2.5 optionalDependencies: - vue: 3.5.22(typescript@5.9.3) + vue: 3.5.22(typescript@6.0.3) '@vue/babel-helper-vue-transform-on@1.5.0': {} @@ -13713,7 +13810,7 @@ snapshots: dependencies: '@vue/devtools-kit': 7.7.7 - '@vue/devtools-core@7.7.7(vite@7.3.1(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.22(typescript@5.9.3))': + '@vue/devtools-core@7.7.7(vite@7.3.1(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.22(typescript@6.0.3))': dependencies: '@vue/devtools-kit': 7.7.7 '@vue/devtools-shared': 7.7.7 @@ -13721,7 +13818,7 @@ snapshots: nanoid: 5.1.6 pathe: 2.0.3 vite-hot-client: 2.1.0(vite@7.3.1(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0)) - vue: 3.5.22(typescript@5.9.3) + vue: 3.5.22(typescript@6.0.3) transitivePeerDependencies: - vite @@ -13739,7 +13836,7 @@ snapshots: dependencies: rfdc: 1.4.1 - '@vue/language-core@3.1.1(typescript@5.9.3)': + '@vue/language-core@3.1.1(typescript@6.0.3)': dependencies: '@volar/language-core': 2.4.23 '@vue/compiler-dom': 3.5.22 @@ -13749,7 +13846,7 @@ snapshots: path-browserify: 1.0.1 picomatch: 4.0.4 optionalDependencies: - typescript: 5.9.3 + typescript: 6.0.3 '@vue/reactivity@3.5.22': dependencies: @@ -13773,6 +13870,12 @@ snapshots: '@vue/shared': 3.5.22 vue: 3.5.22(typescript@5.9.3) + '@vue/server-renderer@3.5.22(vue@3.5.22(typescript@6.0.3))': + dependencies: + '@vue/compiler-ssr': 3.5.22 + '@vue/shared': 3.5.22 + vue: 3.5.22(typescript@6.0.3) + '@vue/shared@3.5.22': {} '@vue/test-utils@2.4.6': @@ -13780,18 +13883,18 @@ snapshots: js-beautify: 1.15.4 vue-component-type-helpers: 2.2.12 - '@vueuse/core@13.9.0(vue@3.5.22(typescript@5.9.3))': + '@vueuse/core@13.9.0(vue@3.5.22(typescript@6.0.3))': dependencies: '@types/web-bluetooth': 0.0.21 '@vueuse/metadata': 13.9.0 - '@vueuse/shared': 13.9.0(vue@3.5.22(typescript@5.9.3)) - vue: 3.5.22(typescript@5.9.3) + '@vueuse/shared': 13.9.0(vue@3.5.22(typescript@6.0.3)) + vue: 3.5.22(typescript@6.0.3) '@vueuse/metadata@13.9.0': {} - '@vueuse/shared@13.9.0(vue@3.5.22(typescript@5.9.3))': + '@vueuse/shared@13.9.0(vue@3.5.22(typescript@6.0.3))': dependencies: - vue: 3.5.22(typescript@5.9.3) + vue: 3.5.22(typescript@6.0.3) '@zeit/schemas@2.36.0': {} @@ -13940,7 +14043,7 @@ snapshots: '@babel/parser': 7.29.7 pathe: 2.0.3 - ast-v8-to-istanbul@0.3.12: + ast-v8-to-istanbul@1.0.5: dependencies: '@jridgewell/trace-mapping': 0.3.31 estree-walker: 3.0.3 @@ -14040,14 +14143,6 @@ snapshots: browser-stdout@1.3.1: {} - browserslist@4.26.3: - dependencies: - baseline-browser-mapping: 2.10.40 - caniuse-lite: 1.0.30001799 - electron-to-chromium: 1.5.234 - node-releases: 2.0.23 - update-browserslist-db: 1.1.3(browserslist@4.26.3) - browserslist@4.28.4: dependencies: baseline-browser-mapping: 2.10.40 @@ -14136,13 +14231,7 @@ snapshots: pathval: 1.1.1 type-detect: 4.1.0 - chai@5.3.3: - dependencies: - assertion-error: 2.0.1 - check-error: 2.1.3 - deep-eql: 5.0.2 - loupe: 3.2.1 - pathval: 2.0.1 + chai@6.2.2: {} chalk-template@0.4.0: dependencies: @@ -14179,8 +14268,6 @@ snapshots: dependencies: get-func-name: 2.0.2 - check-error@2.1.3: {} - cheerio-select@2.1.0: dependencies: boolbase: 1.0.0 @@ -14241,10 +14328,6 @@ snapshots: dependencies: clsx: 2.1.1 - clean-regexp@1.0.0: - dependencies: - escape-string-regexp: 1.0.5 - cli-boxes@3.0.0: {} cli-cursor@3.1.0: @@ -14333,16 +14416,12 @@ snapshots: commander@9.5.0: {} - comment-parser@1.4.1: {} - - comment-parser@1.4.5: {} - comment-parser@1.4.7: {} - commitizen@4.3.2(@types/node@24.13.2)(typescript@5.9.3): + commitizen@4.3.2(@types/node@24.13.2)(typescript@6.0.3): dependencies: cachedir: 2.4.0 - cz-conventional-changelog: 3.3.0(@types/node@24.13.2)(typescript@5.9.3) + cz-conventional-changelog: 3.3.0(@types/node@24.13.2)(typescript@6.0.3) dedent: 0.7.0 detect-indent: 6.1.0 find-node-modules: 2.1.3 @@ -14431,6 +14510,8 @@ snapshots: meow: 13.2.0 optional: true + convert-hrtime@5.0.0: {} + convert-source-map@2.0.0: {} cookie@1.1.1: {} @@ -14455,21 +14536,21 @@ snapshots: dependencies: layout-base: 2.0.1 - cosmiconfig-typescript-loader@6.3.0(@types/node@24.13.2)(cosmiconfig@9.0.2(typescript@5.9.3))(typescript@5.9.3): + cosmiconfig-typescript-loader@6.3.0(@types/node@24.13.2)(cosmiconfig@9.0.2(typescript@6.0.3))(typescript@6.0.3): dependencies: '@types/node': 24.13.2 - cosmiconfig: 9.0.2(typescript@5.9.3) + cosmiconfig: 9.0.2(typescript@6.0.3) jiti: 2.6.1 - typescript: 5.9.3 + typescript: 6.0.3 - cosmiconfig@9.0.2(typescript@5.9.3): + cosmiconfig@9.0.2(typescript@6.0.3): dependencies: env-paths: 2.2.1 import-fresh: 3.3.1 js-yaml: 4.2.0 parse-json: 5.2.0 optionalDependencies: - typescript: 5.9.3 + typescript: 6.0.3 coveralls-next@5.0.0: dependencies: @@ -14528,16 +14609,16 @@ snapshots: cytoscape@3.34.0: {} - cz-conventional-changelog@3.3.0(@types/node@24.13.2)(typescript@5.9.3): + cz-conventional-changelog@3.3.0(@types/node@24.13.2)(typescript@6.0.3): dependencies: chalk: 2.4.2 - commitizen: 4.3.2(@types/node@24.13.2)(typescript@5.9.3) + commitizen: 4.3.2(@types/node@24.13.2)(typescript@6.0.3) conventional-commit-types: 3.0.0 lodash.map: 4.6.0 longest: 2.0.1 word-wrap: 1.2.5 optionalDependencies: - '@commitlint/load': 21.1.0(@types/node@24.13.2)(typescript@5.9.3) + '@commitlint/load': 21.1.0(@types/node@24.13.2)(typescript@6.0.3) transitivePeerDependencies: - '@types/node' - typescript @@ -14770,8 +14851,6 @@ snapshots: dependencies: type-detect: 4.1.0 - deep-eql@5.0.2: {} - deep-extend@0.6.0: {} deep-is@0.1.4: {} @@ -14819,6 +14898,8 @@ snapshots: detect-indent@6.1.0: {} + detect-indent@7.0.2: {} + detect-libc@2.1.2: {} detect-node-es@1.1.0: {} @@ -14827,7 +14908,7 @@ snapshots: dependencies: dequal: 2.0.3 - diff-sequences@27.5.1: {} + diff-sequences@29.6.3: {} diff@3.5.0: {} @@ -14908,8 +14989,6 @@ snapshots: minimatch: 9.0.1 semver: 7.8.5 - electron-to-chromium@1.5.234: {} - electron-to-chromium@1.5.379: {} emoji-regex@10.5.0: {} @@ -14918,8 +14997,6 @@ snapshots: emoji-regex@9.2.2: {} - empathic@2.0.0: {} - empathic@2.0.1: {} encoding-sniffer@0.2.1: @@ -14965,7 +15042,7 @@ snapshots: es-errors@1.3.0: {} - es-module-lexer@1.7.0: {} + es-module-lexer@2.3.1: {} es-object-atoms@1.1.1: dependencies: @@ -15104,18 +15181,14 @@ snapshots: eslint: 9.39.4(jiti@2.7.0) semver: 7.8.5 - eslint-compat-utils@0.6.5(eslint@9.39.4(jiti@2.7.0)): - dependencies: - eslint: 9.39.4(jiti@2.7.0) - semver: 7.8.5 - eslint-config-flat-gitignore@2.3.0(eslint@9.39.4(jiti@2.7.0)): dependencies: '@eslint/compat': 2.1.0(eslint@9.39.4(jiti@2.7.0)) eslint: 9.39.4(jiti@2.7.0) - eslint-flat-config-utils@2.1.4: + eslint-flat-config-utils@3.2.0: dependencies: + '@eslint/config-helpers': 0.5.5 pathe: 2.0.3 eslint-formatting-reporter@0.0.0(eslint@9.39.4(jiti@2.7.0)): @@ -15123,11 +15196,11 @@ snapshots: eslint: 9.39.4(jiti@2.7.0) prettier-linter-helpers: 1.0.1 - eslint-json-compat-utils@0.2.3(eslint@9.39.4(jiti@2.7.0))(jsonc-eslint-parser@2.4.2): + eslint-json-compat-utils@0.2.3(eslint@9.39.4(jiti@2.7.0))(jsonc-eslint-parser@3.1.0): dependencies: eslint: 9.39.4(jiti@2.7.0) esquery: 1.7.0 - jsonc-eslint-parser: 2.4.2 + jsonc-eslint-parser: 3.1.0 eslint-merge-processors@2.0.0(eslint@9.39.4(jiti@2.7.0)): dependencies: @@ -15139,12 +15212,11 @@ snapshots: dependencies: eslint: 9.39.4(jiti@2.7.0) - eslint-plugin-command@3.5.2(@typescript-eslint/rule-tester@8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(@typescript-eslint/typescript-estree@8.62.0(typescript@5.9.3))(@typescript-eslint/utils@8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0)): + eslint-plugin-command@3.5.3(@typescript-eslint/typescript-estree@8.65.0(typescript@6.0.3))(@typescript-eslint/utils@8.65.0(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)): dependencies: - '@es-joy/jsdoccomment': 0.84.0 - '@typescript-eslint/rule-tester': 8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) - '@typescript-eslint/typescript-estree': 8.62.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) + '@es-joy/jsdoccomment': 0.88.0 + '@typescript-eslint/typescript-estree': 8.65.0(typescript@6.0.3) + '@typescript-eslint/utils': 8.65.0(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3) eslint: 9.39.4(jiti@2.7.0) eslint-plugin-es-x@7.8.0(eslint@9.39.4(jiti@2.7.0)): @@ -15167,45 +15239,46 @@ snapshots: prettier: 3.8.5 synckit: 0.11.13 - eslint-plugin-import-lite@0.3.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3): + eslint-plugin-import-lite@0.6.0(eslint@9.39.4(jiti@2.7.0)): dependencies: eslint: 9.39.4(jiti@2.7.0) - optionalDependencies: - typescript: 5.9.3 - eslint-plugin-jsdoc@59.1.0(eslint@9.39.4(jiti@2.7.0)): + eslint-plugin-jsdoc@63.2.2(eslint@9.39.4(jiti@2.7.0)): dependencies: - '@es-joy/jsdoccomment': 0.58.0 + '@es-joy/jsdoccomment': 0.90.0 + '@es-joy/resolve.exports': 1.2.0 are-docs-informative: 0.0.2 - comment-parser: 1.4.1 + comment-parser: 1.4.7 debug: 4.4.3(supports-color@8.1.1) escape-string-regexp: 4.0.0 eslint: 9.39.4(jiti@2.7.0) - espree: 10.4.0 + espree: 11.2.0 esquery: 1.7.0 - object-deep-merge: 1.0.5 + html-entities: 2.6.0 + object-deep-merge: 2.0.1 parse-imports-exports: 0.2.4 semver: 7.8.5 - spdx-expression-parse: 4.0.0 + spdx-expression-parse: 5.0.0 + to-valid-identifier: 1.0.0 transitivePeerDependencies: - supports-color - eslint-plugin-jsonc@2.21.1(eslint@9.39.4(jiti@2.7.0)): + eslint-plugin-jsonc@3.3.0(eslint@9.39.4(jiti@2.7.0)): dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.7.0)) - diff-sequences: 27.5.1 + '@eslint/core': 1.2.1 + '@eslint/plugin-kit': 0.7.2 + '@ota-meshi/ast-token-store': 0.3.0 + diff-sequences: 29.6.3 eslint: 9.39.4(jiti@2.7.0) - eslint-compat-utils: 0.6.5(eslint@9.39.4(jiti@2.7.0)) - eslint-json-compat-utils: 0.2.3(eslint@9.39.4(jiti@2.7.0))(jsonc-eslint-parser@2.4.2) - espree: 10.4.0 - graphemer: 1.4.0 - jsonc-eslint-parser: 2.4.2 + eslint-json-compat-utils: 0.2.3(eslint@9.39.4(jiti@2.7.0))(jsonc-eslint-parser@3.1.0) + jsonc-eslint-parser: 3.1.0 natural-compare: 1.4.0 synckit: 0.11.13 transitivePeerDependencies: - '@eslint/json' - eslint-plugin-n@17.24.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3): + eslint-plugin-n@18.2.2(eslint@9.39.4(jiti@2.7.0))(ts-declaration-location@1.0.7(typescript@6.0.3))(typescript@6.0.3): dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.7.0)) enhanced-resolve: 5.24.1 @@ -15216,16 +15289,15 @@ snapshots: globrex: 0.1.2 ignore: 5.3.2 semver: 7.8.5 - ts-declaration-location: 1.0.7(typescript@5.9.3) - transitivePeerDependencies: - - typescript + optionalDependencies: + ts-declaration-location: 1.0.7(typescript@6.0.3) + typescript: 6.0.3 eslint-plugin-no-only-tests@3.4.0: {} - eslint-plugin-perfectionist@4.15.1(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3): + eslint-plugin-perfectionist@5.10.0(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3): dependencies: - '@typescript-eslint/types': 8.62.0 - '@typescript-eslint/utils': 8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) + '@typescript-eslint/utils': 8.65.0(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3) eslint: 9.39.4(jiti@2.7.0) natural-orderby: 5.0.0 transitivePeerDependencies: @@ -15241,58 +15313,61 @@ snapshots: pnpm-workspace-yaml: 1.6.1 tinyglobby: 0.2.17 yaml: 2.9.0 - yaml-eslint-parser: 2.0.0 + yaml-eslint-parser: 2.1.0 - eslint-plugin-regexp@2.10.0(eslint@9.39.4(jiti@2.7.0)): + eslint-plugin-regexp@3.1.1(eslint@9.39.4(jiti@2.7.0)): dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.7.0)) '@eslint-community/regexpp': 4.12.2 comment-parser: 1.4.7 eslint: 9.39.4(jiti@2.7.0) - jsdoc-type-pratt-parser: 4.8.0 + jsdoc-type-pratt-parser: 7.1.1 refa: 0.12.1 regexp-ast-analysis: 0.7.1 scslre: 0.3.0 - eslint-plugin-toml@0.12.0(eslint@9.39.4(jiti@2.7.0)): + eslint-plugin-toml@1.4.0(eslint@9.39.4(jiti@2.7.0)): dependencies: + '@eslint/core': 1.2.1 + '@eslint/plugin-kit': 0.7.2 + '@ota-meshi/ast-token-store': 0.3.0 debug: 4.4.3(supports-color@8.1.1) eslint: 9.39.4(jiti@2.7.0) - eslint-compat-utils: 0.6.5(eslint@9.39.4(jiti@2.7.0)) - lodash: 4.18.1 - toml-eslint-parser: 0.10.1 + toml-eslint-parser: 1.0.3 transitivePeerDependencies: - supports-color - eslint-plugin-unicorn@61.0.2(eslint@9.39.4(jiti@2.7.0)): + eslint-plugin-unicorn@72.0.0(eslint@9.39.4(jiti@2.7.0)): dependencies: - '@babel/helper-validator-identifier': 7.29.7 '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.7.0)) - '@eslint/plugin-kit': 0.3.5 + '@eslint/css-tree': 4.0.5 + browserslist: 4.28.4 change-case: 5.4.4 ci-info: 4.4.0 - clean-regexp: 1.0.0 core-js-compat: 3.49.0 + detect-indent: 7.0.2 + entities: 4.5.0 eslint: 9.39.4(jiti@2.7.0) - esquery: 1.7.0 find-up-simple: 1.0.1 - globals: 16.5.0 + globals: 17.7.0 indent-string: 5.0.0 is-builtin-module: 5.0.0 - jsesc: 3.1.0 + is-identifier: 1.1.0 pluralize: 8.0.0 - regexp-tree: 0.1.27 - regjsparser: 0.12.0 + quote-js-string: 0.1.0 + regjsparser: 0.13.2 + reserved-identifiers: 1.2.0 semver: 7.8.5 strip-indent: 4.1.1 + yaml: 2.9.0 - eslint-plugin-unused-imports@4.4.1(@typescript-eslint/eslint-plugin@8.62.0(@typescript-eslint/parser@8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0)): + eslint-plugin-unused-imports@4.4.1(@typescript-eslint/eslint-plugin@8.65.0(@typescript-eslint/parser@8.65.0(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)): dependencies: eslint: 9.39.4(jiti@2.7.0) optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.62.0(@typescript-eslint/parser@8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) + '@typescript-eslint/eslint-plugin': 8.65.0(@typescript-eslint/parser@8.65.0(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3) - eslint-plugin-vue@10.9.2(@stylistic/eslint-plugin@5.10.0(eslint@9.39.4(jiti@2.7.0)))(@typescript-eslint/parser@8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(vue-eslint-parser@10.4.1(eslint@9.39.4(jiti@2.7.0))): + eslint-plugin-vue@10.10.0(@stylistic/eslint-plugin@5.10.0(eslint@9.39.4(jiti@2.7.0)))(@typescript-eslint/parser@8.65.0(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0))(vue-eslint-parser@10.4.1(eslint@9.39.4(jiti@2.7.0))): dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.7.0)) eslint: 9.39.4(jiti@2.7.0) @@ -15301,22 +15376,21 @@ snapshots: postcss-selector-parser: 7.1.4 semver: 7.8.5 vue-eslint-parser: 10.4.1(eslint@9.39.4(jiti@2.7.0)) - xml-name-validator: 4.0.0 + xml-name-validator: 5.0.0 optionalDependencies: '@stylistic/eslint-plugin': 5.10.0(eslint@9.39.4(jiti@2.7.0)) - '@typescript-eslint/parser': 8.62.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) + '@typescript-eslint/parser': 8.65.0(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3) - eslint-plugin-yml@1.19.1(eslint@9.39.4(jiti@2.7.0)): + eslint-plugin-yml@3.6.0(eslint@9.39.4(jiti@2.7.0)): dependencies: - debug: 4.4.3(supports-color@8.1.1) - diff-sequences: 27.5.1 - escape-string-regexp: 4.0.0 + '@eslint/core': 1.2.1 + '@eslint/plugin-kit': 0.7.2 + '@ota-meshi/ast-token-store': 0.3.0 + diff-sequences: 29.6.3 + escape-string-regexp: 5.0.0 eslint: 9.39.4(jiti@2.7.0) - eslint-compat-utils: 0.6.5(eslint@9.39.4(jiti@2.7.0)) natural-compare: 1.4.0 - yaml-eslint-parser: 1.3.2 - transitivePeerDependencies: - - supports-color + yaml-eslint-parser: 2.1.0 eslint-processor-vue-blocks@2.0.0(@vue/compiler-sfc@3.5.22)(eslint@9.39.4(jiti@2.7.0)): dependencies: @@ -15790,6 +15864,8 @@ snapshots: function-bind@1.1.2: {} + function-timeout@1.0.2: {} + fzf@0.5.2: {} gensync@1.0.0-beta.2: {} @@ -15928,7 +16004,7 @@ snapshots: globals@15.15.0: {} - globals@16.5.0: {} + globals@17.7.0: {} globalthis@1.0.4: dependencies: @@ -15959,8 +16035,6 @@ snapshots: graceful-fs@4.2.11: {} - graphemer@1.4.0: {} - graphql@16.14.2: {} gray-matter@4.0.3: @@ -16138,6 +16212,8 @@ snapshots: dependencies: whatwg-encoding: 3.1.1 + html-entities@2.6.0: {} + html-escaper@2.0.2: {} html-void-elements@3.0.0: {} @@ -16197,6 +16273,10 @@ snapshots: dependencies: safer-buffer: 2.1.2 + identifier-regex@1.1.0: + dependencies: + reserved-identifiers: 1.2.0 + ieee754@1.2.1: {} ignore@5.3.2: {} @@ -16310,6 +16390,11 @@ snapshots: is-hexadecimal@2.0.1: {} + is-identifier@1.1.0: + dependencies: + identifier-regex: 1.1.0 + super-regex: 1.1.0 + is-inside-container@1.0.0: dependencies: is-docker: 3.0.0 @@ -16386,14 +16471,6 @@ snapshots: make-dir: 4.0.0 supports-color: 7.2.0 - istanbul-lib-source-maps@5.0.6: - dependencies: - '@jridgewell/trace-mapping': 0.3.31 - debug: 4.4.3(supports-color@8.1.1) - istanbul-lib-coverage: 3.2.2 - transitivePeerDependencies: - - supports-color - istanbul-reports@3.2.0: dependencies: html-escaper: 2.0.2 @@ -16478,11 +16555,11 @@ snapshots: dependencies: argparse: 2.0.1 - jsdoc-type-pratt-parser@4.8.0: {} + jsdoc-type-pratt-parser@7.1.1: {} - jsdoc-type-pratt-parser@5.4.0: {} + jsdoc-type-pratt-parser@7.2.0: {} - jsdoc-type-pratt-parser@7.1.1: {} + jsdoc-type-pratt-parser@7.3.0: {} jsdom@26.1.0: dependencies: @@ -16511,8 +16588,6 @@ snapshots: - supports-color - utf-8-validate - jsesc@3.0.2: {} - jsesc@3.1.0: {} json-buffer@3.0.1: {} @@ -16805,8 +16880,6 @@ snapshots: dependencies: get-func-name: 2.0.2 - loupe@3.2.1: {} - lru-cache@10.4.3: {} lru-cache@11.2.2: {} @@ -16842,6 +16915,19 @@ snapshots: '@babel/parser': 7.29.7 '@babel/types': 7.29.7 source-map-js: 1.2.1 + optional: true + + magicast@0.5.3: + dependencies: + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 + source-map-js: 1.2.1 + + make-asynchronous@1.1.0: + dependencies: + p-event: 6.0.1 + type-fest: 4.41.0 + web-worker: 1.5.0 make-dir@4.0.0: dependencies: @@ -16963,6 +17049,18 @@ snapshots: transitivePeerDependencies: - supports-color + mdast-util-math@3.0.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + longest-streak: 3.1.0 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + unist-util-remove-position: 5.0.0 + transitivePeerDependencies: + - supports-color + mdast-util-mdx-expression@2.0.1: dependencies: '@types/estree-jsx': 1.0.5 @@ -17045,6 +17143,8 @@ snapshots: dependencies: '@types/mdast': 4.0.4 + mdn-data@2.29.0: {} + mdurl@2.0.0: {} memfs@4.49.0: @@ -17177,6 +17277,16 @@ snapshots: micromark-util-combine-extensions: 2.0.1 micromark-util-types: 2.0.2 + micromark-extension-math@3.1.0: + dependencies: + '@types/katex': 0.16.7 + devlop: 1.1.0 + katex: 0.16.47 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + micromark-extension-mdx-expression@3.0.1: dependencies: '@types/estree': 1.0.9 @@ -17488,6 +17598,8 @@ snapshots: yargs-parser: 21.1.1 yargs-unparser: 2.0.0 + module-replacements@3.1.0: {} + motion-dom@12.42.2: dependencies: motion-utils: 12.39.0 @@ -17510,7 +17622,7 @@ snapshots: ms@2.1.3: {} - msw@2.14.6(@types/node@24.13.2)(typescript@5.9.3): + msw@2.14.6(@types/node@24.13.2)(typescript@6.0.3): dependencies: '@inquirer/confirm': 6.1.1(@types/node@24.13.2) '@mswjs/interceptors': 0.41.9 @@ -17531,7 +17643,7 @@ snapshots: until-async: 3.0.2 yargs: 17.7.3 optionalDependencies: - typescript: 5.9.3 + typescript: 6.0.3 transitivePeerDependencies: - '@types/node' @@ -17543,10 +17655,10 @@ snapshots: mylas@2.1.13: {} - naive-ui@2.43.1(vue@3.5.22(typescript@5.9.3)): + naive-ui@2.43.1(vue@3.5.22(typescript@6.0.3)): dependencies: '@css-render/plugin-bem': 0.15.14(css-render@0.15.14) - '@css-render/vue3-ssr': 0.15.14(vue@3.5.22(typescript@5.9.3)) + '@css-render/vue3-ssr': 0.15.14(vue@3.5.22(typescript@6.0.3)) '@types/katex': 0.16.7 '@types/lodash': 4.17.24 '@types/lodash-es': 4.17.12 @@ -17561,10 +17673,10 @@ snapshots: lodash-es: 4.17.21 seemly: 0.3.10 treemate: 0.3.11 - vdirs: 0.1.8(vue@3.5.22(typescript@5.9.3)) - vooks: 0.2.12(vue@3.5.22(typescript@5.9.3)) - vue: 3.5.22(typescript@5.9.3) - vueuc: 0.4.65(vue@3.5.22(typescript@5.9.3)) + vdirs: 0.1.8(vue@3.5.22(typescript@6.0.3)) + vooks: 0.2.12(vue@3.5.22(typescript@6.0.3)) + vue: 3.5.22(typescript@6.0.3) + vueuc: 0.4.65(vue@3.5.22(typescript@6.0.3)) nanoid@3.3.15: {} @@ -17632,7 +17744,7 @@ snapshots: node-abi@3.78.0: dependencies: - semver: 7.7.3 + semver: 7.8.5 optional: true node-addon-api@4.3.0: @@ -17657,8 +17769,6 @@ snapshots: dependencies: es6-promise: 3.3.1 - node-releases@2.0.23: {} - node-releases@2.0.50: {} node-sarif-builder@3.2.0: @@ -17748,14 +17858,14 @@ snapshots: should: 13.2.3 yaml: 1.10.2 - object-deep-merge@1.0.5: - dependencies: - type-fest: 4.2.0 + object-deep-merge@2.0.1: {} object-inspect@1.13.4: {} object-keys@1.1.1: {} + obug@2.1.4: {} + ofetch@1.5.1: dependencies: destr: 2.0.5 @@ -17912,6 +18022,10 @@ snapshots: '@oxlint/binding-win32-ia32-msvc': 1.71.0 '@oxlint/binding-win32-x64-msvc': 1.71.0 + p-event@6.0.1: + dependencies: + p-timeout: 6.1.4 + p-filter@2.1.0: dependencies: p-map: 2.1.0 @@ -17944,6 +18058,8 @@ snapshots: p-map@7.0.3: {} + p-timeout@6.1.4: {} + p-try@2.2.0: {} package-json-from-dist@1.0.1: {} @@ -18057,8 +18173,6 @@ snapshots: pathval@1.1.1: {} - pathval@2.0.1: {} - pend@1.2.0: {} perfect-debounce@1.0.0: {} @@ -18077,12 +18191,12 @@ snapshots: pify@4.0.1: {} - pinia@3.0.3(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3)): + pinia@3.0.3(typescript@6.0.3)(vue@3.5.22(typescript@6.0.3)): dependencies: '@vue/devtools-api': 7.7.7 - vue: 3.5.22(typescript@5.9.3) + vue: 3.5.22(typescript@6.0.3) optionalDependencies: - typescript: 5.9.3 + typescript: 6.0.3 pino-abstract-transport@2.0.0: dependencies: @@ -18248,6 +18362,8 @@ snapshots: quick-format-unescaped@4.0.4: {} + quote-js-string@0.1.0: {} + randombytes@2.1.0: dependencies: safe-buffer: 5.2.1 @@ -18416,8 +18532,6 @@ snapshots: '@eslint-community/regexpp': 4.12.2 refa: 0.12.1 - regexp-tree@0.1.27: {} - registry-auth-token@3.3.2: dependencies: rc: 1.2.8 @@ -18427,9 +18541,9 @@ snapshots: dependencies: rc: 1.2.8 - regjsparser@0.12.0: + regjsparser@0.13.2: dependencies: - jsesc: 3.0.2 + jsesc: 3.1.0 rehype-raw@7.0.0: dependencies: @@ -18499,6 +18613,8 @@ snapshots: require-from-string@2.0.2: {} + reserved-identifiers@1.2.0: {} + resize-observer-polyfill@1.5.1: {} resolve-dir@1.0.1: @@ -18535,7 +18651,7 @@ snapshots: robust-predicates@3.0.3: {} - rolldown-plugin-dts@0.13.14(rolldown@1.0.0-beta.42)(typescript@5.9.3)(vue-tsc@3.1.1(typescript@5.9.3)): + rolldown-plugin-dts@0.13.14(rolldown@1.0.0-beta.42)(typescript@6.0.3)(vue-tsc@3.1.1(typescript@6.0.3)): dependencies: '@babel/generator': 7.28.3 '@babel/parser': 7.29.7 @@ -18547,8 +18663,8 @@ snapshots: get-tsconfig: 4.14.0 rolldown: 1.0.0-beta.42 optionalDependencies: - typescript: 5.9.3 - vue-tsc: 3.1.1(typescript@5.9.3) + typescript: 6.0.3 + vue-tsc: 3.1.1(typescript@6.0.3) transitivePeerDependencies: - oxc-resolver - supports-color @@ -18975,7 +19091,7 @@ snapshots: spdx-exceptions: 2.5.0 spdx-license-ids: 3.0.23 - spdx-expression-parse@4.0.0: + spdx-expression-parse@5.0.0: dependencies: spdx-exceptions: 2.5.0 spdx-license-ids: 3.0.23 @@ -18994,7 +19110,7 @@ snapshots: statuses@2.0.2: {} - std-env@3.10.0: {} + std-env@4.2.0: {} stdin-discarder@0.2.2: {} @@ -19085,6 +19201,12 @@ snapshots: stylis@4.4.0: {} + super-regex@1.1.0: + dependencies: + function-timeout: 1.0.2 + make-asynchronous: 1.1.0 + time-span: 5.1.0 + superjson@2.2.2: dependencies: copy-anything: 3.0.5 @@ -19196,12 +19318,6 @@ snapshots: ansi-escapes: 7.3.0 supports-hyperlinks: 3.2.0 - test-exclude@7.0.2: - dependencies: - '@istanbuljs/schema': 0.1.6 - glob: 10.4.5 - minimatch: 10.2.5 - text-extensions@2.4.0: {} text-table@0.2.0: {} @@ -19222,6 +19338,10 @@ snapshots: through@2.3.8: {} + time-span@5.1.0: + dependencies: + convert-hrtime: 5.0.0 + tinybench@2.9.0: {} tinyexec@0.3.2: {} @@ -19230,21 +19350,17 @@ snapshots: tinyglobby@0.2.15: dependencies: - fdir: 6.5.0(picomatch@4.0.3) - picomatch: 4.0.3 + fdir: 6.5.0(picomatch@4.0.4) + picomatch: 4.0.4 tinyglobby@0.2.17: dependencies: fdir: 6.5.0(picomatch@4.0.4) picomatch: 4.0.4 - tinypool@1.1.1: {} - tinypool@2.1.0: {} - tinyrainbow@2.0.0: {} - - tinyspy@4.0.4: {} + tinyrainbow@3.1.0: {} tldts-core@6.1.86: {} @@ -19264,9 +19380,14 @@ snapshots: dependencies: is-number: 7.0.0 - toml-eslint-parser@0.10.1: + to-valid-identifier@1.0.0: dependencies: - eslint-visitor-keys: 3.4.3 + '@sindresorhus/base62': 1.0.0 + reserved-identifiers: 1.2.0 + + toml-eslint-parser@1.0.3: + dependencies: + eslint-visitor-keys: 5.0.1 totalist@3.0.1: {} @@ -19296,18 +19417,15 @@ snapshots: trough@2.2.0: {} - ts-api-utils@2.1.0(typescript@5.9.3): + ts-api-utils@2.5.0(typescript@6.0.3): dependencies: - typescript: 5.9.3 - - ts-api-utils@2.5.0(typescript@5.9.3): - dependencies: - typescript: 5.9.3 + typescript: 6.0.3 - ts-declaration-location@1.0.7(typescript@5.9.3): + ts-declaration-location@1.0.7(typescript@6.0.3): dependencies: picomatch: 4.0.4 - typescript: 5.9.3 + typescript: 6.0.3 + optional: true ts-dedent@2.3.0: {} @@ -19321,23 +19439,23 @@ snapshots: normalize-path: 3.0.0 plimit-lit: 1.6.1 - tsdown@0.12.9(typescript@5.9.3)(vue-tsc@3.1.1(typescript@5.9.3)): + tsdown@0.12.9(typescript@6.0.3)(vue-tsc@3.1.1(typescript@6.0.3)): dependencies: ansis: 4.3.1 cac: 6.7.14 chokidar: 4.0.3 debug: 4.4.3(supports-color@8.1.1) diff: 8.0.2 - empathic: 2.0.0 + empathic: 2.0.1 hookable: 5.5.3 rolldown: 1.0.0-beta.42 - rolldown-plugin-dts: 0.13.14(rolldown@1.0.0-beta.42)(typescript@5.9.3)(vue-tsc@3.1.1(typescript@5.9.3)) + rolldown-plugin-dts: 0.13.14(rolldown@1.0.0-beta.42)(typescript@6.0.3)(vue-tsc@3.1.1(typescript@6.0.3)) semver: 7.8.5 tinyexec: 1.2.4 tinyglobby: 0.2.17 unconfig: 7.5.0 optionalDependencies: - typescript: 5.9.3 + typescript: 6.0.3 transitivePeerDependencies: - '@typescript/native-preview' - oxc-resolver @@ -19383,8 +19501,6 @@ snapshots: type-fest@2.19.0: {} - type-fest@4.2.0: {} - type-fest@4.41.0: {} type-fest@5.7.0: @@ -19455,11 +19571,11 @@ snapshots: acorn: 8.17.0 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 - local-pkg: 1.1.2 + local-pkg: 1.2.1 magic-string: 0.30.21 mlly: 1.8.2 pathe: 2.0.3 - picomatch: 4.0.3 + picomatch: 4.0.4 pkg-types: 2.3.1 scule: 1.3.0 strip-literal: 3.1.0 @@ -19503,7 +19619,7 @@ snapshots: universalify@2.0.1: {} - unplugin-auto-import@19.3.0(@vueuse/core@13.9.0(vue@3.5.22(typescript@5.9.3))): + unplugin-auto-import@19.3.0(@vueuse/core@13.9.0(vue@3.5.22(typescript@6.0.3))): dependencies: local-pkg: 1.1.2 magic-string: 0.30.19 @@ -19512,19 +19628,19 @@ snapshots: unplugin: 2.3.10 unplugin-utils: 0.2.5 optionalDependencies: - '@vueuse/core': 13.9.0(vue@3.5.22(typescript@5.9.3)) + '@vueuse/core': 13.9.0(vue@3.5.22(typescript@6.0.3)) unplugin-utils@0.2.5: dependencies: pathe: 2.0.3 - picomatch: 4.0.3 + picomatch: 4.0.4 unplugin-utils@0.3.1: dependencies: pathe: 2.0.3 picomatch: 4.0.4 - unplugin-vue-components@28.8.0(@babel/parser@7.29.7)(vue@3.5.22(typescript@5.9.3)): + unplugin-vue-components@28.8.0(@babel/parser@7.29.7)(vue@3.5.22(typescript@6.0.3)): dependencies: chokidar: 3.6.0 debug: 4.4.3(supports-color@8.1.1) @@ -19534,7 +19650,7 @@ snapshots: tinyglobby: 0.2.15 unplugin: 2.3.10 unplugin-utils: 0.2.5 - vue: 3.5.22(typescript@5.9.3) + vue: 3.5.22(typescript@6.0.3) optionalDependencies: '@babel/parser': 7.29.7 transitivePeerDependencies: @@ -19552,9 +19668,9 @@ snapshots: unplugin-utils: 0.3.1 vite: 7.3.1(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0) - unplugin-vue-router@0.14.0(@vue/compiler-sfc@3.5.22)(vue-router@4.5.1(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3)): + unplugin-vue-router@0.14.0(@vue/compiler-sfc@3.5.22)(vue-router@4.5.1(vue@3.5.22(typescript@6.0.3)))(vue@3.5.22(typescript@6.0.3)): dependencies: - '@vue-macros/common': 3.0.0-beta.15(vue@3.5.22(typescript@5.9.3)) + '@vue-macros/common': 3.0.0-beta.15(vue@3.5.22(typescript@6.0.3)) '@vue/compiler-sfc': 3.5.22 ast-walker-scope: 0.8.3 chokidar: 4.0.3 @@ -19570,7 +19686,7 @@ snapshots: unplugin-utils: 0.2.5 yaml: 2.8.1 optionalDependencies: - vue-router: 4.5.1(vue@3.5.22(typescript@5.9.3)) + vue-router: 4.5.1(vue@3.5.22(typescript@6.0.3)) transitivePeerDependencies: - vue @@ -19583,12 +19699,6 @@ snapshots: until-async@3.0.2: {} - update-browserslist-db@1.1.3(browserslist@4.26.3): - dependencies: - browserslist: 4.26.3 - escalade: 3.2.0 - picocolors: 1.1.1 - update-browserslist-db@1.2.3(browserslist@4.28.4): dependencies: browserslist: 4.28.4 @@ -19636,10 +19746,10 @@ snapshots: vary@1.1.2: {} - vdirs@0.1.8(vue@3.5.22(typescript@5.9.3)): + vdirs@0.1.8(vue@3.5.22(typescript@6.0.3)): dependencies: evtd: 0.2.4 - vue: 3.5.22(typescript@5.9.3) + vue: 3.5.22(typescript@6.0.3) version-range@4.15.0: {} @@ -19679,27 +19789,6 @@ snapshots: dependencies: vite: 7.3.1(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0) - vite-node@3.2.4(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0): - dependencies: - cac: 6.7.14 - debug: 4.4.3(supports-color@8.1.1) - es-module-lexer: 1.7.0 - pathe: 2.0.3 - vite: 7.3.6(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0) - transitivePeerDependencies: - - '@types/node' - - jiti - - less - - lightningcss - - sass - - sass-embedded - - stylus - - sugarss - - supports-color - - terser - - tsx - - yaml - vite-plugin-inspect@11.3.3(vite@7.3.1(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0)): dependencies: ansis: 4.2.0 @@ -19715,9 +19804,9 @@ snapshots: transitivePeerDependencies: - supports-color - vite-plugin-vue-devtools@7.7.7(vite@7.3.1(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.22(typescript@5.9.3)): + vite-plugin-vue-devtools@7.7.7(vite@7.3.1(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.22(typescript@6.0.3)): dependencies: - '@vue/devtools-core': 7.7.7(vite@7.3.1(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.22(typescript@5.9.3)) + '@vue/devtools-core': 7.7.7(vite@7.3.1(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.22(typescript@6.0.3)) '@vue/devtools-kit': 7.7.7 '@vue/devtools-shared': 7.7.7 execa: 9.6.0 @@ -19745,13 +19834,13 @@ snapshots: transitivePeerDependencies: - supports-color - vite-plugin-vue-layouts@0.11.0(vite@7.3.1(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0))(vue-router@4.5.1(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3)): + vite-plugin-vue-layouts@0.11.0(vite@7.3.1(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0))(vue-router@4.5.1(vue@3.5.22(typescript@6.0.3)))(vue@3.5.22(typescript@6.0.3)): dependencies: debug: 4.4.3(supports-color@8.1.1) fast-glob: 3.3.3 vite: 7.3.1(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0) - vue: 3.5.22(typescript@5.9.3) - vue-router: 4.5.1(vue@3.5.22(typescript@5.9.3)) + vue: 3.5.22(typescript@6.0.3) + vue-router: 4.5.1(vue@3.5.22(typescript@6.0.3)) transitivePeerDependencies: - supports-color @@ -19820,53 +19909,39 @@ snapshots: yaml: 2.9.0 optional: true - vitest@3.2.6(@types/debug@4.1.13)(@types/node@24.13.2)(jiti@2.7.0)(jsdom@26.1.0)(lightningcss@1.32.0)(msw@2.14.6(@types/node@24.13.2)(typescript@5.9.3))(tsx@4.22.4)(yaml@2.9.0): + vitest@4.1.10(@types/node@24.13.2)(@vitest/coverage-v8@4.1.10)(jsdom@26.1.0)(msw@2.14.6(@types/node@24.13.2)(typescript@6.0.3))(vite@7.3.6(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0)): dependencies: - '@types/chai': 5.2.3 - '@vitest/expect': 3.2.6 - '@vitest/mocker': 3.2.6(msw@2.14.6(@types/node@24.13.2)(typescript@5.9.3))(vite@7.3.6(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0)) - '@vitest/pretty-format': 3.2.6 - '@vitest/runner': 3.2.6 - '@vitest/snapshot': 3.2.6 - '@vitest/spy': 3.2.6 - '@vitest/utils': 3.2.6 - chai: 5.3.3 - debug: 4.4.3(supports-color@8.1.1) + '@vitest/expect': 4.1.10 + '@vitest/mocker': 4.1.10(msw@2.14.6(@types/node@24.13.2)(typescript@6.0.3))(vite@7.3.6(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0)) + '@vitest/pretty-format': 4.1.10 + '@vitest/runner': 4.1.10 + '@vitest/snapshot': 4.1.10 + '@vitest/spy': 4.1.10 + '@vitest/utils': 4.1.10 + es-module-lexer: 2.3.1 expect-type: 1.4.0 magic-string: 0.30.21 + obug: 2.1.4 pathe: 2.0.3 picomatch: 4.0.4 - std-env: 3.10.0 + std-env: 4.2.0 tinybench: 2.9.0 - tinyexec: 0.3.2 + tinyexec: 1.2.4 tinyglobby: 0.2.17 - tinypool: 1.1.1 - tinyrainbow: 2.0.0 + tinyrainbow: 3.1.0 vite: 7.3.6(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0) - vite-node: 3.2.4(@types/node@24.13.2)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.9.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/debug': 4.1.13 '@types/node': 24.13.2 + '@vitest/coverage-v8': 4.1.10(vitest@4.1.10) jsdom: 26.1.0 transitivePeerDependencies: - - jiti - - less - - lightningcss - msw - - sass - - sass-embedded - - stylus - - sugarss - - supports-color - - terser - - tsx - - yaml - vooks@0.2.12(vue@3.5.22(typescript@5.9.3)): + vooks@0.2.12(vue@3.5.22(typescript@6.0.3)): dependencies: evtd: 0.2.4 - vue: 3.5.22(typescript@5.9.3) + vue: 3.5.22(typescript@6.0.3) vscode-ext-gen@1.3.0: dependencies: @@ -19902,23 +19977,23 @@ snapshots: transitivePeerDependencies: - supports-color - vue-i18n@11.1.12(vue@3.5.22(typescript@5.9.3)): + vue-i18n@11.1.12(vue@3.5.22(typescript@6.0.3)): dependencies: '@intlify/core-base': 11.1.12 '@intlify/shared': 11.1.12 '@vue/devtools-api': 6.6.4 - vue: 3.5.22(typescript@5.9.3) + vue: 3.5.22(typescript@6.0.3) - vue-router@4.5.1(vue@3.5.22(typescript@5.9.3)): + vue-router@4.5.1(vue@3.5.22(typescript@6.0.3)): dependencies: '@vue/devtools-api': 6.6.4 - vue: 3.5.22(typescript@5.9.3) + vue: 3.5.22(typescript@6.0.3) - vue-tsc@3.1.1(typescript@5.9.3): + vue-tsc@3.1.1(typescript@6.0.3): dependencies: '@volar/typescript': 2.4.23 - '@vue/language-core': 3.1.1(typescript@5.9.3) - typescript: 5.9.3 + '@vue/language-core': 3.1.1(typescript@6.0.3) + typescript: 6.0.3 vue-types@3.0.2(vue@3.5.22(typescript@5.9.3)): dependencies: @@ -19935,16 +20010,26 @@ snapshots: optionalDependencies: typescript: 5.9.3 - vueuc@0.4.65(vue@3.5.22(typescript@5.9.3)): + vue@3.5.22(typescript@6.0.3): + dependencies: + '@vue/compiler-dom': 3.5.22 + '@vue/compiler-sfc': 3.5.22 + '@vue/runtime-dom': 3.5.22 + '@vue/server-renderer': 3.5.22(vue@3.5.22(typescript@6.0.3)) + '@vue/shared': 3.5.22 + optionalDependencies: + typescript: 6.0.3 + + vueuc@0.4.65(vue@3.5.22(typescript@6.0.3)): dependencies: - '@css-render/vue3-ssr': 0.15.14(vue@3.5.22(typescript@5.9.3)) + '@css-render/vue3-ssr': 0.15.14(vue@3.5.22(typescript@6.0.3)) '@juggle/resize-observer': 3.4.0 css-render: 0.15.14 evtd: 0.2.4 seemly: 0.3.10 - vdirs: 0.1.8(vue@3.5.22(typescript@5.9.3)) - vooks: 0.2.12(vue@3.5.22(typescript@5.9.3)) - vue: 3.5.22(typescript@5.9.3) + vdirs: 0.1.8(vue@3.5.22(typescript@6.0.3)) + vooks: 0.2.12(vue@3.5.22(typescript@6.0.3)) + vue: 3.5.22(typescript@6.0.3) w3c-xmlserializer@5.0.0: dependencies: @@ -19960,6 +20045,8 @@ snapshots: web-namespaces@2.0.1: {} + web-worker@1.5.0: {} + webidl-conversions@3.0.1: {} webidl-conversions@7.0.0: {} @@ -20041,8 +20128,6 @@ snapshots: dependencies: is-wsl: 3.1.0 - xml-name-validator@4.0.0: {} - xml-name-validator@5.0.0: {} xml2js@0.5.0: @@ -20067,7 +20152,7 @@ snapshots: eslint-visitor-keys: 3.4.3 yaml: 2.9.0 - yaml-eslint-parser@2.0.0: + yaml-eslint-parser@2.1.0: dependencies: eslint-visitor-keys: 5.0.1 yaml: 2.9.0 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 4c9000a0..ba827e63 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,3 +1,7 @@ +shellEmulator: true + +trustPolicy: no-downgrade + packages: - benchmark - examples/* @@ -6,8 +10,11 @@ packages: - docs # 保留 monorepo 内 examples/benchmark 对本地 wormajs 的联调能力: -# 完整仓库 install 时把 wormajs 解析到本地 packages/worma。 -# 独立克隆子目录时不带本文件,会自动回落到 npm 上发布的 wormajs。 +# examples/benchmark 的 package.json 里 wormajs 声明为 "latest", +# 以便用户通过 codesandbox/stackblitz 直接 fork 子目录运行时拉取已发布版本。 +# 完整仓库 install 时,根 package.json 的 resolutions.wormajs=workspace:* 会强制 +# 把 wormajs 解析到本地 packages/worma,保证联调。 +# 独立克隆子目录时不带本文件与根 package.json,override 失效,会回落到 npm 上发布的 wormajs。 catalog: '@gsap/react': ^2.1.2 '@shikijs/twoslash': ^4.3.0 @@ -51,7 +58,7 @@ catalogs: vscode-ext-gen: ^1.1.0 dev: - '@antfu/eslint-config': ^5.4.1 + '@antfu/eslint-config': ^9.2.0 '@antfu/ni': ^25.0.0 '@changesets/changelog-github': ^0.5.2 '@changesets/cli': ^2.31.0 @@ -60,7 +67,7 @@ catalogs: '@commitlint/config-conventional': ^19.8.1 '@iconify-json/carbon': ^1.2.10 '@tomjs/tsconfig': ^2.0.0 - '@vitest/coverage-v8': ^3.2.6 + '@vitest/coverage-v8': ^4.1.6 '@vscode/test-electron': ^2.5.2 '@vscode/vsce': ^3.6.0 '@vue/test-utils': ^2.4.6 @@ -94,8 +101,8 @@ catalogs: taze: ^19.14.1 tslib: ^2.8.1 tsx: ^4.22.4 - typescript: ^5.9.3 - vitest: ^3.2.6 + typescript: ^6.0.3 + vitest: ^4.1.6 vue-tsc: ^3.0.2 frontend: '@jsonrpc-rx/client': ^0.2.2 diff --git a/tsconfig.base.json b/tsconfig.base.json index 0c895bea..b4a766a2 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ES2021", + "target": "ES2022", "module": "esnext", "resolveJsonModule": true, "strict": true, diff --git a/worm-guidelines/README.md b/worm-guidelines/README.md deleted file mode 100644 index 03a65b34..00000000 --- a/worm-guidelines/README.md +++ /dev/null @@ -1,21 +0,0 @@ -# worma — Universal OpenAPI Code Generator - -Skill for configuring and using [worma](https://worma.js.org) to auto-generate API calling functions, TypeScript types, in-editor documentation, and AI Skills from OpenAPI/Swagger specs. - -## Trigger Scenarios - -Invoke this skill when working with: - -- worma configuration (`worma.config.js`, `.wormarc`) -- API code generation from OpenAPI specs -- `npx worma init` / `npx worma gen` CLI commands -- worma plugins (platform, apifox, rename, tagModifier, aiDoc, etc.) -- Template selection (alova, axios, fetch, ky, alovaGlobals, custom) -- Migration from `@alova/wormhole` to worma -- VSCode extension for in-editor API documentation -- AI Skills generation for coding agents - -## Documentation - -- **SKILL.md** — Full worma guide: installation, migration, configuration, templates, plugins, programmatic API -- Full documentation at [worma.js.org](https://worma.js.org) diff --git a/worm-guidelines/SKILL.md b/worm-guidelines/SKILL.md deleted file mode 100644 index 5aeebdb9..00000000 --- a/worm-guidelines/SKILL.md +++ /dev/null @@ -1,55 +0,0 @@ -t--- -name: worma-guidelines -description: worma OpenAPI code generation and configuration. Use this skill whenever the user mentions worma config, API code generation, OpenAPI/Swagger integration, worma CLI, or migration from @alova/wormhole. Trigger for questions about worma.config, npx worma init/gen, or generating API code from OpenAPI specs. - ---- - -# worma — Universal OpenAPI Code Generator - -Pick the scenario that matches the user's need, then fetch the detailed information from the corresponding docs link before answering. - -## Scenario Guides - -| Scenario | Docs Link | -| -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | -| First time setup / install & configure | [Installation & Configuration](https://worma.js.org/llms.mdx/docs/guide/installation-config.md) | -| Quick start | [Quick Start](https://worma.js.org/llms.mdx/docs/quick-start.md) | -| Migrate from `@alova/wormhole` | [Migration Guide](https://worma.js.org/llms.mdx/docs/migration/from-wormhole.md) | -| CLI commands (`init`, `gen`, etc.) | [CLI Commands](https://worma.js.org/llms.mdx/docs/cli-commands.md) | -| Write custom Handlebars templates | [Custom Templates](https://worma.js.org/llms.mdx/docs/template-system/custom-templates.md) | -| Build your own plugin | [Custom Plugin](https://worma.js.org/llms.mdx/docs/plugin-system/custom-plugin.md) / [Plugin API](https://worma.js.org/llms.mdx/docs/api/plugin-api.md) | -| Programmatic API | [Core Functions](https://worma.js.org/llms.mdx/docs/api/core-functions.md) / [Configuration API](https://worma.js.org/llms.mdx/docs/api/configuration.md) | -| Generate AI Skill docs | [AI Skills](https://worma.js.org/llms.mdx/docs/ai-skills/index.md) | -| VSCode extension | [Editor Docs](https://worma.js.org/llms.mdx/docs/guide/editor-docs.md) | -| Monorepo setup | [Monorepo](https://worma.js.org/llms.mdx/docs/guide/monorepo.md) | -| Performance tuning | [Performance](https://worma.js.org/llms.mdx/docs/performance.md) | - -## Predefined Templates - -worma ships with request-library templates such as `alova`, `axios`, `fetch`, and `ky`. Use them in `generator.plugins` to control how API code is generated. - -→ See [Predefined Templates](https://worma.js.org/llms.mdx/docs/template-system/predefined-templates.md) for usage, options, and examples. - -> **Using the alova template?** Install the alova skills for better client/server API usage guidance: -> -> ```bash -> npx skills add https://github.com/alovajs/skills --skill alova-client-usage -> npx skills add alovajs/skills --skill alova-server-usage -> ``` - -## Predefined Plugins - -Add these plugins to `generator.plugins` to customize the generation pipeline. - -| Plugin | Description | Docs | -| -------------------------------------------------- | -------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | -| `aiDoc()` | Generates AI-readable interface docs for coding assistants. | [aiDoc](https://worma.js.org/llms.mdx/docs/plugin-system/builtin-plugins/aiDoc.md) | -| `swagger()` / `knife4j()` / `fastapi()` / `yapi()` | Auto-assembles OpenAPI URLs for Swagger, Knife4j, FastAPI, and YApi (yapi needs a pid and cookie). | [platform](https://worma.js.org/llms.mdx/docs/plugin-system/builtin-plugins/platform.md) | -| `apifox()` | Imports OpenAPI documents directly from Apifox. | [apifox](https://worma.js.org/llms.mdx/docs/plugin-system/builtin-plugins/apifox.md) | -| `rename()` | Renames/transforms API URLs and parameters. | [rename](https://worma.js.org/llms.mdx/docs/plugin-system/builtin-plugins/rename.md) | -| `tagModifier()` | Modifies the `tags` of APIs in the OpenAPI spec. | [tagModifier](https://worma.js.org/llms.mdx/docs/plugin-system/builtin-plugins/tag-modifier.md) | -| `payloadModifier()` | Adds, removes, or changes request/response parameter types. | [payloadModifier](https://worma.js.org/llms.mdx/docs/plugin-system/builtin-plugins/payload-modifier.md) | -| `filterApi()` | Filters APIs by URL or tag with matching rules. | [filterApi](https://worma.js.org/llms.mdx/docs/plugin-system/builtin-plugins/filter-api.md) | -| `importType()` | Reuses external types and excludes auto-generated types. | [importType](https://worma.js.org/llms.mdx/docs/plugin-system/builtin-plugins/import-type.md) | - -→ See [Built-in Plugins Overview](https://worma.js.org/llms.mdx/docs/plugin-system/builtin-plugins/index.md) for shared usage patterns and more details.