diff --git a/examples/repro/README.md b/examples/repro/README.md new file mode 100644 index 000000000000..a1df0407c2db --- /dev/null +++ b/examples/repro/README.md @@ -0,0 +1,3 @@ +```sh +VITE_NODE_DEBUG_DUMP=1 pnpm -C examples/repro test -- --coverage +``` diff --git a/examples/repro/package.json b/examples/repro/package.json new file mode 100644 index 000000000000..bec2d420c4de --- /dev/null +++ b/examples/repro/package.json @@ -0,0 +1,16 @@ +{ + "name": "@vitest/example-repro", + "type": "module", + "private": true, + "license": "MIT", + "scripts": { + "test": "vitest" + }, + "devDependencies": { + "magic-string": "^0.30.17", + "vitest": "latest" + }, + "stackblitz": { + "startCommand": "npm run test:ui" + } +} diff --git a/examples/repro/src/basic.test.ts b/examples/repro/src/basic.test.ts new file mode 100644 index 000000000000..733bcc609863 --- /dev/null +++ b/examples/repro/src/basic.test.ts @@ -0,0 +1,7 @@ +import { expect, test } from 'vitest' +import { squared, cube } from './basic' + +test('repro', () => { + expect(squared(2)).toBe(4) + expect(cube(2)).toBe(8) +}) diff --git a/examples/repro/src/basic.ts b/examples/repro/src/basic.ts new file mode 100644 index 000000000000..7f1425e780aa --- /dev/null +++ b/examples/repro/src/basic.ts @@ -0,0 +1,2 @@ +export const squared = (n: number) => n * n +export const cube = (n: number) => n * n * n diff --git a/examples/repro/vite.config.ts b/examples/repro/vite.config.ts new file mode 100644 index 000000000000..db9bbf858643 --- /dev/null +++ b/examples/repro/vite.config.ts @@ -0,0 +1,27 @@ +import MagicString from 'magic-string' +import { defineConfig } from 'vitest/config' + +export default defineConfig({ + test: { + coverage: { + reporter: ['text', 'text-summary', 'html', 'clover', 'json'], + }, + }, + plugins: [ + { + name: 'repro', + transform(code, id, _options) { + if (1) return; + if (id.endsWith('/basic.ts')) { + const output = new MagicString(code) + output.prepend(`function prepended(){};`) + output.append(`;function appended(){};`) + return { + code: output.toString(), + map: output.generateMap({ hires: 'boundary' }), + } + } + }, + }, + ], +}) diff --git a/package.json b/package.json index 1480e1eb5ede..5155e7d675ce 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,7 @@ "tinyglobby": "^0.2.10", "tsx": "^4.19.2", "typescript": "^5.7.2", - "vite": "^5.4.0", + "vite": "https://pkg.pr.new/vite@18983", "vitest": "workspace:*", "zx": "^8.2.4" }, diff --git a/packages/coverage-v8/src/provider.ts b/packages/coverage-v8/src/provider.ts index 55b93d349793..0279566522eb 100644 --- a/packages/coverage-v8/src/provider.ts +++ b/packages/coverage-v8/src/provider.ts @@ -23,6 +23,7 @@ import v8ToIstanbul from 'v8-to-istanbul' import { cleanUrl } from 'vite-node/utils' import { BaseCoverageProvider } from 'vitest/coverage' +import { offsetToPosition, originalPositionFor, TraceMap } from 'vitest/utils' import { version } from '../package.json' with { type: 'json' } type TransformResults = Map @@ -31,9 +32,6 @@ type RawCoverage = Profiler.TakePreciseCoverageReturnType // TODO: vite-node should export this const WRAPPER_LENGTH = 185 -// Note that this needs to match the line ending as well -const VITE_EXPORTS_LINE_PATTERN - = /Object\.defineProperty\(__vite_ssr_exports__.*\n/g const DECORATOR_METADATA_PATTERN = /_ts_metadata\("design:paramtypes", \[[^\]]*\]\),*/g const FILE_PROTOCOL = 'file://' @@ -349,6 +347,29 @@ export class V8CoverageProvider extends BaseCoverageProvider { + if (f.ranges.length === 1) { + const start = f.ranges[0].startOffset - wrapperLength + const end = f.ranges[0].endOffset - wrapperLength - 1 + if ([start, end].every(offset => offset >= 0 && offset < sources.source.length)) { + const startPos = offsetToPosition(sources.source, start) + const endPos = offsetToPosition(sources.source, end) + const startSourcePos = originalPositionFor(traceMap, startPos) + const endSourcePos = originalPositionFor(traceMap, endPos) + if (startSourcePos.line === null && endSourcePos.line === null) { + return false + } + } + } + return true + }) + } + const converter = v8ToIstanbul( url, wrapperLength, @@ -392,15 +413,11 @@ function excludeGeneratedCode( return map } - if ( - !source.match(VITE_EXPORTS_LINE_PATTERN) - && !source.match(DECORATOR_METADATA_PATTERN) - ) { + if (!source.match(DECORATOR_METADATA_PATTERN)) { return map } const trimmed = new MagicString(source) - trimmed.replaceAll(VITE_EXPORTS_LINE_PATTERN, '\n') trimmed.replaceAll(DECORATOR_METADATA_PATTERN, match => '\n'.repeat(match.split('\n').length - 1)) diff --git a/packages/utils/src/index.ts b/packages/utils/src/index.ts index cdf049c5ac1b..3a3b565b443d 100644 --- a/packages/utils/src/index.ts +++ b/packages/utils/src/index.ts @@ -33,6 +33,7 @@ export { nanoid } from './nanoid' export { lineSplitRE, offsetToLineNumber, + offsetToPosition, positionToOffset, } from './offset' export { shuffle } from './random' diff --git a/packages/utils/src/offset.ts b/packages/utils/src/offset.ts index f76a007fb033..0ecc0ea2a7d7 100644 --- a/packages/utils/src/offset.ts +++ b/packages/utils/src/offset.ts @@ -21,6 +21,13 @@ export function positionToOffset( } export function offsetToLineNumber(source: string, offset: number): number { + return offsetToPosition(source, offset).line +} + +export function offsetToPosition( + source: string, + offset: number, +): { line: number; column: number } { if (offset > source.length) { throw new Error( `offset is longer than source length! offset ${offset} > length ${source.length}`, @@ -30,13 +37,15 @@ export function offsetToLineNumber(source: string, offset: number): number { const nl = /\r\n/.test(source) ? 2 : 1 let counted = 0 let line = 0 + let column = 0 for (; line < lines.length; line++) { const lineLength = lines[line].length + nl if (counted + lineLength >= offset) { + column = offset - counted break } counted += lineLength } - return line + 1 + return { line: line + 1, column } } diff --git a/packages/vitest/src/utils/source-map.ts b/packages/vitest/src/utils/source-map.ts index 3f282ba7dd24..6f46cdc91467 100644 --- a/packages/vitest/src/utils/source-map.ts +++ b/packages/vitest/src/utils/source-map.ts @@ -1,6 +1,7 @@ export { lineSplitRE, offsetToLineNumber, + offsetToPosition, positionToOffset, } from '@vitest/utils' export { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d9d0f3e43651..d195f672058b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,7 +10,7 @@ overrides: acorn: 8.11.3 mlly: ^1.7.3 rollup: ^4.29.1 - vite: ^5.4.0 + vite: https://pkg.pr.new/vite@18983 vitest: workspace:* patchedDependencies: @@ -116,8 +116,8 @@ importers: specifier: ^5.7.2 version: 5.7.2 vite: - specifier: ^5.4.0 - version: 5.4.0(@types/node@22.10.2)(terser@5.36.0) + specifier: https://pkg.pr.new/vite@18983 + version: https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) vitest: specifier: workspace:* version: link:packages/vitest @@ -154,10 +154,10 @@ importers: version: 0.2.6 '@vite-pwa/vitepress': specifier: ^0.5.3 - version: 0.5.3(@vite-pwa/assets-generator@0.2.6)(vite-plugin-pwa@0.21.1(@vite-pwa/assets-generator@0.2.6)(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.3.0)) + version: 0.5.3(@vite-pwa/assets-generator@0.2.6)(vite-plugin-pwa@0.21.1(@vite-pwa/assets-generator@0.2.6)(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.3.0)) '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0))(vue@3.5.12(typescript@5.7.2)) + version: 5.2.1(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.12(typescript@5.7.2)) https-localhost: specifier: ^4.7.1 version: 4.7.1 @@ -166,25 +166,25 @@ importers: version: 0.2.10 unocss: specifier: ^0.65.2 - version: 0.65.2(postcss@8.4.49)(rollup@4.29.1)(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0))(vue@3.5.12(typescript@5.7.2)) + version: 0.65.2(postcss@8.4.49)(rollup@4.29.1)(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.12(typescript@5.7.2)) unplugin-vue-components: specifier: ^0.28.0 version: 0.28.0(@babel/parser@7.26.2)(rollup@4.29.1)(vue@3.5.12(typescript@5.7.2)) vite: - specifier: ^5.4.0 - version: 5.4.0(@types/node@22.10.2)(terser@5.36.0) + specifier: https://pkg.pr.new/vite@18983 + version: https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) vite-plugin-pwa: specifier: ^0.21.1 - version: 0.21.1(@vite-pwa/assets-generator@0.2.6)(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.3.0) + version: 0.21.1(@vite-pwa/assets-generator@0.2.6)(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.3.0) vitepress: specifier: ^1.5.0 - version: 1.5.0(@algolia/client-search@4.20.0)(@types/node@22.10.2)(@types/react@18.2.79)(postcss@8.4.49)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.9.0)(terser@5.36.0)(typescript@5.7.2) + version: 1.5.0(@algolia/client-search@4.20.0)(@types/node@22.10.2)(@types/react@18.2.79)(jiti@2.4.1)(postcss@8.4.49)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.9.0)(terser@5.36.0)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.6.1) vitepress-plugin-group-icons: specifier: ^1.3.2 version: 1.3.2 vitepress-plugin-tabs: specifier: ^0.5.0 - version: 0.5.0(vitepress@1.5.0(@algolia/client-search@4.20.0)(@types/node@22.10.2)(@types/react@18.2.79)(postcss@8.4.49)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.9.0)(terser@5.36.0)(typescript@5.7.2))(vue@3.5.12(typescript@5.7.2)) + version: 0.5.0(vitepress@1.5.0(@algolia/client-search@4.20.0)(@types/node@22.10.2)(@types/react@18.2.79)(jiti@2.4.1)(postcss@8.4.49)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.9.0)(terser@5.36.0)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.6.1))(vue@3.5.12(typescript@5.7.2)) workbox-window: specifier: ^7.3.0 version: 7.3.0 @@ -195,8 +195,8 @@ importers: specifier: workspace:* version: link:../../packages/ui vite: - specifier: ^5.4.0 - version: 5.4.0(@types/node@22.10.2)(terser@5.36.0) + specifier: https://pkg.pr.new/vite@18983 + version: https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) vitest: specifier: workspace:* version: link:../../packages/vitest @@ -216,8 +216,8 @@ importers: specifier: ^4.7.2 version: 4.7.2 vite: - specifier: ^5.4.0 - version: 5.4.0(@types/node@22.10.2)(terser@5.36.0) + specifier: https://pkg.pr.new/vite@18983 + version: https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.7.2)(yaml@2.6.1) vitest: specifier: workspace:* version: link:../../packages/vitest @@ -247,8 +247,8 @@ importers: specifier: ^1.49.0 version: 1.49.0 vite: - specifier: ^5.4.0 - version: 5.4.0(@types/node@22.10.2)(terser@5.36.0) + specifier: https://pkg.pr.new/vite@18983 + version: https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) vitest: specifier: workspace:* version: link:../../packages/vitest @@ -256,8 +256,17 @@ importers: examples/profiling: devDependencies: vite: - specifier: ^5.4.0 - version: 5.4.0(@types/node@22.10.2)(terser@5.36.0) + specifier: https://pkg.pr.new/vite@18983 + version: https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) + vitest: + specifier: workspace:* + version: link:../../packages/vitest + + examples/repro: + devDependencies: + magic-string: + specifier: ^0.30.17 + version: 0.30.17 vitest: specifier: workspace:* version: link:../../packages/vitest @@ -266,10 +275,10 @@ importers: devDependencies: '@sveltejs/adapter-auto': specifier: ^2.1.0 - version: 2.1.0(@sveltejs/kit@1.20.2(svelte@3.59.1)(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0))) + version: 2.1.0(@sveltejs/kit@1.20.2(svelte@3.59.1)(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1))) '@sveltejs/kit': specifier: ^1.20.2 - version: 1.20.2(svelte@3.59.1)(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0)) + version: 1.20.2(svelte@3.59.1)(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1)) svelte: specifier: ^3.59.1 version: 3.59.1 @@ -283,8 +292,8 @@ importers: specifier: ^5.2.2 version: 5.2.2 vite: - specifier: ^5.4.0 - version: 5.4.0(@types/node@22.10.2)(terser@5.36.0) + specifier: https://pkg.pr.new/vite@18983 + version: https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) vitest: specifier: workspace:* version: link:../../packages/vitest @@ -301,8 +310,8 @@ importers: specifier: ^5.2.2 version: 5.2.2 vite: - specifier: ^5.4.0 - version: 5.4.0(@types/node@20.11.5)(terser@5.36.0) + specifier: https://pkg.pr.new/vite@18983 + version: https://pkg.pr.new/vite@18983(@types/node@20.11.5)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) vitest: specifier: workspace:* version: link:../../packages/vitest @@ -323,7 +332,7 @@ importers: version: 18.2.79 '@vitejs/plugin-react': specifier: ^4.2.1 - version: 4.2.1(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0)) + version: 4.2.1(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.7.2)(yaml@2.6.1)) '@vitest/ui': specifier: workspace:* version: link:../../packages/ui @@ -343,8 +352,8 @@ importers: specifier: ^4.7.2 version: 4.7.2 vite: - specifier: ^5.4.0 - version: 5.4.0(@types/node@22.10.2)(terser@5.36.0) + specifier: https://pkg.pr.new/vite@18983 + version: https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.7.2)(yaml@2.6.1) vitest: specifier: workspace:* version: link:../../packages/vitest @@ -618,8 +627,8 @@ importers: specifier: ^2.0.0 version: 2.0.0 vite: - specifier: ^5.4.0 - version: 5.4.0(@types/node@22.10.2)(terser@5.36.0) + specifier: https://pkg.pr.new/vite@18983 + version: https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) packages/pretty-format: dependencies: @@ -730,7 +739,7 @@ importers: version: 0.65.2 '@vitejs/plugin-vue': specifier: ^5.2.1 - version: 5.2.1(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0))(vue@3.5.12(typescript@5.7.2)) + version: 5.2.1(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.12(typescript@5.7.2)) '@vitest/runner': specifier: workspace:* version: link:../runner @@ -769,7 +778,7 @@ importers: version: 3.1.5 unocss: specifier: ^0.65.2 - version: 0.65.2(postcss@8.4.49)(rollup@4.29.1)(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0))(vue@3.5.12(typescript@5.7.2)) + version: 0.65.2(postcss@8.4.49)(rollup@4.29.1)(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.12(typescript@5.7.2)) unplugin-auto-import: specifier: ^0.19.0 version: 0.19.0(@vueuse/core@12.1.0(typescript@5.7.2))(rollup@4.29.1) @@ -777,11 +786,11 @@ importers: specifier: ^0.28.0 version: 0.28.0(@babel/parser@7.26.2)(rollup@4.29.1)(vue@3.5.12(typescript@5.7.2)) vite: - specifier: ^5.4.0 - version: 5.4.0(@types/node@22.10.2)(terser@5.36.0) + specifier: https://pkg.pr.new/vite@18983 + version: https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) vite-plugin-pages: specifier: ^0.32.4 - version: 0.32.4(@vue/compiler-sfc@3.5.13)(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0))(vue-router@4.5.0(vue@3.5.12(typescript@5.7.2))) + version: 0.32.4(@vue/compiler-sfc@3.5.13)(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1))(vue-router@4.5.0(vue@3.5.12(typescript@5.7.2))) vue: specifier: ^3.5.12 version: 3.5.12(typescript@5.7.2) @@ -832,8 +841,8 @@ importers: specifier: ^2.0.0 version: 2.0.0 vite: - specifier: ^5.4.0 - version: 5.4.0(@types/node@22.10.2)(terser@5.36.0) + specifier: https://pkg.pr.new/vite@18983 + version: https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) devDependencies: '@jridgewell/trace-mapping': specifier: ^0.3.25 @@ -905,8 +914,8 @@ importers: specifier: ^1.2.0 version: 1.2.0 vite: - specifier: ^5.4.0 - version: 5.4.0(@types/node@22.10.2)(terser@5.36.0) + specifier: https://pkg.pr.new/vite@18983 + version: https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) vite-node: specifier: workspace:* version: link:../vite-node @@ -1053,7 +1062,7 @@ importers: version: 18.2.79 '@vitejs/plugin-basic-ssl': specifier: ^1.0.2 - version: 1.0.2(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0)) + version: 1.0.2(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1)) '@vitest/browser': specifier: workspace:* version: link:../../packages/browser @@ -1098,7 +1107,7 @@ importers: version: 8.5.9 '@vitejs/plugin-basic-ssl': specifier: ^1.0.2 - version: 1.0.2(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0)) + version: 1.0.2(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1)) '@vitest/runner': specifier: workspace:^ version: link:../../packages/runner @@ -1112,8 +1121,8 @@ importers: specifier: ^1.4.4 version: 1.4.4(@swc/core@1.4.1)(rollup@4.29.1) vite: - specifier: ^5.4.0 - version: 5.4.0(@types/node@22.10.2)(terser@5.36.0) + specifier: https://pkg.pr.new/vite@18983 + version: https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) vitest: specifier: workspace:* version: link:../../packages/vitest @@ -1127,8 +1136,8 @@ importers: specifier: ^0.3.2 version: 0.3.2 vite: - specifier: ^5.4.0 - version: 5.4.0(@types/node@22.10.2)(terser@5.36.0) + specifier: https://pkg.pr.new/vite@18983 + version: https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) vitest: specifier: workspace:* version: link:../../packages/vitest @@ -1230,7 +1239,7 @@ importers: version: 3.0.3 '@vitejs/plugin-vue': specifier: latest - version: 5.2.1(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0))(vue@3.5.12(typescript@5.7.2)) + version: 5.2.1(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.12(typescript@5.7.2)) '@vitest/browser': specifier: workspace:* version: link:../../packages/browser @@ -1262,8 +1271,8 @@ importers: specifier: ^1.4.4 version: 1.4.4(@swc/core@1.4.1)(rollup@4.29.1) vite: - specifier: ^5.4.0 - version: 5.4.0(@types/node@22.10.2)(terser@5.36.0) + specifier: https://pkg.pr.new/vite@18983 + version: https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) vitest: specifier: workspace:* version: link:../../packages/vitest @@ -1358,8 +1367,8 @@ importers: specifier: ^1.2.0 version: 1.2.0 vite: - specifier: ^5.4.0 - version: 5.4.0(@types/node@22.10.2)(terser@5.36.0) + specifier: https://pkg.pr.new/vite@18983 + version: https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) vite-node: specifier: workspace:* version: link:../../packages/vite-node @@ -1416,8 +1425,8 @@ importers: specifier: workspace:* version: link:../../packages/browser vite: - specifier: ^5.4.0 - version: 5.4.0(@types/node@22.10.2)(terser@5.36.0) + specifier: https://pkg.pr.new/vite@18983 + version: https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) vitest: specifier: workspace:* version: link:../../packages/vitest @@ -2354,12 +2363,6 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.21.5': - resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - '@esbuild/aix-ppc64@0.23.0': resolution: {integrity: sha512-3sG8Zwa5fMcA9bgqB8AfWPQ+HFke6uD3h1s3RIwUNK8EG7a4buxvuFTs3j1IMs2NXAk9F30C/FF4vxRgQCcmoQ==} engines: {node: '>=18'} @@ -2378,12 +2381,6 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.21.5': - resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - '@esbuild/android-arm64@0.23.0': resolution: {integrity: sha512-EuHFUYkAVfU4qBdyivULuu03FhJO4IJN9PGuABGrFy4vUuzk91P2d+npxHcFdpUnfYKy0PuV+n6bKIpHOB3prQ==} engines: {node: '>=18'} @@ -2402,12 +2399,6 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-arm@0.21.5': - resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - '@esbuild/android-arm@0.23.0': resolution: {integrity: sha512-+KuOHTKKyIKgEEqKbGTK8W7mPp+hKinbMBeEnNzjJGyFcWsfrXjSTNluJHCY1RqhxFurdD8uNXQDei7qDlR6+g==} engines: {node: '>=18'} @@ -2426,12 +2417,6 @@ packages: cpu: [x64] os: [android] - '@esbuild/android-x64@0.21.5': - resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - '@esbuild/android-x64@0.23.0': resolution: {integrity: sha512-WRrmKidLoKDl56LsbBMhzTTBxrsVwTKdNbKDalbEZr0tcsBgCLbEtoNthOW6PX942YiYq8HzEnb4yWQMLQuipQ==} engines: {node: '>=18'} @@ -2450,12 +2435,6 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.21.5': - resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - '@esbuild/darwin-arm64@0.23.0': resolution: {integrity: sha512-YLntie/IdS31H54Ogdn+v50NuoWF5BDkEUFpiOChVa9UnKpftgwzZRrI4J132ETIi+D8n6xh9IviFV3eXdxfow==} engines: {node: '>=18'} @@ -2474,12 +2453,6 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.21.5': - resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - '@esbuild/darwin-x64@0.23.0': resolution: {integrity: sha512-IMQ6eme4AfznElesHUPDZ+teuGwoRmVuuixu7sv92ZkdQcPbsNHzutd+rAfaBKo8YK3IrBEi9SLLKWJdEvJniQ==} engines: {node: '>=18'} @@ -2498,12 +2471,6 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.21.5': - resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - '@esbuild/freebsd-arm64@0.23.0': resolution: {integrity: sha512-0muYWCng5vqaxobq6LB3YNtevDFSAZGlgtLoAc81PjUfiFz36n4KMpwhtAd4he8ToSI3TGyuhyx5xmiWNYZFyw==} engines: {node: '>=18'} @@ -2522,12 +2489,6 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.21.5': - resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - '@esbuild/freebsd-x64@0.23.0': resolution: {integrity: sha512-XKDVu8IsD0/q3foBzsXGt/KjD/yTKBCIwOHE1XwiXmrRwrX6Hbnd5Eqn/WvDekddK21tfszBSrE/WMaZh+1buQ==} engines: {node: '>=18'} @@ -2546,12 +2507,6 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.21.5': - resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - '@esbuild/linux-arm64@0.23.0': resolution: {integrity: sha512-j1t5iG8jE7BhonbsEg5d9qOYcVZv/Rv6tghaXM/Ug9xahM0nX/H2gfu6X6z11QRTMT6+aywOMA8TDkhPo8aCGw==} engines: {node: '>=18'} @@ -2570,12 +2525,6 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.21.5': - resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - '@esbuild/linux-arm@0.23.0': resolution: {integrity: sha512-SEELSTEtOFu5LPykzA395Mc+54RMg1EUgXP+iw2SJ72+ooMwVsgfuwXo5Fn0wXNgWZsTVHwY2cg4Vi/bOD88qw==} engines: {node: '>=18'} @@ -2594,12 +2543,6 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.21.5': - resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - '@esbuild/linux-ia32@0.23.0': resolution: {integrity: sha512-P7O5Tkh2NbgIm2R6x1zGJJsnacDzTFcRWZyTTMgFdVit6E98LTxO+v8LCCLWRvPrjdzXHx9FEOA8oAZPyApWUA==} engines: {node: '>=18'} @@ -2618,12 +2561,6 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.21.5': - resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - '@esbuild/linux-loong64@0.23.0': resolution: {integrity: sha512-InQwepswq6urikQiIC/kkx412fqUZudBO4SYKu0N+tGhXRWUqAx+Q+341tFV6QdBifpjYgUndV1hhMq3WeJi7A==} engines: {node: '>=18'} @@ -2642,12 +2579,6 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.21.5': - resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - '@esbuild/linux-mips64el@0.23.0': resolution: {integrity: sha512-J9rflLtqdYrxHv2FqXE2i1ELgNjT+JFURt/uDMoPQLcjWQA5wDKgQA4t/dTqGa88ZVECKaD0TctwsUfHbVoi4w==} engines: {node: '>=18'} @@ -2666,12 +2597,6 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.21.5': - resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - '@esbuild/linux-ppc64@0.23.0': resolution: {integrity: sha512-cShCXtEOVc5GxU0fM+dsFD10qZ5UpcQ8AM22bYj0u/yaAykWnqXJDpd77ublcX6vdDsWLuweeuSNZk4yUxZwtw==} engines: {node: '>=18'} @@ -2690,12 +2615,6 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.21.5': - resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - '@esbuild/linux-riscv64@0.23.0': resolution: {integrity: sha512-HEtaN7Y5UB4tZPeQmgz/UhzoEyYftbMXrBCUjINGjh3uil+rB/QzzpMshz3cNUxqXN7Vr93zzVtpIDL99t9aRw==} engines: {node: '>=18'} @@ -2714,12 +2633,6 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.21.5': - resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - '@esbuild/linux-s390x@0.23.0': resolution: {integrity: sha512-WDi3+NVAuyjg/Wxi+o5KPqRbZY0QhI9TjrEEm+8dmpY9Xir8+HE/HNx2JoLckhKbFopW0RdO2D72w8trZOV+Wg==} engines: {node: '>=18'} @@ -2738,12 +2651,6 @@ packages: cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.21.5': - resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - '@esbuild/linux-x64@0.23.0': resolution: {integrity: sha512-a3pMQhUEJkITgAw6e0bWA+F+vFtCciMjW/LPtoj99MhVt+Mfb6bbL9hu2wmTZgNd994qTAEw+U/r6k3qHWWaOQ==} engines: {node: '>=18'} @@ -2768,12 +2675,6 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.21.5': - resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - '@esbuild/netbsd-x64@0.23.0': resolution: {integrity: sha512-cRK+YDem7lFTs2Q5nEv/HHc4LnrfBCbH5+JHu6wm2eP+d8OZNoSMYgPZJq78vqQ9g+9+nMuIsAO7skzphRXHyw==} engines: {node: '>=18'} @@ -2804,12 +2705,6 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.21.5': - resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - '@esbuild/openbsd-x64@0.23.0': resolution: {integrity: sha512-6p3nHpby0DM/v15IFKMjAaayFhqnXV52aEmv1whZHX56pdkK+MEaLoQWj+H42ssFarP1PcomVhbsR4pkz09qBg==} engines: {node: '>=18'} @@ -2828,12 +2723,6 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.21.5': - resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - '@esbuild/sunos-x64@0.23.0': resolution: {integrity: sha512-BFelBGfrBwk6LVrmFzCq1u1dZbG4zy/Kp93w2+y83Q5UGYF1d8sCzeLI9NXjKyujjBBniQa8R8PzLFAUrSM9OA==} engines: {node: '>=18'} @@ -2852,12 +2741,6 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.21.5': - resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - '@esbuild/win32-arm64@0.23.0': resolution: {integrity: sha512-lY6AC8p4Cnb7xYHuIxQ6iYPe6MfO2CC43XXKo9nBXDb35krYt7KGhQnOkRGar5psxYkircpCqfbNDB4uJbS2jQ==} engines: {node: '>=18'} @@ -2876,12 +2759,6 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.21.5': - resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - '@esbuild/win32-ia32@0.23.0': resolution: {integrity: sha512-7L1bHlOTcO4ByvI7OXVI5pNN6HSu6pUQq9yodga8izeuB1KcT2UkHaH6118QJwopExPn0rMHIseCTx1CRo/uNA==} engines: {node: '>=18'} @@ -2900,12 +2777,6 @@ packages: cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.21.5': - resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - '@esbuild/win32-x64@0.23.0': resolution: {integrity: sha512-Arm+WgUFLUATuoxCJcahGuk6Yj9Pzxd6l11Zb/2aAuv5kWWvvfhLFo2fni4uSK5vzlUdCGZ/BdV5tH8klj8p8g==} engines: {node: '>=18'} @@ -3456,31 +3327,35 @@ packages: '@sveltejs/adapter-auto@2.1.0': resolution: {integrity: sha512-o2pZCfATFtA/Gw/BB0Xm7k4EYaekXxaPGER3xGSY3FvzFJGTlJlZjBseaXwYSM94lZ0HniOjTokN3cWaLX6fow==} + version: 2.1.0 peerDependencies: '@sveltejs/kit': ^1.0.0 '@sveltejs/kit@1.20.2': resolution: {integrity: sha512-MtR1i+HtmYWcRgtubw1GQqT/+CWXL/z24PegE0xYAdObbhdr7YtEfmoe705D/JZMtMmoPXrmSk4W0MfL5A3lYw==} + version: 1.20.2 engines: {node: ^16.14 || >=18} hasBin: true peerDependencies: svelte: ^3.54.0 || ^4.0.0-next.0 - vite: ^5.4.0 + vite: https://pkg.pr.new/vite@18983 '@sveltejs/vite-plugin-svelte-inspector@1.0.4': resolution: {integrity: sha512-zjiuZ3yydBtwpF3bj0kQNV0YXe+iKE545QGZVTaylW3eAzFr+pJ/cwK8lZEaRp4JtaJXhD5DyWAV4AxLh6DgaQ==} + version: 1.0.4 engines: {node: ^14.18.0 || >= 16} peerDependencies: '@sveltejs/vite-plugin-svelte': ^2.2.0 svelte: ^3.54.0 || ^4.0.0 - vite: ^5.4.0 + vite: https://pkg.pr.new/vite@18983 '@sveltejs/vite-plugin-svelte@2.4.6': resolution: {integrity: sha512-zO79p0+DZnXPnF0ltIigWDx/ux7Ni+HRaFOw720Qeivc1azFUrJxTl0OryXVibYNx1hCboGia1NRV3x8RNv4cA==} + version: 2.4.6 engines: {node: ^14.18.0 || >= 16} peerDependencies: svelte: ^3.54.0 || ^4.0.0 - vite: ^5.4.0 + vite: https://pkg.pr.new/vite@18983 '@swc/core-darwin-arm64@1.4.1': resolution: {integrity: sha512-ePyfx0348UbR4DOAW24TedeJbafnzha8liXFGuQ4bdXtEVXhLfPngprrxKrAddCuv42F9aTxydlF6+adD3FBhA==} @@ -3940,8 +3815,9 @@ packages: '@unocss/astro@0.65.2': resolution: {integrity: sha512-lpGoleJToxaYeN5LTGrNbvbXATNWswgoQwlljIJ9kWOjx4NbGC71pXRvDQSb9yRFDTCr5S2hMtupna4ulrHisA==} + version: 0.65.2 peerDependencies: - vite: ^5.4.0 + vite: https://pkg.pr.new/vite@18983 peerDependenciesMeta: vite: optional: true @@ -4015,8 +3891,9 @@ packages: '@unocss/vite@0.65.2': resolution: {integrity: sha512-MC2PqDB2tbYky7s1XTBoOAdtvUIwwl65qL1UbHTLYiWO9Q704IZUYvrdtpgieR+8IPu2dG2vUyIe3dbD4zPf9g==} + version: 0.65.2 peerDependencies: - vite: ^5.4.0 + vite: https://pkg.pr.new/vite@18983 '@vite-pwa/assets-generator@0.2.6': resolution: {integrity: sha512-kK44dXltvoubEo5B+6tCGjUrOWOE1+dA4DForbFpO1rKy2wSkAVGrs8tyfN6DzTig89/QKyV8XYodgmaKyrYng==} @@ -4025,6 +3902,7 @@ packages: '@vite-pwa/vitepress@0.5.3': resolution: {integrity: sha512-ZNtBxZhS5Enp66z01gKuovTQzSorIpc6o9FEVwOk7kNivzuc4Q5RB04fcbBI1qqHE67rDmm+XqVQw0nj801gmw==} + version: 0.5.3 peerDependencies: '@vite-pwa/assets-generator': ^0.2.6 vite-plugin-pwa: '>=0.20.5 <1' @@ -4034,21 +3912,24 @@ packages: '@vitejs/plugin-basic-ssl@1.0.2': resolution: {integrity: sha512-DKHKVtpI+eA5fvObVgQ3QtTGU70CcCnedalzqmGSR050AzKZMdUzgC8KmlOneHWH8dF2hJ3wkC9+8FDVAaDRCw==} + version: 1.0.2 engines: {node: '>=14.6.0'} peerDependencies: - vite: ^5.4.0 + vite: https://pkg.pr.new/vite@18983 '@vitejs/plugin-react@4.2.1': resolution: {integrity: sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==} + version: 4.2.1 engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - vite: ^5.4.0 + vite: https://pkg.pr.new/vite@18983 '@vitejs/plugin-vue@5.2.1': resolution: {integrity: sha512-cxh314tzaWwOLqVes2gnnCtvBDcM1UMdn+iFR+UjAn411dPT3tOmqrJjbMd7koZpMAmBM/GqeV4n9ge7JSiJJQ==} + version: 5.2.1 engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: - vite: ^5.4.0 + vite: https://pkg.pr.new/vite@18983 vue: ^3.2.25 '@vitest/eslint-plugin@1.1.14': @@ -5551,11 +5432,6 @@ packages: engines: {node: '>=12'} hasBin: true - esbuild@0.21.5: - resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} - engines: {node: '>=12'} - hasBin: true - esbuild@0.23.0: resolution: {integrity: sha512-1lvV17H2bMYda/WaFb2jLPeHU3zml2k4/yagNMG8Q/YtfMjCwEUZa2eXXMgZTVSL5q1n4H7sQ0X6CdJDqqeCFA==} engines: {node: '>=18'} @@ -7046,9 +6922,6 @@ packages: resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} engines: {node: '>=12'} - magic-string@0.30.11: - resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} - magic-string@0.30.12: resolution: {integrity: sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==} @@ -7794,10 +7667,6 @@ packages: resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==} engines: {node: '>=4'} - postcss@8.4.40: - resolution: {integrity: sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==} - engines: {node: ^10 || ^12 || >=14} - postcss@8.4.47: resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} engines: {node: ^10 || ^12 || >=14} @@ -9072,10 +8941,11 @@ packages: unocss@0.65.2: resolution: {integrity: sha512-PEN8Yltr/n6xdNcI9iqIK4Dp/fpQ1bPa4aR2TwFg2lV6aRA2PNzarviqL62oOqXYSyQ4sqW3s/oaWD3JGOgJ1A==} + version: 0.65.2 engines: {node: '>=14'} peerDependencies: '@unocss/webpack': 0.65.2 - vite: ^5.4.0 + vite: https://pkg.pr.new/vite@18983 peerDependenciesMeta: '@unocss/webpack': optional: true @@ -9210,11 +9080,12 @@ packages: vite-plugin-pages@0.32.4: resolution: {integrity: sha512-OM8CNb8mAzyYR8ASRC0+2LXVB8ecR/5JHc5RpxbWtF+CmhjhmIELs0iV5y8qvU48soZbk+NsFOYlhoIcjw3+ew==} + version: 0.32.4 peerDependencies: '@solidjs/router': '*' '@vue/compiler-sfc': ^2.7.0 || ^3.0.0 react-router: '*' - vite: ^5.4.0 + vite: https://pkg.pr.new/vite@18983 vue-router: '*' peerDependenciesMeta: '@solidjs/router': @@ -9228,32 +9099,39 @@ packages: vite-plugin-pwa@0.21.1: resolution: {integrity: sha512-rkTbKFbd232WdiRJ9R3u+hZmf5SfQljX1b45NF6oLA6DSktEKpYllgTo1l2lkiZWMWV78pABJtFjNXfBef3/3Q==} + version: 0.21.1 engines: {node: '>=16.0.0'} peerDependencies: '@vite-pwa/assets-generator': ^0.2.6 - vite: ^5.4.0 + vite: https://pkg.pr.new/vite@18983 workbox-build: ^7.3.0 workbox-window: ^7.3.0 peerDependenciesMeta: '@vite-pwa/assets-generator': optional: true - vite@5.4.0: - resolution: {integrity: sha512-5xokfMX0PIiwCMCMb9ZJcMyh5wbBun0zUzKib+L65vAZ8GY9ePZMXxFrHbr/Kyll2+LSCY7xtERPpxkBDKngwg==} - engines: {node: ^18.0.0 || >=20.0.0} + vite@https://pkg.pr.new/vite@18983: + resolution: {tarball: https://pkg.pr.new/vite@18983} + version: 6.0.7 + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: '>=1.21.0' less: '*' lightningcss: ^1.21.0 sass: '*' sass-embedded: '*' stylus: '*' sugarss: '*' - terser: ^5.4.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 peerDependenciesMeta: '@types/node': optional: true + jiti: + optional: true less: optional: true lightningcss: @@ -9268,11 +9146,16 @@ packages: optional: true terser: optional: true + tsx: + optional: true + yaml: + optional: true vitefu@0.2.5: resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} + version: 0.2.5 peerDependencies: - vite: ^5.4.0 + vite: https://pkg.pr.new/vite@18983 peerDependenciesMeta: vite: optional: true @@ -10964,9 +10847,6 @@ snapshots: '@esbuild/aix-ppc64@0.19.11': optional: true - '@esbuild/aix-ppc64@0.21.5': - optional: true - '@esbuild/aix-ppc64@0.23.0': optional: true @@ -10976,9 +10856,6 @@ snapshots: '@esbuild/android-arm64@0.19.11': optional: true - '@esbuild/android-arm64@0.21.5': - optional: true - '@esbuild/android-arm64@0.23.0': optional: true @@ -10988,9 +10865,6 @@ snapshots: '@esbuild/android-arm@0.19.11': optional: true - '@esbuild/android-arm@0.21.5': - optional: true - '@esbuild/android-arm@0.23.0': optional: true @@ -11000,9 +10874,6 @@ snapshots: '@esbuild/android-x64@0.19.11': optional: true - '@esbuild/android-x64@0.21.5': - optional: true - '@esbuild/android-x64@0.23.0': optional: true @@ -11012,9 +10883,6 @@ snapshots: '@esbuild/darwin-arm64@0.19.11': optional: true - '@esbuild/darwin-arm64@0.21.5': - optional: true - '@esbuild/darwin-arm64@0.23.0': optional: true @@ -11024,9 +10892,6 @@ snapshots: '@esbuild/darwin-x64@0.19.11': optional: true - '@esbuild/darwin-x64@0.21.5': - optional: true - '@esbuild/darwin-x64@0.23.0': optional: true @@ -11036,9 +10901,6 @@ snapshots: '@esbuild/freebsd-arm64@0.19.11': optional: true - '@esbuild/freebsd-arm64@0.21.5': - optional: true - '@esbuild/freebsd-arm64@0.23.0': optional: true @@ -11048,9 +10910,6 @@ snapshots: '@esbuild/freebsd-x64@0.19.11': optional: true - '@esbuild/freebsd-x64@0.21.5': - optional: true - '@esbuild/freebsd-x64@0.23.0': optional: true @@ -11060,9 +10919,6 @@ snapshots: '@esbuild/linux-arm64@0.19.11': optional: true - '@esbuild/linux-arm64@0.21.5': - optional: true - '@esbuild/linux-arm64@0.23.0': optional: true @@ -11072,9 +10928,6 @@ snapshots: '@esbuild/linux-arm@0.19.11': optional: true - '@esbuild/linux-arm@0.21.5': - optional: true - '@esbuild/linux-arm@0.23.0': optional: true @@ -11084,9 +10937,6 @@ snapshots: '@esbuild/linux-ia32@0.19.11': optional: true - '@esbuild/linux-ia32@0.21.5': - optional: true - '@esbuild/linux-ia32@0.23.0': optional: true @@ -11096,9 +10946,6 @@ snapshots: '@esbuild/linux-loong64@0.19.11': optional: true - '@esbuild/linux-loong64@0.21.5': - optional: true - '@esbuild/linux-loong64@0.23.0': optional: true @@ -11108,9 +10955,6 @@ snapshots: '@esbuild/linux-mips64el@0.19.11': optional: true - '@esbuild/linux-mips64el@0.21.5': - optional: true - '@esbuild/linux-mips64el@0.23.0': optional: true @@ -11120,9 +10964,6 @@ snapshots: '@esbuild/linux-ppc64@0.19.11': optional: true - '@esbuild/linux-ppc64@0.21.5': - optional: true - '@esbuild/linux-ppc64@0.23.0': optional: true @@ -11132,9 +10973,6 @@ snapshots: '@esbuild/linux-riscv64@0.19.11': optional: true - '@esbuild/linux-riscv64@0.21.5': - optional: true - '@esbuild/linux-riscv64@0.23.0': optional: true @@ -11144,9 +10982,6 @@ snapshots: '@esbuild/linux-s390x@0.19.11': optional: true - '@esbuild/linux-s390x@0.21.5': - optional: true - '@esbuild/linux-s390x@0.23.0': optional: true @@ -11156,9 +10991,6 @@ snapshots: '@esbuild/linux-x64@0.19.11': optional: true - '@esbuild/linux-x64@0.21.5': - optional: true - '@esbuild/linux-x64@0.23.0': optional: true @@ -11171,9 +11003,6 @@ snapshots: '@esbuild/netbsd-x64@0.19.11': optional: true - '@esbuild/netbsd-x64@0.21.5': - optional: true - '@esbuild/netbsd-x64@0.23.0': optional: true @@ -11189,9 +11018,6 @@ snapshots: '@esbuild/openbsd-x64@0.19.11': optional: true - '@esbuild/openbsd-x64@0.21.5': - optional: true - '@esbuild/openbsd-x64@0.23.0': optional: true @@ -11201,9 +11027,6 @@ snapshots: '@esbuild/sunos-x64@0.19.11': optional: true - '@esbuild/sunos-x64@0.21.5': - optional: true - '@esbuild/sunos-x64@0.23.0': optional: true @@ -11213,9 +11036,6 @@ snapshots: '@esbuild/win32-arm64@0.19.11': optional: true - '@esbuild/win32-arm64@0.21.5': - optional: true - '@esbuild/win32-arm64@0.23.0': optional: true @@ -11225,9 +11045,6 @@ snapshots: '@esbuild/win32-ia32@0.19.11': optional: true - '@esbuild/win32-ia32@0.21.5': - optional: true - '@esbuild/win32-ia32@0.23.0': optional: true @@ -11237,9 +11054,6 @@ snapshots: '@esbuild/win32-x64@0.19.11': optional: true - '@esbuild/win32-x64@0.21.5': - optional: true - '@esbuild/win32-x64@0.23.0': optional: true @@ -11851,20 +11665,20 @@ snapshots: magic-string: 0.25.9 string.prototype.matchall: 4.0.11 - '@sveltejs/adapter-auto@2.1.0(@sveltejs/kit@1.20.2(svelte@3.59.1)(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0)))': + '@sveltejs/adapter-auto@2.1.0(@sveltejs/kit@1.20.2(svelte@3.59.1)(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1)))': dependencies: - '@sveltejs/kit': 1.20.2(svelte@3.59.1)(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0)) + '@sveltejs/kit': 1.20.2(svelte@3.59.1)(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1)) import-meta-resolve: 3.0.0 - '@sveltejs/kit@1.20.2(svelte@3.59.1)(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0))': + '@sveltejs/kit@1.20.2(svelte@3.59.1)(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1))': dependencies: - '@sveltejs/vite-plugin-svelte': 2.4.6(svelte@3.59.1)(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0)) + '@sveltejs/vite-plugin-svelte': 2.4.6(svelte@3.59.1)(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1)) '@types/cookie': 0.5.1 cookie: 0.5.0 devalue: 4.3.2 esm-env: 1.0.0 kleur: 4.1.5 - magic-string: 0.30.11 + magic-string: 0.30.17 mime: 3.0.0 sade: 1.8.1 set-cookie-parser: 2.6.0 @@ -11872,30 +11686,30 @@ snapshots: svelte: 3.59.1 tiny-glob: 0.2.9 undici: 5.22.1 - vite: 5.4.0(@types/node@22.10.2)(terser@5.36.0) + vite: https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte-inspector@1.0.4(@sveltejs/vite-plugin-svelte@2.4.6(svelte@3.59.1)(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0)))(svelte@3.59.1)(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0))': + '@sveltejs/vite-plugin-svelte-inspector@1.0.4(@sveltejs/vite-plugin-svelte@2.4.6(svelte@3.59.1)(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1)))(svelte@3.59.1)(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1))': dependencies: - '@sveltejs/vite-plugin-svelte': 2.4.6(svelte@3.59.1)(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0)) + '@sveltejs/vite-plugin-svelte': 2.4.6(svelte@3.59.1)(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1)) debug: 4.4.0 svelte: 3.59.1 - vite: 5.4.0(@types/node@22.10.2)(terser@5.36.0) + vite: https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@2.4.6(svelte@3.59.1)(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0))': + '@sveltejs/vite-plugin-svelte@2.4.6(svelte@3.59.1)(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 1.0.4(@sveltejs/vite-plugin-svelte@2.4.6(svelte@3.59.1)(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0)))(svelte@3.59.1)(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0)) + '@sveltejs/vite-plugin-svelte-inspector': 1.0.4(@sveltejs/vite-plugin-svelte@2.4.6(svelte@3.59.1)(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1)))(svelte@3.59.1)(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1)) debug: 4.4.0 deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.17 svelte: 3.59.1 svelte-hmr: 0.15.3(svelte@3.59.1) - vite: 5.4.0(@types/node@22.10.2)(terser@5.36.0) - vitefu: 0.2.5(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0)) + vite: https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) + vitefu: 0.2.5(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1)) transitivePeerDependencies: - supports-color @@ -12417,13 +12231,13 @@ snapshots: '@ungap/structured-clone@1.2.1': {} - '@unocss/astro@0.65.2(rollup@4.29.1)(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0))(vue@3.5.12(typescript@5.7.2))': + '@unocss/astro@0.65.2(rollup@4.29.1)(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.12(typescript@5.7.2))': dependencies: '@unocss/core': 0.65.2 '@unocss/reset': 0.65.2 - '@unocss/vite': 0.65.2(rollup@4.29.1)(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0))(vue@3.5.12(typescript@5.7.2)) + '@unocss/vite': 0.65.2(rollup@4.29.1)(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.12(typescript@5.7.2)) optionalDependencies: - vite: 5.4.0(@types/node@22.10.2)(terser@5.36.0) + vite: https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) transitivePeerDependencies: - rollup - supports-color @@ -12552,7 +12366,7 @@ snapshots: dependencies: '@unocss/core': 0.65.2 - '@unocss/vite@0.65.2(rollup@4.29.1)(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0))(vue@3.5.12(typescript@5.7.2))': + '@unocss/vite@0.65.2(rollup@4.29.1)(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.12(typescript@5.7.2))': dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.4(rollup@4.29.1) @@ -12562,7 +12376,7 @@ snapshots: chokidar: 3.6.0 magic-string: 0.30.17 tinyglobby: 0.2.10 - vite: 5.4.0(@types/node@22.10.2)(terser@5.36.0) + vite: https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) transitivePeerDependencies: - rollup - supports-color @@ -12577,30 +12391,30 @@ snapshots: sharp-ico: 0.1.5 unconfig: 0.3.11 - '@vite-pwa/vitepress@0.5.3(@vite-pwa/assets-generator@0.2.6)(vite-plugin-pwa@0.21.1(@vite-pwa/assets-generator@0.2.6)(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.3.0))': + '@vite-pwa/vitepress@0.5.3(@vite-pwa/assets-generator@0.2.6)(vite-plugin-pwa@0.21.1(@vite-pwa/assets-generator@0.2.6)(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.3.0))': dependencies: - vite-plugin-pwa: 0.21.1(@vite-pwa/assets-generator@0.2.6)(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.3.0) + vite-plugin-pwa: 0.21.1(@vite-pwa/assets-generator@0.2.6)(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.3.0) optionalDependencies: '@vite-pwa/assets-generator': 0.2.6 - '@vitejs/plugin-basic-ssl@1.0.2(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0))': + '@vitejs/plugin-basic-ssl@1.0.2(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1))': dependencies: - vite: 5.4.0(@types/node@22.10.2)(terser@5.36.0) + vite: https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) - '@vitejs/plugin-react@4.2.1(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0))': + '@vitejs/plugin-react@4.2.1(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.7.2)(yaml@2.6.1))': dependencies: '@babel/core': 7.24.4 '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.24.4) '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.24.4) '@types/babel__core': 7.20.5 react-refresh: 0.14.0 - vite: 5.4.0(@types/node@22.10.2)(terser@5.36.0) + vite: https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.7.2)(yaml@2.6.1) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@5.2.1(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0))(vue@3.5.12(typescript@5.7.2))': + '@vitejs/plugin-vue@5.2.1(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.12(typescript@5.7.2))': dependencies: - vite: 5.4.0(@types/node@22.10.2)(terser@5.36.0) + vite: https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) vue: 3.5.12(typescript@5.7.2) '@vitest/eslint-plugin@1.1.14(@typescript-eslint/utils@8.17.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2))(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2)(vitest@packages+vitest)': @@ -14395,32 +14209,6 @@ snapshots: '@esbuild/win32-ia32': 0.19.11 '@esbuild/win32-x64': 0.19.11 - esbuild@0.21.5: - optionalDependencies: - '@esbuild/aix-ppc64': 0.21.5 - '@esbuild/android-arm': 0.21.5 - '@esbuild/android-arm64': 0.21.5 - '@esbuild/android-x64': 0.21.5 - '@esbuild/darwin-arm64': 0.21.5 - '@esbuild/darwin-x64': 0.21.5 - '@esbuild/freebsd-arm64': 0.21.5 - '@esbuild/freebsd-x64': 0.21.5 - '@esbuild/linux-arm': 0.21.5 - '@esbuild/linux-arm64': 0.21.5 - '@esbuild/linux-ia32': 0.21.5 - '@esbuild/linux-loong64': 0.21.5 - '@esbuild/linux-mips64el': 0.21.5 - '@esbuild/linux-ppc64': 0.21.5 - '@esbuild/linux-riscv64': 0.21.5 - '@esbuild/linux-s390x': 0.21.5 - '@esbuild/linux-x64': 0.21.5 - '@esbuild/netbsd-x64': 0.21.5 - '@esbuild/openbsd-x64': 0.21.5 - '@esbuild/sunos-x64': 0.21.5 - '@esbuild/win32-arm64': 0.21.5 - '@esbuild/win32-ia32': 0.21.5 - '@esbuild/win32-x64': 0.21.5 - esbuild@0.23.0: optionalDependencies: '@esbuild/aix-ppc64': 0.23.0 @@ -16278,10 +16066,6 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 - magic-string@0.30.11: - dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 - magic-string@0.30.12: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 @@ -17157,12 +16941,6 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss@8.4.40: - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.1 - source-map-js: 1.2.0 - postcss@8.4.47: dependencies: nanoid: 3.3.7 @@ -18611,9 +18389,9 @@ snapshots: universalify@2.0.1: {} - unocss@0.65.2(postcss@8.4.49)(rollup@4.29.1)(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0))(vue@3.5.12(typescript@5.7.2)): + unocss@0.65.2(postcss@8.4.49)(rollup@4.29.1)(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.12(typescript@5.7.2)): dependencies: - '@unocss/astro': 0.65.2(rollup@4.29.1)(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0))(vue@3.5.12(typescript@5.7.2)) + '@unocss/astro': 0.65.2(rollup@4.29.1)(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.12(typescript@5.7.2)) '@unocss/cli': 0.65.2(rollup@4.29.1) '@unocss/core': 0.65.2 '@unocss/postcss': 0.65.2(postcss@8.4.49) @@ -18629,9 +18407,9 @@ snapshots: '@unocss/transformer-compile-class': 0.65.2 '@unocss/transformer-directives': 0.65.2 '@unocss/transformer-variant-group': 0.65.2 - '@unocss/vite': 0.65.2(rollup@4.29.1)(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0))(vue@3.5.12(typescript@5.7.2)) + '@unocss/vite': 0.65.2(rollup@4.29.1)(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.12(typescript@5.7.2)) optionalDependencies: - vite: 5.4.0(@types/node@22.10.2)(terser@5.36.0) + vite: https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) transitivePeerDependencies: - postcss - rollup @@ -18795,7 +18573,7 @@ snapshots: unist-util-stringify-position: 4.0.0 vfile-message: 4.0.2 - vite-plugin-pages@0.32.4(@vue/compiler-sfc@3.5.13)(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0))(vue-router@4.5.0(vue@3.5.12(typescript@5.7.2))): + vite-plugin-pages@0.32.4(@vue/compiler-sfc@3.5.13)(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1))(vue-router@4.5.0(vue@3.5.12(typescript@5.7.2))): dependencies: '@types/debug': 4.1.12 debug: 4.4.0 @@ -18805,7 +18583,7 @@ snapshots: json5: 2.2.3 local-pkg: 0.5.1 picocolors: 1.1.1 - vite: 5.4.0(@types/node@22.10.2)(terser@5.36.0) + vite: https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) yaml: 2.6.1 optionalDependencies: '@vue/compiler-sfc': 3.5.13 @@ -18813,12 +18591,12 @@ snapshots: transitivePeerDependencies: - supports-color - vite-plugin-pwa@0.21.1(@vite-pwa/assets-generator@0.2.6)(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.3.0): + vite-plugin-pwa@0.21.1(@vite-pwa/assets-generator@0.2.6)(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1))(workbox-build@7.1.0(@types/babel__core@7.20.5))(workbox-window@7.3.0): dependencies: debug: 4.3.7 pretty-bytes: 6.1.1 tinyglobby: 0.2.10 - vite: 5.4.0(@types/node@22.10.2)(terser@5.36.0) + vite: https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) workbox-build: 7.1.0(@types/babel__core@7.20.5) workbox-window: 7.3.0 optionalDependencies: @@ -18826,29 +18604,48 @@ snapshots: transitivePeerDependencies: - supports-color - vite@5.4.0(@types/node@20.11.5)(terser@5.36.0): + vite@https://pkg.pr.new/vite@18983(@types/node@20.11.5)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1): dependencies: - esbuild: 0.21.5 - postcss: 8.4.40 + esbuild: 0.24.2 + postcss: 8.4.49 rollup: 4.29.1 optionalDependencies: '@types/node': 20.11.5 fsevents: 2.3.3 + jiti: 2.4.1 terser: 5.36.0 + tsx: 4.19.2 + yaml: 2.6.1 - vite@5.4.0(@types/node@22.10.2)(terser@5.36.0): + vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1): dependencies: - esbuild: 0.21.5 - postcss: 8.4.40 + esbuild: 0.24.2 + postcss: 8.4.49 rollup: 4.29.1 optionalDependencies: '@types/node': 22.10.2 fsevents: 2.3.3 + jiti: 2.4.1 terser: 5.36.0 + tsx: 4.19.2 + yaml: 2.6.1 + + vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.7.2)(yaml@2.6.1): + dependencies: + esbuild: 0.24.2 + postcss: 8.4.49 + rollup: 4.29.1 + optionalDependencies: + '@types/node': 22.10.2 + fsevents: 2.3.3 + jiti: 2.4.1 + terser: 5.36.0 + tsx: 4.7.2 + yaml: 2.6.1 - vitefu@0.2.5(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0)): + vitefu@0.2.5(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1)): optionalDependencies: - vite: 5.4.0(@types/node@22.10.2)(terser@5.36.0) + vite: https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) vitepress-plugin-group-icons@1.3.2: dependencies: @@ -18858,12 +18655,12 @@ snapshots: transitivePeerDependencies: - supports-color - vitepress-plugin-tabs@0.5.0(vitepress@1.5.0(@algolia/client-search@4.20.0)(@types/node@22.10.2)(@types/react@18.2.79)(postcss@8.4.49)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.9.0)(terser@5.36.0)(typescript@5.7.2))(vue@3.5.12(typescript@5.7.2)): + vitepress-plugin-tabs@0.5.0(vitepress@1.5.0(@algolia/client-search@4.20.0)(@types/node@22.10.2)(@types/react@18.2.79)(jiti@2.4.1)(postcss@8.4.49)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.9.0)(terser@5.36.0)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.6.1))(vue@3.5.12(typescript@5.7.2)): dependencies: - vitepress: 1.5.0(@algolia/client-search@4.20.0)(@types/node@22.10.2)(@types/react@18.2.79)(postcss@8.4.49)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.9.0)(terser@5.36.0)(typescript@5.7.2) + vitepress: 1.5.0(@algolia/client-search@4.20.0)(@types/node@22.10.2)(@types/react@18.2.79)(jiti@2.4.1)(postcss@8.4.49)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.9.0)(terser@5.36.0)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.6.1) vue: 3.5.12(typescript@5.7.2) - vitepress@1.5.0(@algolia/client-search@4.20.0)(@types/node@22.10.2)(@types/react@18.2.79)(postcss@8.4.49)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.9.0)(terser@5.36.0)(typescript@5.7.2): + vitepress@1.5.0(@algolia/client-search@4.20.0)(@types/node@22.10.2)(@types/react@18.2.79)(jiti@2.4.1)(postcss@8.4.49)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.9.0)(terser@5.36.0)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.6.1): dependencies: '@docsearch/css': 3.6.2 '@docsearch/js': 3.6.2(@algolia/client-search@4.20.0)(@types/react@18.2.79)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.9.0) @@ -18872,7 +18669,7 @@ snapshots: '@shikijs/transformers': 1.24.4 '@shikijs/types': 1.22.2 '@types/markdown-it': 14.1.2 - '@vitejs/plugin-vue': 5.2.1(vite@5.4.0(@types/node@22.10.2)(terser@5.36.0))(vue@3.5.12(typescript@5.7.2)) + '@vitejs/plugin-vue': 5.2.1(vite@https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.12(typescript@5.7.2)) '@vue/devtools-api': 7.6.2 '@vue/shared': 3.5.12 '@vueuse/core': 11.2.0(vue@3.5.12(typescript@5.7.2)) @@ -18881,7 +18678,7 @@ snapshots: mark.js: 8.11.1 minisearch: 7.1.0 shiki: 1.22.2 - vite: 5.4.0(@types/node@22.10.2)(terser@5.36.0) + vite: https://pkg.pr.new/vite@18983(@types/node@22.10.2)(jiti@2.4.1)(terser@5.36.0)(tsx@4.19.2)(yaml@2.6.1) vue: 3.5.12(typescript@5.7.2) optionalDependencies: postcss: 8.4.49 @@ -18896,6 +18693,7 @@ snapshots: - drauu - fuse.js - idb-keyval + - jiti - jwt-decode - less - lightningcss @@ -18910,8 +18708,10 @@ snapshots: - stylus - sugarss - terser + - tsx - typescript - universal-cookie + - yaml vitest-browser-react@0.0.1(@types/react-dom@18.2.14)(@types/react@18.2.79)(@vitest/browser@packages+browser)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vitest@packages+vitest): dependencies: diff --git a/test/coverage-test/fixtures/configs/vitest.config.injected-functions.ts b/test/coverage-test/fixtures/configs/vitest.config.injected-functions.ts new file mode 100644 index 000000000000..56b9d143d5d0 --- /dev/null +++ b/test/coverage-test/fixtures/configs/vitest.config.injected-functions.ts @@ -0,0 +1,21 @@ +import MagicString from 'magic-string' +import { defineConfig } from 'vitest/config' + +export default defineConfig({ + plugins: [ + { + name: 'repro', + transform(code, id, _options) { + if (id.endsWith('injected-functions.ts')) { + const output = new MagicString(code) + output.prepend(`;function prepended(){};`) + output.append(`;function appended(){};`) + return { + code: output.toString(), + map: output.generateMap({ hires: 'boundary' }), + } + } + }, + }, + ], +}) diff --git a/test/coverage-test/fixtures/src/injected-functions.ts b/test/coverage-test/fixtures/src/injected-functions.ts new file mode 100644 index 000000000000..00cd97f64d9a --- /dev/null +++ b/test/coverage-test/fixtures/src/injected-functions.ts @@ -0,0 +1,4 @@ +function original() { + console.log("hello") +} +original() diff --git a/test/coverage-test/fixtures/test/injected-functions.test.ts b/test/coverage-test/fixtures/test/injected-functions.test.ts new file mode 100644 index 000000000000..816eee9f993b --- /dev/null +++ b/test/coverage-test/fixtures/test/injected-functions.test.ts @@ -0,0 +1,4 @@ +import { test } from 'vitest' +import "../src/injected-functions"; + +test('basic', () => {}) diff --git a/test/coverage-test/test/injected-functions.test.ts b/test/coverage-test/test/injected-functions.test.ts new file mode 100644 index 000000000000..9247eb88ce75 --- /dev/null +++ b/test/coverage-test/test/injected-functions.test.ts @@ -0,0 +1,110 @@ +import { expect } from 'vitest' +import { isV8Provider, readCoverageMap, runVitest, test } from '../utils' + +test('filter out functions injected by plugin', async () => { + const { stderr } = await runVitest({ + include: ['fixtures/test/injected-functions.test.ts'], + coverage: { + reporter: ['json', 'html'], + include: ['fixtures/src/injected-functions.ts'], + }, + config: 'fixtures/configs/vitest.config.injected-functions.ts', + }) + expect(stderr).toBe('') + + const coverageMap = await readCoverageMap() + const fileCoverage = coverageMap.fileCoverageFor('/fixtures/src/injected-functions.ts') + if (isV8Provider()) { + expect(fileCoverage.fnMap).toMatchInlineSnapshot(` + { + "0": { + "decl": { + "end": { + "column": 1, + "line": 3, + }, + "start": { + "column": 0, + "line": 1, + }, + }, + "line": 1, + "loc": { + "end": { + "column": 1, + "line": 3, + }, + "start": { + "column": 0, + "line": 1, + }, + }, + "name": "original", + }, + } + `) + expect(fileCoverage.f).toMatchInlineSnapshot(` + { + "0": 1, + } + `) + } + else { + expect(fileCoverage.fnMap).toMatchInlineSnapshot(` + { + "0": { + "decl": { + "end": { + "column": 9, + "line": 1, + }, + "start": { + "column": 0, + "line": 1, + }, + }, + "loc": { + "end": { + "column": 9, + "line": 1, + }, + "start": { + "column": 0, + "line": 1, + }, + }, + "name": "prepended", + }, + "1": { + "decl": { + "end": { + "column": 20, + "line": 1, + }, + "start": { + "column": 9, + "line": 1, + }, + }, + "loc": { + "end": { + "column": null, + "line": 3, + }, + "start": { + "column": 20, + "line": 1, + }, + }, + "name": "original", + }, + } + `) + expect(fileCoverage.f).toMatchInlineSnapshot(` + { + "0": 0, + "1": 1, + } + `) + } +})