diff --git a/.github/contributing.md b/.github/contributing.md index afdae6711..5e386fec2 100644 --- a/.github/contributing.md +++ b/.github/contributing.md @@ -63,7 +63,7 @@ Hi! I'm really excited that you are interested in contributing to Vue.js. Before You will need [Node.js](https://nodejs.org) **version 18.12+**, and [PNPM](https://pnpm.io) **version 8+**. -We also recommend installing [ni](https://github.com/antfu/ni) to help switching between repos using different package managers. `ni` also provides the handy `nr` command which running npm scripts easier. +We also recommend installing [@antfu/ni](https://github.com/antfu/ni) to help switching between repos using different package managers. `ni` also provides the handy `nr` command which running npm scripts easier. After cloning the repo, run: @@ -90,7 +90,7 @@ The project uses [simple-git-hooks](https://github.com/toplenboren/simple-git-ho ## Scripts -**The examples below will be using the `nr` command from the [ni](https://github.com/antfu/ni) package.** You can also use plain `npm run`, but you will need to pass all additional arguments after the command after an extra `--`. For example, `nr build runtime --all` is equivalent to `npm run build -- runtime --all`. +**The examples below will be using the `nr` command from the [@antfu/ni](https://github.com/antfu/ni) package.** You can also use plain `npm run`, but you will need to pass all additional arguments after the command after an extra `--`. For example, `nr build runtime --all` is equivalent to `npm run build -- runtime --all`. The `run-s` and `run-p` commands found in some scripts are from [npm-run-all](https://github.com/mysticatea/npm-run-all) for orchestrating multiple scripts. `run-s` means "run in sequence" while `run-p` means "run in parallel". diff --git a/package.json b/package.json index 3bc9d1464..9fc97c592 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "private": true, "version": "3.4.0-beta.4", - "packageManager": "pnpm@8.12.0", + "packageManager": "pnpm@8.12.1", "type": "module", "scripts": { "dev": "node scripts/dev.js", @@ -59,8 +59,8 @@ "node": ">=18.12.0" }, "devDependencies": { - "@babel/parser": "^7.23.5", - "@babel/types": "^7.23.5", + "@babel/parser": "^7.23.6", + "@babel/types": "^7.23.6", "@codspeed/vitest-plugin": "^2.3.1", "@rollup/plugin-alias": "^5.0.1", "@rollup/plugin-commonjs": "^25.0.7", @@ -70,16 +70,16 @@ "@rollup/plugin-terser": "^0.4.4", "@types/hash-sum": "^1.0.2", "@types/minimist": "^1.2.5", - "@types/node": "^20.10.4", + "@types/node": "^20.10.5", "@types/semver": "^7.5.5", - "@typescript-eslint/parser": "^6.13.2", - "@vitest/coverage-istanbul": "^1.0.4", + "@typescript-eslint/parser": "^6.15.0", + "@vitest/coverage-istanbul": "^1.1.0", "@vue/consolidate": "0.17.3", "conventional-changelog-cli": "^4.1.0", "enquirer": "^2.4.1", "esbuild": "^0.19.5", "esbuild-plugin-polyfill-node": "^0.3.0", - "eslint": "^8.55.0", + "eslint": "^8.56.0", "eslint-define-config": "^1.24.1", "eslint-plugin-jest": "^27.6.0", "estree-walker": "^2.0.2", @@ -89,14 +89,14 @@ "lodash": "^4.17.21", "magic-string": "^0.30.5", "markdown-table": "^3.0.3", - "marked": "^11.0.1", + "marked": "^11.1.0", "minimist": "^1.2.8", "npm-run-all": "^4.1.5", "picocolors": "^1.0.0", "prettier": "^3.1.1", "pretty-bytes": "^6.1.1", "pug": "^3.0.2", - "puppeteer": "~21.6.0", + "puppeteer": "~21.6.1", "rimraf": "^5.0.5", "rollup": "^4.1.4", "rollup-plugin-dts": "^6.1.0", @@ -108,9 +108,9 @@ "terser": "^5.22.0", "todomvc-app-css": "^2.4.3", "tslib": "^2.6.2", - "tsx": "^4.6.2", + "tsx": "^4.7.0", "typescript": "^5.2.2", "vite": "^5.0.5", - "vitest": "^1.0.4" + "vitest": "^1.1.0" } } diff --git a/packages/compiler-core/package.json b/packages/compiler-core/package.json index b39f6addd..0149cdd11 100644 --- a/packages/compiler-core/package.json +++ b/packages/compiler-core/package.json @@ -32,13 +32,13 @@ }, "homepage": "https://github.com/vuejs/core/tree/main/packages/compiler-core#readme", "dependencies": { - "@babel/parser": "^7.23.5", + "@babel/parser": "^7.23.6", "@vue/shared": "workspace:*", "entities": "^4.5.0", "estree-walker": "^2.0.2", "source-map-js": "^1.0.2" }, "devDependencies": { - "@babel/types": "^7.23.5" + "@babel/types": "^7.23.6" } } diff --git a/packages/compiler-sfc/__tests__/compileScript/resolveType.spec.ts b/packages/compiler-sfc/__tests__/compileScript/resolveType.spec.ts index b67423e0a..a8074419c 100644 --- a/packages/compiler-sfc/__tests__/compileScript/resolveType.spec.ts +++ b/packages/compiler-sfc/__tests__/compileScript/resolveType.spec.ts @@ -939,6 +939,34 @@ describe('resolveType', () => { manufacturer: ['Object'] }) }) + + // #9871 + test('shared generics with different args', () => { + const files = { + '/foo.ts': `export interface Foo { value: T }` + } + const { props } = resolve( + `import type { Foo } from './foo' + defineProps>()`, + files, + undefined, + `/One.vue` + ) + expect(props).toStrictEqual({ + value: ['String'] + }) + const { props: props2 } = resolve( + `import type { Foo } from './foo' + defineProps>()`, + files, + undefined, + `/Two.vue`, + false /* do not invalidate cache */ + ) + expect(props2).toStrictEqual({ + value: ['Number'] + }) + }) }) describe('errors', () => { @@ -1012,7 +1040,8 @@ function resolve( code: string, files: Record = {}, options?: Partial, - sourceFileName: string = '/Test.vue' + sourceFileName: string = '/Test.vue', + invalidateCache = true ) { const { descriptor } = parse(``, { filename: sourceFileName @@ -1030,8 +1059,10 @@ function resolve( ...options }) - for (const file in files) { - invalidateTypeCache(file) + if (invalidateCache) { + for (const file in files) { + invalidateTypeCache(file) + } } // ctx.userImports is collected when calling compileScript(), but we are diff --git a/packages/compiler-sfc/package.json b/packages/compiler-sfc/package.json index 2bc57ac19..6e57ffeb2 100644 --- a/packages/compiler-sfc/package.json +++ b/packages/compiler-sfc/package.json @@ -32,7 +32,7 @@ }, "homepage": "https://github.com/vuejs/core/tree/main/packages/compiler-sfc#readme", "dependencies": { - "@babel/parser": "^7.23.5", + "@babel/parser": "^7.23.6", "@vue/compiler-core": "workspace:*", "@vue/compiler-dom": "workspace:*", "@vue/compiler-ssr": "workspace:*", @@ -43,7 +43,7 @@ "source-map-js": "^1.0.2" }, "devDependencies": { - "@babel/types": "^7.23.5", + "@babel/types": "^7.23.6", "@vue/consolidate": "^0.17.3", "hash-sum": "^2.0.0", "lru-cache": "^10.1.0", diff --git a/packages/compiler-sfc/src/script/resolveType.ts b/packages/compiler-sfc/src/script/resolveType.ts index f38374bd5..3df3bdafb 100644 --- a/packages/compiler-sfc/src/script/resolveType.ts +++ b/packages/compiler-sfc/src/script/resolveType.ts @@ -115,7 +115,7 @@ export class TypeScope { public types: Record = Object.create(null), public declares: Record = Object.create(null) ) {} - + isGenericScope = false resolvedImportSources: Record = Object.create(null) exportedTypes: Record = Object.create(null) exportedDeclares: Record = Object.create(null) @@ -146,15 +146,17 @@ export function resolveTypeElements( scope?: TypeScope, typeParameters?: Record ): ResolvedElements { - if (node._resolvedElements) { + const canCache = !typeParameters + if (canCache && node._resolvedElements) { return node._resolvedElements } - return (node._resolvedElements = innerResolveTypeElements( + const resolved = innerResolveTypeElements( ctx, node, node._ownerScope || scope || ctxToScope(ctx), typeParameters - )) + ) + return canCache ? (node._resolvedElements = resolved) : resolved } function innerResolveTypeElements( @@ -215,17 +217,18 @@ function innerResolveTypeElements( } const resolved = resolveTypeReference(ctx, node, scope) if (resolved) { - const typeParams: Record = Object.create(null) + let typeParams: Record | undefined if ( (resolved.type === 'TSTypeAliasDeclaration' || resolved.type === 'TSInterfaceDeclaration') && resolved.typeParameters && node.typeParameters ) { + typeParams = Object.create(null) resolved.typeParameters.params.forEach((p, i) => { let param = typeParameters && typeParameters[p.name] if (!param) param = node.typeParameters!.params[i] - typeParams[p.name] = param + typeParams![p.name] = param }) } return resolveTypeElements( @@ -322,6 +325,7 @@ function typeElementsToMap( // capture generic parameters on node's scope if (typeParameters) { scope = createChildScope(scope) + scope.isGenericScope = true Object.assign(scope.types, typeParameters) } ;(e as MaybeWithScope)._ownerScope = scope @@ -694,16 +698,18 @@ function resolveTypeReference( name?: string, onlyExported = false ): ScopeTypeNode | undefined { - if (node._resolvedReference) { + const canCache = !scope?.isGenericScope + if (canCache && node._resolvedReference) { return node._resolvedReference } - return (node._resolvedReference = innerResolveTypeReference( + const resolved = innerResolveTypeReference( ctx, scope || ctxToScope(ctx), name || getReferenceName(node), node, onlyExported - )) + ) + return canCache ? (node._resolvedReference = resolved) : resolved } function innerResolveTypeReference( diff --git a/packages/runtime-dom/__tests__/customizedBuiltIn.spec.ts b/packages/runtime-dom/__tests__/customizedBuiltIn.spec.ts index 89ccf02bc..09542a355 100644 --- a/packages/runtime-dom/__tests__/customizedBuiltIn.spec.ts +++ b/packages/runtime-dom/__tests__/customizedBuiltIn.spec.ts @@ -1,8 +1,8 @@ -import { type SpyInstance } from 'vitest' +import { type MockInstance } from 'vitest' import { render, h } from '@vue/runtime-dom' describe('customized built-in elements support', () => { - let createElement: SpyInstance + let createElement: MockInstance afterEach(() => { createElement.mockRestore() }) diff --git a/packages/vue-compat/package.json b/packages/vue-compat/package.json index aa9cf93e6..c3c371f2e 100644 --- a/packages/vue-compat/package.json +++ b/packages/vue-compat/package.json @@ -38,7 +38,7 @@ }, "homepage": "https://github.com/vuejs/core/tree/main/packages/vue-compat#readme", "dependencies": { - "@babel/parser": "^7.23.5", + "@babel/parser": "^7.23.6", "estree-walker": "^2.0.2", "source-map-js": "^1.0.2" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b432c5bef..44c48a083 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,14 +9,14 @@ importers: .: devDependencies: '@babel/parser': - specifier: ^7.23.5 - version: 7.23.5 + specifier: ^7.23.6 + version: 7.23.6 '@babel/types': - specifier: ^7.23.5 - version: 7.23.5 + specifier: ^7.23.6 + version: 7.23.6 '@codspeed/vitest-plugin': specifier: ^2.3.1 - version: 2.3.1(vite@5.0.7)(vitest@1.0.4) + version: 2.3.1(vite@5.0.7)(vitest@1.1.0) '@rollup/plugin-alias': specifier: ^5.0.1 version: 5.0.1(rollup@4.1.4) @@ -42,17 +42,17 @@ importers: specifier: ^1.2.5 version: 1.2.5 '@types/node': - specifier: ^20.10.4 - version: 20.10.4 + specifier: ^20.10.5 + version: 20.10.5 '@types/semver': specifier: ^7.5.5 version: 7.5.5 '@typescript-eslint/parser': - specifier: ^6.13.2 - version: 6.13.2(eslint@8.55.0)(typescript@5.2.2) + specifier: ^6.15.0 + version: 6.15.0(eslint@8.56.0)(typescript@5.2.2) '@vitest/coverage-istanbul': - specifier: ^1.0.4 - version: 1.0.4(vitest@1.0.4) + specifier: ^1.1.0 + version: 1.1.0(vitest@1.1.0) '@vue/consolidate': specifier: 0.17.3 version: 0.17.3 @@ -69,14 +69,14 @@ importers: specifier: ^0.3.0 version: 0.3.0(esbuild@0.19.5) eslint: - specifier: ^8.55.0 - version: 8.55.0 + specifier: ^8.56.0 + version: 8.56.0 eslint-define-config: specifier: ^1.24.1 version: 1.24.1 eslint-plugin-jest: specifier: ^27.6.0 - version: 27.6.0(eslint@8.55.0)(typescript@5.2.2) + version: 27.6.0(eslint@8.56.0)(typescript@5.2.2) estree-walker: specifier: ^2.0.2 version: 2.0.2 @@ -99,8 +99,8 @@ importers: specifier: ^3.0.3 version: 3.0.3 marked: - specifier: ^11.0.1 - version: 11.0.1 + specifier: ^11.1.0 + version: 11.1.0 minimist: specifier: ^1.2.8 version: 1.2.8 @@ -120,8 +120,8 @@ importers: specifier: ^3.0.2 version: 3.0.2 puppeteer: - specifier: ~21.6.0 - version: 21.6.0(typescript@5.2.2) + specifier: ~21.6.1 + version: 21.6.1(typescript@5.2.2) rimraf: specifier: ^5.0.5 version: 5.0.5 @@ -156,23 +156,23 @@ importers: specifier: ^2.6.2 version: 2.6.2 tsx: - specifier: ^4.6.2 - version: 4.6.2 + specifier: ^4.7.0 + version: 4.7.0 typescript: specifier: ^5.2.2 version: 5.2.2 vite: specifier: ^5.0.5 - version: 5.0.7(@types/node@20.10.4)(terser@5.22.0) + version: 5.0.7(@types/node@20.10.5)(terser@5.22.0) vitest: - specifier: ^1.0.4 - version: 1.0.4(@types/node@20.10.4)(jsdom@23.0.1)(terser@5.22.0) + specifier: ^1.1.0 + version: 1.1.0(@types/node@20.10.5)(jsdom@23.0.1)(terser@5.22.0) packages/compiler-core: dependencies: '@babel/parser': - specifier: ^7.23.5 - version: 7.23.5 + specifier: ^7.23.6 + version: 7.23.6 '@vue/shared': specifier: workspace:* version: link:../shared @@ -187,8 +187,8 @@ importers: version: 1.0.2 devDependencies: '@babel/types': - specifier: ^7.23.5 - version: 7.23.5 + specifier: ^7.23.6 + version: 7.23.6 packages/compiler-dom: dependencies: @@ -202,8 +202,8 @@ importers: packages/compiler-sfc: dependencies: '@babel/parser': - specifier: ^7.23.5 - version: 7.23.5 + specifier: ^7.23.6 + version: 7.23.6 '@vue/compiler-core': specifier: workspace:* version: link:../compiler-core @@ -230,8 +230,8 @@ importers: version: 1.0.2 devDependencies: '@babel/types': - specifier: ^7.23.5 - version: 7.23.5 + specifier: ^7.23.6 + version: 7.23.6 '@vue/consolidate': specifier: ^0.17.3 version: 0.17.3 @@ -358,7 +358,7 @@ importers: version: 4.4.0(vite@5.0.7)(vue@packages+vue) vite: specifier: ^5.0.5 - version: 5.0.7(@types/node@20.10.4)(terser@5.22.0) + version: 5.0.7(@types/node@20.10.5)(terser@5.22.0) packages/shared: {} @@ -395,8 +395,8 @@ importers: packages/vue-compat: dependencies: '@babel/parser': - specifier: ^7.23.5 - version: 7.23.5 + specifier: ^7.23.6 + version: 7.23.6 estree-walker: specifier: ^2.0.2 version: 2.0.2 @@ -454,10 +454,10 @@ packages: '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.5) '@babel/helpers': 7.23.5 - '@babel/parser': 7.23.5 + '@babel/parser': 7.23.6 '@babel/template': 7.22.15 '@babel/traverse': 7.23.5 - '@babel/types': 7.23.5 + '@babel/types': 7.23.6 convert-source-map: 2.0.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -471,7 +471,7 @@ packages: resolution: {integrity: sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.5 + '@babel/types': 7.23.6 '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.20 jsesc: 2.5.2 @@ -498,21 +498,21 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.15 - '@babel/types': 7.23.5 + '@babel/types': 7.23.6 dev: true /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.5 + '@babel/types': 7.23.6 dev: true /@babel/helper-module-imports@7.22.15: resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.5 + '@babel/types': 7.23.6 dev: true /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.5): @@ -533,14 +533,14 @@ packages: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.5 + '@babel/types': 7.23.6 dev: true /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.5 + '@babel/types': 7.23.6 dev: true /@babel/helper-string-parser@7.23.4: @@ -563,7 +563,7 @@ packages: dependencies: '@babel/template': 7.22.15 '@babel/traverse': 7.23.5 - '@babel/types': 7.23.5 + '@babel/types': 7.23.6 transitivePeerDependencies: - supports-color dev: true @@ -588,20 +588,20 @@ packages: js-tokens: 4.0.0 dev: true - /@babel/parser@7.23.5: - resolution: {integrity: sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==} + /@babel/parser@7.23.6: + resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.23.5 + '@babel/types': 7.23.6 /@babel/template@7.22.15: resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.23.5 - '@babel/parser': 7.23.5 - '@babel/types': 7.23.5 + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 dev: true /@babel/traverse@7.23.5: @@ -614,16 +614,16 @@ packages: '@babel/helper-function-name': 7.23.0 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.23.5 - '@babel/types': 7.23.5 + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color dev: true - /@babel/types@7.23.5: - resolution: {integrity: sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==} + /@babel/types@7.23.6: + resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.23.4 @@ -637,19 +637,28 @@ packages: node-gyp-build: 4.7.1 dev: true - /@codspeed/vitest-plugin@2.3.1(vite@5.0.7)(vitest@1.0.4): + /@codspeed/vitest-plugin@2.3.1(vite@5.0.7)(vitest@1.1.0): resolution: {integrity: sha512-/e4G2B/onX/hG/EjUU/NpDxnIryeTDamVRTBeWfgQDoex3g7GDzTwoQktaU5l/Asw3ZjEErQg+oQVToQ6jYZlA==} peerDependencies: vite: ^4.2.0 || ^5.0.0 vitest: '>=1.0.0-beta.4 || >=1' dependencies: '@codspeed/core': 2.3.1 - vite: 5.0.7(@types/node@20.10.4)(terser@5.22.0) - vitest: 1.0.4(@types/node@20.10.4)(jsdom@23.0.1)(terser@5.22.0) + vite: 5.0.7(@types/node@20.10.5)(terser@5.22.0) + vitest: 1.1.0(@types/node@20.10.5)(jsdom@23.0.1)(terser@5.22.0) dev: true - /@esbuild/android-arm64@0.18.20: - resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + /@esbuild/aix-ppc64@0.19.10: + resolution: {integrity: sha512-Q+mk96KJ+FZ30h9fsJl+67IjNJm3x2eX+GBWGmocAKgzp27cowCOOqSdscX80s0SpdFXZnIv/+1xD1EctFx96Q==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm64@0.19.10: + resolution: {integrity: sha512-1X4CClKhDgC3by7k8aOWZeBXQX8dHT5QAMCAQDArCLaYfkppoARvh0fit3X2Qs+MXDngKcHv6XXyQCpY0hkK1Q==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -666,8 +675,8 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.18.20: - resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} + /@esbuild/android-arm@0.19.10: + resolution: {integrity: sha512-7W0bK7qfkw1fc2viBfrtAEkDKHatYfHzr/jKAHNr9BvkYDXPcC6bodtm8AyLJNNuqClLNaeTLuwURt4PRT9d7w==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -684,8 +693,8 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.18.20: - resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} + /@esbuild/android-x64@0.19.10: + resolution: {integrity: sha512-O/nO/g+/7NlitUxETkUv/IvADKuZXyH4BHf/g/7laqKC4i/7whLpB0gvpPc2zpF0q9Q6FXS3TS75QHac9MvVWw==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -702,8 +711,8 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.18.20: - resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} + /@esbuild/darwin-arm64@0.19.10: + resolution: {integrity: sha512-YSRRs2zOpwypck+6GL3wGXx2gNP7DXzetmo5pHXLrY/VIMsS59yKfjPizQ4lLt5vEI80M41gjm2BxrGZ5U+VMA==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -720,8 +729,8 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.18.20: - resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} + /@esbuild/darwin-x64@0.19.10: + resolution: {integrity: sha512-alfGtT+IEICKtNE54hbvPg13xGBe4GkVxyGWtzr+yHO7HIiRJppPDhOKq3zstTcVf8msXb/t4eavW3jCDpMSmA==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -738,8 +747,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.18.20: - resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} + /@esbuild/freebsd-arm64@0.19.10: + resolution: {integrity: sha512-dMtk1wc7FSH8CCkE854GyGuNKCewlh+7heYP/sclpOG6Cectzk14qdUIY5CrKDbkA/OczXq9WesqnPl09mj5dg==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -756,8 +765,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.18.20: - resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + /@esbuild/freebsd-x64@0.19.10: + resolution: {integrity: sha512-G5UPPspryHu1T3uX8WiOEUa6q6OlQh6gNl4CO4Iw5PS+Kg5bVggVFehzXBJY6X6RSOMS8iXDv2330VzaObm4Ag==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -774,8 +783,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.18.20: - resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} + /@esbuild/linux-arm64@0.19.10: + resolution: {integrity: sha512-QxaouHWZ+2KWEj7cGJmvTIHVALfhpGxo3WLmlYfJ+dA5fJB6lDEIg+oe/0//FuyVHuS3l79/wyBxbHr0NgtxJQ==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -792,8 +801,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm@0.18.20: - resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} + /@esbuild/linux-arm@0.19.10: + resolution: {integrity: sha512-j6gUW5aAaPgD416Hk9FHxn27On28H4eVI9rJ4az7oCGTFW48+LcgNDBN+9f8rKZz7EEowo889CPKyeaD0iw9Kg==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -810,8 +819,8 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.18.20: - resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} + /@esbuild/linux-ia32@0.19.10: + resolution: {integrity: sha512-4ub1YwXxYjj9h1UIZs2hYbnTZBtenPw5NfXCRgEkGb0b6OJ2gpkMvDqRDYIDRjRdWSe/TBiZltm3Y3Q8SN1xNg==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -828,8 +837,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.18.20: - resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} + /@esbuild/linux-loong64@0.19.10: + resolution: {integrity: sha512-lo3I9k+mbEKoxtoIbM0yC/MZ1i2wM0cIeOejlVdZ3D86LAcFXFRdeuZmh91QJvUTW51bOK5W2BznGNIl4+mDaA==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -846,8 +855,8 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.18.20: - resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} + /@esbuild/linux-mips64el@0.19.10: + resolution: {integrity: sha512-J4gH3zhHNbdZN0Bcr1QUGVNkHTdpijgx5VMxeetSk6ntdt+vR1DqGmHxQYHRmNb77tP6GVvD+K0NyO4xjd7y4A==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -864,8 +873,8 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.18.20: - resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} + /@esbuild/linux-ppc64@0.19.10: + resolution: {integrity: sha512-tgT/7u+QhV6ge8wFMzaklOY7KqiyitgT1AUHMApau32ZlvTB/+efeCtMk4eXS+uEymYK249JsoiklZN64xt6oQ==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -882,8 +891,8 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.18.20: - resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} + /@esbuild/linux-riscv64@0.19.10: + resolution: {integrity: sha512-0f/spw0PfBMZBNqtKe5FLzBDGo0SKZKvMl5PHYQr3+eiSscfJ96XEknCe+JoOayybWUFQbcJTrk946i3j9uYZA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -900,8 +909,8 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.18.20: - resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} + /@esbuild/linux-s390x@0.19.10: + resolution: {integrity: sha512-pZFe0OeskMHzHa9U38g+z8Yx5FNCLFtUnJtQMpwhS+r4S566aK2ci3t4NCP4tjt6d5j5uo4h7tExZMjeKoehAA==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -918,8 +927,8 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.18.20: - resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} + /@esbuild/linux-x64@0.19.10: + resolution: {integrity: sha512-SpYNEqg/6pZYoc+1zLCjVOYvxfZVZj6w0KROZ3Fje/QrM3nfvT2llI+wmKSrWuX6wmZeTapbarvuNNK/qepSgA==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -936,8 +945,8 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.18.20: - resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} + /@esbuild/netbsd-x64@0.19.10: + resolution: {integrity: sha512-ACbZ0vXy9zksNArWlk2c38NdKg25+L9pr/mVaj9SUq6lHZu/35nx2xnQVRGLrC1KKQqJKRIB0q8GspiHI3J80Q==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -954,8 +963,8 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64@0.18.20: - resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} + /@esbuild/openbsd-x64@0.19.10: + resolution: {integrity: sha512-PxcgvjdSjtgPMiPQrM3pwSaG4kGphP+bLSb+cihuP0LYdZv1epbAIecHVl5sD3npkfYBZ0ZnOjR878I7MdJDFg==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -972,8 +981,8 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.18.20: - resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} + /@esbuild/sunos-x64@0.19.10: + resolution: {integrity: sha512-ZkIOtrRL8SEJjr+VHjmW0znkPs+oJXhlJbNwfI37rvgeMtk3sxOQevXPXjmAPZPigVTncvFqLMd+uV0IBSEzqA==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -990,8 +999,8 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.18.20: - resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} + /@esbuild/win32-arm64@0.19.10: + resolution: {integrity: sha512-+Sa4oTDbpBfGpl3Hn3XiUe4f8TU2JF7aX8cOfqFYMMjXp6ma6NJDztl5FDG8Ezx0OjwGikIHw+iA54YLDNNVfw==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -1008,8 +1017,8 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.18.20: - resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} + /@esbuild/win32-ia32@0.19.10: + resolution: {integrity: sha512-EOGVLK1oWMBXgfttJdPHDTiivYSjX6jDNaATeNOaCOFEVcfMjtbx7WVQwPSE1eIfCp/CaSF2nSrDtzc4I9f8TQ==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -1026,8 +1035,8 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.18.20: - resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} + /@esbuild/win32-x64@0.19.10: + resolution: {integrity: sha512-whqLG6Sc70AbU73fFYvuYzaE4MNMBIlR1Y/IrUeOXFrWHxBEjjbZaQ3IXIQS8wJdAzue2GwYZCjOrgrU1oUHoA==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -1044,13 +1053,13 @@ packages: dev: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.55.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.55.0 + eslint: 8.56.0 eslint-visitor-keys: 3.4.3 dev: true @@ -1076,8 +1085,8 @@ packages: - supports-color dev: true - /@eslint/js@8.55.0: - resolution: {integrity: sha512-qQfo2mxH5yVom1kacMtZZJFVdW+E70mqHMJvVg6WTLo+VBuQJ4TojZlfWBjK0ve5BdEeNAVxOsl/nvNMpJOaJA==} + /@eslint/js@8.56.0: + resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true @@ -1551,8 +1560,8 @@ packages: resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} dev: true - /@types/node@20.10.4: - resolution: {integrity: sha512-D08YG6rr8X90YB56tSIuBaddy/UXAA9RKJoFvrsnogAum/0pmjkgi4+2nx96A330FmioegBWmEYQ+syqCFaveg==} + /@types/node@20.10.5: + resolution: {integrity: sha512-nNPsNE65wjMxEKI93yOP+NPGGBJz/PoN3kZsVLee0XMiJolxSekEVD8wRwBUBqkwc7UWop0edW50yrCQW4CyRw==} dependencies: undici-types: 5.26.5 dev: true @@ -1573,12 +1582,12 @@ packages: resolution: {integrity: sha512-Km7XAtUIduROw7QPgvcft0lIupeG8a8rdKL8RiSyKvlE7dYY31fEn41HVuQsRFDuROA8tA4K2UVL+WdfFmErBA==} requiresBuild: true dependencies: - '@types/node': 20.10.4 + '@types/node': 20.10.5 dev: true optional: true - /@typescript-eslint/parser@6.13.2(eslint@8.55.0)(typescript@5.2.2): - resolution: {integrity: sha512-MUkcC+7Wt/QOGeVlM8aGGJZy1XV5YKjTpq9jK6r6/iLsGXhBVaGP5N0UYvFsu9BFlSpwY9kMretzdBH01rkRXg==} + /@typescript-eslint/parser@6.15.0(eslint@8.56.0)(typescript@5.2.2): + resolution: {integrity: sha512-MkgKNnsjC6QwcMdlNAel24jjkEO/0hQaMDLqP4S9zq5HBAUJNQB6y+3DwLjX7b3l2b37eNAxMPLwb3/kh8VKdA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -1587,12 +1596,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.13.2 - '@typescript-eslint/types': 6.13.2 - '@typescript-eslint/typescript-estree': 6.13.2(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.13.2 + '@typescript-eslint/scope-manager': 6.15.0 + '@typescript-eslint/types': 6.15.0 + '@typescript-eslint/typescript-estree': 6.15.0(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.15.0 debug: 4.3.4 - eslint: 8.55.0 + eslint: 8.56.0 typescript: 5.2.2 transitivePeerDependencies: - supports-color @@ -1606,12 +1615,12 @@ packages: '@typescript-eslint/visitor-keys': 5.62.0 dev: true - /@typescript-eslint/scope-manager@6.13.2: - resolution: {integrity: sha512-CXQA0xo7z6x13FeDYCgBkjWzNqzBn8RXaE3QVQVIUm74fWJLkJkaHmHdKStrxQllGh6Q4eUGyNpMe0b1hMkXFA==} + /@typescript-eslint/scope-manager@6.15.0: + resolution: {integrity: sha512-+BdvxYBltqrmgCNu4Li+fGDIkW9n//NrruzG9X1vBzaNK+ExVXPoGB71kneaVw/Jp+4rH/vaMAGC6JfMbHstVg==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.13.2 - '@typescript-eslint/visitor-keys': 6.13.2 + '@typescript-eslint/types': 6.15.0 + '@typescript-eslint/visitor-keys': 6.15.0 dev: true /@typescript-eslint/types@5.62.0: @@ -1619,8 +1628,8 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/types@6.13.2: - resolution: {integrity: sha512-7sxbQ+EMRubQc3wTfTsycgYpSujyVbI1xw+3UMRUcrhSy+pN09y/lWzeKDbvhoqcRbHdc+APLs/PWYi/cisLPg==} + /@typescript-eslint/types@6.15.0: + resolution: {integrity: sha512-yXjbt//E4T/ee8Ia1b5mGlbNj9fB9lJP4jqLbZualwpP2BCQ5is6BcWwxpIsY4XKAhmdv3hrW92GdtJbatC6dQ==} engines: {node: ^16.0.0 || >=18.0.0} dev: true @@ -1645,8 +1654,8 @@ packages: - supports-color dev: true - /@typescript-eslint/typescript-estree@6.13.2(typescript@5.2.2): - resolution: {integrity: sha512-SuD8YLQv6WHnOEtKv8D6HZUzOub855cfPnPMKvdM/Bh1plv1f7Q/0iFUDLKKlxHcEstQnaUU4QZskgQq74t+3w==} + /@typescript-eslint/typescript-estree@6.15.0(typescript@5.2.2): + resolution: {integrity: sha512-7mVZJN7Hd15OmGuWrp2T9UvqR2Ecg+1j/Bp1jXUEY2GZKV6FXlOIoqVDmLpBiEiq3katvj/2n2mR0SDwtloCew==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -1654,8 +1663,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.13.2 - '@typescript-eslint/visitor-keys': 6.13.2 + '@typescript-eslint/types': 6.15.0 + '@typescript-eslint/visitor-keys': 6.15.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -1666,19 +1675,19 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@5.62.0(eslint@8.55.0)(typescript@5.2.2): + /@typescript-eslint/utils@5.62.0(eslint@8.56.0)(typescript@5.2.2): resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.55.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) '@types/json-schema': 7.0.14 '@types/semver': 7.5.5 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2) - eslint: 8.55.0 + eslint: 8.56.0 eslint-scope: 5.1.1 semver: 7.5.4 transitivePeerDependencies: @@ -1694,11 +1703,11 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@typescript-eslint/visitor-keys@6.13.2: - resolution: {integrity: sha512-OGznFs0eAQXJsp+xSd6k/O1UbFi/K/L7WjqeRoFE7vadjAF9y0uppXhYNQNEqygjou782maGClOoZwPqF0Drlw==} + /@typescript-eslint/visitor-keys@6.15.0: + resolution: {integrity: sha512-1zvtdC1a9h5Tb5jU9x3ADNXO9yjP8rXlaoChu0DQX40vf5ACVpYIVIZhIMZ6d5sDXH7vq4dsZBT1fEGj8D2n2w==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.13.2 + '@typescript-eslint/types': 6.15.0 eslint-visitor-keys: 3.4.3 dev: true @@ -1713,12 +1722,12 @@ packages: vite: ^4.0.0 vue: ^3.2.25 dependencies: - vite: 5.0.7(@types/node@20.10.4)(terser@5.22.0) + vite: 5.0.7(@types/node@20.10.5)(terser@5.22.0) vue: link:packages/vue dev: true - /@vitest/coverage-istanbul@1.0.4(vitest@1.0.4): - resolution: {integrity: sha512-6qoSzTR+sanwY/dREqu6OFJupo/mHzCcboh03rLwqH2V2B39505lDr9FpqaLwU1vQgeUKNA+CdHPkpNpusxkDw==} + /@vitest/coverage-istanbul@1.1.0(vitest@1.1.0): + resolution: {integrity: sha512-sjHGQQu7lkJUYSBMOR3f9AyOlK1LBVr0v7LMar/4i167ltabRWlQ2STBDM4P6Wl659NAcHlZ/RXxrAgJPavDMA==} peerDependencies: vitest: ^1.0.0 dependencies: @@ -1731,43 +1740,43 @@ packages: magicast: 0.3.2 picocolors: 1.0.0 test-exclude: 6.0.0 - vitest: 1.0.4(@types/node@20.10.4)(jsdom@23.0.1)(terser@5.22.0) + vitest: 1.1.0(@types/node@20.10.5)(jsdom@23.0.1)(terser@5.22.0) transitivePeerDependencies: - supports-color dev: true - /@vitest/expect@1.0.4: - resolution: {integrity: sha512-/NRN9N88qjg3dkhmFcCBwhn/Ie4h064pY3iv7WLRsDJW7dXnEgeoa8W9zy7gIPluhz6CkgqiB3HmpIXgmEY5dQ==} + /@vitest/expect@1.1.0: + resolution: {integrity: sha512-9IE2WWkcJo2BR9eqtY5MIo3TPmS50Pnwpm66A6neb2hvk/QSLfPXBz2qdiwUOQkwyFuuXEUj5380CbwfzW4+/w==} dependencies: - '@vitest/spy': 1.0.4 - '@vitest/utils': 1.0.4 + '@vitest/spy': 1.1.0 + '@vitest/utils': 1.1.0 chai: 4.3.10 dev: true - /@vitest/runner@1.0.4: - resolution: {integrity: sha512-rhOQ9FZTEkV41JWXozFM8YgOqaG9zA7QXbhg5gy6mFOVqh4PcupirIJ+wN7QjeJt8S8nJRYuZH1OjJjsbxAXTQ==} + /@vitest/runner@1.1.0: + resolution: {integrity: sha512-zdNLJ00pm5z/uhbWF6aeIJCGMSyTyWImy3Fcp9piRGvueERFlQFbUwCpzVce79OLm2UHk9iwaMSOaU9jVHgNVw==} dependencies: - '@vitest/utils': 1.0.4 + '@vitest/utils': 1.1.0 p-limit: 5.0.0 pathe: 1.1.1 dev: true - /@vitest/snapshot@1.0.4: - resolution: {integrity: sha512-vkfXUrNyNRA/Gzsp2lpyJxh94vU2OHT1amoD6WuvUAA12n32xeVZQ0KjjQIf8F6u7bcq2A2k969fMVxEsxeKYA==} + /@vitest/snapshot@1.1.0: + resolution: {integrity: sha512-5O/wyZg09V5qmNmAlUgCBqflvn2ylgsWJRRuPrnHEfDNT6tQpQ8O1isNGgo+VxofISHqz961SG3iVvt3SPK/QQ==} dependencies: magic-string: 0.30.5 pathe: 1.1.1 pretty-format: 29.7.0 dev: true - /@vitest/spy@1.0.4: - resolution: {integrity: sha512-9ojTFRL1AJVh0hvfzAQpm0QS6xIS+1HFIw94kl/1ucTfGCaj1LV/iuJU4Y6cdR03EzPDygxTHwE1JOm+5RCcvA==} + /@vitest/spy@1.1.0: + resolution: {integrity: sha512-sNOVSU/GE+7+P76qYo+VXdXhXffzWZcYIPQfmkiRxaNCSPiLANvQx5Mx6ZURJ/ndtEkUJEpvKLXqAYTKEY+lTg==} dependencies: tinyspy: 2.2.0 dev: true - /@vitest/utils@1.0.4: - resolution: {integrity: sha512-gsswWDXxtt0QvtK/y/LWukN7sGMYmnCcv1qv05CsY6cU/Y1zpGX1QuvLs+GO1inczpE6Owixeel3ShkjhYtGfA==} + /@vitest/utils@1.1.0: + resolution: {integrity: sha512-z+s510fKmYz4Y41XhNs3vcuFTFhcij2YF7F8VQfMEYAAUfqQh0Zfg7+w9xdgFGhPf3tX3TicAe+8BDITk6ampQ==} dependencies: diff-sequences: 29.6.3 loupe: 2.3.7 @@ -1996,7 +2005,7 @@ packages: resolution: {integrity: sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==} engines: {node: '>= 10.0.0'} dependencies: - '@babel/types': 7.23.5 + '@babel/types': 7.23.6 dev: true /balanced-match@1.0.2: @@ -2317,8 +2326,8 @@ packages: /constantinople@4.0.1: resolution: {integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==} dependencies: - '@babel/parser': 7.23.5 - '@babel/types': 7.23.5 + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 dev: true /content-disposition@0.5.2: @@ -2777,34 +2786,35 @@ packages: import-meta-resolve: 3.0.0 dev: true - /esbuild@0.18.20: - resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + /esbuild@0.19.10: + resolution: {integrity: sha512-S1Y27QGt/snkNYrRcswgRFqZjaTG5a5xM3EQo97uNBnH505pdzSNe/HLBq1v0RO7iK/ngdbhJB6mDAp0OK+iUA==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.18.20 - '@esbuild/android-arm64': 0.18.20 - '@esbuild/android-x64': 0.18.20 - '@esbuild/darwin-arm64': 0.18.20 - '@esbuild/darwin-x64': 0.18.20 - '@esbuild/freebsd-arm64': 0.18.20 - '@esbuild/freebsd-x64': 0.18.20 - '@esbuild/linux-arm': 0.18.20 - '@esbuild/linux-arm64': 0.18.20 - '@esbuild/linux-ia32': 0.18.20 - '@esbuild/linux-loong64': 0.18.20 - '@esbuild/linux-mips64el': 0.18.20 - '@esbuild/linux-ppc64': 0.18.20 - '@esbuild/linux-riscv64': 0.18.20 - '@esbuild/linux-s390x': 0.18.20 - '@esbuild/linux-x64': 0.18.20 - '@esbuild/netbsd-x64': 0.18.20 - '@esbuild/openbsd-x64': 0.18.20 - '@esbuild/sunos-x64': 0.18.20 - '@esbuild/win32-arm64': 0.18.20 - '@esbuild/win32-ia32': 0.18.20 - '@esbuild/win32-x64': 0.18.20 + '@esbuild/aix-ppc64': 0.19.10 + '@esbuild/android-arm': 0.19.10 + '@esbuild/android-arm64': 0.19.10 + '@esbuild/android-x64': 0.19.10 + '@esbuild/darwin-arm64': 0.19.10 + '@esbuild/darwin-x64': 0.19.10 + '@esbuild/freebsd-arm64': 0.19.10 + '@esbuild/freebsd-x64': 0.19.10 + '@esbuild/linux-arm': 0.19.10 + '@esbuild/linux-arm64': 0.19.10 + '@esbuild/linux-ia32': 0.19.10 + '@esbuild/linux-loong64': 0.19.10 + '@esbuild/linux-mips64el': 0.19.10 + '@esbuild/linux-ppc64': 0.19.10 + '@esbuild/linux-riscv64': 0.19.10 + '@esbuild/linux-s390x': 0.19.10 + '@esbuild/linux-x64': 0.19.10 + '@esbuild/netbsd-x64': 0.19.10 + '@esbuild/openbsd-x64': 0.19.10 + '@esbuild/sunos-x64': 0.19.10 + '@esbuild/win32-arm64': 0.19.10 + '@esbuild/win32-ia32': 0.19.10 + '@esbuild/win32-x64': 0.19.10 dev: true /esbuild@0.19.5: @@ -2869,7 +2879,7 @@ packages: engines: {node: '>=18.0.0', npm: '>=9.0.0', pnpm: '>= 8.6.0'} dev: true - /eslint-plugin-jest@27.6.0(eslint@8.55.0)(typescript@5.2.2): + /eslint-plugin-jest@27.6.0(eslint@8.56.0)(typescript@5.2.2): resolution: {integrity: sha512-MTlusnnDMChbElsszJvrwD1dN3x6nZl//s4JD23BxB6MgR66TZlL064su24xEIS3VACfAoHV1vgyMgPw8nkdng==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -2882,8 +2892,8 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@8.55.0)(typescript@5.2.2) - eslint: 8.55.0 + '@typescript-eslint/utils': 5.62.0(eslint@8.56.0)(typescript@5.2.2) + eslint: 8.56.0 transitivePeerDependencies: - supports-color - typescript @@ -2910,15 +2920,15 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint@8.55.0: - resolution: {integrity: sha512-iyUUAM0PCKj5QpwGfmCAG9XXbZCWsqP/eWAWrG/W0umvjuLRBECwSFdt+rCntju0xEH7teIABPwXpahftIaTdA==} + /eslint@8.56.0: + resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.55.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) '@eslint-community/regexpp': 4.9.1 '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.55.0 + '@eslint/js': 8.56.0 '@humanwhocodes/config-array': 0.11.13 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 @@ -3824,7 +3834,7 @@ packages: engines: {node: '>=10'} dependencies: '@babel/core': 7.23.5 - '@babel/parser': 7.23.5 + '@babel/parser': 7.23.6 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 7.5.4 @@ -4160,8 +4170,8 @@ packages: /magicast@0.3.2: resolution: {integrity: sha512-Fjwkl6a0syt9TFN0JSYpOybxiMCkYNEeOTnOTNRbjphirLakznZXAqrXgj/7GG3D1dvETONNwrBfinvAbpunDg==} dependencies: - '@babel/parser': 7.23.5 - '@babel/types': 7.23.5 + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 source-map-js: 1.0.2 dev: true @@ -4176,8 +4186,8 @@ packages: resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} dev: true - /marked@11.0.1: - resolution: {integrity: sha512-P4kDhFEMlvLePBPRwOcMOv6+lYUbhfbSxJFs3Jb4Qx7v6K7l+k8Dxh9CEGfRvK71tL+qIFz5y7Pe4uzt4+/A3A==} + /marked@11.1.0: + resolution: {integrity: sha512-fvKJWAPEafVj1dwGwcPI5mBB/0pvViL6NlCbNDG1HOIRwwAU/jeMoFxfbRLuirO1wRH7m4yPvBqD/O1wyWvayw==} engines: {node: '>= 18'} hasBin: true dev: true @@ -4940,8 +4950,8 @@ packages: engines: {node: '>=6'} dev: true - /puppeteer-core@21.6.0: - resolution: {integrity: sha512-1vrzbp2E1JpBwtIIrriWkN+A0afUxkqRuFTC3uASc5ql6iuK9ppOdIU/CPGKwOyB4YFIQ16mRbK0PK19mbXnaQ==} + /puppeteer-core@21.6.1: + resolution: {integrity: sha512-0chaaK/RL9S1U3bsyR4fUeUfoj51vNnjWvXgG6DcsyMjwYNpLcAThv187i1rZCo7QhJP0wZN8plQkjNyrq2h+A==} engines: {node: '>=16.13.2'} dependencies: '@puppeteer/browsers': 1.9.0 @@ -4949,7 +4959,7 @@ packages: cross-fetch: 4.0.0 debug: 4.3.4 devtools-protocol: 0.0.1203626 - ws: 8.14.2 + ws: 8.15.1 transitivePeerDependencies: - bufferutil - encoding @@ -4957,15 +4967,15 @@ packages: - utf-8-validate dev: true - /puppeteer@21.6.0(typescript@5.2.2): - resolution: {integrity: sha512-u6JhSF7xaPYZ2gd3tvhYI8MwVAjLc3Cazj7UWvMV95A07/y7cIjBwYUiMU9/jm4z0FSUORriLX/RZRaiASNWPw==} + /puppeteer@21.6.1(typescript@5.2.2): + resolution: {integrity: sha512-O+pbc61oj8ln6m8EJKncrsQFmytgRyFYERtk190PeLbJn5JKpmmynn2p1PiFrlhCitAQXLJ0MOy7F0TeyCRqBg==} engines: {node: '>=16.13.2'} hasBin: true requiresBuild: true dependencies: '@puppeteer/browsers': 1.9.0 cosmiconfig: 8.3.6(typescript@5.2.2) - puppeteer-core: 21.6.0 + puppeteer-core: 21.6.1 transitivePeerDependencies: - bufferutil - encoding @@ -5815,12 +5825,12 @@ packages: typescript: 5.2.2 dev: true - /tsx@4.6.2: - resolution: {integrity: sha512-QPpBdJo+ZDtqZgAnq86iY/PD2KYCUPSUGIunHdGwyII99GKH+f3z3FZ8XNFLSGQIA4I365ui8wnQpl8OKLqcsg==} + /tsx@4.7.0: + resolution: {integrity: sha512-I+t79RYPlEYlHn9a+KzwrvEwhJg35h/1zHsLC2JXvhC2mdynMv6Zxzvhv5EMV6VF5qJlLlkSnMVvdZV3PSIGcg==} engines: {node: '>=18.0.0'} hasBin: true dependencies: - esbuild: 0.18.20 + esbuild: 0.19.10 get-tsconfig: 4.7.2 optionalDependencies: fsevents: 2.3.3 @@ -5993,8 +6003,8 @@ packages: engines: {node: '>= 0.8'} dev: true - /vite-node@1.0.4(@types/node@20.10.4)(terser@5.22.0): - resolution: {integrity: sha512-9xQQtHdsz5Qn8hqbV7UKqkm8YkJhzT/zr41Dmt5N7AlD8hJXw/Z7y0QiD5I8lnTthV9Rvcvi0QW7PI0Fq83ZPg==} + /vite-node@1.1.0(@types/node@20.10.5)(terser@5.22.0): + resolution: {integrity: sha512-jV48DDUxGLEBdHCQvxL1mEh7+naVy+nhUUUaPAZLd3FJgXuxQiewHcfeZebbJ6onDqNGkP4r3MhQ342PRlG81Q==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: @@ -6002,7 +6012,7 @@ packages: debug: 4.3.4 pathe: 1.1.1 picocolors: 1.0.0 - vite: 5.0.7(@types/node@20.10.4)(terser@5.22.0) + vite: 5.0.7(@types/node@20.10.5)(terser@5.22.0) transitivePeerDependencies: - '@types/node' - less @@ -6014,7 +6024,7 @@ packages: - terser dev: true - /vite@5.0.7(@types/node@20.10.4)(terser@5.22.0): + /vite@5.0.7(@types/node@20.10.5)(terser@5.22.0): resolution: {integrity: sha512-B4T4rJCDPihrQo2B+h1MbeGL/k/GMAHzhQ8S0LjQ142s6/+l3hHTT095ORvsshj4QCkoWu3Xtmob5mazvakaOw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -6042,7 +6052,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.10.4 + '@types/node': 20.10.5 esbuild: 0.19.5 postcss: 8.4.32 rollup: 4.4.1 @@ -6051,8 +6061,8 @@ packages: fsevents: 2.3.3 dev: true - /vitest@1.0.4(@types/node@20.10.4)(jsdom@23.0.1)(terser@5.22.0): - resolution: {integrity: sha512-s1GQHp/UOeWEo4+aXDOeFBJwFzL6mjycbQwwKWX2QcYfh/7tIerS59hWQ20mxzupTJluA2SdwiBuWwQHH67ckg==} + /vitest@1.1.0(@types/node@20.10.5)(jsdom@23.0.1)(terser@5.22.0): + resolution: {integrity: sha512-oDFiCrw7dd3Jf06HoMtSRARivvyjHJaTxikFxuqJjO76U436PqlVw1uLn7a8OSPrhSfMGVaRakKpA2lePdw79A==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -6076,12 +6086,12 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.10.4 - '@vitest/expect': 1.0.4 - '@vitest/runner': 1.0.4 - '@vitest/snapshot': 1.0.4 - '@vitest/spy': 1.0.4 - '@vitest/utils': 1.0.4 + '@types/node': 20.10.5 + '@vitest/expect': 1.1.0 + '@vitest/runner': 1.1.0 + '@vitest/snapshot': 1.1.0 + '@vitest/spy': 1.1.0 + '@vitest/utils': 1.1.0 acorn-walk: 8.3.0 cac: 6.7.14 chai: 4.3.10 @@ -6096,8 +6106,8 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.8.1 - vite: 5.0.7(@types/node@20.10.4)(terser@5.22.0) - vite-node: 1.0.4(@types/node@20.10.4)(terser@5.22.0) + vite: 5.0.7(@types/node@20.10.5)(terser@5.22.0) + vite-node: 1.1.0(@types/node@20.10.5)(terser@5.22.0) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -6213,8 +6223,8 @@ packages: resolution: {integrity: sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==} engines: {node: '>= 10.0.0'} dependencies: - '@babel/parser': 7.23.5 - '@babel/types': 7.23.5 + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 assert-never: 1.2.1 babel-walk: 3.0.0-canary-5 dev: true @@ -6267,6 +6277,19 @@ packages: optional: true dev: true + /ws@8.15.1: + resolution: {integrity: sha512-W5OZiCjXEmk0yZ66ZN82beM5Sz7l7coYxpRkzS+p9PP+ToQry8szKh+61eNktr7EA9DOwvFGhfC605jDHbP6QQ==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: true + /xml-name-validator@5.0.0: resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} engines: {node: '>=18'} diff --git a/scripts/setupVitest.ts b/scripts/setupVitest.ts index 41df611a2..c0b0aa923 100644 --- a/scripts/setupVitest.ts +++ b/scripts/setupVitest.ts @@ -1,4 +1,4 @@ -import { type SpyInstance } from 'vitest' +import { type MockInstance } from 'vitest' vi.stubGlobal('MathMLElement', class MathMLElement {}) @@ -67,7 +67,7 @@ expect.extend({ } }) -let warn: SpyInstance +let warn: MockInstance const asserted: Set = new Set() beforeEach(() => {