chore(deps): update devdependency @nuxt/test-utils to v3.13.0 (main) (#27238)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Roe <daniel@roe.dev>
This commit is contained in:
renovate[bot] 2024-05-20 01:02:54 -05:00 committed by GitHub
parent 34ea903c34
commit 390a0ff281
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 175 additions and 459 deletions

View File

@ -48,7 +48,7 @@
"@eslint/js": "9.3.0",
"@nuxt/eslint-config": "0.3.13",
"@nuxt/kit": "workspace:*",
"@nuxt/test-utils": "3.12.1",
"@nuxt/test-utils": "3.13.1",
"@nuxt/webpack-builder": "workspace:*",
"@testing-library/vue": "8.1.0",
"@types/eslint__js": "8.42.3",

View File

@ -30,8 +30,8 @@ importers:
specifier: workspace:*
version: link:packages/kit
'@nuxt/test-utils':
specifier: 3.12.1
version: 3.12.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.11.0)(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.12)(happy-dom@14.11.0)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5))
specifier: 3.13.1
version: 3.13.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.11.0)(nitropack@2.9.6(encoding@0.1.13))(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.12)(happy-dom@14.11.0)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5))
'@nuxt/webpack-builder':
specifier: workspace:*
version: link:packages/webpack
@ -142,7 +142,7 @@ importers:
version: 1.6.0(@types/node@20.12.12)(happy-dom@14.11.0)(sass@1.69.4)(terser@5.27.0)
vitest-environment-nuxt:
specifier: 1.0.0
version: 1.0.0(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.11.0)(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.12)(happy-dom@14.11.0)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5))
version: 1.0.0(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.11.0)(nitropack@2.9.6(encoding@0.1.13))(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.12)(happy-dom@14.11.0)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5))
vue:
specifier: 3.4.27
version: 3.4.27(typescript@5.4.5)
@ -251,7 +251,7 @@ importers:
version: 2.0.2
'@nuxt/devtools':
specifier: ^1.3.1
version: 1.3.1(@unocss/reset@0.60.2)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.17.2)(unocss@0.60.2(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))
version: 1.3.1(@unocss/reset@0.60.2)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.17.2)(unocss@0.60.2(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))
'@nuxt/kit':
specifier: workspace:*
version: link:../kit
@ -266,7 +266,7 @@ importers:
version: link:../vite
'@types/node':
specifier: ^14.18.0 || >=16.10.0
version: 20.12.10
version: 20.12.12
'@unhead/dom':
specifier: ^1.9.10
version: 1.9.10
@ -432,16 +432,16 @@ importers:
version: 11.0.4
'@vitejs/plugin-vue':
specifier: 5.0.4
version: 5.0.4(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))
version: 5.0.4(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))
unbuild:
specifier: latest
version: 2.0.0(sass@1.69.4)(typescript@5.4.5)
vite:
specifier: 5.2.11
version: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)
version: 5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0)
vitest:
specifier: 1.6.0
version: 1.6.0(@types/node@20.12.10)(happy-dom@14.11.0)(sass@1.69.4)(terser@5.27.0)
version: 1.6.0(@types/node@20.12.12)(happy-dom@14.11.0)(sass@1.69.4)(terser@5.27.0)
packages/schema:
dependencies:
@ -1741,10 +1741,6 @@ packages:
resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
'@eslint/eslintrc@3.0.2':
resolution: {integrity: sha512-wV19ZEGEMAC1eHgrS7UQPqsdEiCIbTKTasEfcXAigzoXICcqZSjBZEHlZwNVvKg6UBCjSlos84XiLqsRJnIcIg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/eslintrc@3.1.0':
resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@ -1959,20 +1955,21 @@ packages:
resolution: {integrity: sha512-KH6wxzsNys69daSO0xUv0LEBAfhwwjK1M+0Cdi1/vxmifCslMIY7lN11B4eywSfscbyVPAYJvANyc7XiVPImBQ==}
hasBin: true
'@nuxt/test-utils@3.12.1':
resolution: {integrity: sha512-VRLNcDz9Ad/4pjHdNRVLPs5DVIO5IJ0ij81PLmsE/lt+5oeeIQld+AgHgcqM4BM1YKsXTBuavbk1mEBqj7h/+A==}
engines: {node: ^14.18.0 || >=16.10.0}
'@nuxt/test-utils@3.13.1':
resolution: {integrity: sha512-rqNnjArhFUU8qMHtpEZzjfF6fGTzeXxZsreNLUy9X5AoUuS37HgnobNJIirTrA0xzlzitKVm/mB9r4gXZGzWdQ==}
engines: {node: '>=18.20.2'}
peerDependencies:
'@cucumber/cucumber': ^10.3.1
'@jest/globals': ^29.5.0
'@playwright/test': ^1.42.1
'@playwright/test': ^1.43.1
'@testing-library/vue': ^7.0.0 || ^8.0.1
'@vitest/ui': ^0.34.6 || ^1.0.0
'@vue/test-utils': ^2.4.2
h3: '*'
happy-dom: ^9.10.9 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0
jsdom: ^22.0.0 || ^23.0.0 || ^24.0.0
playwright-core: ^1.34.3
nitropack: '*'
playwright-core: ^1.43.1
vite: 5.2.11
vitest: ^0.34.6 || ^1.0.0
vue: 3.4.27
@ -2443,9 +2440,6 @@ packages:
'@types/node-sass@4.11.6':
resolution: {integrity: sha512-Qkf5Fs9zzsXchenUY7oVdIHyv8FtPgqIXqOJzhh3FDqpYjqvc/gtZ3hlZVFmKQhl7wyI4+WkRbYufYC5pfY7iw==}
'@types/node@20.12.10':
resolution: {integrity: sha512-Eem5pH9pmWBHoGAT8Dr5fdc5rYA+4NAovdM4EktRPVAAiJhmWWfQrA0cFhAbOsQdSfIHjAud6YdkbL69+zSKjw==}
'@types/node@20.12.12':
resolution: {integrity: sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==}
@ -2531,14 +2525,6 @@ packages:
typescript:
optional: true
'@typescript-eslint/scope-manager@7.7.1':
resolution: {integrity: sha512-PytBif2SF+9SpEUKynYn5g1RHFddJUcyynGpztX3l/ik7KmZEv19WCMhUBkHXPU9es/VWGD3/zg3wg90+Dh2rA==}
engines: {node: ^18.18.0 || >=20.0.0}
'@typescript-eslint/scope-manager@7.8.0':
resolution: {integrity: sha512-viEmZ1LmwsGcnr85gIq+FCYI7nO90DVbE37/ll51hjv9aG+YZMb4WDE2fyWpUR4O/UrhGRpYXK/XajcGTk2B8g==}
engines: {node: ^18.18.0 || >=20.0.0}
'@typescript-eslint/scope-manager@7.9.0':
resolution: {integrity: sha512-ZwPK4DeCDxr3GJltRz5iZejPFAAr4Wk3+2WIBaj1L5PYK5RgxExu/Y68FFVclN0y6GGwH8q+KgKRCvaTmFBbgQ==}
engines: {node: ^18.18.0 || >=20.0.0}
@ -2553,36 +2539,10 @@ packages:
typescript:
optional: true
'@typescript-eslint/types@7.7.1':
resolution: {integrity: sha512-AmPmnGW1ZLTpWa+/2omPrPfR7BcbUU4oha5VIbSbS1a1Tv966bklvLNXxp3mrbc+P2j4MNOTfDffNsk4o0c6/w==}
engines: {node: ^18.18.0 || >=20.0.0}
'@typescript-eslint/types@7.8.0':
resolution: {integrity: sha512-wf0peJ+ZGlcH+2ZS23aJbOv+ztjeeP8uQ9GgwMJGVLx/Nj9CJt17GWgWWoSmoRVKAX2X+7fzEnAjxdvK2gqCLw==}
engines: {node: ^18.18.0 || >=20.0.0}
'@typescript-eslint/types@7.9.0':
resolution: {integrity: sha512-oZQD9HEWQanl9UfsbGVcZ2cGaR0YT5476xfWE0oE5kQa2sNK2frxOlkeacLOTh9po4AlUT5rtkGyYM5kew0z5w==}
engines: {node: ^18.18.0 || >=20.0.0}
'@typescript-eslint/typescript-estree@7.7.1':
resolution: {integrity: sha512-CXe0JHCXru8Fa36dteXqmH2YxngKJjkQLjxzoj6LYwzZ7qZvgsLSc+eqItCrqIop8Vl2UKoAi0StVWu97FQZIQ==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
'@typescript-eslint/typescript-estree@7.8.0':
resolution: {integrity: sha512-5pfUCOwK5yjPaJQNy44prjCwtr981dO8Qo9J9PwYXZ0MosgAbfEMB008dJ5sNo3+/BN6ytBPuSvXUg9SAqB0dg==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
'@typescript-eslint/typescript-estree@7.9.0':
resolution: {integrity: sha512-zBCMCkrb2YjpKV3LA0ZJubtKCDxLttxfdGmwZvTqqWevUPN0FZvSI26FalGFFUZU/9YQK/A4xcQF9o/VVaCKAg==}
engines: {node: ^18.18.0 || >=20.0.0}
@ -2592,32 +2552,12 @@ packages:
typescript:
optional: true
'@typescript-eslint/utils@7.7.1':
resolution: {integrity: sha512-QUvBxPEaBXf41ZBbaidKICgVL8Hin0p6prQDu6bbetWo39BKbWJxRsErOzMNT1rXvTll+J7ChrbmMCXM9rsvOQ==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
eslint: ^8.56.0
'@typescript-eslint/utils@7.8.0':
resolution: {integrity: sha512-L0yFqOCflVqXxiZyXrDr80lnahQfSOfc9ELAAZ75sqicqp2i36kEZZGuUymHNFoYOqxRT05up760b4iGsl02nQ==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
eslint: ^8.56.0
'@typescript-eslint/utils@7.9.0':
resolution: {integrity: sha512-5KVRQCzZajmT4Ep+NEgjXCvjuypVvYHUW7RHlXzNPuak2oWpVoD1jf5xCP0dPAuNIchjC7uQyvbdaSTFaLqSdA==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
eslint: ^8.56.0
'@typescript-eslint/visitor-keys@7.7.1':
resolution: {integrity: sha512-gBL3Eq25uADw1LQ9kVpf3hRM+DWzs0uZknHYK3hq4jcTPqVCClHGDnB6UUUV2SFeBeA4KWHWbbLqmbGcZ4FYbw==}
engines: {node: ^18.18.0 || >=20.0.0}
'@typescript-eslint/visitor-keys@7.8.0':
resolution: {integrity: sha512-q4/gibTNBQNA0lGyYQCmWRS5D15n8rXh4QjK3KV+MBPlTYHpfBUT3D3PaPR/HeNiI9W6R7FvlkcGhNyAoP+caA==}
engines: {node: ^18.18.0 || >=20.0.0}
'@typescript-eslint/visitor-keys@7.9.0':
resolution: {integrity: sha512-iESPx2TNLDNGQLyjKhUvIKprlP49XNEK+MvIf9nIO7ZZaZdbnfWKHnXAgufpxqfA0YryH8XToi4+CjBgVnFTSQ==}
engines: {node: ^18.18.0 || >=20.0.0}
@ -5514,10 +5454,6 @@ packages:
resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
engines: {node: '>=8'}
npm-run-path@5.1.0:
resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
npm-run-path@5.3.0:
resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@ -7716,7 +7652,7 @@ snapshots:
dependencies:
'@types/eslint': 8.56.10
'@types/estree': 1.0.5
'@typescript-eslint/types': 7.8.0
'@typescript-eslint/types': 7.9.0
comment-parser: 1.4.1
esquery: 1.5.0
jsdoc-type-pratt-parser: 4.0.0
@ -8001,20 +7937,6 @@ snapshots:
'@eslint-community/regexpp@4.10.0': {}
'@eslint/eslintrc@3.0.2':
dependencies:
ajv: 6.12.6
debug: 4.3.4
espree: 10.0.1
globals: 14.0.0
ignore: 5.3.1
import-fresh: 3.3.0
js-yaml: 4.1.0
minimatch: 3.1.2
strip-json-comments: 3.1.1
transitivePeerDependencies:
- supports-color
'@eslint/eslintrc@3.1.0':
dependencies:
ajv: 6.12.6
@ -8249,13 +8171,13 @@ snapshots:
'@nuxt/devalue@2.0.2': {}
'@nuxt/devtools-kit@1.3.1(nuxt@packages+nuxt)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))':
'@nuxt/devtools-kit@1.3.1(nuxt@packages+nuxt)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))':
dependencies:
'@nuxt/kit': link:packages/kit
'@nuxt/schema': link:packages/schema
execa: 7.2.0
nuxt: link:packages/nuxt
vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)
vite: 5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0)
'@nuxt/devtools-wizard@1.3.1':
dependencies:
@ -8270,14 +8192,14 @@ snapshots:
rc9: 2.1.2
semver: 7.6.2
'@nuxt/devtools@1.3.1(@unocss/reset@0.60.2)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.17.2)(unocss@0.60.2(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))':
'@nuxt/devtools@1.3.1(@unocss/reset@0.60.2)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(nuxt@packages+nuxt)(rollup@4.17.2)(unocss@0.60.2(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))':
dependencies:
'@antfu/utils': 0.7.8
'@nuxt/devtools-kit': 1.3.1(nuxt@packages+nuxt)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))
'@nuxt/devtools-kit': 1.3.1(nuxt@packages+nuxt)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))
'@nuxt/devtools-wizard': 1.3.1
'@nuxt/kit': link:packages/kit
'@vue/devtools-applet': 7.1.3(@unocss/reset@0.60.2)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.2(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))
'@vue/devtools-core': 7.1.3(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))
'@vue/devtools-applet': 7.1.3(@unocss/reset@0.60.2)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.2(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))
'@vue/devtools-core': 7.1.3(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))
'@vue/devtools-kit': 7.1.3(vue@3.4.27(typescript@5.4.5))
birpc: 0.2.17
consola: 3.2.3
@ -8307,9 +8229,9 @@ snapshots:
simple-git: 3.24.0
sirv: 2.0.4
unimport: 3.7.1(rollup@4.17.2)
vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)
vite-plugin-inspect: 0.8.4(@nuxt/kit@packages+kit)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))
vite-plugin-vue-inspector: 5.1.0(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))
vite: 5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0)
vite-plugin-inspect: 0.8.4(@nuxt/kit@packages+kit)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))
vite-plugin-vue-inspector: 5.1.0(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))
which: 3.0.1
ws: 8.17.0
transitivePeerDependencies:
@ -8396,7 +8318,7 @@ snapshots:
rc9: 2.1.2
std-env: 3.7.0
'@nuxt/test-utils@3.12.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.11.0)(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.12)(happy-dom@14.11.0)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5))':
'@nuxt/test-utils@3.13.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.11.0)(nitropack@2.9.6(encoding@0.1.13))(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.12)(happy-dom@14.11.0)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5))':
dependencies:
'@nuxt/kit': link:packages/kit
'@nuxt/schema': link:packages/schema
@ -8411,6 +8333,7 @@ snapshots:
h3: 1.11.1
local-pkg: 0.5.0
magic-string: 0.30.10
nitropack: 2.9.6(encoding@0.1.13)
node-fetch-native: 1.6.4
ofetch: 1.3.4
pathe: 1.1.2
@ -8422,7 +8345,7 @@ snapshots:
unenv: 1.9.0
unplugin: 1.10.1
vite: 5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0)
vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.11.0)(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.12)(happy-dom@14.11.0)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5))
vitest-environment-nuxt: 1.0.0(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.11.0)(nitropack@2.9.6(encoding@0.1.13))(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.12)(happy-dom@14.11.0)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5))
vue: 3.4.27(typescript@5.4.5)
vue-router: 4.3.2(vue@3.4.27(typescript@5.4.5))
optionalDependencies:
@ -8753,7 +8676,7 @@ snapshots:
'@stylistic/eslint-plugin-plus@2.1.0(eslint@9.3.0)(typescript@5.4.5)':
dependencies:
'@types/eslint': 8.56.10
'@typescript-eslint/utils': 7.8.0(eslint@9.3.0)(typescript@5.4.5)
'@typescript-eslint/utils': 7.9.0(eslint@9.3.0)(typescript@5.4.5)
eslint: 9.3.0
transitivePeerDependencies:
- supports-color
@ -8763,7 +8686,7 @@ snapshots:
dependencies:
'@stylistic/eslint-plugin-js': 2.1.0(eslint@9.3.0)
'@types/eslint': 8.56.10
'@typescript-eslint/utils': 7.8.0(eslint@9.3.0)(typescript@5.4.5)
'@typescript-eslint/utils': 7.9.0(eslint@9.3.0)(typescript@5.4.5)
eslint: 9.3.0
transitivePeerDependencies:
- supports-color
@ -8850,7 +8773,7 @@ snapshots:
'@types/fs-extra@11.0.4':
dependencies:
'@types/jsonfile': 6.1.2
'@types/node': 20.12.10
'@types/node': 20.12.12
'@types/hash-sum@1.0.2': {}
@ -8900,10 +8823,6 @@ snapshots:
dependencies:
'@types/node': 20.12.12
'@types/node@20.12.10':
dependencies:
undici-types: 5.26.5
'@types/node@20.12.12':
dependencies:
undici-types: 5.26.5
@ -8920,7 +8839,7 @@ snapshots:
'@types/sass-loader@8.0.8':
dependencies:
'@types/node': 20.12.10
'@types/node': 20.12.12
'@types/node-sass': 4.11.6
'@types/webpack': 4.41.34
sass: 1.69.4
@ -8943,7 +8862,7 @@ snapshots:
'@types/webpack-bundle-analyzer@4.7.0':
dependencies:
'@types/node': 20.12.10
'@types/node': 20.12.12
tapable: 2.2.1
webpack: 5.91.0
transitivePeerDependencies:
@ -9019,16 +8938,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/scope-manager@7.7.1':
dependencies:
'@typescript-eslint/types': 7.7.1
'@typescript-eslint/visitor-keys': 7.7.1
'@typescript-eslint/scope-manager@7.8.0':
dependencies:
'@typescript-eslint/types': 7.8.0
'@typescript-eslint/visitor-keys': 7.8.0
'@typescript-eslint/scope-manager@7.9.0':
dependencies:
'@typescript-eslint/types': 7.9.0
@ -9046,42 +8955,8 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/types@7.7.1': {}
'@typescript-eslint/types@7.8.0': {}
'@typescript-eslint/types@7.9.0': {}
'@typescript-eslint/typescript-estree@7.7.1(typescript@5.4.5)':
dependencies:
'@typescript-eslint/types': 7.7.1
'@typescript-eslint/visitor-keys': 7.7.1
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
minimatch: 9.0.4
semver: 7.6.2
ts-api-utils: 1.3.0(typescript@5.4.5)
optionalDependencies:
typescript: 5.4.5
transitivePeerDependencies:
- supports-color
'@typescript-eslint/typescript-estree@7.8.0(typescript@5.4.5)':
dependencies:
'@typescript-eslint/types': 7.8.0
'@typescript-eslint/visitor-keys': 7.8.0
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
minimatch: 9.0.4
semver: 7.6.2
ts-api-utils: 1.3.0(typescript@5.4.5)
optionalDependencies:
typescript: 5.4.5
transitivePeerDependencies:
- supports-color
'@typescript-eslint/typescript-estree@7.9.0(typescript@5.4.5)':
dependencies:
'@typescript-eslint/types': 7.9.0
@ -9097,34 +8972,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/utils@7.7.1(eslint@9.3.0)(typescript@5.4.5)':
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.3.0)
'@types/json-schema': 7.0.15
'@types/semver': 7.5.8
'@typescript-eslint/scope-manager': 7.7.1
'@typescript-eslint/types': 7.7.1
'@typescript-eslint/typescript-estree': 7.7.1(typescript@5.4.5)
eslint: 9.3.0
semver: 7.6.2
transitivePeerDependencies:
- supports-color
- typescript
'@typescript-eslint/utils@7.8.0(eslint@9.3.0)(typescript@5.4.5)':
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.3.0)
'@types/json-schema': 7.0.15
'@types/semver': 7.5.8
'@typescript-eslint/scope-manager': 7.8.0
'@typescript-eslint/types': 7.8.0
'@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5)
eslint: 9.3.0
semver: 7.6.2
transitivePeerDependencies:
- supports-color
- typescript
'@typescript-eslint/utils@7.9.0(eslint@9.3.0)(typescript@5.4.5)':
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.3.0)
@ -9136,16 +8983,6 @@ snapshots:
- supports-color
- typescript
'@typescript-eslint/visitor-keys@7.7.1':
dependencies:
'@typescript-eslint/types': 7.7.1
eslint-visitor-keys: 3.4.3
'@typescript-eslint/visitor-keys@7.8.0':
dependencies:
'@typescript-eslint/types': 7.8.0
eslint-visitor-keys: 3.4.3
'@typescript-eslint/visitor-keys@7.9.0':
dependencies:
'@typescript-eslint/types': 7.9.0
@ -9186,16 +9023,6 @@ snapshots:
unhead: 1.9.10
vue: 3.4.27(typescript@5.4.5)
'@unocss/astro@0.60.2(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))':
dependencies:
'@unocss/core': 0.60.2
'@unocss/reset': 0.60.2
'@unocss/vite': 0.60.2(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))
optionalDependencies:
vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)
transitivePeerDependencies:
- rollup
'@unocss/astro@0.60.2(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))':
dependencies:
'@unocss/core': 0.60.2
@ -9333,22 +9160,6 @@ snapshots:
dependencies:
'@unocss/core': 0.60.2
'@unocss/vite@0.60.2(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))':
dependencies:
'@ampproject/remapping': 2.3.0
'@rollup/pluginutils': 5.1.0(rollup@4.17.2)
'@unocss/config': 0.60.2
'@unocss/core': 0.60.2
'@unocss/inspector': 0.60.2
'@unocss/scope': 0.60.2
'@unocss/transformer-directives': 0.60.2
chokidar: 3.6.0
fast-glob: 3.3.2
magic-string: 0.30.10
vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)
transitivePeerDependencies:
- rollup
'@unocss/vite@0.60.2(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))':
dependencies:
'@ampproject/remapping': 2.3.0
@ -9393,11 +9204,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@vitejs/plugin-vue@5.0.4(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))':
dependencies:
vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)
vue: 3.4.27(typescript@5.4.5)
'@vitejs/plugin-vue@5.0.4(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))':
dependencies:
vite: 5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0)
@ -9563,12 +9369,12 @@ snapshots:
'@vue/devtools-api@6.5.1': {}
'@vue/devtools-applet@7.1.3(@unocss/reset@0.60.2)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.2(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))':
'@vue/devtools-applet@7.1.3(@unocss/reset@0.60.2)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.2(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0)))(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))':
dependencies:
'@vue/devtools-core': 7.1.3(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))
'@vue/devtools-core': 7.1.3(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))
'@vue/devtools-kit': 7.1.3(vue@3.4.27(typescript@5.4.5))
'@vue/devtools-shared': 7.1.3
'@vue/devtools-ui': 7.1.3(@unocss/reset@0.60.2)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.2(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5))
'@vue/devtools-ui': 7.1.3(@unocss/reset@0.60.2)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.2(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5))
lodash-es: 4.17.21
perfect-debounce: 1.0.0
shiki: 1.3.0
@ -9593,14 +9399,14 @@ snapshots:
- unocss
- vite
'@vue/devtools-core@7.1.3(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))':
'@vue/devtools-core@7.1.3(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))':
dependencies:
'@vue/devtools-kit': 7.1.3(vue@3.4.27(typescript@5.4.5))
'@vue/devtools-shared': 7.1.3
mitt: 3.0.1
nanoid: 3.3.7
pathe: 1.1.2
vite-hot-client: 0.2.3(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))
vite-hot-client: 0.2.3(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))
transitivePeerDependencies:
- vite
- vue
@ -9618,7 +9424,7 @@ snapshots:
dependencies:
rfdc: 1.3.1
'@vue/devtools-ui@7.1.3(@unocss/reset@0.60.2)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.2(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5))':
'@vue/devtools-ui@7.1.3(@unocss/reset@0.60.2)(floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5)))(unocss@0.60.2(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0)))(vue@3.4.27(typescript@5.4.5))':
dependencies:
'@unocss/reset': 0.60.2
'@vue/devtools-shared': 7.1.3
@ -9628,7 +9434,7 @@ snapshots:
colord: 2.9.3
floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.4.27(typescript@5.4.5))
focus-trap: 7.5.4
unocss: 0.60.2(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))
unocss: 0.60.2(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))
vue: 3.4.27(typescript@5.4.5)
transitivePeerDependencies:
- '@vue/composition-api'
@ -10849,7 +10655,7 @@ snapshots:
eslint-plugin-import-x@0.5.0(eslint@9.3.0)(typescript@5.4.5):
dependencies:
'@typescript-eslint/utils': 7.8.0(eslint@9.3.0)(typescript@5.4.5)
'@typescript-eslint/utils': 7.9.0(eslint@9.3.0)(typescript@5.4.5)
debug: 4.3.4
doctrine: 3.0.0
eslint: 9.3.0
@ -10881,7 +10687,7 @@ snapshots:
eslint-plugin-perfectionist@2.10.0(eslint@9.3.0)(typescript@5.4.5)(vue-eslint-parser@9.4.2(eslint@9.3.0)):
dependencies:
'@typescript-eslint/utils': 7.7.1(eslint@9.3.0)(typescript@5.4.5)
'@typescript-eslint/utils': 7.9.0(eslint@9.3.0)(typescript@5.4.5)
eslint: 9.3.0
minimatch: 9.0.4
natural-compare-lite: 1.4.0
@ -10906,7 +10712,7 @@ snapshots:
dependencies:
'@babel/helper-validator-identifier': 7.24.5
'@eslint-community/eslint-utils': 4.4.0(eslint@9.3.0)
'@eslint/eslintrc': 3.0.2
'@eslint/eslintrc': 3.1.0
ci-info: 4.0.0
clean-regexp: 1.0.0
core-js-compat: 3.37.1
@ -11072,7 +10878,7 @@ snapshots:
human-signals: 5.0.0
is-stream: 3.0.0
merge-stream: 2.0.0
npm-run-path: 5.1.0
npm-run-path: 5.3.0
onetime: 6.0.0
signal-exit: 4.1.0
strip-final-newline: 3.0.0
@ -12824,10 +12630,6 @@ snapshots:
dependencies:
path-key: 3.1.1
npm-run-path@5.1.0:
dependencies:
path-key: 4.0.0
npm-run-path@5.3.0:
dependencies:
path-key: 4.0.0
@ -12859,7 +12661,7 @@ snapshots:
pathe: 1.1.2
picocolors: 1.0.0
remark-parse: 11.0.0
shiki: 1.1.6
shiki: 1.3.0
twoslash: 0.2.4(typescript@5.4.5)
typescript: 5.4.5
unified: 11.0.4
@ -14358,35 +14160,6 @@ snapshots:
universalify@2.0.0: {}
unocss@0.60.2(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)):
dependencies:
'@unocss/astro': 0.60.2(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))
'@unocss/cli': 0.60.2(rollup@4.17.2)
'@unocss/core': 0.60.2
'@unocss/extractor-arbitrary-variants': 0.60.2
'@unocss/postcss': 0.60.2(postcss@8.4.38)
'@unocss/preset-attributify': 0.60.2
'@unocss/preset-icons': 0.60.2
'@unocss/preset-mini': 0.60.2
'@unocss/preset-tagify': 0.60.2
'@unocss/preset-typography': 0.60.2
'@unocss/preset-uno': 0.60.2
'@unocss/preset-web-fonts': 0.60.2
'@unocss/preset-wind': 0.60.2
'@unocss/reset': 0.60.2
'@unocss/transformer-attributify-jsx': 0.60.2
'@unocss/transformer-attributify-jsx-babel': 0.60.2
'@unocss/transformer-compile-class': 0.60.2
'@unocss/transformer-directives': 0.60.2
'@unocss/transformer-variant-group': 0.60.2
'@unocss/vite': 0.60.2(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0))
optionalDependencies:
vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)
transitivePeerDependencies:
- postcss
- rollup
- supports-color
unocss@0.60.2(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0)):
dependencies:
'@unocss/astro': 0.60.2(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))
@ -14542,9 +14315,9 @@ snapshots:
unist-util-stringify-position: 4.0.0
vfile-message: 4.0.2
vite-hot-client@0.2.3(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)):
vite-hot-client@0.2.3(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0)):
dependencies:
vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)
vite: 5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0)
vite-node@1.5.3(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0):
dependencies:
@ -14563,23 +14336,6 @@ snapshots:
- supports-color
- terser
vite-node@1.6.0(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0):
dependencies:
cac: 6.7.14
debug: 4.3.4
pathe: 1.1.2
picocolors: 1.0.0
vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)
transitivePeerDependencies:
- '@types/node'
- less
- lightningcss
- sass
- stylus
- sugarss
- supports-color
- terser
vite-node@1.6.0(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0):
dependencies:
cac: 6.7.14
@ -14621,7 +14377,7 @@ snapshots:
typescript: 5.4.5
vue-tsc: 2.0.19(typescript@5.4.5)
vite-plugin-inspect@0.8.4(@nuxt/kit@packages+kit)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)):
vite-plugin-inspect@0.8.4(@nuxt/kit@packages+kit)(rollup@4.17.2)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0)):
dependencies:
'@antfu/utils': 0.7.8
'@rollup/pluginutils': 5.1.0(rollup@4.17.2)
@ -14632,14 +14388,14 @@ snapshots:
perfect-debounce: 1.0.0
picocolors: 1.0.0
sirv: 2.0.4
vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)
vite: 5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0)
optionalDependencies:
'@nuxt/kit': link:packages/kit
transitivePeerDependencies:
- rollup
- supports-color
vite-plugin-vue-inspector@5.1.0(vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)):
vite-plugin-vue-inspector@5.1.0(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0)):
dependencies:
'@babel/core': 7.24.5
'@babel/plugin-proposal-decorators': 7.23.2(@babel/core@7.24.5)
@ -14650,21 +14406,10 @@ snapshots:
'@vue/compiler-dom': 3.4.27
kolorist: 1.8.0
magic-string: 0.30.10
vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)
vite: 5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0)
transitivePeerDependencies:
- supports-color
vite@5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0):
dependencies:
esbuild: 0.20.2
postcss: 8.4.38
rollup: 4.17.2
optionalDependencies:
'@types/node': 20.12.10
fsevents: 2.3.3
sass: 1.69.4
terser: 5.27.0
vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0):
dependencies:
esbuild: 0.20.2
@ -14676,9 +14421,9 @@ snapshots:
sass: 1.69.4
terser: 5.27.0
vitest-environment-nuxt@1.0.0(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.11.0)(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.12)(happy-dom@14.11.0)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)):
vitest-environment-nuxt@1.0.0(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.11.0)(nitropack@2.9.6(encoding@0.1.13))(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.12)(happy-dom@14.11.0)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5)):
dependencies:
'@nuxt/test-utils': 3.12.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.11.0)(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.12)(happy-dom@14.11.0)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5))
'@nuxt/test-utils': 3.13.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.4.27)(vue@3.4.27(typescript@5.4.5)))(@vue/test-utils@2.4.6)(h3@1.11.1)(happy-dom@14.11.0)(nitropack@2.9.6(encoding@0.1.13))(playwright-core@1.44.0)(vite@5.2.11(@types/node@20.12.12)(sass@1.69.4)(terser@5.27.0))(vitest@1.6.0(@types/node@20.12.12)(happy-dom@14.11.0)(sass@1.69.4)(terser@5.27.0))(vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)))(vue@3.4.27(typescript@5.4.5))
transitivePeerDependencies:
- '@cucumber/cucumber'
- '@jest/globals'
@ -14689,6 +14434,7 @@ snapshots:
- h3
- happy-dom
- jsdom
- nitropack
- playwright-core
- vite
- vitest
@ -14729,40 +14475,6 @@ snapshots:
- supports-color
- terser
vitest@1.6.0(@types/node@20.12.10)(happy-dom@14.11.0)(sass@1.69.4)(terser@5.27.0):
dependencies:
'@vitest/expect': 1.6.0
'@vitest/runner': 1.6.0
'@vitest/snapshot': 1.6.0
'@vitest/spy': 1.6.0
'@vitest/utils': 1.6.0
acorn-walk: 8.3.2
chai: 4.3.10
debug: 4.3.4
execa: 8.0.1
local-pkg: 0.5.0
magic-string: 0.30.10
pathe: 1.1.2
picocolors: 1.0.0
std-env: 3.7.0
strip-literal: 2.1.0
tinybench: 2.5.1
tinypool: 0.8.4
vite: 5.2.11(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)
vite-node: 1.6.0(@types/node@20.12.10)(sass@1.69.4)(terser@5.27.0)
why-is-node-running: 2.2.2
optionalDependencies:
'@types/node': 20.12.10
happy-dom: 14.11.0
transitivePeerDependencies:
- less
- lightningcss
- sass
- stylus
- sugarss
- supports-color
- terser
vitest@1.6.0(@types/node@20.12.12)(happy-dom@14.11.0)(sass@1.69.4)(terser@5.27.0):
dependencies:
'@vitest/expect': 1.6.0

