From 2fc00594ed6aee2541f9e0b6c3618de85ed9d1af Mon Sep 17 00:00:00 2001 From: Shikanime Deva Date: Thu, 25 Jun 2026 15:08:47 +0200 Subject: [PATCH 1/2] refactor: merge OpenCds healthcheck into ServiceChain module Signed-off-by: William Phetsinorath Change-Id: I6f501bd1633ceb14edaa9bf2a324ea026a6a6964 --- .../src/modules/healthz/healthz.controller.ts | 4 +- .../src/modules/healthz/healthz.module.ts | 4 +- .../src/modules/opencds/opencds.module.ts | 11 ---- .../service-chain-health.service.ts} | 60 +++++++++---------- .../service-chain/service-chain.module.ts | 5 +- 5 files changed, 37 insertions(+), 47 deletions(-) delete mode 100644 apps/server-nestjs/src/modules/opencds/opencds.module.ts rename apps/server-nestjs/src/modules/{opencds/opencds-health.service.ts => service-chain/service-chain-health.service.ts} (94%) diff --git a/apps/server-nestjs/src/modules/healthz/healthz.controller.ts b/apps/server-nestjs/src/modules/healthz/healthz.controller.ts index b8d3e3a4ed..dd8869ade3 100644 --- a/apps/server-nestjs/src/modules/healthz/healthz.controller.ts +++ b/apps/server-nestjs/src/modules/healthz/healthz.controller.ts @@ -6,7 +6,7 @@ import { ConfigurationService } from '../infrastructure/configuration/configurat import { DatabaseHealthService } from '../infrastructure/database/database-health.service' import { KeycloakHealthService } from '../keycloak/keycloak-health.service' import { NexusHealthService } from '../nexus/nexus-health.service' -import { OpenCdsHealthService } from '../opencds/opencds-health.service' +import { ServiceChainHealthService } from '../service-chain/service-chain-health.service' import { RegistryHealthService } from '../registry/registry-health.service' import { VaultHealthService } from '../vault/vault-health.service' @@ -21,7 +21,7 @@ export class HealthzController { @Inject(NexusHealthService) private readonly nexus: NexusHealthService, @Inject(RegistryHealthService) private readonly registry: RegistryHealthService, @Inject(ArgoCDHealthService) private readonly argocd: ArgoCDHealthService, - @Inject(OpenCdsHealthService) private readonly opencds: OpenCdsHealthService, + @Inject(ServiceChainHealthService) private readonly opencds: ServiceChainHealthService, @Inject(ConfigurationService) private readonly config: ConfigurationService, ) {} diff --git a/apps/server-nestjs/src/modules/healthz/healthz.module.ts b/apps/server-nestjs/src/modules/healthz/healthz.module.ts index 94b4281941..560dc855ac 100644 --- a/apps/server-nestjs/src/modules/healthz/healthz.module.ts +++ b/apps/server-nestjs/src/modules/healthz/healthz.module.ts @@ -6,7 +6,7 @@ import { ConfigurationModule } from '../infrastructure/configuration/configurati import { DatabaseModule } from '../infrastructure/database/database.module' import { KeycloakModule } from '../keycloak/keycloak.module' import { NexusModule } from '../nexus/nexus.module' -import { OpenCdsModule } from '../opencds/opencds.module' +import { ServiceChainModule } from '../service-chain/service-chain.module' import { RegistryModule } from '../registry/registry.module' import { VaultModule } from '../vault/vault.module' import { HealthzController } from './healthz.controller' @@ -22,7 +22,7 @@ import { HealthzController } from './healthz.controller' RegistryModule, ArgoCDModule, ConfigurationModule, - OpenCdsModule, + ServiceChainModule, ], controllers: [HealthzController], }) diff --git a/apps/server-nestjs/src/modules/opencds/opencds.module.ts b/apps/server-nestjs/src/modules/opencds/opencds.module.ts deleted file mode 100644 index 8b42ddee91..0000000000 --- a/apps/server-nestjs/src/modules/opencds/opencds.module.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Module } from '@nestjs/common' -import { TerminusModule } from '@nestjs/terminus' -import { ConfigurationModule } from '../infrastructure/configuration/configuration.module' -import { OpenCdsHealthService } from './opencds-health.service' - -@Module({ - imports: [ConfigurationModule, TerminusModule], - providers: [OpenCdsHealthService], - exports: [OpenCdsHealthService], -}) -export class OpenCdsModule {} diff --git a/apps/server-nestjs/src/modules/opencds/opencds-health.service.ts b/apps/server-nestjs/src/modules/service-chain/service-chain-health.service.ts similarity index 94% rename from apps/server-nestjs/src/modules/opencds/opencds-health.service.ts rename to apps/server-nestjs/src/modules/service-chain/service-chain-health.service.ts index f91f493f5b..d059ac0bef 100644 --- a/apps/server-nestjs/src/modules/opencds/opencds-health.service.ts +++ b/apps/server-nestjs/src/modules/service-chain/service-chain-health.service.ts @@ -1,30 +1,30 @@ -import { HttpStatus, Inject, Injectable } from '@nestjs/common' -import { HealthIndicatorService } from '@nestjs/terminus' -import { ConfigurationService } from '../infrastructure/configuration/configuration.service' - -@Injectable() -export class OpenCdsHealthService { - constructor( - @Inject(ConfigurationService) private readonly config: ConfigurationService, - @Inject(HealthIndicatorService) private readonly healthIndicator: HealthIndicatorService, - ) {} - - async check(key: string) { - const indicator = this.healthIndicator.check(key) - if (!this.config.openCdsUrl) return indicator.down('Not configured') - - try { - const url = new URL('/api/v1/health', this.config.openCdsUrl).toString() - const headers: Record = {} - if (this.config.openCdsApiToken) { - headers.Authorization = `Bearer ${this.config.openCdsApiToken}` - } - - const response = await fetch(url, { headers }) - if (response.status < HttpStatus.INTERNAL_SERVER_ERROR) return indicator.up({ httpStatus: response.status }) - return indicator.down({ httpStatus: response.status }) - } catch (error) { - return indicator.down(error instanceof Error ? error.message : String(error)) - } - } -} +import { HttpStatus, Inject, Injectable } from '@nestjs/common' +import { HealthIndicatorService } from '@nestjs/terminus' +import { ConfigurationService } from '../infrastructure/configuration/configuration.service' + +@Injectable() +export class ServiceChainHealthService { + constructor( + @Inject(ConfigurationService) private readonly config: ConfigurationService, + @Inject(HealthIndicatorService) private readonly healthIndicator: HealthIndicatorService, + ) {} + + async check(key: string) { + const indicator = this.healthIndicator.check(key) + if (!this.config.openCdsUrl) return indicator.down('Not configured') + + try { + const url = new URL('/api/v1/health', this.config.openCdsUrl).toString() + const headers: Record = {} + if (this.config.openCdsApiToken) { + headers.Authorization = `Bearer ${this.config.openCdsApiToken}` + } + + const response = await fetch(url, { headers }) + if (response.status < HttpStatus.INTERNAL_SERVER_ERROR) return indicator.up({ httpStatus: response.status }) + return indicator.down({ httpStatus: response.status }) + } catch (error) { + return indicator.down(error instanceof Error ? error.message : String(error)) + } + } +} diff --git a/apps/server-nestjs/src/modules/service-chain/service-chain.module.ts b/apps/server-nestjs/src/modules/service-chain/service-chain.module.ts index 537261b97a..fc9b9a1c0e 100644 --- a/apps/server-nestjs/src/modules/service-chain/service-chain.module.ts +++ b/apps/server-nestjs/src/modules/service-chain/service-chain.module.ts @@ -5,6 +5,7 @@ import { DatabaseModule } from '../infrastructure/database/database.module' import { EventsModule } from '../infrastructure/events/events.module' import { UserPermissionModule } from '../infrastructure/permission/user/user.module' import { OpenCdsClientService } from './open-cds-client.service' +import { ServiceChainHealthService } from './service-chain-health.service' import { ServiceChainController } from './service-chain.controller' import { ServiceChainService } from './service-chain.service' @@ -17,7 +18,7 @@ import { ServiceChainService } from './service-chain.service' UserPermissionModule, ], controllers: [ServiceChainController], - providers: [OpenCdsClientService, ServiceChainService], - exports: [ServiceChainService], + providers: [OpenCdsClientService, ServiceChainHealthService, ServiceChainService], + exports: [ServiceChainService, ServiceChainHealthService], }) export class ServiceChainModule {} From e537a8b3c5642e086a76b80bea7feef2590b4da7 Mon Sep 17 00:00:00 2001 From: Shikanime Deva Date: Tue, 28 Jul 2026 17:35:35 +0200 Subject: [PATCH 2/2] test(eslintconfig): verify formatter correctness + perf, fix misleading comment Add vitest suite (9 tests) exercising markdown/json formatting, idempotency, jsonc comment-preservation, and a 200-file perf budget (<1s). Correct the inline comment: .jsonc is already served by the json formatter (prettier keeps comments), not a separate opt-in. Co-Authored-By: Hermes --- packages/eslintconfig/package.json | 8 +- packages/eslintconfig/src/index.js | 6 + packages/eslintconfig/src/index.spec.ts | 101 ++++ packages/eslintconfig/vitest.config.ts | 9 + pnpm-lock.yaml | 617 +++++++++++++++++++----- pnpm-workspace.yaml | 1 + 6 files changed, 615 insertions(+), 127 deletions(-) create mode 100644 packages/eslintconfig/src/index.spec.ts create mode 100644 packages/eslintconfig/vitest.config.ts diff --git a/packages/eslintconfig/package.json b/packages/eslintconfig/package.json index e81e294cbe..d026c8ca78 100644 --- a/packages/eslintconfig/package.json +++ b/packages/eslintconfig/package.json @@ -9,9 +9,15 @@ "license": "ISC", "main": "src/index.js", "types": "types/index.d.ts", + "scripts": { + "test": "vitest run", + "format": "eslint src --fix" + }, "devDependencies": { "@antfu/eslint-config": "catalog:tools", - "eslint": "catalog:tools" + "eslint": "catalog:tools", + "eslint-plugin-format": "catalog:tools", + "vitest": "catalog:test" }, "publishConfig": { "registry": "https://registry.npmjs.org/", diff --git a/packages/eslintconfig/src/index.js b/packages/eslintconfig/src/index.js index 79867556e6..96884ee6bc 100644 --- a/packages/eslintconfig/src/index.js +++ b/packages/eslintconfig/src/index.js @@ -24,6 +24,12 @@ export default antfu( 'yaml/indent': ['error', 2, { indentBlockSequences: true, indicatorValueIndent: 2 }], }, }, + formatters: { + markdown: true, + json: true, + // jsonc is already covered by the json formatter (prettier keeps comments). + // html: true, // only if apps/client/index.html should be formatted (single file today) + }, ignores: [ '**/node_modules', '**/prisma/migrations', diff --git a/packages/eslintconfig/src/index.spec.ts b/packages/eslintconfig/src/index.spec.ts new file mode 100644 index 0000000000..8b6c608e60 --- /dev/null +++ b/packages/eslintconfig/src/index.spec.ts @@ -0,0 +1,101 @@ +import { dirname, join } from 'node:path' +import { fileURLToPath } from 'node:url' +import { ESLint } from 'eslint' +import { describe, expect, it } from 'vitest' + +const __dirname = dirname(fileURLToPath(import.meta.url)) +const configFile = join(__dirname, 'index.js') + +// ponytail: spin up one ESLint instance per test for isolation; cheap enough at this scale. +async function formatText(input: string, filePath: string): Promise { + const eslint = new ESLint({ overrideConfigFile: configFile, fix: true, cwd: __dirname }) + const [result] = await eslint.lintText(input, { filePath }) + if (result.fatalErrorCount > 0) { + throw new Error(`fatal lint error: ${JSON.stringify(result.messages)}`) + } + return result.output ?? input +} + +describe('eslint-config formatter (markdown + json)', () => { + describe('markdown list normalization', () => { + it('rewrites * bullets to - per CommonMark style', async () => { + const out = await formatText('# Title\n\n* a\n* b\n', 'doc.md') + expect(out).toContain('- a\n- b') + expect(out).not.toContain('* a') + }) + + it('collapses 3+ blank lines to one', async () => { + const out = await formatText('# T\n\n\n\nbody\n', 'doc.md') + expect(out).toBe('# T\n\nbody\n') + }) + + it('trims trailing whitespace on each line', async () => { + const out = await formatText('text \nmore\t\n', 'doc.md') + expect(out).toBe('text\nmore\n') + }) + }) + + describe('idempotency (re-run yields identical output)', () => { + it('is stable on markdown', async () => { + const input = '# Title\n\n- a\n- b\n\ntext\n' + const once = await formatText(input, 'doc.md') + const twice = await formatText(once, 'doc.md') + expect(twice).toBe(once) + }) + + it('is stable on json', async () => { + const input = '{\n "a": 1,\n "b": 2\n}\n' + const once = await formatText(input, 'data.json') + const twice = await formatText(once, 'data.json') + expect(twice).toBe(once) + }) + }) + + describe('json formatting', () => { + // ponytail: eslint-plugin-format's prettier json path normalizes inline spacing + // and ensures a trailing newline but does NOT expand objects across lines + // (verified empirically: wide JSON stays single-line). Assert the real output. + it('normalizes spacing and adds a trailing newline', async () => { + const input = '{"a":1,"b":2}' + const out = await formatText(input, 'data.json') + expect(out.trimEnd()).toBe('{ "a": 1, "b": 2 }') + expect(out.endsWith('\n')).toBe(true) + }) + + it('does not mangle valid json content', async () => { + const input = '{\n "nested": { "x": [1, 2, 3] }\n}\n' + const out = await formatText(input, 'data.json') + expect(JSON.parse(out)).toEqual({ nested: { x: [1, 2, 3] } }) + }) + }) + + describe('extension coverage (jsonc already served by json formatter)', () => { + it('normalizes .jsonc spacing while preserving comments', async () => { + const input = '{\n // keep me\n "a" :1 , "b":2 }\n' + const out = await formatText(input, 'data.jsonc') + // The json formatter's prettier parser keeps comments AND normalizes spacing, + // so .jsonc needs no separate formatter (correcting the parent's misnomer comment). + expect(out).toContain('// keep me') + expect(out).toContain('"a": 1,') + expect(out.trimEnd()).toContain('"a": 1, "b": 2') + }) + }) + + describe('performance (must not add meaningful latency to the dev pipeline)', () => { + it('formats 200 mixed files within a tight budget', async () => { + // ponytail: single shared ESLint instance, real formatter cost only. + const eslint = new ESLint({ overrideConfigFile: configFile, fix: true, cwd: __dirname }) + const md = '# T\n\n* a\n* b\n \ntext \n' + const json = '{"alpha":1,"beta":2}' + const files = Array.from({ length: 200 }, (_, i) => + (i % 2 === 0 + ? eslint.lintText(md, { filePath: `f${i}.md` }) + : eslint.lintText(json, { filePath: `f${i}.json` }))) + const start = performance.now() + await Promise.all(files) + const elapsed = performance.now() - start + // 200 small files must finish well under a second (prettier GQL cache + warm JIT). + expect(elapsed).toBeLessThan(1000) + }) + }) +}) diff --git a/packages/eslintconfig/vitest.config.ts b/packages/eslintconfig/vitest.config.ts new file mode 100644 index 0000000000..50fe1965fc --- /dev/null +++ b/packages/eslintconfig/vitest.config.ts @@ -0,0 +1,9 @@ +import { configDefaults, defineConfig } from 'vitest/config' + +export default defineConfig({ + test: { + environment: 'node', + include: ['src/**/*.spec.{ts,js}'], + exclude: [...configDefaults.exclude], + }, +}) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4265e63be7..990c75c874 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -320,6 +320,9 @@ catalogs: eslint: specifier: ^10.5.0 version: 10.5.0 + eslint-plugin-format: + specifier: ^1.0.0 + version: 1.5.0 eslint-plugin-vue: specifier: ^10.8.0 version: 10.8.0 @@ -391,7 +394,7 @@ importers: version: link:packages/eslintconfig eslint: specifier: catalog:tools - version: 10.5.0(jiti@2.6.1) + version: 10.5.0(jiti@2.6.1)(supports-color@5.5.0) husky: specifier: catalog:tools version: 9.1.7 @@ -494,7 +497,7 @@ importers: version: 4.1.5(vitest@4.1.5) '@vue/eslint-config-typescript': specifier: catalog:tools - version: 14.7.0(eslint-plugin-vue@10.8.0(@stylistic/eslint-plugin@5.10.0(eslint@10.5.0(jiti@2.6.1)))(@typescript-eslint/parser@8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(vue-eslint-parser@10.4.0(eslint@10.5.0(jiti@2.6.1))))(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3) + version: 14.7.0(eslint-plugin-vue@10.8.0(@stylistic/eslint-plugin@5.10.0(eslint@10.5.0(jiti@2.6.1)))(@typescript-eslint/parser@8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(vue-eslint-parser@10.4.0(eslint@10.5.0(jiti@2.6.1))(supports-color@5.5.0)))(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3) chalk: specifier: catalog:tools version: 5.6.2 @@ -506,22 +509,22 @@ importers: version: 10.8.0(@stylistic/eslint-plugin@5.10.0(eslint@10.5.0(jiti@2.6.1)))(@typescript-eslint/parser@8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(vue-eslint-parser@10.4.0(eslint@10.5.0(jiti@2.6.1))) jsdom: specifier: catalog:test - version: 25.0.1 + version: 25.0.1(supports-color@5.5.0) rimraf: specifier: catalog:tools version: 6.1.3 stylelint: specifier: catalog:tools - version: 17.11.0(typescript@5.9.3) + version: 17.11.0(supports-color@5.5.0)(typescript@5.9.3) stylelint-config-html: specifier: catalog:tools - version: 1.1.0(postcss-html@1.8.1)(stylelint@17.11.0(typescript@5.9.3)) + version: 1.1.0(postcss-html@1.8.1)(stylelint@17.11.0(supports-color@5.5.0)(typescript@5.9.3)) stylelint-config-recommended-vue: specifier: catalog:tools - version: 1.6.1(postcss-html@1.8.1)(stylelint@17.11.0(typescript@5.9.3)) + version: 1.6.1(postcss-html@1.8.1)(stylelint@17.11.0(supports-color@5.5.0)(typescript@5.9.3)) stylelint-config-standard: specifier: catalog:tools - version: 40.0.0(stylelint@17.11.0(typescript@5.9.3)) + version: 40.0.0(stylelint@17.11.0(supports-color@5.5.0)(typescript@5.9.3)) typescript: specifier: catalog:build version: 5.9.3 @@ -533,7 +536,7 @@ importers: version: 0.18.6(rollup@2.80.0) unplugin-vue-components: specifier: catalog:build - version: 0.27.5(@babel/parser@7.29.7)(rollup@2.80.0)(vue@3.5.30(typescript@5.9.3)) + version: 0.27.5(@babel/parser@7.29.7)(rollup@2.80.0)(supports-color@5.5.0)(vue@3.5.30(typescript@5.9.3)) vite: specifier: catalog:build version: 7.3.3(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.48.0)(yaml@2.9.0) @@ -542,13 +545,13 @@ importers: version: 6.0.0(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.48.0)(yaml@2.9.0) vite-plugin-pwa: specifier: catalog:build - version: 1.2.0(vite@7.3.3(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.48.0)(yaml@2.9.0))(workbox-build@7.4.0(@types/babel__core@7.20.5))(workbox-window@7.4.0) + version: 1.2.0(supports-color@5.5.0)(vite@7.3.3(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.48.0)(yaml@2.9.0))(workbox-build@7.4.0(@types/babel__core@7.20.5))(workbox-window@7.4.0) vitest: specifier: catalog:test version: 4.1.5(@opentelemetry/api@1.9.1)(@types/node@24.12.0)(@vitest/coverage-v8@4.1.5)(jsdom@25.0.1)(msw@2.12.10(@types/node@24.12.0)(typescript@5.9.3))(vite@7.3.3(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.48.0)(yaml@2.9.0)) vue-eslint-parser: specifier: catalog:tools - version: 10.4.0(eslint@10.5.0(jiti@2.6.1)) + version: 10.4.0(eslint@10.5.0(jiti@2.6.1))(supports-color@5.5.0) vue-tsc: specifier: catalog:build version: 2.2.12(typescript@5.9.3) @@ -596,13 +599,13 @@ importers: version: 13.0.2 '@fastify/otel': specifier: catalog:runtime - version: 0.18.1(@opentelemetry/api@1.9.1) + version: 0.18.1(@opentelemetry/api@1.9.1)(supports-color@5.5.0) '@fastify/session': specifier: catalog:runtime version: 11.1.1 '@fastify/swagger': specifier: catalog:runtime - version: 9.7.0 + version: 9.7.0(supports-color@5.5.0) '@fastify/swagger-ui': specifier: catalog:runtime version: 5.2.6 @@ -774,34 +777,34 @@ importers: version: 2.7.2 '@nestjs/cache-manager': specifier: catalog:runtime - version: 3.1.3(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.16)(cache-manager@7.2.8)(keyv@5.6.0)(rxjs@7.8.2) + version: 3.1.3(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0))(@nestjs/core@11.1.16)(cache-manager@7.2.8)(keyv@5.6.0)(rxjs@7.8.2) '@nestjs/common': specifier: catalog:runtime - version: 11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2) + version: 11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0) '@nestjs/config': specifier: catalog:runtime - version: 4.0.3(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2))(rxjs@7.8.2) + version: 4.0.3(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0))(rxjs@7.8.2) '@nestjs/core': specifier: catalog:runtime - version: 11.1.16(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.16)(reflect-metadata@0.2.2)(rxjs@7.8.2) + version: 11.1.16(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0))(@nestjs/platform-express@11.1.16)(reflect-metadata@0.2.2)(rxjs@7.8.2) '@nestjs/event-emitter': specifier: catalog:runtime - version: 3.0.1(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.16) + version: 3.0.1(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0))(@nestjs/core@11.1.16) '@nestjs/jwt': specifier: catalog:runtime - version: 11.0.2(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)) + version: 11.0.2(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0)) '@nestjs/platform-fastify': specifier: catalog:runtime - version: 11.1.27(@fastify/static@9.1.3)(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.16) + version: 11.1.27(@fastify/static@9.1.3)(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0))(@nestjs/core@11.1.16) '@nestjs/schedule': specifier: catalog:runtime - version: 6.1.1(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.16) + version: 6.1.1(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0))(@nestjs/core@11.1.16) '@nestjs/swagger': specifier: catalog:runtime - version: 11.4.1(@fastify/static@9.1.3)(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.16)(reflect-metadata@0.2.2) + version: 11.4.1(@fastify/static@9.1.3)(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0))(@nestjs/core@11.1.16)(reflect-metadata@0.2.2) '@nestjs/terminus': specifier: catalog:runtime - version: 11.1.1(@grpc/grpc-js@1.14.3)(@grpc/proto-loader@0.8.0)(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.16)(@prisma/client@6.19.2(prisma@6.19.2(magicast@0.3.5)(typescript@5.9.3))(typescript@5.9.3))(reflect-metadata@0.2.2)(rxjs@7.8.2) + version: 11.1.1(@grpc/grpc-js@1.14.3)(@grpc/proto-loader@0.8.0)(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0))(@nestjs/core@11.1.16)(@prisma/client@6.19.2(prisma@6.19.2(magicast@0.3.5)(typescript@5.9.3))(typescript@5.9.3))(reflect-metadata@0.2.2)(rxjs@7.8.2) '@opentelemetry/api': specifier: catalog:otel version: 1.9.1 @@ -858,7 +861,7 @@ importers: version: 4.2.0 nestjs-pino: specifier: catalog:runtime - version: 4.6.0(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2))(pino-http@11.0.0)(pino@10.3.1)(rxjs@7.8.2) + version: 4.6.0(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0))(pino-http@11.0.0)(pino@10.3.1)(rxjs@7.8.2) prisma: specifier: catalog:runtime version: 6.19.2(magicast@0.3.5)(typescript@5.9.3) @@ -892,7 +895,7 @@ importers: version: link:../../packages/tsconfig '@eslint/eslintrc': specifier: catalog:tools - version: 3.3.5 + version: 3.3.5(supports-color@5.5.0) '@eslint/js': specifier: catalog:tools version: 9.39.4 @@ -907,7 +910,7 @@ importers: version: 11.0.9(chokidar@4.0.3)(typescript@5.9.3) '@nestjs/testing': specifier: catalog:build - version: 11.1.16(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.16)(@nestjs/platform-express@11.1.16) + version: 11.1.16(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0))(@nestjs/core@11.1.16)(@nestjs/platform-express@11.1.16) '@types/node': specifier: catalog:types version: 24.12.0 @@ -952,10 +955,16 @@ importers: devDependencies: '@antfu/eslint-config': specifier: catalog:tools - version: 8.2.0(@typescript-eslint/rule-tester@8.57.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(@typescript-eslint/typescript-estree@8.59.2(typescript@5.9.3))(@typescript-eslint/utils@8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(@vue/compiler-sfc@3.5.30)(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3)(vitest@4.1.5) + version: 8.2.0(@typescript-eslint/rule-tester@8.57.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(@typescript-eslint/typescript-estree@8.59.2(typescript@5.9.3))(@typescript-eslint/utils@8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(@vue/compiler-sfc@3.5.30)(eslint-plugin-format@1.5.0(eslint@10.5.0(jiti@2.6.1)))(eslint@10.5.0(jiti@2.6.1))(supports-color@5.5.0)(typescript@5.9.3)(vitest@4.1.5) eslint: specifier: catalog:tools version: 10.5.0(jiti@2.6.1) + eslint-plugin-format: + specifier: catalog:tools + version: 1.5.0(eslint@10.5.0(jiti@2.6.1)) + vitest: + specifier: catalog:test + version: 4.1.5(@opentelemetry/api@1.9.1)(@types/node@24.12.0)(@vitest/coverage-v8@4.1.5)(jsdom@25.0.1)(msw@2.12.10(@types/node@24.12.0)(typescript@5.9.3))(vite@8.0.11(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.48.0)(yaml@2.9.0)) packages/hooks: dependencies: @@ -2328,6 +2337,15 @@ packages: peerDependencies: postcss-selector-parser: ^7.1.1 + '@dprint/formatter@0.5.1': + resolution: {integrity: sha512-cdZUrm0iv/FnnY3CKE2dEcVhNEzrC551aE2h2mTFwQCRBrqyARLDnb7D+3PlXTUVp3s34ftlnGOVCmhLT9DeKA==} + + '@dprint/markdown@0.21.1': + resolution: {integrity: sha512-XbZ/R7vRrBaZFYXG6vAvLvtaMVXHu8XB+xwie7OYrG+dPoGDP8UADGirIbzUyX8TmrAZcl6QBmalipTGlpzRmQ==} + + '@dprint/toml@0.7.0': + resolution: {integrity: sha512-eFaQTcfxKHB+YyTh83x7GEv+gDPuj9q5NFOTaoj5rZmQTbj6OgjjMxUicmS1R8zYcx8YAq5oA9J3YFa5U6x2gA==} + '@e18e/eslint-plugin@0.3.0': resolution: {integrity: sha512-hHgfpxsrZ2UYHcicA+tGZnmk19uJTaye9VH79O+XS8R4ona2Hx3xjhXghclNW58uXMk3xXlbYEOMr8thsoBmWg==} peerDependencies: @@ -3854,6 +3872,128 @@ packages: '@oxc-project/types@0.128.0': resolution: {integrity: sha512-huv1Y/LzBJkBVHt3OlC7u0zHBW9qXf1FdD7sGmc1rXc2P1mTwHssYv7jyGx5KAACSCH+9B3Bhn6Z9luHRvf7pQ==} + '@oxfmt/binding-android-arm-eabi@0.35.0': + resolution: {integrity: sha512-BaRKlM3DyG81y/xWTsE6gZiv89F/3pHe2BqX2H4JbiB8HNVlWWtplzgATAE5IDSdwChdeuWLDTQzJ92Lglw3ZA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + + '@oxfmt/binding-android-arm64@0.35.0': + resolution: {integrity: sha512-/O+EbuAJYs6nde/anv+aID6uHsGQApyE9JtYBo/79KyU8e6RBN3DMbT0ix97y1SOnCglurmL2iZ+hlohjP2PnQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@oxfmt/binding-darwin-arm64@0.35.0': + resolution: {integrity: sha512-pGqRtqlNdn9d4VrmGUWVyQjkw79ryhI6je9y2jfqNUIZCfqceob+R97YYAoG7C5TFyt8ILdLVoN+L2vw/hSFyA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@oxfmt/binding-darwin-x64@0.35.0': + resolution: {integrity: sha512-8GmsDcSozTPjrCJeGpp+sCmS9+9V5yRrdEZ1p/sTWxPG5nYeAfSLuS0nuEYjXSO+CtdSbStIW6dxa+4NM58yRw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@oxfmt/binding-freebsd-x64@0.35.0': + resolution: {integrity: sha512-QyfKfTe0ytHpFKHAcHCGQEzN45QSqq1AHJOYYxQMgLM3KY4xu8OsXHpCnINjDsV4XGnQzczJDU9e04Zmd8XqIQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@oxfmt/binding-linux-arm-gnueabihf@0.35.0': + resolution: {integrity: sha512-u+kv3JD6P3J38oOyUaiCqgY5TNESzBRZJ5lyZQ6c2czUW2v5SIN9E/KWWa9vxoc+P8AFXQFUVrdzGy1tK+nbPQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxfmt/binding-linux-arm-musleabihf@0.35.0': + resolution: {integrity: sha512-1NiZroCiV57I7Pf8kOH4XGR366kW5zir3VfSMBU2D0V14GpYjiYmPYFAoJboZvp8ACnZKUReWyMkNKSa5ad58A==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxfmt/binding-linux-arm64-gnu@0.35.0': + resolution: {integrity: sha512-7Q0Xeg7ZnW2nxnZ4R7aF6DEbCFls4skgHZg+I63XitpNvJCbVIU8MFOTZlvZGRsY9+rPgWPQGeUpLHlyx0wvMA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@oxfmt/binding-linux-arm64-musl@0.35.0': + resolution: {integrity: sha512-5Okqi+uhYFxwKz8hcnUftNNwdm8BCkf6GSCbcz9xJxYMm87k1E4p7PEmAAbhLTk7cjSdDre6TDL0pDzNX+Y22Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@oxfmt/binding-linux-ppc64-gnu@0.35.0': + resolution: {integrity: sha512-9k66pbZQXM/lBJWys3Xbc5yhl4JexyfqkEf/tvtq8976VIJnLAAL3M127xHA3ifYSqxdVHfVGTg84eiBHCGcNw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@oxfmt/binding-linux-riscv64-gnu@0.35.0': + resolution: {integrity: sha512-aUcY9ofKPtjO52idT6t0SAQvEF6ctjzUQa1lLp7GDsRpSBvuTrBQGeq0rYKz3gN8dMIQ7mtMdGD9tT4LhR8jAQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@oxfmt/binding-linux-riscv64-musl@0.35.0': + resolution: {integrity: sha512-C6yhY5Hvc2sGM+mCPek9ZLe5xRUOC/BvhAt2qIWFAeXMn4il04EYIjl3DsWiJr0xDMTJhvMOmD55xTRPlNp39w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [musl] + + '@oxfmt/binding-linux-s390x-gnu@0.35.0': + resolution: {integrity: sha512-RG2hlvOMK4OMZpO3mt8MpxLQ0AAezlFqhn5mI/g5YrVbPFyoCv9a34AAvbSJS501ocOxlFIRcKEuw5hFvddf9g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@oxfmt/binding-linux-x64-gnu@0.35.0': + resolution: {integrity: sha512-wzmh90Pwvqj9xOKHJjkQYBpydRkaXG77ZvDz+iFDRRQpnqIEqGm5gmim2s6vnZIkDGsvKCuTdtxm0GFmBjM1+w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@oxfmt/binding-linux-x64-musl@0.35.0': + resolution: {integrity: sha512-+HCqYCJPCUy5I+b2cf+gUVaApfgtoQT3HdnSg/l7NIcLHOhKstlYaGyrFZLmUpQt4WkFbpGKZZayG6zjRU0KFA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + + '@oxfmt/binding-openharmony-arm64@0.35.0': + resolution: {integrity: sha512-kFYmWfR9YL78XyO5ws+1dsxNvZoD973qfVMNFOS4e9bcHXGF7DvGC2tY5UDFwyMCeB33t3sDIuGONKggnVNSJA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@oxfmt/binding-win32-arm64-msvc@0.35.0': + resolution: {integrity: sha512-uD/NGdM65eKNCDGyTGdO8e9n3IHX+wwuorBvEYrPJXhDXL9qz6gzddmXH8EN04ejUXUujlq4FsoSeCfbg0Y+Jg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@oxfmt/binding-win32-ia32-msvc@0.35.0': + resolution: {integrity: sha512-oSRD2k8J2uxYDEKR2nAE/YTY9PobOEnhZgCmspHu0+yBQ665yH8lFErQVSTE7fcGJmJp/cC6322/gc8VFuQf7g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + + '@oxfmt/binding-win32-x64-msvc@0.35.0': + resolution: {integrity: sha512-WCDJjlS95NboR0ugI2BEwzt1tYvRDorDRM9Lvctls1SLyKYuNRCyrPwp1urUPFBnwgBNn9p2/gnmo7gFMySRoQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + '@pinojs/redact@0.4.0': resolution: {integrity: sha512-k2ENnmBugE/rzQfEcdWHcCY+/FM3VLzH9cYEsbdsoqrvzAKRhUZeRNhAZvB8OitQJ1TBed3yqWtdjzS6wJKBwg==} @@ -5737,6 +5877,11 @@ packages: 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==} + peerDependencies: + eslint: '>=8.40.0' + eslint-json-compat-utils@0.2.3: resolution: {integrity: sha512-RbBmDFyu7FqnjE8F0ZxPNzx5UaptdeS9Uu50r7A+D7s/+FCX+ybiyViYEgFUaFIFqSWJgZRTpL5d8Kanxxl2lQ==} engines: {node: '>=12'} @@ -5753,6 +5898,9 @@ packages: peerDependencies: eslint: '*' + eslint-parser-plain@0.1.1: + resolution: {integrity: sha512-KRgd6wuxH4U8kczqPp+Oyk4irThIhHWxgFgLDtpgjUGVIS3wGrJntvZW/p6hHq1T4FOwnOtCNkvAI4Kr+mQ/Hw==} + eslint-plugin-antfu@3.2.2: resolution: {integrity: sha512-Qzixht2Dmd/pMbb5EnKqw2V8TiWHbotPlsORO8a+IzCLFwE0RxK8a9k4DCTFPzBwyxJzH+0m2Mn8IUGeGQkyUw==} peerDependencies: @@ -5777,6 +5925,11 @@ packages: peerDependencies: eslint: '>=8' + eslint-plugin-format@1.5.0: + resolution: {integrity: sha512-jaeOKrxs79Nn6rMkLycPkLHvBVKcgsFG+RqNXb6W9iS9y2Q0NYGhFTLcDUdp5mf01X99wEkjtX2O8cumM7lNMQ==} + peerDependencies: + eslint: ^8.40.0 || ^9.0.0 || ^10.0.0 + eslint-plugin-import-lite@0.6.0: resolution: {integrity: sha512-80vevx2A7i3H7n1/6pqDO8cc5wRz6OwLDvIyVl9UflBV1N1f46e9Ihzi65IOLYoSxM6YykK2fTw1xm0Ixx6aTQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -5986,6 +6139,9 @@ packages: fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + fast-glob@3.3.3: resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} engines: {node: '>=8.6.0'} @@ -7585,6 +7741,11 @@ packages: peerDependencies: oxc-parser: '>=0.98.0' + oxfmt@0.35.0: + resolution: {integrity: sha512-QYeXWkP+aLt7utt5SLivNIk09glWx9QE235ODjgcEZ3sd1VMaUBSpLymh6ZRCA76gD2rMP4bXanUz/fx+nLM9Q==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + p-debounce@4.0.0: resolution: {integrity: sha512-4Ispi9I9qYGO4lueiLDhe4q4iK5ERK8reLsuzH6BPaXn53EGaua8H66PXIFGrW897hwjXp+pVLrm/DLxN0RF0A==} engines: {node: '>=12'} @@ -7808,6 +7969,15 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} + prettier-linter-helpers@1.0.1: + resolution: {integrity: sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg==} + engines: {node: '>=6.0.0'} + + prettier@3.9.6: + resolution: {integrity: sha512-OpN0zzVdiaiAhxpuuj5efpIS4sY9j7bY6uR5mnj5yPzGkdkjNKSJeUThPb60Jw29QuAZgA4o+/iB49kFiaBX6g==} + engines: {node: '>=14'} + hasBin: true + pretty-bytes@5.6.0: resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} engines: {node: '>=6'} @@ -8602,6 +8772,10 @@ packages: resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} engines: {node: '>=12.0.0'} + tinypool@2.1.0: + resolution: {integrity: sha512-Pugqs6M0m7Lv1I7FtxN4aoyToKg1C4tu+/381vH35y8oENM/Ai7f7C4StcoK4/+BSw9ebcS8jRiVrORFKCALLw==} + engines: {node: ^20.0.0 || >=22.0.0} + tinyrainbow@3.1.0: resolution: {integrity: sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==} engines: {node: '>=14.0.0'} @@ -9466,7 +9640,7 @@ snapshots: transitivePeerDependencies: - chokidar - '@antfu/eslint-config@8.2.0(@typescript-eslint/rule-tester@8.57.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(@typescript-eslint/typescript-estree@8.59.2(typescript@5.9.3))(@typescript-eslint/utils@8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(@vue/compiler-sfc@3.5.30)(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3)(vitest@4.1.5)': + '@antfu/eslint-config@8.2.0(@typescript-eslint/rule-tester@8.57.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(@typescript-eslint/typescript-estree@8.59.2(typescript@5.9.3))(@typescript-eslint/utils@8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(@vue/compiler-sfc@3.5.30)(eslint-plugin-format@1.5.0(eslint@10.5.0(jiti@2.6.1)))(eslint@10.5.0(jiti@2.6.1))(supports-color@5.5.0)(typescript@5.9.3)(vitest@4.1.5)': dependencies: '@antfu/install-pkg': 1.1.0 '@clack/prompts': 1.3.0 @@ -9474,9 +9648,9 @@ snapshots: '@eslint-community/eslint-plugin-eslint-comments': 4.7.1(eslint@10.5.0(jiti@2.6.1)) '@eslint/markdown': 8.0.1 '@stylistic/eslint-plugin': 5.10.0(eslint@10.5.0(jiti@2.6.1)) - '@typescript-eslint/eslint-plugin': 8.59.2(@typescript-eslint/parser@8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/eslint-plugin': 8.59.2(@typescript-eslint/parser@8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(supports-color@5.5.0)(typescript@5.9.3) '@typescript-eslint/parser': 8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3) - '@vitest/eslint-plugin': 1.6.17(@typescript-eslint/eslint-plugin@8.59.2(@typescript-eslint/parser@8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3)(vitest@4.1.5) + '@vitest/eslint-plugin': 1.6.17(@typescript-eslint/eslint-plugin@8.59.2(@typescript-eslint/parser@8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(supports-color@5.5.0)(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3)(vitest@4.1.5) ansis: 4.2.0 cac: 7.0.0 eslint: 10.5.0(jiti@2.6.1) @@ -9486,25 +9660,27 @@ snapshots: eslint-plugin-antfu: 3.2.2(eslint@10.5.0(jiti@2.6.1)) eslint-plugin-command: 3.5.2(@typescript-eslint/rule-tester@8.57.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(@typescript-eslint/typescript-estree@8.59.2(typescript@5.9.3))(@typescript-eslint/utils@8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1)) eslint-plugin-import-lite: 0.6.0(eslint@10.5.0(jiti@2.6.1)) - eslint-plugin-jsdoc: 62.9.0(eslint@10.5.0(jiti@2.6.1)) + eslint-plugin-jsdoc: 62.9.0(eslint@10.5.0(jiti@2.6.1))(supports-color@5.5.0) eslint-plugin-jsonc: 3.1.2(eslint@10.5.0(jiti@2.6.1)) eslint-plugin-n: 17.24.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3) eslint-plugin-no-only-tests: 3.3.0 eslint-plugin-perfectionist: 5.9.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3) eslint-plugin-pnpm: 1.6.0(eslint@10.5.0(jiti@2.6.1)) eslint-plugin-regexp: 3.1.0(eslint@10.5.0(jiti@2.6.1)) - eslint-plugin-toml: 1.3.1(eslint@10.5.0(jiti@2.6.1)) + eslint-plugin-toml: 1.3.1(eslint@10.5.0(jiti@2.6.1))(supports-color@5.5.0) eslint-plugin-unicorn: 64.0.0(eslint@10.5.0(jiti@2.6.1)) - eslint-plugin-unused-imports: 4.4.1(@typescript-eslint/eslint-plugin@8.59.2(@typescript-eslint/parser@8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1)) + eslint-plugin-unused-imports: 4.4.1(@typescript-eslint/eslint-plugin@8.59.2(@typescript-eslint/parser@8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(supports-color@5.5.0)(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1)) eslint-plugin-vue: 10.8.0(@stylistic/eslint-plugin@5.10.0(eslint@10.5.0(jiti@2.6.1)))(@typescript-eslint/parser@8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(vue-eslint-parser@10.4.0(eslint@10.5.0(jiti@2.6.1))) - eslint-plugin-yml: 3.3.1(eslint@10.5.0(jiti@2.6.1)) + eslint-plugin-yml: 3.3.1(eslint@10.5.0(jiti@2.6.1))(supports-color@5.5.0) eslint-processor-vue-blocks: 2.0.0(@vue/compiler-sfc@3.5.30)(eslint@10.5.0(jiti@2.6.1)) globals: 17.6.0 local-pkg: 1.1.2 parse-gitignore: 2.0.0 toml-eslint-parser: 1.0.3 - vue-eslint-parser: 10.4.0(eslint@10.5.0(jiti@2.6.1)) + vue-eslint-parser: 10.4.0(eslint@10.5.0(jiti@2.6.1))(supports-color@5.5.0) yaml-eslint-parser: 2.0.0 + optionalDependencies: + eslint-plugin-format: 1.5.0(eslint@10.5.0(jiti@2.6.1)) transitivePeerDependencies: - '@eslint/json' - '@typescript-eslint/rule-tester' @@ -10422,6 +10598,12 @@ snapshots: dependencies: postcss-selector-parser: 7.1.1 + '@dprint/formatter@0.5.1': {} + + '@dprint/markdown@0.21.1': {} + + '@dprint/toml@0.7.0': {} + '@e18e/eslint-plugin@0.3.0(eslint@10.5.0(jiti@2.6.1))': dependencies: eslint-plugin-depend: 1.5.0(eslint@10.5.0(jiti@2.6.1)) @@ -10546,6 +10728,11 @@ snapshots: eslint: 10.5.0(jiti@2.6.1) ignore: 7.0.5 + '@eslint-community/eslint-utils@4.9.1(eslint@10.5.0(jiti@2.6.1)(supports-color@5.5.0))': + dependencies: + eslint: 10.5.0(jiti@2.6.1)(supports-color@5.5.0) + eslint-visitor-keys: 3.4.3 + '@eslint-community/eslint-utils@4.9.1(eslint@10.5.0(jiti@2.6.1))': dependencies: eslint: 10.5.0(jiti@2.6.1) @@ -10559,7 +10746,7 @@ snapshots: optionalDependencies: eslint: 10.5.0(jiti@2.6.1) - '@eslint/config-array@0.23.5': + '@eslint/config-array@0.23.5(supports-color@5.5.0)': dependencies: '@eslint/object-schema': 3.0.5 debug: 4.4.3(supports-color@5.5.0) @@ -10579,7 +10766,7 @@ snapshots: dependencies: '@types/json-schema': 7.0.15 - '@eslint/eslintrc@3.3.5': + '@eslint/eslintrc@3.3.5(supports-color@5.5.0)': dependencies: ajv: 6.15.0 debug: 4.4.3(supports-color@5.5.0) @@ -10675,11 +10862,11 @@ snapshots: dependencies: dequal: 2.0.3 - '@fastify/otel@0.18.1(@opentelemetry/api@1.9.1)': + '@fastify/otel@0.18.1(@opentelemetry/api@1.9.1)(supports-color@5.5.0)': dependencies: '@opentelemetry/api': 1.9.1 '@opentelemetry/core': 2.6.0(@opentelemetry/api@1.9.1) - '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation': 0.214.0(@opentelemetry/api@1.9.1)(supports-color@5.5.0) '@opentelemetry/semantic-conventions': 1.41.1 minimatch: 10.2.5 transitivePeerDependencies: @@ -10720,10 +10907,10 @@ snapshots: rfdc: 1.4.1 yaml: 2.9.0 - '@fastify/swagger@9.7.0': + '@fastify/swagger@9.7.0(supports-color@5.5.0)': dependencies: fastify-plugin: 5.1.0 - json-schema-resolver: 3.0.0 + json-schema-resolver: 3.0.0(supports-color@5.5.0) openapi-types: 12.1.3 rfdc: 1.4.1 yaml: 2.9.0 @@ -11078,10 +11265,10 @@ snapshots: '@tybys/wasm-util': 0.10.2 optional: true - '@nestjs/cache-manager@3.1.3(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.16)(cache-manager@7.2.8)(keyv@5.6.0)(rxjs@7.8.2)': + '@nestjs/cache-manager@3.1.3(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0))(@nestjs/core@11.1.16)(cache-manager@7.2.8)(keyv@5.6.0)(rxjs@7.8.2)': dependencies: - '@nestjs/common': 11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2) - '@nestjs/core': 11.1.16(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.16)(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/common': 11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0) + '@nestjs/core': 11.1.16(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0))(@nestjs/platform-express@11.1.16)(reflect-metadata@0.2.2)(rxjs@7.8.2) cache-manager: 7.2.8 keyv: 5.6.0 rxjs: 7.8.2 @@ -11121,9 +11308,9 @@ snapshots: - uglify-js - webpack-cli - '@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)': + '@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0)': dependencies: - file-type: 21.3.0 + file-type: 21.3.0(supports-color@5.5.0) iterare: 1.2.1 load-esm: 1.0.3 reflect-metadata: 0.2.2 @@ -11133,17 +11320,17 @@ snapshots: transitivePeerDependencies: - supports-color - '@nestjs/config@4.0.3(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2))(rxjs@7.8.2)': + '@nestjs/config@4.0.3(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0))(rxjs@7.8.2)': dependencies: - '@nestjs/common': 11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/common': 11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0) dotenv: 17.2.3 dotenv-expand: 12.0.3 lodash: 4.17.23 rxjs: 7.8.2 - '@nestjs/core@11.1.16(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.16)(reflect-metadata@0.2.2)(rxjs@7.8.2)': + '@nestjs/core@11.1.16(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0))(@nestjs/platform-express@11.1.16)(reflect-metadata@0.2.2)(rxjs@7.8.2)': dependencies: - '@nestjs/common': 11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/common': 11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0) '@nuxt/opencollective': 0.4.1 fast-safe-stringify: 2.1.1 iterare: 1.2.1 @@ -11153,29 +11340,29 @@ snapshots: tslib: 2.8.1 uid: 2.0.2 optionalDependencies: - '@nestjs/platform-express': 11.1.16(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.16) + '@nestjs/platform-express': 11.1.16(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0))(@nestjs/core@11.1.16) - '@nestjs/event-emitter@3.0.1(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.16)': + '@nestjs/event-emitter@3.0.1(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0))(@nestjs/core@11.1.16)': dependencies: - '@nestjs/common': 11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2) - '@nestjs/core': 11.1.16(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.16)(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/common': 11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0) + '@nestjs/core': 11.1.16(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0))(@nestjs/platform-express@11.1.16)(reflect-metadata@0.2.2)(rxjs@7.8.2) eventemitter2: 6.4.9 - '@nestjs/jwt@11.0.2(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2))': + '@nestjs/jwt@11.0.2(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0))': dependencies: - '@nestjs/common': 11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/common': 11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0) '@types/jsonwebtoken': 9.0.10 jsonwebtoken: 9.0.3 - '@nestjs/mapped-types@2.1.1(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2)': + '@nestjs/mapped-types@2.1.1(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0))(reflect-metadata@0.2.2)': dependencies: - '@nestjs/common': 11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/common': 11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0) reflect-metadata: 0.2.2 - '@nestjs/platform-express@11.1.16(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.16)': + '@nestjs/platform-express@11.1.16(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0))(@nestjs/core@11.1.16)': dependencies: - '@nestjs/common': 11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2) - '@nestjs/core': 11.1.16(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.16)(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/common': 11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0) + '@nestjs/core': 11.1.16(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0))(@nestjs/platform-express@11.1.16)(reflect-metadata@0.2.2)(rxjs@7.8.2) cors: 2.8.6 express: 5.2.1 multer: 2.1.1 @@ -11185,12 +11372,12 @@ snapshots: - supports-color optional: true - '@nestjs/platform-fastify@11.1.27(@fastify/static@9.1.3)(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.16)': + '@nestjs/platform-fastify@11.1.27(@fastify/static@9.1.3)(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0))(@nestjs/core@11.1.16)': dependencies: '@fastify/cors': 11.2.0 '@fastify/formbody': 8.0.2 - '@nestjs/common': 11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2) - '@nestjs/core': 11.1.16(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.16)(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/common': 11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0) + '@nestjs/core': 11.1.16(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0))(@nestjs/platform-express@11.1.16)(reflect-metadata@0.2.2)(rxjs@7.8.2) fast-querystring: 1.1.2 fastify: 5.8.5 fastify-plugin: 6.0.0 @@ -11202,10 +11389,10 @@ snapshots: optionalDependencies: '@fastify/static': 9.1.3 - '@nestjs/schedule@6.1.1(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.16)': + '@nestjs/schedule@6.1.1(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0))(@nestjs/core@11.1.16)': dependencies: - '@nestjs/common': 11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2) - '@nestjs/core': 11.1.16(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.16)(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/common': 11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0) + '@nestjs/core': 11.1.16(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0))(@nestjs/platform-express@11.1.16)(reflect-metadata@0.2.2)(rxjs@7.8.2) cron: 4.4.0 '@nestjs/schematics@11.0.9(chokidar@4.0.3)(typescript@5.9.3)': @@ -11219,12 +11406,12 @@ snapshots: transitivePeerDependencies: - chokidar - '@nestjs/swagger@11.4.1(@fastify/static@9.1.3)(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.16)(reflect-metadata@0.2.2)': + '@nestjs/swagger@11.4.1(@fastify/static@9.1.3)(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0))(@nestjs/core@11.1.16)(reflect-metadata@0.2.2)': dependencies: '@microsoft/tsdoc': 0.16.0 - '@nestjs/common': 11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2) - '@nestjs/core': 11.1.16(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.16)(reflect-metadata@0.2.2)(rxjs@7.8.2) - '@nestjs/mapped-types': 2.1.1(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2) + '@nestjs/common': 11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0) + '@nestjs/core': 11.1.16(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0))(@nestjs/platform-express@11.1.16)(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/mapped-types': 2.1.1(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0))(reflect-metadata@0.2.2) js-yaml: 4.1.1 lodash: 4.18.1 path-to-regexp: 8.4.2 @@ -11233,10 +11420,10 @@ snapshots: optionalDependencies: '@fastify/static': 9.1.3 - '@nestjs/terminus@11.1.1(@grpc/grpc-js@1.14.3)(@grpc/proto-loader@0.8.0)(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.16)(@prisma/client@6.19.2(prisma@6.19.2(magicast@0.3.5)(typescript@5.9.3))(typescript@5.9.3))(reflect-metadata@0.2.2)(rxjs@7.8.2)': + '@nestjs/terminus@11.1.1(@grpc/grpc-js@1.14.3)(@grpc/proto-loader@0.8.0)(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0))(@nestjs/core@11.1.16)(@prisma/client@6.19.2(prisma@6.19.2(magicast@0.3.5)(typescript@5.9.3))(typescript@5.9.3))(reflect-metadata@0.2.2)(rxjs@7.8.2)': dependencies: - '@nestjs/common': 11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2) - '@nestjs/core': 11.1.16(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.16)(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/common': 11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0) + '@nestjs/core': 11.1.16(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0))(@nestjs/platform-express@11.1.16)(reflect-metadata@0.2.2)(rxjs@7.8.2) boxen: 5.1.2 check-disk-space: 3.4.0 reflect-metadata: 0.2.2 @@ -11246,13 +11433,13 @@ snapshots: '@grpc/proto-loader': 0.8.0 '@prisma/client': 6.19.2(prisma@6.19.2(magicast@0.3.5)(typescript@5.9.3))(typescript@5.9.3) - '@nestjs/testing@11.1.16(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.16)(@nestjs/platform-express@11.1.16)': + '@nestjs/testing@11.1.16(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0))(@nestjs/core@11.1.16)(@nestjs/platform-express@11.1.16)': dependencies: - '@nestjs/common': 11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2) - '@nestjs/core': 11.1.16(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.16)(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/common': 11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0) + '@nestjs/core': 11.1.16(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0))(@nestjs/platform-express@11.1.16)(reflect-metadata@0.2.2)(rxjs@7.8.2) tslib: 2.8.1 optionalDependencies: - '@nestjs/platform-express': 11.1.16(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.16) + '@nestjs/platform-express': 11.1.16(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0))(@nestjs/core@11.1.16) '@nodelib/fs.scandir@2.1.5': dependencies: @@ -11866,7 +12053,7 @@ snapshots: '@opentelemetry/api': 1.9.1 '@opentelemetry/api-logs': 0.212.0 import-in-the-middle: 2.0.6 - require-in-the-middle: 8.0.1 + require-in-the-middle: 8.0.1(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -11875,16 +12062,16 @@ snapshots: '@opentelemetry/api': 1.9.1 '@opentelemetry/api-logs': 0.213.0 import-in-the-middle: 3.0.0 - require-in-the-middle: 8.0.1 + require-in-the-middle: 8.0.1(supports-color@5.5.0) transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation@0.214.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/instrumentation@0.214.0(@opentelemetry/api@1.9.1)(supports-color@5.5.0)': dependencies: '@opentelemetry/api': 1.9.1 '@opentelemetry/api-logs': 0.214.0 import-in-the-middle: 3.0.0 - require-in-the-middle: 8.0.1 + require-in-the-middle: 8.0.1(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -12145,6 +12332,63 @@ snapshots: '@oxc-project/types@0.128.0': {} + '@oxfmt/binding-android-arm-eabi@0.35.0': + optional: true + + '@oxfmt/binding-android-arm64@0.35.0': + optional: true + + '@oxfmt/binding-darwin-arm64@0.35.0': + optional: true + + '@oxfmt/binding-darwin-x64@0.35.0': + optional: true + + '@oxfmt/binding-freebsd-x64@0.35.0': + optional: true + + '@oxfmt/binding-linux-arm-gnueabihf@0.35.0': + optional: true + + '@oxfmt/binding-linux-arm-musleabihf@0.35.0': + optional: true + + '@oxfmt/binding-linux-arm64-gnu@0.35.0': + optional: true + + '@oxfmt/binding-linux-arm64-musl@0.35.0': + optional: true + + '@oxfmt/binding-linux-ppc64-gnu@0.35.0': + optional: true + + '@oxfmt/binding-linux-riscv64-gnu@0.35.0': + optional: true + + '@oxfmt/binding-linux-riscv64-musl@0.35.0': + optional: true + + '@oxfmt/binding-linux-s390x-gnu@0.35.0': + optional: true + + '@oxfmt/binding-linux-x64-gnu@0.35.0': + optional: true + + '@oxfmt/binding-linux-x64-musl@0.35.0': + optional: true + + '@oxfmt/binding-openharmony-arm64@0.35.0': + optional: true + + '@oxfmt/binding-win32-arm64-msvc@0.35.0': + optional: true + + '@oxfmt/binding-win32-ia32-msvc@0.35.0': + optional: true + + '@oxfmt/binding-win32-x64-msvc@0.35.0': + optional: true + '@pinojs/redact@0.4.0': {} '@pkgr/core@0.2.9': {} @@ -12431,7 +12675,7 @@ snapshots: dependencies: tslib: 2.8.1 - '@tokenizer/inflate@0.4.1': + '@tokenizer/inflate@0.4.1(supports-color@5.5.0)': dependencies: debug: 4.4.3(supports-color@5.5.0) token-types: 6.1.2 @@ -12613,12 +12857,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@8.59.2(@typescript-eslint/parser@8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/eslint-plugin@8.59.2(@typescript-eslint/parser@8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(supports-color@5.5.0)(typescript@5.9.3)': dependencies: '@eslint-community/regexpp': 4.12.2 '@typescript-eslint/parser': 8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/scope-manager': 8.59.2 - '@typescript-eslint/type-utils': 8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/type-utils': 8.59.2(eslint@10.5.0(jiti@2.6.1))(supports-color@5.5.0)(typescript@5.9.3) '@typescript-eslint/utils': 8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/visitor-keys': 8.59.2 eslint: 10.5.0(jiti@2.6.1) @@ -12715,7 +12959,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/type-utils@8.59.2(eslint@10.5.0(jiti@2.6.1))(supports-color@5.5.0)(typescript@5.9.3)': dependencies: '@typescript-eslint/types': 8.59.2 '@typescript-eslint/typescript-estree': 8.59.2(typescript@5.9.3) @@ -12958,15 +13202,15 @@ snapshots: obug: 2.1.3 std-env: 4.1.0 tinyrainbow: 3.1.0 - vitest: 4.1.5(@opentelemetry/api@1.9.1)(@types/node@24.12.0)(@vitest/coverage-v8@4.1.5)(jsdom@25.0.1)(msw@2.12.10(@types/node@24.12.0)(typescript@5.9.3))(vite@7.3.3(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.48.0)(yaml@2.9.0)) + vitest: 4.1.5(@opentelemetry/api@1.9.1)(@types/node@24.12.0)(@vitest/coverage-v8@4.1.5)(jsdom@25.0.1(supports-color@5.5.0))(msw@2.12.10(@types/node@24.12.0)(typescript@5.9.3))(vite@7.3.3(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.48.0)(yaml@2.9.0)) - '@vitest/eslint-plugin@1.6.17(@typescript-eslint/eslint-plugin@8.59.2(@typescript-eslint/parser@8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3)(vitest@4.1.5)': + '@vitest/eslint-plugin@1.6.17(@typescript-eslint/eslint-plugin@8.59.2(@typescript-eslint/parser@8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(supports-color@5.5.0)(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3)(vitest@4.1.5)': dependencies: '@typescript-eslint/scope-manager': 8.59.2 '@typescript-eslint/utils': 8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3) eslint: 10.5.0(jiti@2.6.1) optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.59.2(@typescript-eslint/parser@8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/eslint-plugin': 8.59.2(@typescript-eslint/parser@8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(supports-color@5.5.0)(typescript@5.9.3) typescript: 5.9.3 vitest: 4.1.5(@opentelemetry/api@1.9.1)(@types/node@24.12.0)(@vitest/coverage-v8@4.1.5)(jsdom@25.0.1)(msw@2.12.10(@types/node@24.12.0)(typescript@5.9.3))(vite@8.0.11(@types/node@24.12.0)(esbuild@0.27.3)(jiti@2.6.1)(terser@5.48.0)(yaml@2.9.0)) transitivePeerDependencies: @@ -13072,14 +13316,14 @@ snapshots: '@vue/devtools-api@6.6.4': {} - '@vue/eslint-config-typescript@14.7.0(eslint-plugin-vue@10.8.0(@stylistic/eslint-plugin@5.10.0(eslint@10.5.0(jiti@2.6.1)))(@typescript-eslint/parser@8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(vue-eslint-parser@10.4.0(eslint@10.5.0(jiti@2.6.1))))(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3)': + '@vue/eslint-config-typescript@14.7.0(eslint-plugin-vue@10.8.0(@stylistic/eslint-plugin@5.10.0(eslint@10.5.0(jiti@2.6.1)))(@typescript-eslint/parser@8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(vue-eslint-parser@10.4.0(eslint@10.5.0(jiti@2.6.1))(supports-color@5.5.0)))(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@typescript-eslint/utils': 8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3) eslint: 10.5.0(jiti@2.6.1) eslint-plugin-vue: 10.8.0(@stylistic/eslint-plugin@5.10.0(eslint@10.5.0(jiti@2.6.1)))(@typescript-eslint/parser@8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(vue-eslint-parser@10.4.0(eslint@10.5.0(jiti@2.6.1))) fast-glob: 3.3.3 typescript-eslint: 8.57.0(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3) - vue-eslint-parser: 10.4.0(eslint@10.5.0(jiti@2.6.1)) + vue-eslint-parser: 10.4.0(eslint@10.5.0(jiti@2.6.1))(supports-color@5.5.0) optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: @@ -14194,6 +14438,11 @@ snapshots: '@eslint/config-helpers': 0.5.5 pathe: 2.0.3 + eslint-formatting-reporter@0.0.0(eslint@10.5.0(jiti@2.6.1)): + dependencies: + eslint: 10.5.0(jiti@2.6.1) + prettier-linter-helpers: 1.0.1 + eslint-json-compat-utils@0.2.3(eslint@10.5.0(jiti@2.6.1))(jsonc-eslint-parser@3.1.0): dependencies: eslint: 10.5.0(jiti@2.6.1) @@ -14204,6 +14453,8 @@ snapshots: dependencies: eslint: 10.5.0(jiti@2.6.1) + eslint-parser-plain@0.1.1: {} + eslint-plugin-antfu@3.2.2(eslint@10.5.0(jiti@2.6.1)): dependencies: eslint: 10.5.0(jiti@2.6.1) @@ -14230,11 +14481,24 @@ snapshots: eslint: 10.5.0(jiti@2.6.1) eslint-compat-utils: 0.5.1(eslint@10.5.0(jiti@2.6.1)) + eslint-plugin-format@1.5.0(eslint@10.5.0(jiti@2.6.1)): + dependencies: + '@dprint/formatter': 0.5.1 + '@dprint/markdown': 0.21.1 + '@dprint/toml': 0.7.0 + eslint: 10.5.0(jiti@2.6.1) + eslint-formatting-reporter: 0.0.0(eslint@10.5.0(jiti@2.6.1)) + eslint-parser-plain: 0.1.1 + ohash: 2.0.11 + oxfmt: 0.35.0 + prettier: 3.9.6 + synckit: 0.11.12 + eslint-plugin-import-lite@0.6.0(eslint@10.5.0(jiti@2.6.1)): dependencies: eslint: 10.5.0(jiti@2.6.1) - eslint-plugin-jsdoc@62.9.0(eslint@10.5.0(jiti@2.6.1)): + eslint-plugin-jsdoc@62.9.0(eslint@10.5.0(jiti@2.6.1))(supports-color@5.5.0): dependencies: '@es-joy/jsdoccomment': 0.86.0 '@es-joy/resolve.exports': 1.2.0 @@ -14317,7 +14581,7 @@ snapshots: regexp-ast-analysis: 0.7.1 scslre: 0.3.0 - eslint-plugin-toml@1.3.1(eslint@10.5.0(jiti@2.6.1)): + eslint-plugin-toml@1.3.1(eslint@10.5.0(jiti@2.6.1))(supports-color@5.5.0): dependencies: '@eslint/core': 1.2.1 '@eslint/plugin-kit': 0.6.1 @@ -14348,11 +14612,11 @@ snapshots: semver: 7.8.5 strip-indent: 4.1.1 - eslint-plugin-unused-imports@4.4.1(@typescript-eslint/eslint-plugin@8.59.2(@typescript-eslint/parser@8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1)): + eslint-plugin-unused-imports@4.4.1(@typescript-eslint/eslint-plugin@8.59.2(@typescript-eslint/parser@8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(supports-color@5.5.0)(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1)): dependencies: eslint: 10.5.0(jiti@2.6.1) optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.59.2(@typescript-eslint/parser@8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/eslint-plugin': 8.59.2(@typescript-eslint/parser@8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(supports-color@5.5.0)(typescript@5.9.3) eslint-plugin-vue@10.8.0(@stylistic/eslint-plugin@5.10.0(eslint@10.5.0(jiti@2.6.1)))(@typescript-eslint/parser@8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.5.0(jiti@2.6.1))(vue-eslint-parser@10.4.0(eslint@10.5.0(jiti@2.6.1))): dependencies: @@ -14362,13 +14626,13 @@ snapshots: nth-check: 2.1.1 postcss-selector-parser: 7.1.1 semver: 7.8.5 - vue-eslint-parser: 10.4.0(eslint@10.5.0(jiti@2.6.1)) + vue-eslint-parser: 10.4.0(eslint@10.5.0(jiti@2.6.1))(supports-color@5.5.0) xml-name-validator: 4.0.0 optionalDependencies: '@stylistic/eslint-plugin': 5.10.0(eslint@10.5.0(jiti@2.6.1)) '@typescript-eslint/parser': 8.59.2(eslint@10.5.0(jiti@2.6.1))(typescript@5.9.3) - eslint-plugin-yml@3.3.1(eslint@10.5.0(jiti@2.6.1)): + eslint-plugin-yml@3.3.1(eslint@10.5.0(jiti@2.6.1))(supports-color@5.5.0): dependencies: '@eslint/core': 1.2.1 '@eslint/plugin-kit': 0.6.1 @@ -14409,7 +14673,44 @@ snapshots: dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@10.5.0(jiti@2.6.1)) '@eslint-community/regexpp': 4.12.2 - '@eslint/config-array': 0.23.5 + '@eslint/config-array': 0.23.5(supports-color@5.5.0) + '@eslint/config-helpers': 0.6.0 + '@eslint/core': 1.2.1 + '@eslint/plugin-kit': 0.7.2 + '@humanfs/node': 0.16.8 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.9 + ajv: 6.15.0 + cross-spawn: 7.0.6 + debug: 4.4.3(supports-color@5.5.0) + escape-string-regexp: 4.0.0 + eslint-scope: 9.1.2 + eslint-visitor-keys: 5.0.1 + espree: 11.2.0 + esquery: 1.7.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + minimatch: 10.2.5 + natural-compare: 1.4.0 + optionator: 0.9.4 + optionalDependencies: + jiti: 2.6.1 + transitivePeerDependencies: + - supports-color + + eslint@10.5.0(jiti@2.6.1)(supports-color@5.5.0): + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@10.5.0(jiti@2.6.1)(supports-color@5.5.0)) + '@eslint-community/regexpp': 4.12.2 + '@eslint/config-array': 0.23.5(supports-color@5.5.0) '@eslint/config-helpers': 0.6.0 '@eslint/core': 1.2.1 '@eslint/plugin-kit': 0.7.2 @@ -14539,6 +14840,8 @@ snapshots: fast-deep-equal@3.1.3: {} + fast-diff@1.3.0: {} + fast-glob@3.3.3: dependencies: '@nodelib/fs.stat': 2.0.5 @@ -14664,9 +14967,9 @@ snapshots: dependencies: flat-cache: 4.0.1 - file-type@21.3.0: + file-type@21.3.0(supports-color@5.5.0): dependencies: - '@tokenizer/inflate': 0.4.1 + '@tokenizer/inflate': 0.4.1(supports-color@5.5.0) strtok3: 10.3.4 token-types: 6.1.2 uint8array-extras: 1.5.0 @@ -14820,7 +15123,7 @@ snapshots: gaxios@7.1.4: dependencies: extend: 3.0.2 - https-proxy-agent: 7.0.6 + https-proxy-agent: 7.0.6(supports-color@5.5.0) node-fetch: 3.3.2 transitivePeerDependencies: - supports-color @@ -15072,7 +15375,7 @@ snapshots: statuses: 2.0.2 toidentifier: 1.0.1 - http-proxy-agent@7.0.2: + http-proxy-agent@7.0.2(supports-color@5.5.0): dependencies: agent-base: 7.1.4 debug: 4.4.3(supports-color@5.5.0) @@ -15081,7 +15384,7 @@ snapshots: http2-client@1.3.5: {} - https-proxy-agent@7.0.6: + https-proxy-agent@7.0.6(supports-color@5.5.0): dependencies: agent-base: 7.1.4 debug: 4.4.3(supports-color@5.5.0) @@ -15386,15 +15689,15 @@ snapshots: jsdoc-type-pratt-parser@7.2.0: {} - jsdom@25.0.1: + jsdom@25.0.1(supports-color@5.5.0): dependencies: cssstyle: 4.6.0 data-urls: 5.0.0 decimal.js: 10.6.0 form-data: 4.0.6 html-encoding-sniffer: 4.0.0 - http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.6 + http-proxy-agent: 7.0.2(supports-color@5.5.0) + https-proxy-agent: 7.0.6(supports-color@5.5.0) is-potential-custom-element-name: 1.0.1 nwsapi: 2.2.24 parse5: 7.3.0 @@ -15433,7 +15736,7 @@ snapshots: dependencies: dequal: 2.0.3 - json-schema-resolver@3.0.0: + json-schema-resolver@3.0.0(supports-color@5.5.0): dependencies: debug: 4.4.3(supports-color@5.5.0) fast-uri: 3.1.2 @@ -16214,9 +16517,9 @@ snapshots: neo-async@2.6.2: {} - nestjs-pino@4.6.0(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2))(pino-http@11.0.0)(pino@10.3.1)(rxjs@7.8.2): + nestjs-pino@4.6.0(@nestjs/common@11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0))(pino-http@11.0.0)(pino@10.3.1)(rxjs@7.8.2): dependencies: - '@nestjs/common': 11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/common': 11.1.16(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@5.5.0) pino: 10.3.1 pino-http: 11.0.0 rxjs: 7.8.2 @@ -16428,6 +16731,30 @@ snapshots: magic-regexp: 0.10.0 oxc-parser: 0.115.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + oxfmt@0.35.0: + dependencies: + tinypool: 2.1.0 + optionalDependencies: + '@oxfmt/binding-android-arm-eabi': 0.35.0 + '@oxfmt/binding-android-arm64': 0.35.0 + '@oxfmt/binding-darwin-arm64': 0.35.0 + '@oxfmt/binding-darwin-x64': 0.35.0 + '@oxfmt/binding-freebsd-x64': 0.35.0 + '@oxfmt/binding-linux-arm-gnueabihf': 0.35.0 + '@oxfmt/binding-linux-arm-musleabihf': 0.35.0 + '@oxfmt/binding-linux-arm64-gnu': 0.35.0 + '@oxfmt/binding-linux-arm64-musl': 0.35.0 + '@oxfmt/binding-linux-ppc64-gnu': 0.35.0 + '@oxfmt/binding-linux-riscv64-gnu': 0.35.0 + '@oxfmt/binding-linux-riscv64-musl': 0.35.0 + '@oxfmt/binding-linux-s390x-gnu': 0.35.0 + '@oxfmt/binding-linux-x64-gnu': 0.35.0 + '@oxfmt/binding-linux-x64-musl': 0.35.0 + '@oxfmt/binding-openharmony-arm64': 0.35.0 + '@oxfmt/binding-win32-arm64-msvc': 0.35.0 + '@oxfmt/binding-win32-ia32-msvc': 0.35.0 + '@oxfmt/binding-win32-x64-msvc': 0.35.0 + p-debounce@4.0.0: {} p-limit@3.1.0: @@ -16658,6 +16985,12 @@ snapshots: prelude-ls@1.2.1: {} + prettier-linter-helpers@1.0.1: + dependencies: + fast-diff: 1.3.0 + + prettier@3.9.6: {} + pretty-bytes@5.6.0: {} pretty-bytes@6.1.1: {} @@ -16871,7 +17204,7 @@ snapshots: require-from-string@2.0.2: {} - require-in-the-middle@8.0.1: + require-in-the-middle@8.0.1(supports-color@5.5.0): dependencies: debug: 4.4.3(supports-color@5.5.0) module-details-from-path: 1.0.4 @@ -17390,29 +17723,29 @@ snapshots: dependencies: '@tokenizer/token': 0.3.0 - stylelint-config-html@1.1.0(postcss-html@1.8.1)(stylelint@17.11.0(typescript@5.9.3)): + stylelint-config-html@1.1.0(postcss-html@1.8.1)(stylelint@17.11.0(supports-color@5.5.0)(typescript@5.9.3)): dependencies: postcss-html: 1.8.1 - stylelint: 17.11.0(typescript@5.9.3) + stylelint: 17.11.0(supports-color@5.5.0)(typescript@5.9.3) - stylelint-config-recommended-vue@1.6.1(postcss-html@1.8.1)(stylelint@17.11.0(typescript@5.9.3)): + stylelint-config-recommended-vue@1.6.1(postcss-html@1.8.1)(stylelint@17.11.0(supports-color@5.5.0)(typescript@5.9.3)): dependencies: postcss-html: 1.8.1 semver: 7.8.5 - stylelint: 17.11.0(typescript@5.9.3) - stylelint-config-html: 1.1.0(postcss-html@1.8.1)(stylelint@17.11.0(typescript@5.9.3)) - stylelint-config-recommended: 18.0.0(stylelint@17.11.0(typescript@5.9.3)) + stylelint: 17.11.0(supports-color@5.5.0)(typescript@5.9.3) + stylelint-config-html: 1.1.0(postcss-html@1.8.1)(stylelint@17.11.0(supports-color@5.5.0)(typescript@5.9.3)) + stylelint-config-recommended: 18.0.0(stylelint@17.11.0(supports-color@5.5.0)(typescript@5.9.3)) - stylelint-config-recommended@18.0.0(stylelint@17.11.0(typescript@5.9.3)): + stylelint-config-recommended@18.0.0(stylelint@17.11.0(supports-color@5.5.0)(typescript@5.9.3)): dependencies: - stylelint: 17.11.0(typescript@5.9.3) + stylelint: 17.11.0(supports-color@5.5.0)(typescript@5.9.3) - stylelint-config-standard@40.0.0(stylelint@17.11.0(typescript@5.9.3)): + stylelint-config-standard@40.0.0(stylelint@17.11.0(supports-color@5.5.0)(typescript@5.9.3)): dependencies: - stylelint: 17.11.0(typescript@5.9.3) - stylelint-config-recommended: 18.0.0(stylelint@17.11.0(typescript@5.9.3)) + stylelint: 17.11.0(supports-color@5.5.0)(typescript@5.9.3) + stylelint-config-recommended: 18.0.0(stylelint@17.11.0(supports-color@5.5.0)(typescript@5.9.3)) - stylelint@17.11.0(typescript@5.9.3): + stylelint@17.11.0(supports-color@5.5.0)(typescript@5.9.3): dependencies: '@csstools/css-calc': 3.2.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) @@ -17598,6 +17931,8 @@ snapshots: fdir: 6.5.0(picomatch@4.0.4) picomatch: 4.0.4 + tinypool@2.1.0: {} + tinyrainbow@3.1.0: {} tldts-core@6.1.86: {} @@ -17918,7 +18253,7 @@ snapshots: pathe: 2.0.3 picomatch: 4.0.4 - unplugin-vue-components@0.27.5(@babel/parser@7.29.7)(rollup@2.80.0)(vue@3.5.30(typescript@5.9.3)): + unplugin-vue-components@0.27.5(@babel/parser@7.29.7)(rollup@2.80.0)(supports-color@5.5.0)(vue@3.5.30(typescript@5.9.3)): dependencies: '@antfu/utils': 0.7.10 '@rollup/pluginutils': 5.4.0(rollup@2.80.0) @@ -17995,7 +18330,7 @@ snapshots: - tsx - yaml - vite-plugin-pwa@1.2.0(vite@7.3.3(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.48.0)(yaml@2.9.0))(workbox-build@7.4.0(@types/babel__core@7.20.5))(workbox-window@7.4.0): + vite-plugin-pwa@1.2.0(supports-color@5.5.0)(vite@7.3.3(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.48.0)(yaml@2.9.0))(workbox-build@7.4.0(@types/babel__core@7.20.5))(workbox-window@7.4.0): dependencies: debug: 4.4.3(supports-color@5.5.0) pretty-bytes: 6.1.1 @@ -18043,6 +18378,36 @@ snapshots: typescript: 5.9.3 vitest: 4.1.5(@opentelemetry/api@1.9.1)(@types/node@24.12.0)(@vitest/coverage-v8@4.1.5)(jsdom@25.0.1)(msw@2.12.10(@types/node@24.12.0)(typescript@5.9.3))(vite@7.3.3(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.48.0)(yaml@2.9.0)) + vitest@4.1.5(@opentelemetry/api@1.9.1)(@types/node@24.12.0)(@vitest/coverage-v8@4.1.5)(jsdom@25.0.1(supports-color@5.5.0))(msw@2.12.10(@types/node@24.12.0)(typescript@5.9.3))(vite@7.3.3(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.48.0)(yaml@2.9.0)): + dependencies: + '@vitest/expect': 4.1.5 + '@vitest/mocker': 4.1.5(msw@2.12.10(@types/node@24.12.0)(typescript@5.9.3))(vite@7.3.3(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.48.0)(yaml@2.9.0)) + '@vitest/pretty-format': 4.1.5 + '@vitest/runner': 4.1.5 + '@vitest/snapshot': 4.1.5 + '@vitest/spy': 4.1.5 + '@vitest/utils': 4.1.5 + es-module-lexer: 2.1.0 + expect-type: 1.3.0 + magic-string: 0.30.21 + obug: 2.1.3 + pathe: 2.0.3 + picomatch: 4.0.4 + std-env: 4.1.0 + tinybench: 2.9.0 + tinyexec: 1.2.4 + tinyglobby: 0.2.17 + tinyrainbow: 3.1.0 + vite: 7.3.3(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.48.0)(yaml@2.9.0) + why-is-node-running: 2.3.0 + optionalDependencies: + '@opentelemetry/api': 1.9.1 + '@types/node': 24.12.0 + '@vitest/coverage-v8': 4.1.5(vitest@4.1.5) + jsdom: 25.0.1(supports-color@5.5.0) + transitivePeerDependencies: + - msw + vitest@4.1.5(@opentelemetry/api@1.9.1)(@types/node@24.12.0)(@vitest/coverage-v8@4.1.5)(jsdom@25.0.1)(msw@2.12.10(@types/node@24.12.0)(typescript@5.9.3))(vite@7.3.3(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.48.0)(yaml@2.9.0)): dependencies: '@vitest/expect': 4.1.5 @@ -18069,7 +18434,7 @@ snapshots: '@opentelemetry/api': 1.9.1 '@types/node': 24.12.0 '@vitest/coverage-v8': 4.1.5(vitest@4.1.5) - jsdom: 25.0.1 + jsdom: 25.0.1(supports-color@5.5.0) transitivePeerDependencies: - msw @@ -18099,7 +18464,7 @@ snapshots: '@opentelemetry/api': 1.9.1 '@types/node': 24.12.0 '@vitest/coverage-v8': 4.1.5(vitest@4.1.5) - jsdom: 25.0.1 + jsdom: 25.0.1(supports-color@5.5.0) transitivePeerDependencies: - msw @@ -18109,7 +18474,7 @@ snapshots: dependencies: vue: 3.5.30(typescript@5.9.3) - vue-eslint-parser@10.4.0(eslint@10.5.0(jiti@2.6.1)): + vue-eslint-parser@10.4.0(eslint@10.5.0(jiti@2.6.1))(supports-color@5.5.0): dependencies: debug: 4.4.3(supports-color@5.5.0) eslint: 10.5.0(jiti@2.6.1) diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index a812ffa983..03f6117c63 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -146,6 +146,7 @@ catalogs: "@vue/eslint-config-typescript": ^14.7.0 chalk: ^5.6.2 eslint: ^10.5.0 + eslint-plugin-format: ^1.0.0 eslint-plugin-vue: ^10.8.0 husky: ^9.1.7 js-yaml: ^4.1.0