View File

@ -30,22 +30,22 @@ await setup({
describe('server api', () => {
it('should serialize', async () => {
expect(await $fetch('/api/hello')).toBe('Hello API')
expect(await $fetch('/api/hey')).toEqual({
expect(await $fetch<string>('/api/hello')).toBe('Hello API')
expect(await $fetch<string>('/api/hey')).toEqual({
foo: 'bar',
baz: 'qux',
})
})
it('should preserve states', async () => {
expect(await $fetch('/api/counter')).toEqual({ count: 0 })
expect(await $fetch('/api/counter')).toEqual({ count: 1 })
expect(await $fetch('/api/counter')).toEqual({ count: 2 })
expect(await $fetch('/api/counter')).toEqual({ count: 3 })
expect(await $fetch<string>('/api/counter')).toEqual({ count: 0 })
expect(await $fetch<string>('/api/counter')).toEqual({ count: 1 })
expect(await $fetch<string>('/api/counter')).toEqual({ count: 2 })
expect(await $fetch<string>('/api/counter')).toEqual({ count: 3 })
})
it('should auto-import', async () => {
const res = await $fetch('/api/auto-imports')
const res = await $fetch<string>('/api/auto-imports')
expect(res).toMatchInlineSnapshot(`
{
"autoImported": "utils",
@ -58,7 +58,7 @@ describe('server api', () => {
describe('route rules', () => {
it('should enable spa mode', async () => {
const headHtml = await $fetch('/route-rules/spa')
const headHtml = await $fetch<string>('/route-rules/spa')
// SPA should render appHead tags
expect(headHtml).toContain('<meta name="description" content="Nuxt Fixture">')
@ -74,7 +74,7 @@ describe('route rules', () => {
})
it('should not render loading template in spa mode if it is not enabled', async () => {
const html = await $fetch('/route-rules/spa')
const html = await $fetch<string>('/route-rules/spa')
expect(html).toContain('<div id="__nuxt"></div>')
})
@ -85,26 +85,26 @@ describe('route rules', () => {
})
it('test noScript routeRules', async () => {
const html = await $fetch('/no-scripts')
const html = await $fetch<string>('/no-scripts')
expect(html).not.toContain('<script')
})
it.runIf(isTestingAppManifest)('should run middleware defined in routeRules config', async () => {
const html = await $fetch('/route-rules/middleware')
const html = await $fetch<string>('/route-rules/middleware')
expect(html).toContain('Hello from routeRules!')
})
})
describe('modules', () => {
it('should auto-register modules in ~/modules', async () => {
const result = await $fetch('/auto-registered-module')
const result = await $fetch<string>('/auto-registered-module')
expect(result).toEqual('handler added by auto-registered module')
})
})
describe('pages', () => {
it('render index', async () => {
const html = await $fetch('/')
const html = await $fetch<string>('/')
// Snapshot
// expect(html).toMatchInlineSnapshot()
@ -137,7 +137,7 @@ describe('pages', () => {
// TODO: support jsx with webpack
it.runIf(!isWebpack)('supports jsx', async () => {
const html = await $fetch('/jsx')
const html = await $fetch<string>('/jsx')
// should import JSX/TSX components with custom elements
expect(html).toContain('TSX component')
@ -146,7 +146,7 @@ describe('pages', () => {
})
it('respects aliases in page metadata', async () => {
const html = await $fetch('/some-alias')
const html = await $fetch<string>('/some-alias')
expect(html).toContain('Hello Nuxt 3!')
})
@ -156,7 +156,7 @@ describe('pages', () => {
})
it('allows routes to be added dynamically', async () => {
const html = await $fetch('/add-route-test')
const html = await $fetch<string>('/add-route-test')
expect(html).toContain('Hello Nuxt 3!')
})
@ -218,7 +218,7 @@ describe('pages', () => {
})
it('preserves query', async () => {
const html = await $fetch('/?test=true')
const html = await $fetch<string>('/?test=true')
// Snapshot
// expect(html).toMatchInlineSnapshot()
@ -230,7 +230,7 @@ describe('pages', () => {
})
it('/nested/[foo]/[bar].vue', async () => {
const html = await $fetch('/nested/one/two')
const html = await $fetch<string>('/nested/one/two')
// Snapshot
// expect(html).toMatchInlineSnapshot()
@ -241,10 +241,10 @@ describe('pages', () => {
})
it('/nested/[foo]/index.vue', async () => {
const html = await $fetch('/nested/foobar')
const html = await $fetch<string>('/nested/foobar')
// TODO: should resolved to same entry
// const html2 = await $fetch('/nested/foobar/index')
// const html2 = await $fetch<string>('/nested/foobar/index')
// expect(html).toEqual(html2)
// Snapshot
@ -257,7 +257,7 @@ describe('pages', () => {
})
it('/nested/[foo]/user-[group].vue', async () => {
const html = await $fetch('/nested/foobar/user-admin')
const html = await $fetch<string>('/nested/foobar/user-admin')
// Snapshot
// expect(html).toMatchInlineSnapshot()
@ -270,14 +270,14 @@ describe('pages', () => {
})
it('/parent', async () => {
const html = await $fetch('/parent')
const html = await $fetch<string>('/parent')
expect(html).toContain('parent/index')
await expectNoClientErrors('/parent')
})
it('/another-parent', async () => {
const html = await $fetch('/another-parent')
const html = await $fetch<string>('/another-parent')
expect(html).toContain('another-parent/index')
await expectNoClientErrors('/another-parent')
@ -302,7 +302,7 @@ describe('pages', () => {
})
it('/client-only-components', async () => {
const html = await $fetch('/client-only-components')
const html = await $fetch<string>('/client-only-components')
// ensure fallbacks with classes and arbitrary attributes are rendered
expect(html).toContain('<div class="client-only-script" foo="bar">')
expect(html).toContain('<div class="client-only-script-setup" foo="hello">')
@ -407,7 +407,7 @@ describe('pages', () => {
})
it('/client-only-explicit-import', async () => {
const html = await $fetch('/client-only-explicit-import')
const html = await $fetch<string>('/client-only-explicit-import')
// ensure fallbacks with classes and arbitrary attributes are rendered
expect(html).toContain('<div class="client-only-script" foo="bar">')
@ -439,7 +439,7 @@ describe('pages', () => {
'clientfallback-stateful',
'clientfallback-async-setup',
]
const html = await $fetch('/client-fallback')
const html = await $fetch<string>('/client-fallback')
// ensure failed components are not rendered server-side
expect(html).not.toContain('This breaks in server-side setup.')
classes.forEach(c => expect(html).not.toContain(c))
@ -546,7 +546,7 @@ describe('pages', () => {
describe('nuxt composables', () => {
it('has useRequestURL()', async () => {
const html = await $fetch('/url')
const html = await $fetch<string>('/url')
expect(html).toContain('path: /url')
})
it('sets cookies correctly', async () => {
@ -586,7 +586,7 @@ describe('nuxt composables', () => {
})
it('supports onPrehydrate', async () => {
const html = await $fetch('/composables/on-prehydrate') as string
const html = await $fetch<string>('/composables/on-prehydrate') as string
/**
* Should look something like this:
*
@ -670,7 +670,7 @@ describe('nuxt composables', () => {
describe('rich payloads', () => {
it('correctly serializes and revivifies complex types', async () => {
const html = await $fetch('/json-payload')
const html = await $fetch<string>('/json-payload')
for (const test of [
'Date: true',
'BigInt: true',
@ -690,7 +690,7 @@ describe('rich payloads', () => {
describe('nuxt links', () => {
it('handles trailing slashes', async () => {
const html = await $fetch('/nuxt-link/trailing-slash')
const html = await $fetch<string>('/nuxt-link/trailing-slash')
const data: Record<string, string[]> = {}
for (const selector of ['nuxt-link', 'router-link', 'link-with-trailing-slash', 'link-without-trailing-slash']) {
data[selector] = []
@ -808,7 +808,7 @@ describe('nuxt links', () => {
})
it('useLink works', async () => {
const html = await $fetch('/nuxt-link/use-link')
const html = await $fetch<string>('/nuxt-link/use-link')
expect(html).toContain('<div>useLink in NuxtLink: true</div>')
expect(html).toContain('<div>route using useLink: /nuxt-link/trailing-slash</div>')
expect(html).toContain('<div>href using useLink: /nuxt-link/trailing-slash</div>')
@ -847,21 +847,21 @@ describe('nuxt links', () => {
describe('head tags', () => {
it('SSR should render tags', async () => {
const headHtml = await $fetch('/head')
const headHtml = await $fetch<string>('/head')
expect(headHtml).toContain('<title>Using a dynamic component - Title Template Fn Change</title>')
expect(headHtml).not.toContain('<meta name="description" content="first">')
expect(headHtml).toContain('<meta charset="utf-16">')
expect(headHtml.match('meta charset').length).toEqual(1)
expect(headHtml.match('meta charset')!.length).toEqual(1)
expect(headHtml).toContain('<meta name="viewport" content="width=1024, initial-scale=1">')
expect(headHtml.match('meta name="viewport"').length).toEqual(1)
expect(headHtml.match('meta name="viewport"')!.length).toEqual(1)
expect(headHtml).not.toContain('<meta charset="utf-8">')
expect(headHtml).toContain('<meta name="description" content="overriding with an inline useHead call">')
expect(headHtml).toMatch(/<html[^>]*class="html-attrs-test"/)
expect(headHtml).toMatch(/<body[^>]*class="body-attrs-test"/)
expect(headHtml).toContain('<script src="https://a-body-appended-script.com"></script></body>')
const indexHtml = await $fetch('/')
const indexHtml = await $fetch<string>('/')
// should render charset by default
expect(indexHtml).toContain('<meta charset="utf-8">')
// should render <Head> components
@ -869,7 +869,7 @@ describe('head tags', () => {
})
it('SSR script setup should render tags', async () => {
const headHtml = await $fetch('/head-script-setup')
const headHtml = await $fetch<string>('/head-script-setup')
// useHead - title & titleTemplate are working
expect(headHtml).toContain('<title>head script setup - Nuxt Playground</title>')
@ -885,7 +885,7 @@ describe('head tags', () => {
})
it.skipIf(isV4)('SPA should render appHead tags', async () => {
const headHtml = await $fetch('/head', { headers: { 'x-nuxt-no-ssr': '1' } })
const headHtml = await $fetch<string>('/head', { headers: { 'x-nuxt-no-ssr': '1' } })
expect(headHtml).toContain('<meta name="description" content="Nuxt Fixture">')
expect(headHtml).toContain('<meta charset="utf-8">')
@ -893,26 +893,26 @@ describe('head tags', () => {
})
it.skipIf(isV4)('legacy vueuse/head works', async () => {
const headHtml = await $fetch('/vueuse-head')
const headHtml = await $fetch<string>('/vueuse-head')
expect(headHtml).toContain('<title>using provides usehead and updateDOM - VueUse head polyfill test</title>')
})
it('should render http-equiv correctly', async () => {
const html = await $fetch('/head')
const html = await $fetch<string>('/head')
// http-equiv should be rendered kebab case
expect(html).toContain('<meta content="default-src https" http-equiv="content-security-policy">')
})
// TODO: Doesn't adds header in test environment
// it.todo('should render stylesheet link tag (SPA mode)', async () => {
// const html = await $fetch('/head', { headers: { 'x-nuxt-no-ssr': '1' } })
// const html = await $fetch<string>('/head', { headers: { 'x-nuxt-no-ssr': '1' } })
// expect(html).toMatch(/<link rel="stylesheet" href="\/_nuxt\/[^>]*.css"/)
// })
})
describe('legacy async data', () => {
it('should work with defineNuxtComponent', async () => {
const html = await $fetch('/legacy/async-data')
const html = await $fetch<string>('/legacy/async-data')
expect(html).toContain('<div>Hello API</div>')
expect(html).toContain('<div>fooChild</div>')
expect(html).toContain('<div>fooParent</div>')
@ -978,12 +978,12 @@ describe('preserves current instance', () => {
// TODO: it's unclear why there's an error here but it must be an upstream issue
it.todo('should not return getCurrentInstance when there\'s an error in data', async () => {
await fetch('/instance/error')
const html = await $fetch('/instance/next-request')
const html = await $fetch<string>('/instance/next-request')
expect(html).toContain('This should be false: false')
})
// TODO: re-enable when https://github.com/nuxt/nuxt/issues/15164 is resolved
it.skipIf(isWindows)('should not lose current nuxt app after await in vue component', async () => {
const requests = await Promise.all(Array.from({ length: 100 }).map(() => $fetch('/instance/next-request')))
const requests = await Promise.all(Array.from({ length: 100 }).map(() => $fetch<string>('/instance/next-request')))
for (const html of requests) {
expect(html).toContain('This should be true: true')
}
@ -1035,7 +1035,7 @@ describe('errors', () => {
})
it('should not recursively throw an error when there is an error rendering the error page', async () => {
const res = await $fetch('/', {
const res = await $fetch<string>('/', {
headers: {
'x-test-recurse-error': 'true',
'accept': 'text/html',
@ -1078,7 +1078,7 @@ describe('navigate external', () => {
describe('composables', () => {
it('`callOnce` should run code once', async () => {
const html = await $fetch('/once')
const html = await $fetch<string>('/once')
expect(html).toContain('once.vue')
expect(html).toContain('once: 2')
@ -1088,11 +1088,11 @@ describe('composables', () => {
})
it('`useId` should generate unique ids', async () => {
// TODO: work around interesting Vue bug where async components are loaded in a different order on first import
await $fetch('/use-id')
await $fetch<string>('/use-id')
const sanitiseHTML = (html: string) => html.replace(/ data-[^= ]+="[^"]+"/g, '').replace(/<!--[[\]]-->/, '')
const serverHTML = await $fetch('/use-id').then(html => sanitiseHTML(html.match(/<form.*<\/form>/)![0]))
const serverHTML = await $fetch<string>('/use-id').then(html => sanitiseHTML(html.match(/<form.*<\/form>/)![0]))
const ids = serverHTML.match(/id="[^"]*"/g)?.map(id => id.replace(/id="([^"]*)"/, '$1')) as string[]
const renderedForm = [
`<h2 id="${ids[0]}"> id: ${ids[0]}</h2><div><label for="${ids[1]}">Email</label><input id="${ids[1]}" name="email" type="email"><label for="${ids[2]}">Password</label><input id="${ids[2]}" name="password" type="password"></div>`,
@ -1130,7 +1130,7 @@ describe('composables', () => {
describe('middlewares', () => {
it('should redirect to index with global middleware', async () => {
const html = await $fetch('/redirect/')
const html = await $fetch<string>('/redirect/')
// Snapshot
// expect(html).toMatchInlineSnapshot()
@ -1148,7 +1148,7 @@ describe('middlewares', () => {
})
it('should allow aborting navigation fatally on client-side', async () => {
const html = await $fetch('/middleware-abort')
const html = await $fetch<string>('/middleware-abort')
expect(html).not.toContain('This is the error page')
const { page } = await renderPage('/middleware-abort')
expect(await page.innerHTML('body')).toContain('This is the error page')
@ -1156,7 +1156,7 @@ describe('middlewares', () => {
})
it('should inject auth', async () => {
const html = await $fetch('/auth')
const html = await $fetch<string>('/auth')
// Snapshot
// expect(html).toMatchInlineSnapshot()
@ -1166,7 +1166,7 @@ describe('middlewares', () => {
})
it('should not inject auth', async () => {
const html = await $fetch('/no-auth')
const html = await $fetch<string>('/no-auth')
// Snapshot
// expect(html).toMatchInlineSnapshot()
@ -1185,12 +1185,12 @@ describe('middlewares', () => {
describe('plugins', () => {
it('basic plugin', async () => {
const html = await $fetch('/plugins')
const html = await $fetch<string>('/plugins')
expect(html).toContain('myPlugin: Injected by my-plugin')
})
it('async plugin', async () => {
const html = await $fetch('/plugins')
const html = await $fetch<string>('/plugins')
expect(html).toContain('asyncPlugin: Async plugin works! 123')
expect(html).toContain('useFetch works!')
})
@ -1198,7 +1198,7 @@ describe('plugins', () => {
describe('layouts', () => {
it('should apply custom layout', async () => {
const html = await $fetch('/with-layout')
const html = await $fetch<string>('/with-layout')
// Snapshot
// expect(html).toMatchInlineSnapshot()
@ -1207,7 +1207,7 @@ describe('layouts', () => {
expect(html).toContain('Custom Layout:')
})
it('should work with a dynamically set layout', async () => {
const html = await $fetch('/with-dynamic-layout')
const html = await $fetch<string>('/with-dynamic-layout')
// Snapshot
// expect(html).toMatchInlineSnapshot()
@ -1217,7 +1217,7 @@ describe('layouts', () => {
await expectNoClientErrors('/with-dynamic-layout')
})
it('should work with a computed layout', async () => {
const html = await $fetch('/with-computed-layout')
const html = await $fetch<string>('/with-computed-layout')
// Snapshot
// expect(html).toMatchInlineSnapshot()
@ -1227,7 +1227,7 @@ describe('layouts', () => {
await expectNoClientErrors('/with-computed-layout')
})
it('should allow passing custom props to a layout', async () => {
const html = await $fetch('/layouts/with-props')
const html = await $fetch<string>('/layouts/with-props')
expect(html).toContain('some prop was passed')
await expectNoClientErrors('/layouts/with-props')
})
@ -1235,7 +1235,7 @@ describe('layouts', () => {
describe('composable tree shaking', () => {
it('should work', async () => {
const html = await $fetch('/tree-shake')
const html = await $fetch<string>('/tree-shake')
expect(html).toContain('Tree Shake Example')
@ -1251,22 +1251,22 @@ describe('composable tree shaking', () => {
describe('ignore list', () => {
it('should ignore composable files in .nuxtignore', async () => {
const html = await $fetch('/ignore/composables')
const html = await $fetch<string>('/ignore/composables')
expect(html).toContain('was import ignored: true')
})
it('should ignore scanned nitro handlers in .nuxtignore', async () => {
const html = await $fetch('/ignore/scanned')
const html = await $fetch<string>('/ignore/scanned')
expect(html).not.toContain('this should be ignored')
})
it.skipIf(isDev())('should ignore public assets in .nuxtignore', async () => {
const html = await $fetch('/ignore/public-asset')
const html = await $fetch<string>('/ignore/public-asset')
expect(html).not.toContain('this should be ignored')
})
})
describe('server tree shaking', () => {
it('should work', async () => {
const html = await $fetch('/client')
const html = await $fetch<string>('/client')
expect(html).toContain('This page should not crash when rendered')
expect(html).toContain('fallback for ClientOnly')
@ -1287,13 +1287,13 @@ describe('server tree shaking', () => {
describe('extends support', () => {
describe('layouts & pages', () => {
it('extends foo/layouts/default & foo/pages/index', async () => {
const html = await $fetch('/foo')
const html = await $fetch<string>('/foo')
expect(html).toContain('Extended layout from foo')
expect(html).toContain('Extended page from foo')
})
it('extends [bar/layouts/override & bar/pages/override] over [foo/layouts/override & foo/pages/override]', async () => {
const html = await $fetch('/override')
const html = await $fetch<string>('/override')
expect(html).toContain('Extended layout from bar')
expect(html).toContain('Extended page from bar')
expect(html).toContain('This child page should not be overridden by bar')
@ -1302,62 +1302,62 @@ describe('extends support', () => {
describe('components', () => {
it('extends foo/components/ExtendsFoo', async () => {
const html = await $fetch('/foo')
const html = await $fetch<string>('/foo')
expect(html).toContain('Extended component from foo')
})
it('extends bar/components/ExtendsOverride over foo/components/ExtendsOverride', async () => {
const html = await $fetch('/override')
const html = await $fetch<string>('/override')
expect(html).toContain('Extended component from bar')
})
})
describe('middlewares', () => {
it('works with layer aliases', async () => {
const html = await $fetch('/foo')
const html = await $fetch<string>('/foo')
expect(html).toContain('from layer alias')
})
it('extends foo/middleware/foo', async () => {
const html = await $fetch('/foo')
const html = await $fetch<string>('/foo')
expect(html).toContain('Middleware | foo: Injected by extended middleware from foo')
})
it('extends bar/middleware/override over foo/middleware/override', async () => {
const html = await $fetch('/override')
const html = await $fetch<string>('/override')
expect(html).toContain('Middleware | override: Injected by extended middleware from bar')
})
it('global middlewares sorting', async () => {
const html = await $fetch('/middleware/ordering')
const html = await $fetch<string>('/middleware/ordering')
expect(html).toContain('catchall at middleware')
})
})
describe('composables', () => {
it('extends foo/composables/foo', async () => {
const html = await $fetch('/foo')
const html = await $fetch<string>('/foo')
expect(html).toContain('Composable | useExtendsFoo: foo')
})
it('allows overriding composables', async () => {
const html = await $fetch('/extends')
const html = await $fetch<string>('/extends')
expect(html).toContain('test from project')
})
})
describe('plugins', () => {
it('extends foo/plugins/foo', async () => {
const html = await $fetch('/foo')
const html = await $fetch<string>('/foo')
expect(html).toContain('Plugin | foo: String generated from foo plugin!')
})
it('respects plugin ordering within layers', async () => {
const html = await $fetch('/plugins/ordering')
const html = await $fetch<string>('/plugins/ordering')
expect(html).toContain('catchall at plugins')
})
})
describe('server', () => {
it('extends foo/server/api/foo', async () => {
expect(await $fetch('/api/foo')).toBe('foo')
expect(await $fetch<string>('/api/foo')).toBe('foo')
})
it('extends foo/server/middleware/foo', async () => {
@ -1368,7 +1368,7 @@ describe('extends support', () => {
describe('app', () => {
it('extends foo/app/router.options & bar/app/router.options', async () => {
const html: string = await $fetch('/')
const html: string = await $fetch<string>('/')
const routerLinkClasses = html.match(/href="\/" class="([^"]*)"/)?.[1].split(' ')
expect(routerLinkClasses).toContain('foo-active-class')
expect(routerLinkClasses).toContain('bar-exact-active-class')
@ -1607,7 +1607,7 @@ describe('layout switching', () => {
describe('automatically keyed composables', () => {
it('should automatically generate keys', async () => {
const html = await $fetch('/keyed-composables')
const html = await $fetch<string>('/keyed-composables')
expect(html).toContain('true')
expect(html).not.toContain('false')
})
@ -1616,7 +1616,7 @@ describe('automatically keyed composables', () => {
})
it('should not automatically generate keys', async () => {
await expectNoClientErrors('/keyed-composables/local')
const html = await $fetch('/keyed-composables/local')
const html = await $fetch<string>('/keyed-composables/local')
expect(html).toContain('true')
expect(html).not.toContain('false')
})
@ -1624,7 +1624,7 @@ describe('automatically keyed composables', () => {
describe.runIf(isDev() && !isWebpack)('css links', () => {
it('should not inject links to CSS files that are inlined', async () => {
const html = await $fetch('/inline-only-css')
const html = await $fetch<string>('/inline-only-css')
expect(html).toContain('--inline-only')
expect(html).not.toContain('inline-only.css')
expect(html).toContain('assets/plugin.css')
@ -1648,7 +1648,7 @@ describe.skipIf(isDev() || isWebpack)('inlining component styles', () => {
]
it('should inline styles', async () => {
const html = await $fetch('/styles')
const html = await $fetch<string>('/styles')
for (const style of inlinedCSS) {
expect.soft(html).toContain(style)
}
@ -1659,7 +1659,7 @@ describe.skipIf(isDev() || isWebpack)('inlining component styles', () => {
'{--plugin:"plugin"}', // CSS imported ambiently in JS/TS
'{--global:"global";', // global css from nuxt.config
]
const html = await $fetch('/route-rules/spa')
const html = await $fetch<string>('/route-rules/spa')
for (const style of globalCSS) {
expect.soft(html).toContain(style)
}
@ -1673,11 +1673,11 @@ describe.skipIf(isDev() || isWebpack)('inlining component styles', () => {
})
it('should not include inlined CSS in generated CSS file', async () => {
const html: string = await $fetch('/styles')
const html: string = await $fetch<string>('/styles')
const cssFiles = new Set([...html.matchAll(/<link [^>]*href="([^"]*\.css)">/g)].map(m => m[1]))
let css = ''
for (const file of cssFiles || []) {
css += await $fetch(file)
css += await $fetch<string>(file)
}
// should not include inlined CSS in generated CSS files
@ -1694,7 +1694,7 @@ describe.skipIf(isDev() || isWebpack)('inlining component styles', () => {
})
it('does not load stylesheet for page styles', async () => {
const html: string = await $fetch('/styles')
const html: string = await $fetch<string>('/styles')
expect(html.match(/<link [^>]*href="[^"]*\.css">/g)?.filter(m => m.includes('entry'))?.map(m => m.replace(/\.[^.]*\.css/, '.css'))).toMatchInlineSnapshot(`
[
"<link rel="stylesheet" href="/_nuxt/entry.css">",
@ -1710,7 +1710,7 @@ describe.skipIf(isDev() || isWebpack)('inlining component styles', () => {
})
it.todo('renders client-only styles only', async () => {
const html = await $fetch('/styles')
const html = await $fetch<string>('/styles')
expect(html).toContain('{--client-only:"client-only"}')
})
})
@ -1865,7 +1865,7 @@ describe.skipIf(isDev() || isWindows || !isRenderingJson)('prefetching', () => {
})
it('should not prefetch certain dynamic imports by default', async () => {
const html = await $fetch('/auth')
const html = await $fetch<string>('/auth')
// should not prefetch global components
expect(html).not.toMatch(/<link [^>]*\/_nuxt\/TestGlobal[^>]*\.js"/)
// should not prefetch all other pages
@ -1901,7 +1901,7 @@ describe.runIf(isDev() && (!isWindows || !isCI))('detecting invalid root nodes',
describe('public directories', () => {
it('should directly return public directory paths', async () => {
const html = await $fetch('/assets-custom')
const html = await $fetch<string>('/assets-custom')
expect(html).toContain('"/public.svg"')
expect(html).toContain('"/custom/file.svg"')
})
@ -1910,7 +1910,7 @@ describe('public directories', () => {
// TODO: dynamic paths in dev
describe.skipIf(isDev())('dynamic paths', () => {
it('should work with no overrides', async () => {
const html: string = await $fetch('/assets')
const html: string = await $fetch<string>('/assets')
for (const match of html.matchAll(/(href|src)="(.*?)"|url\(([^)]*)\)/g)) {
const url = match[2] || match[3]
expect(url.startsWith('/_nuxt/') || url === '/public.svg').toBeTruthy()
@ -1919,11 +1919,11 @@ describe.skipIf(isDev())('dynamic paths', () => {
// webpack injects CSS differently
it.skipIf(isWebpack)('adds relative paths to CSS', async () => {
const html: string = await $fetch('/assets')
const html: string = await $fetch<string>('/assets')
const urls = Array.from(html.matchAll(/(href|src)="(.*?)"|url\(([^)]*)\)/g)).map(m => m[2] || m[3])
const cssURL = urls.find(u => /_nuxt\/assets.*\.css$/.test(u))
expect(cssURL).toBeDefined()
const css: string = await $fetch(cssURL!)
const css: string = await $fetch<string>(cssURL!)
const imageUrls = Array.from(css.matchAll(/url\(([^)]*)\)/g)).map(m => m[1].replace(/[-.]\w{8}\./g, '.'))
expect(imageUrls).toMatchInlineSnapshot(`
[
@ -1943,7 +1943,7 @@ describe.skipIf(isDev())('dynamic paths', () => {
},
})
const html = await $fetch('/foo/assets')
const html = await $fetch<string>('/foo/assets')
for (const match of html.matchAll(/(href|src)="(.*?)"|url\(([^)]*)\)/g)) {
const url = match[2] || match[3]
expect(
@ -1954,7 +1954,7 @@ describe.skipIf(isDev())('dynamic paths', () => {
).toBeTruthy()
}
expect(await $fetch('/foo/url')).toContain('path: /foo/url')
expect(await $fetch<string>('/foo/url')).toContain('path: /foo/url')
})
it('should allow setting relative baseURL', async () => {
@ -1964,7 +1964,7 @@ describe.skipIf(isDev())('dynamic paths', () => {
},
})
const html = await $fetch('/assets')
const html = await $fetch<string>('/assets')
for (const match of html.matchAll(/(href|src)="(.*?)"|url\(([^)]*)\)/g)) {
const url = match[2] || match[3]
expect(
@ -1998,7 +1998,7 @@ describe.skipIf(isDev())('dynamic paths', () => {
},
})
const html = await $fetch('/foo/assets')
const html = await $fetch<string>('/foo/assets')
for (const match of html.matchAll(/(href|src)="(.*?)"|url\(([^)]*)\)/g)) {
const url = match[2] || match[3]
expect(
@ -2017,7 +2017,7 @@ describe.skipIf(isDev())('dynamic paths', () => {
describe('app config', () => {
it('should work', async () => {
const html = await $fetch('/app-config')
const html = await $fetch<string>('/app-config')
const expectedAppConfig: Record<string, any> = {
fromNuxtConfig: true,
@ -2030,14 +2030,14 @@ describe('app config', () => {
}
expect.soft(html).toContain(JSON.stringify(expectedAppConfig))
const serverAppConfig = await $fetch('/api/app-config')
const serverAppConfig = await $fetch<Record<string, any>>('/api/app-config')
expect(serverAppConfig).toMatchObject({ appConfig: expectedAppConfig })
})
})
describe('component islands', () => {
it('renders components with route', async () => {
const result: NuxtIslandResponse = await $fetch('/__nuxt_island/RouteComponent.json?url=/foo')
const result = await $fetch<NuxtIslandResponse>('/__nuxt_island/RouteComponent.json?url=/foo')
result.html = result.html.replace(/ data-island-uid="[^"]*"/g, '')
if (isDev()) {
@ -2057,7 +2057,7 @@ describe('component islands', () => {
})
it('render async component', async () => {
const result: NuxtIslandResponse = await $fetch(withQuery('/__nuxt_island/LongAsyncComponent.json', {
const result = await $fetch<NuxtIslandResponse>(withQuery('/__nuxt_island/LongAsyncComponent.json', {
props: JSON.stringify({
count: 3,
}),
@ -2115,7 +2115,7 @@ describe('component islands', () => {
})
it('render .server async component', async () => {
const result: NuxtIslandResponse = await $fetch(withQuery('/__nuxt_island/AsyncServerComponent.json', {
const result = await $fetch<NuxtIslandResponse>(withQuery('/__nuxt_island/AsyncServerComponent.json', {
props: JSON.stringify({
count: 2,
}),
@ -2144,7 +2144,7 @@ describe('component islands', () => {
if (!isWebpack) {
it('render server component with selective client hydration', async () => {
const result: NuxtIslandResponse = await $fetch('/__nuxt_island/ServerWithClient')
const result = await $fetch<NuxtIslandResponse>('/__nuxt_island/ServerWithClient')
if (isDev()) {
result.head.link = result.head.link.filter(l => !l.href.includes('@nuxt+ui-templates') && (l.href.startsWith('_nuxt/components/islands/') && l.href.includes('_nuxt/components/islands/AsyncServerComponent')))
}
@ -2178,7 +2178,7 @@ describe('component islands', () => {
}
it('renders pure components', async () => {
const result: NuxtIslandResponse = await $fetch(withQuery('/__nuxt_island/PureComponent.json', {
const result = await $fetch<NuxtIslandResponse>(withQuery('/__nuxt_island/PureComponent.json', {
props: JSON.stringify({
bool: false,
number: 3487,
@ -2305,17 +2305,17 @@ describe('component islands', () => {
describe.runIf(isDev() && !isWebpack)('vite plugins', () => {
it('does not override vite plugins', async () => {
expect(await $fetch('/vite-plugin-without-path')).toBe('vite-plugin without path')
expect(await $fetch('/__nuxt-test')).toBe('vite-plugin with __nuxt prefix')
expect(await $fetch<string>('/vite-plugin-without-path')).toBe('vite-plugin without path')
expect(await $fetch<string>('/__nuxt-test')).toBe('vite-plugin with __nuxt prefix')
})
it('does not allow direct access to nuxt source folder', async () => {
expect(await $fetch('/app.config')).toContain('catchall at')
expect(await $fetch<string>('/app.config')).toContain('catchall at')
})
})
describe.skipIf(isDev() || isWindows || !isRenderingJson)('payload rendering', () => {
it('renders a payload', async () => {
const payload = await $fetch('/random/a/_payload.json', { responseType: 'text' })
const payload = await $fetch<string>('/random/a/_payload.json', { responseType: 'text' })
const data = parsePayload(payload)
expect(typeof data.prerenderedAt).toEqual('number')
@ -2370,7 +2370,7 @@ describe.skipIf(isDev() || isWindows || !isRenderingJson)('payload rendering', (
})
it.skipIf(!isRenderingJson)('should not include server-component HTML in payload', async () => {
const payload = await $fetch('/prefetch/server-components/_payload.json', { responseType: 'text' })
const payload = await $fetch<string>('/prefetch/server-components/_payload.json', { responseType: 'text' })
const entries = Object.entries(parsePayload(payload))
const [key, serializedComponent] = entries.find(([key]) => key.startsWith('AsyncServerComponent')) || []
expect(serializedComponent).toEqual(key)
@ -2379,13 +2379,13 @@ describe.skipIf(isDev() || isWindows || !isRenderingJson)('payload rendering', (
describe.skipIf(process.env.TEST_CONTEXT !== 'async')('Async context', () => {
it('should be available', async () => {
expect(await $fetch('/async-context')).toContain('&quot;hasApp&quot;: true')
expect(await $fetch<string>('/async-context')).toContain('&quot;hasApp&quot;: true')
})
})
describe.skipIf(process.env.TEST_CONTEXT === 'async')('Async context', () => {
it('should be unavailable', async () => {
expect(await $fetch('/async-context')).toContain('&quot;hasApp&quot;: false')
expect(await $fetch<string>('/async-context')).toContain('&quot;hasApp&quot;: false')
})
})
@ -2405,7 +2405,7 @@ describe.skipIf(isWindows)('useAsyncData', () => {
})
it('two requests resolve and sync', async () => {
await $fetch('/useAsyncData/refresh')
await $fetch<string>('/useAsyncData/refresh')
})
it('requests can be cancelled/overridden', async () => {
@ -2417,7 +2417,7 @@ describe.skipIf(isWindows)('useAsyncData', () => {
})
it('requests status can be used', async () => {
const html = await $fetch('/useAsyncData/status')
const html = await $fetch<string>('/useAsyncData/status')
expect(html).toContain('true')
expect(html).not.toContain('false')
@ -2542,7 +2542,7 @@ describe('keepalive', () => {
describe('teleports', () => {
it('should append teleports to body', async () => {
const html = await $fetch('/teleport')
const html = await $fetch<string>('/teleport')
// Teleport is prepended to body, before the __nuxt div
expect(html).toContain('<div>Teleport</div><!--teleport anchor--><div id="__nuxt">')
@ -2550,7 +2550,7 @@ describe('teleports', () => {
expect(html).toContain('<div><!--teleport start--><!--teleport end--><h1>Normal content</h1></div>')
})
it('should render teleports to app teleports element', async () => {
const html = await $fetch('/nuxt-teleport')
const html = await $fetch<string>('/nuxt-teleport')
// Teleport is appended to body, after the __nuxt div
expect(html).toContain('<div><!--teleport start--><!--teleport end--><h1>Normal content</h1></div></div></div><span id="nuxt-teleport"><div>Nuxt Teleport</div><!--teleport anchor--></span><script')
@ -2584,7 +2584,7 @@ describe('import components', () => {
let html = ''
it.sequential('fetch import-components page', async () => {
html = await $fetch('/import-components')
html = await $fetch<string>('/import-components')
})
it('load default component with mode all', () => {
@ -2616,7 +2616,7 @@ describe('lazy import components', () => {
let html = ''
it.sequential('fetch lazy-import-components page', async () => {
html = await $fetch('/lazy-import-components')
html = await $fetch<string>('/lazy-import-components')
})
it('lazy load named component with mode all', () => {

View File

@ -71,7 +71,7 @@ if (process.env.TEST_ENV !== 'built' && !isWindows) {
it('should detect new routes', async () => {
await expectWithPolling(
() => $fetch('/some-404').then(r => r.includes('catchall at some-404')).catch(() => null),
() => $fetch<string>('/some-404').then(r => r.includes('catchall at some-404')).catch(() => null),
true,
)
@ -80,7 +80,7 @@ if (process.env.TEST_ENV !== 'built' && !isWindows) {
await fsp.writeFile(join(fixturePath, 'pages/some-404.vue'), indexVue)
await expectWithPolling(
() => $fetch('/some-404').then(r => r.includes('Hello Nuxt 3')).catch(() => null),
() => $fetch<string>('/some-404').then(r => r.includes('Hello Nuxt 3')).catch(() => null),
true,
)
})

View File

@ -13,7 +13,11 @@ export default defineVitestConfig({
environmentOptions: {
nuxt: {
overrides: {
runtimeConfig: {
app: {
buildId: 'override',
},
},
experimental: {
appManifest: process.env.TEST_MANIFEST !== 'manifest-off',
},