diff --git a/package.json b/package.json index 196d5b82..0a9131f6 100644 --- a/package.json +++ b/package.json @@ -59,17 +59,19 @@ "devDependencies": { "@nuxt/eslint-config": "^0.2.0", "@nuxt/module-builder": "^0.5.4", + "@nuxt/test-utils": "3.9.0-alpha.3", "@release-it/conventional-changelog": "^8.0.1", + "@vue/test-utils": "^2.4.3", "eslint": "^8.55.0", "happy-dom": "^12.10.3", "joi": "^17.11.0", "nuxt": "^3.8.2", - "nuxt-vitest": "^0.11.5", "release-it": "^17.0.0", "typescript": "^5.3.3", "unbuild": "^2.0.0", "valibot": "^0.21.0", - "vitest": "^0.33.0", + "vitest": "1.0.4", + "vitest-environment-nuxt": "1.0.0-alpha.1", "vue-tsc": "^1.8.25", "yup": "^1.3.2", "zod": "^3.22.4" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 38f8300a..fedecde7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -66,7 +66,7 @@ importers: version: 6.6.2 nuxt-icon: specifier: ^0.6.7 - version: 0.6.7(nuxt@3.8.2)(rollup@3.29.4)(vite@5.0.5)(vue@3.3.11) + version: 0.6.7(nuxt@3.8.2)(rollup@3.29.4)(vite@5.0.10)(vue@3.3.11) ohash: specifier: ^1.1.3 version: 1.1.3 @@ -89,9 +89,15 @@ importers: '@nuxt/module-builder': specifier: ^0.5.4 version: 0.5.4(@nuxt/kit@3.8.2)(nuxi@3.10.0)(typescript@5.3.3) + '@nuxt/test-utils': + specifier: 3.9.0-alpha.3 + version: 3.9.0-alpha.3(@vue/test-utils@2.4.3)(h3@1.9.0)(happy-dom@12.10.3)(rollup@3.29.4)(vite@5.0.10)(vitest@1.0.4)(vue-router@4.2.5)(vue@3.3.11) '@release-it/conventional-changelog': specifier: ^8.0.1 version: 8.0.1(release-it@17.0.0) + '@vue/test-utils': + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.11) eslint: specifier: ^8.55.0 version: 8.55.0 @@ -103,10 +109,7 @@ importers: version: 17.11.0 nuxt: specifier: ^3.8.2 - version: 3.8.2(eslint@8.55.0)(rollup@3.29.4)(typescript@5.3.3)(vite@5.0.5)(vue-tsc@1.8.25) - nuxt-vitest: - specifier: ^0.11.5 - version: 0.11.5(@vitejs/plugin-vue-jsx@3.1.0)(@vitejs/plugin-vue@4.5.1)(happy-dom@12.10.3)(rollup@3.29.4)(vite@5.0.5)(vitest@0.33.0)(vue-router@4.2.5)(vue@3.3.11) + version: 3.8.2(eslint@8.55.0)(rollup@3.29.4)(typescript@5.3.3)(vite@5.0.10)(vue-tsc@1.8.25) release-it: specifier: ^17.0.0 version: 17.0.0(typescript@5.3.3) @@ -120,8 +123,11 @@ importers: specifier: ^0.21.0 version: 0.21.0 vitest: - specifier: ^0.33.0 - version: 0.33.0(happy-dom@12.10.3) + specifier: 1.0.4 + version: 1.0.4(happy-dom@12.10.3) + vitest-environment-nuxt: + specifier: 1.0.0-alpha.1 + version: 1.0.0-alpha.1(@vue/test-utils@2.4.3)(h3@1.9.0)(happy-dom@12.10.3)(rollup@3.29.4)(vite@5.0.10)(vitest@1.0.4)(vue-router@4.2.5)(vue@3.3.11) vue-tsc: specifier: ^1.8.25 version: 1.8.25(typescript@5.3.3) @@ -149,13 +155,13 @@ importers: version: 2.9.0(nuxt@3.8.2)(rollup@3.29.4)(vue@3.3.11) '@nuxt/devtools': specifier: ^1.0.4 - version: 1.0.4(nuxt@3.8.2)(rollup@3.29.4)(vite@5.0.5) + version: 1.0.4(nuxt@3.8.2)(rollup@3.29.4)(vite@5.0.10) '@nuxt/eslint-config': specifier: ^0.2.0 version: 0.2.0(eslint@8.55.0) '@nuxt/ui-pro': specifier: npm:@nuxt/ui-pro-edge@0.6.0-28371586.2e2b852 - version: /@nuxt/ui-pro-edge@0.6.0-28371586.2e2b852(nuxt@3.8.2)(rollup@3.29.4)(vite@5.0.5)(vue@3.3.11) + version: /@nuxt/ui-pro-edge@0.6.0-28371586.2e2b852(nuxt@3.8.2)(rollup@3.29.4)(vite@5.0.10)(vue@3.3.11) '@nuxthq/studio': specifier: ^1.0.5 version: 1.0.5(rollup@3.29.4) @@ -188,7 +194,7 @@ importers: version: 17.11.0 nuxt: specifier: ^3.8.2 - version: 3.8.2(eslint@8.55.0)(rollup@3.29.4)(typescript@5.3.3)(vite@5.0.5)(vue-tsc@1.8.25) + version: 3.8.2(eslint@8.55.0)(rollup@3.29.4)(typescript@5.3.3)(vite@5.0.10)(vue-tsc@1.8.25) nuxt-cloudflare-analytics: specifier: ^1.0.8 version: 1.0.8(rollup@3.29.4) @@ -197,7 +203,7 @@ importers: version: 0.6.0(rollup@3.29.4) nuxt-og-image: specifier: ^2.2.4 - version: 2.2.4(@nuxt/devtools@1.0.4)(@vue/compiler-core@3.3.10)(fuse.js@6.6.2)(nuxt@3.8.2)(postcss@8.4.32)(rollup@3.29.4)(vite@5.0.5)(vue@3.3.11)(webpack@5.89.0) + version: 2.2.4(@nuxt/devtools@1.0.4)(@vue/compiler-core@3.3.10)(fuse.js@6.6.2)(nuxt@3.8.2)(postcss@8.4.32)(rollup@3.29.4)(vite@5.0.10)(vue@3.3.11)(webpack@5.89.0) prettier: specifier: ^3.1.0 version: 3.1.0 @@ -1392,7 +1398,7 @@ packages: /@nuxt/devalue@2.0.2: resolution: {integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==} - /@nuxt/devtools-kit@1.0.4(nuxt@3.8.2)(rollup@3.29.4)(vite@5.0.5): + /@nuxt/devtools-kit@1.0.4(nuxt@3.8.2)(rollup@3.29.4)(vite@5.0.10): resolution: {integrity: sha512-AXNeI1dBilNryCmwuTd3lU7CrPBhzUJ5ntTFiXw9MmFwe5QT3NOxDFOv0gX7z1DFnmBEmx5mPKWysCwh7htEnQ==} peerDependencies: nuxt: ^3.8.1 @@ -1401,13 +1407,13 @@ packages: '@nuxt/kit': 3.8.2(rollup@3.29.4) '@nuxt/schema': 3.8.2(rollup@3.29.4) execa: 7.2.0 - nuxt: 3.8.2(eslint@8.55.0)(rollup@3.29.4)(typescript@5.3.3)(vite@5.0.5)(vue-tsc@1.8.25) - vite: 5.0.5 + nuxt: 3.8.2(eslint@8.55.0)(rollup@3.29.4)(typescript@5.3.3)(vite@5.0.10)(vue-tsc@1.8.25) + vite: 5.0.10 transitivePeerDependencies: - rollup - supports-color - /@nuxt/devtools-ui-kit@1.0.4(@nuxt/devtools@1.0.4)(@vue/compiler-core@3.3.10)(fuse.js@6.6.2)(nuxt@3.8.2)(postcss@8.4.32)(rollup@3.29.4)(vite@5.0.5)(vue@3.3.11)(webpack@5.89.0): + /@nuxt/devtools-ui-kit@1.0.4(@nuxt/devtools@1.0.4)(@vue/compiler-core@3.3.10)(fuse.js@6.6.2)(nuxt@3.8.2)(postcss@8.4.32)(rollup@3.29.4)(vite@5.0.10)(vue@3.3.11)(webpack@5.89.0): resolution: {integrity: sha512-V+6MGuCIUDq/zrAj1kfgPdMO55/XRZQN27Rp2MWB+70BVpVMCyDLLURfPLVcVCTNWyaeiO4hCIK5zDBNvrcUTQ==} peerDependencies: '@nuxt/devtools': 1.0.4 @@ -1416,12 +1422,12 @@ packages: '@iconify-json/logos': 1.1.40 '@iconify-json/ri': 1.1.15 '@iconify-json/tabler': 1.1.100 - '@nuxt/devtools': 1.0.4(nuxt@3.8.2)(rollup@3.29.4)(vite@5.0.5) - '@nuxt/devtools-kit': 1.0.4(nuxt@3.8.2)(rollup@3.29.4)(vite@5.0.5) + '@nuxt/devtools': 1.0.4(nuxt@3.8.2)(rollup@3.29.4)(vite@5.0.10) + '@nuxt/devtools-kit': 1.0.4(nuxt@3.8.2)(rollup@3.29.4)(vite@5.0.10) '@nuxt/kit': 3.8.2(rollup@3.29.4) '@nuxtjs/color-mode': 3.3.2(rollup@3.29.4) '@unocss/core': 0.57.7 - '@unocss/nuxt': 0.57.7(postcss@8.4.32)(rollup@3.29.4)(vite@5.0.5)(webpack@5.89.0) + '@unocss/nuxt': 0.57.7(postcss@8.4.32)(rollup@3.29.4)(vite@5.0.10)(webpack@5.89.0) '@unocss/preset-attributify': 0.57.7 '@unocss/preset-icons': 0.57.7 '@unocss/preset-mini': 0.57.7 @@ -1432,7 +1438,7 @@ packages: defu: 6.1.3 focus-trap: 7.5.4 splitpanes: 3.1.5 - unocss: 0.57.7(@unocss/webpack@0.57.7)(postcss@8.4.32)(rollup@3.29.4)(vite@5.0.5) + unocss: 0.57.7(@unocss/webpack@0.57.7)(postcss@8.4.32)(rollup@3.29.4)(vite@5.0.10) v-lazy-show: 0.2.4(@vue/compiler-core@3.3.10) transitivePeerDependencies: - '@unocss/webpack' @@ -1473,7 +1479,7 @@ packages: rc9: 2.1.1 semver: 7.5.4 - /@nuxt/devtools@1.0.4(nuxt@3.8.2)(rollup@3.29.4)(vite@5.0.5): + /@nuxt/devtools@1.0.4(nuxt@3.8.2)(rollup@3.29.4)(vite@5.0.10): resolution: {integrity: sha512-G1Oo9+TaOYzePIXpNX+Zzalw/rJyIZKZpZmXfzolPlOJSA1i0JKzZX6Z7iQHdqPwNJ8t+HnVaF4PghPIpo1kwg==} hasBin: true peerDependencies: @@ -1481,7 +1487,7 @@ packages: vite: '*' dependencies: '@antfu/utils': 0.7.6 - '@nuxt/devtools-kit': 1.0.4(nuxt@3.8.2)(rollup@3.29.4)(vite@5.0.5) + '@nuxt/devtools-kit': 1.0.4(nuxt@3.8.2)(rollup@3.29.4)(vite@5.0.10) '@nuxt/devtools-wizard': 1.0.4 '@nuxt/kit': 3.8.2(rollup@3.29.4) birpc: 0.2.14 @@ -1500,7 +1506,7 @@ packages: local-pkg: 0.5.0 magicast: 0.3.2 nitropack: 2.8.1 - nuxt: 3.8.2(eslint@8.55.0)(rollup@3.29.4)(typescript@5.3.3)(vite@5.0.5)(vue-tsc@1.8.25) + nuxt: 3.8.2(eslint@8.55.0)(rollup@3.29.4)(typescript@5.3.3)(vite@5.0.10)(vue-tsc@1.8.25) nypm: 0.3.3 ofetch: 1.3.3 ohash: 1.1.3 @@ -1514,9 +1520,9 @@ packages: simple-git: 3.21.0 sirv: 2.0.3 unimport: 3.6.0(rollup@3.29.4) - vite: 5.0.5 - vite-plugin-inspect: 0.7.42(@nuxt/kit@3.8.2)(rollup@3.29.4)(vite@5.0.5) - vite-plugin-vue-inspector: 4.0.1(vite@5.0.5) + vite: 5.0.10 + vite-plugin-inspect: 0.7.42(@nuxt/kit@3.8.2)(rollup@3.29.4)(vite@5.0.10) + vite-plugin-vue-inspector: 4.0.1(vite@5.0.10) which: 3.0.1 ws: 8.14.2 transitivePeerDependencies: @@ -1645,10 +1651,79 @@ packages: - rollup - supports-color - /@nuxt/ui-pro-edge@0.6.0-28371586.2e2b852(nuxt@3.8.2)(rollup@3.29.4)(vite@5.0.5)(vue@3.3.11): + /@nuxt/test-utils@3.9.0-alpha.3(@vue/test-utils@2.4.3)(h3@1.9.0)(happy-dom@12.10.3)(rollup@3.29.4)(vite@5.0.10)(vitest@1.0.4)(vue-router@4.2.5)(vue@3.3.11): + resolution: {integrity: sha512-ZxxiR1nlneN14HXIgxyKbiEwfuMSpR/ajsh8PiCUGGvI63X+xnitxjyVkWWlXl6n1qQm3gyWpJFgYFVykuvfKQ==} + engines: {node: ^14.18.0 || >=16.10.0} + peerDependencies: + '@jest/globals': ^29.5.0 + '@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 + jsdom: ^22.0.0 || ^23.0.0 + playwright-core: ^1.34.3 + vite: '*' + vitest: ^0.34.6 || ^1.0.0 + vue: 3.3.11 + vue-router: ^4.0.0 + peerDependenciesMeta: + '@jest/globals': + optional: true + '@testing-library/vue': + optional: true + '@vitest/ui': + optional: true + '@vue/test-utils': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + playwright-core: + optional: true + vitest: + optional: true + dependencies: + '@nuxt/kit': 3.8.2(rollup@3.29.4) + '@nuxt/schema': 3.8.2(rollup@3.29.4) + '@vue/test-utils': 2.4.3(vue@3.3.11) + c12: 1.5.1 + consola: 3.2.3 + defu: 6.1.3 + destr: 2.0.2 + estree-walker: 3.0.3 + execa: 8.0.1 + fake-indexeddb: 5.0.1 + get-port-please: 3.1.1 + h3: 1.9.0 + happy-dom: 12.10.3 + local-pkg: 0.5.0 + magic-string: 0.30.5 + node-fetch-native: 1.4.1 + ofetch: 1.3.3 + pathe: 1.1.1 + perfect-debounce: 1.0.0 + radix3: 1.1.0 + scule: 1.1.1 + std-env: 3.6.0 + ufo: 1.3.2 + unenv: 1.8.0 + unplugin: 1.5.1 + vite: 5.0.10 + vitest: 1.0.4(happy-dom@12.10.3) + vitest-environment-nuxt: 1.0.0-alpha.1(@vue/test-utils@2.4.3)(h3@1.9.0)(happy-dom@12.10.3)(rollup@3.29.4)(vite@5.0.10)(vitest@1.0.4)(vue-router@4.2.5)(vue@3.3.11) + vue: 3.3.11(typescript@5.3.3) + vue-router: 4.2.5(vue@3.3.11) + transitivePeerDependencies: + - rollup + - supports-color + dev: true + + /@nuxt/ui-pro-edge@0.6.0-28371586.2e2b852(nuxt@3.8.2)(rollup@3.29.4)(vite@5.0.10)(vue@3.3.11): resolution: {integrity: sha512-1MER3QAUBCmqEAKEQAJBXVfw5JFll5uMiNvZO9w5q7DeiBbb9kbugwASlpo+20RrwZJw/mRPH3oQeF5dUXGajQ==} dependencies: - '@nuxt/ui': 2.11.1(nuxt@3.8.2)(rollup@3.29.4)(vite@5.0.5)(vue@3.3.11) + '@nuxt/ui': 2.11.1(nuxt@3.8.2)(rollup@3.29.4)(vite@5.0.10)(vue@3.3.11) '@vueuse/core': 10.7.0(vue@3.3.11) defu: 6.1.3 ofetch: 1.3.3 @@ -1678,7 +1753,7 @@ packages: /@nuxt/ui-templates@1.3.1: resolution: {integrity: sha512-5gc02Pu1HycOVUWJ8aYsWeeXcSTPe8iX8+KIrhyEtEoOSkY0eMBuo0ssljB8wALuEmepv31DlYe5gpiRwkjESA==} - /@nuxt/ui@2.11.1(nuxt@3.8.2)(rollup@3.29.4)(vite@5.0.5)(vue@3.3.11): + /@nuxt/ui@2.11.1(nuxt@3.8.2)(rollup@3.29.4)(vite@5.0.10)(vue@3.3.11): resolution: {integrity: sha512-g+I2qnW1oYeo5xGhA0DsNu8zT5rTbCqt/APocDvYwdNdssrs1ra7mBERcEVkyDIyg2UR6EzTgV2mngLSLBID7g==} engines: {node: '>=v16.20.2'} dependencies: @@ -1699,7 +1774,7 @@ packages: '@vueuse/math': 10.7.0(vue@3.3.11) defu: 6.1.3 fuse.js: 6.6.2 - nuxt-icon: 0.6.7(nuxt@3.8.2)(rollup@3.29.4)(vite@5.0.5)(vue@3.3.11) + nuxt-icon: 0.6.7(nuxt@3.8.2)(rollup@3.29.4)(vite@5.0.10)(vue@3.3.11) ohash: 1.1.3 pathe: 1.1.1 scule: 1.1.1 @@ -1761,8 +1836,8 @@ packages: strip-literal: 1.3.0 ufo: 1.3.2 unplugin: 1.5.1 - vite: 4.5.1(@types/node@20.10.3) - vite-node: 0.33.0(@types/node@20.10.3) + vite: 4.5.1 + vite-node: 0.33.0 vite-plugin-checker: 0.6.2(eslint@8.55.0)(typescript@5.3.3)(vite@4.5.1)(vue-tsc@1.8.25) vue: 3.3.11(typescript@5.3.3) vue-bundle-renderer: 2.0.0 @@ -2790,16 +2865,6 @@ packages: universalify: 0.1.2 dev: true - /@types/chai-subset@1.3.5: - resolution: {integrity: sha512-c2mPnw+xHtXDoHmdtcCXGwyLMiauiAyxWMzhGpqHC4nqI/Y5G2XhTampslK2rb59kpcuHon03UH8W6iYUzw88A==} - dependencies: - '@types/chai': 4.3.11 - dev: true - - /@types/chai@4.3.11: - resolution: {integrity: sha512-qQR1dr2rGIHYlJulmr8Ioq3De0Le9E4MJ5AiaeAETJJpndT1uUNHsGFK3L/UIu+rbkQSdj8J/w2bCsBZc/Y5fQ==} - dev: true - /@types/debug@4.1.12: resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} dependencies: @@ -3084,7 +3149,7 @@ packages: unhead: 1.8.8 vue: 3.3.11(typescript@5.3.3) - /@unocss/astro@0.57.7(rollup@3.29.4)(vite@5.0.5): + /@unocss/astro@0.57.7(rollup@3.29.4)(vite@5.0.10): resolution: {integrity: sha512-X4KSBdrAADdtS4x7xz02b016xpRDt9mD/d/oq23HyZAZ+sZc4oZs8el9MLSUJgu2okdWzAE62lRRV/oc4HWI1A==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 @@ -3094,8 +3159,8 @@ packages: dependencies: '@unocss/core': 0.57.7 '@unocss/reset': 0.57.7 - '@unocss/vite': 0.57.7(rollup@3.29.4)(vite@5.0.5) - vite: 5.0.5 + '@unocss/vite': 0.57.7(rollup@3.29.4)(vite@5.0.10) + vite: 5.0.10 transitivePeerDependencies: - rollup dev: true @@ -3149,7 +3214,7 @@ packages: sirv: 2.0.3 dev: true - /@unocss/nuxt@0.57.7(postcss@8.4.32)(rollup@3.29.4)(vite@5.0.5)(webpack@5.89.0): + /@unocss/nuxt@0.57.7(postcss@8.4.32)(rollup@3.29.4)(vite@5.0.10)(webpack@5.89.0): resolution: {integrity: sha512-txmi7qEU+uumF/APebRULtbRF2JTsyFlylkXyjwJPdVxYZrv6FakVi6ZDt4j3F3nyQFagG+qT3IcqmLX1i8aFA==} dependencies: '@nuxt/kit': 3.8.2(rollup@3.29.4) @@ -3163,9 +3228,9 @@ packages: '@unocss/preset-web-fonts': 0.57.7 '@unocss/preset-wind': 0.57.7 '@unocss/reset': 0.57.7 - '@unocss/vite': 0.57.7(rollup@3.29.4)(vite@5.0.5) + '@unocss/vite': 0.57.7(rollup@3.29.4)(vite@5.0.10) '@unocss/webpack': 0.57.7(rollup@3.29.4)(webpack@5.89.0) - unocss: 0.57.7(@unocss/webpack@0.57.7)(postcss@8.4.32)(rollup@3.29.4)(vite@5.0.5) + unocss: 0.57.7(@unocss/webpack@0.57.7)(postcss@8.4.32)(rollup@3.29.4)(vite@5.0.10) transitivePeerDependencies: - postcss - rollup @@ -3303,7 +3368,7 @@ packages: '@unocss/core': 0.57.7 dev: true - /@unocss/vite@0.57.7(rollup@3.29.4)(vite@5.0.5): + /@unocss/vite@0.57.7(rollup@3.29.4)(vite@5.0.10): resolution: {integrity: sha512-SbJrRgfc35MmgMBlHaEK4YpJVD2B0bmxH9PVgHRuDae/hOEOG0VqNP0f2ijJtX9HG3jOpQVlbEoGnUo8jsZtsw==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 @@ -3318,7 +3383,7 @@ packages: chokidar: 3.5.3 fast-glob: 3.3.2 magic-string: 0.30.5 - vite: 5.0.5 + vite: 5.0.10 transitivePeerDependencies: - rollup dev: true @@ -3372,27 +3437,11 @@ packages: '@babel/core': 7.23.5 '@babel/plugin-transform-typescript': 7.23.5(@babel/core@7.23.5) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.5) - vite: 4.5.1(@types/node@20.10.3) + vite: 4.5.1 vue: 3.3.11(typescript@5.3.3) transitivePeerDependencies: - supports-color - /@vitejs/plugin-vue-jsx@3.1.0(vite@5.0.5)(vue@3.3.11): - resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - vite: ^4.0.0 || ^5.0.0 - vue: 3.3.11 - dependencies: - '@babel/core': 7.23.5 - '@babel/plugin-transform-typescript': 7.23.5(@babel/core@7.23.5) - '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.5) - vite: 5.0.5 - vue: 3.3.11(typescript@5.3.3) - transitivePeerDependencies: - - supports-color - dev: true - /@vitejs/plugin-vue@4.5.1(vite@4.5.1)(vue@3.3.11): resolution: {integrity: sha512-DaUzYFr+2UGDG7VSSdShKa9sIWYBa1LL8KC0MNOf2H5LjcTPjob0x8LbkqXWmAtbANJCkpiQTj66UVcQkN2s3g==} engines: {node: ^14.18.0 || >=16.0.0} @@ -3400,67 +3449,41 @@ packages: vite: ^4.0.0 || ^5.0.0 vue: 3.3.11 dependencies: - vite: 4.5.1(@types/node@20.10.3) + vite: 4.5.1 vue: 3.3.11(typescript@5.3.3) - /@vitejs/plugin-vue@4.5.1(vite@5.0.5)(vue@3.3.11): - resolution: {integrity: sha512-DaUzYFr+2UGDG7VSSdShKa9sIWYBa1LL8KC0MNOf2H5LjcTPjob0x8LbkqXWmAtbANJCkpiQTj66UVcQkN2s3g==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - vite: ^4.0.0 || ^5.0.0 - vue: 3.3.11 + /@vitest/expect@1.0.4: + resolution: {integrity: sha512-/NRN9N88qjg3dkhmFcCBwhn/Ie4h064pY3iv7WLRsDJW7dXnEgeoa8W9zy7gIPluhz6CkgqiB3HmpIXgmEY5dQ==} dependencies: - vite: 5.0.5 - vue: 3.3.11(typescript@5.3.3) - dev: true - - /@vitest/expect@0.33.0: - resolution: {integrity: sha512-sVNf+Gla3mhTCxNJx+wJLDPp/WcstOe0Ksqz4Vec51MmgMth/ia0MGFEkIZmVGeTL5HtjYR4Wl/ZxBxBXZJTzQ==} - dependencies: - '@vitest/spy': 0.33.0 - '@vitest/utils': 0.33.0 + '@vitest/spy': 1.0.4 + '@vitest/utils': 1.0.4 chai: 4.3.10 dev: true - /@vitest/runner@0.33.0: - resolution: {integrity: sha512-UPfACnmCB6HKRHTlcgCoBh6ppl6fDn+J/xR8dTufWiKt/74Y9bHci5CKB8tESSV82zKYtkBJo9whU3mNvfaisg==} + /@vitest/runner@1.0.4: + resolution: {integrity: sha512-rhOQ9FZTEkV41JWXozFM8YgOqaG9zA7QXbhg5gy6mFOVqh4PcupirIJ+wN7QjeJt8S8nJRYuZH1OjJjsbxAXTQ==} dependencies: - '@vitest/utils': 0.33.0 - p-limit: 4.0.0 + '@vitest/utils': 1.0.4 + p-limit: 5.0.0 pathe: 1.1.1 dev: true - /@vitest/snapshot@0.33.0: - resolution: {integrity: sha512-tJjrl//qAHbyHajpFvr8Wsk8DIOODEebTu7pgBrP07iOepR5jYkLFiqLq2Ltxv+r0uptUb4izv1J8XBOwKkVYA==} + /@vitest/snapshot@1.0.4: + resolution: {integrity: sha512-vkfXUrNyNRA/Gzsp2lpyJxh94vU2OHT1amoD6WuvUAA12n32xeVZQ0KjjQIf8F6u7bcq2A2k969fMVxEsxeKYA==} dependencies: magic-string: 0.30.5 pathe: 1.1.1 pretty-format: 29.7.0 dev: true - /@vitest/spy@0.33.0: - resolution: {integrity: sha512-Kv+yZ4hnH1WdiAkPUQTpRxW8kGtH8VRTnus7ZTGovFYM1ZezJpvGtb9nPIjPnptHbsyIAxYZsEpVPYgtpjGnrg==} + /@vitest/spy@1.0.4: + resolution: {integrity: sha512-9ojTFRL1AJVh0hvfzAQpm0QS6xIS+1HFIw94kl/1ucTfGCaj1LV/iuJU4Y6cdR03EzPDygxTHwE1JOm+5RCcvA==} dependencies: tinyspy: 2.2.0 dev: true - /@vitest/ui@0.33.0(vitest@0.33.0): - resolution: {integrity: sha512-7gbAjLqt30R4bodkJAutdpy4ncv+u5IKTHYTow1c2q+FOxZUC9cKOSqMUxjwaaTwLN+EnDnmXYPtg3CoahaUzQ==} - peerDependencies: - vitest: '>=0.30.1 <1' - dependencies: - '@vitest/utils': 0.33.0 - fast-glob: 3.3.2 - fflate: 0.8.1 - flatted: 3.2.9 - pathe: 1.1.1 - picocolors: 1.0.0 - sirv: 2.0.3 - vitest: 0.33.0(happy-dom@12.10.3) - dev: true - - /@vitest/utils@0.33.0: - resolution: {integrity: sha512-pF1w22ic965sv+EN6uoePkAOTkAPWM03Ri/jXNyMIKBb/XHLDPfhLvf/Fa9g0YECevAIz56oVYXhodLvLQ/awA==} + /@vitest/utils@1.0.4: + resolution: {integrity: sha512-gsswWDXxtt0QvtK/y/LWukN7sGMYmnCcv1qv05CsY6cU/Y1zpGX1QuvLs+GO1inczpE6Owixeel3ShkjhYtGfA==} dependencies: diff-sequences: 29.6.3 loupe: 2.3.7 @@ -3808,7 +3831,7 @@ packages: '@vueuse/core': 10.7.0(vue@3.3.11) '@vueuse/metadata': 10.7.0 local-pkg: 0.5.0 - nuxt: 3.8.2(eslint@8.55.0)(rollup@3.29.4)(typescript@5.3.3)(vite@5.0.5)(vue-tsc@1.8.25) + nuxt: 3.8.2(eslint@8.55.0)(rollup@3.29.4)(typescript@5.3.3)(vite@5.0.10)(vue-tsc@1.8.25) vue-demi: 0.14.6(vue@3.3.11) transitivePeerDependencies: - '@vue/composition-api' @@ -6001,10 +6024,6 @@ packages: resolution: {integrity: sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==} dev: true - /fflate@0.8.1: - resolution: {integrity: sha512-/exOvEuc+/iaUm105QIiOt4LpBdMTWsXxqR0HDF35vx3fmaKzw7354gTilCh5rkzEt8WYyG//ku3h3nRmd7CHQ==} - dev: true - /figures@5.0.0: resolution: {integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==} engines: {node: '>=14'} @@ -9085,12 +9104,12 @@ packages: - supports-color dev: true - /nuxt-icon@0.6.7(nuxt@3.8.2)(rollup@3.29.4)(vite@5.0.5)(vue@3.3.11): + /nuxt-icon@0.6.7(nuxt@3.8.2)(rollup@3.29.4)(vite@5.0.10)(vue@3.3.11): resolution: {integrity: sha512-0QnQM0yqJCb8PWt+gAn6RiXy1/CHScFuOPbsfIIwHMvyKkea+blj5/unq7F9ZHMkfrHozyCID8ErFPSzwEYLeA==} dependencies: '@iconify/collections': 1.0.366 '@iconify/vue': 4.1.1(vue@3.3.11) - '@nuxt/devtools-kit': 1.0.4(nuxt@3.8.2)(rollup@3.29.4)(vite@5.0.5) + '@nuxt/devtools-kit': 1.0.4(nuxt@3.8.2)(rollup@3.29.4)(vite@5.0.10) '@nuxt/kit': 3.8.2(rollup@3.29.4) transitivePeerDependencies: - nuxt @@ -9099,7 +9118,7 @@ packages: - vite - vue - /nuxt-og-image@2.2.4(@nuxt/devtools@1.0.4)(@vue/compiler-core@3.3.10)(fuse.js@6.6.2)(nuxt@3.8.2)(postcss@8.4.32)(rollup@3.29.4)(vite@5.0.5)(vue@3.3.11)(webpack@5.89.0): + /nuxt-og-image@2.2.4(@nuxt/devtools@1.0.4)(@vue/compiler-core@3.3.10)(fuse.js@6.6.2)(nuxt@3.8.2)(postcss@8.4.32)(rollup@3.29.4)(vite@5.0.10)(vue@3.3.11)(webpack@5.89.0): resolution: {integrity: sha512-A7QNMi+/DueEOPgxIWCvUJU8UxgxyUtRrLd7QB6YVeXrBEFFhWD8/2wLbcSdZyAzpVmuE6cA7bSU3z3U/e7K/w==} dependencies: '@nuxt/kit': 3.8.2(rollup@3.29.4) @@ -9119,7 +9138,7 @@ packages: globby: 13.2.2 image-size: 1.0.2 launch-editor: 2.6.1 - nuxt-site-config: 1.6.6(@nuxt/devtools@1.0.4)(@vue/compiler-core@3.3.10)(fuse.js@6.6.2)(nuxt@3.8.2)(postcss@8.4.32)(rollup@3.29.4)(vite@5.0.5)(vue@3.3.11)(webpack@5.89.0) + nuxt-site-config: 1.6.6(@nuxt/devtools@1.0.4)(@vue/compiler-core@3.3.10)(fuse.js@6.6.2)(nuxt@3.8.2)(postcss@8.4.32)(rollup@3.29.4)(vite@5.0.10)(vue@3.3.11)(webpack@5.89.0) nuxt-site-config-kit: 1.6.6(rollup@3.29.4)(vue@3.3.11) nypm: 0.3.3 ofetch: 1.3.3 @@ -9180,11 +9199,11 @@ packages: - vue dev: true - /nuxt-site-config@1.6.6(@nuxt/devtools@1.0.4)(@vue/compiler-core@3.3.10)(fuse.js@6.6.2)(nuxt@3.8.2)(postcss@8.4.32)(rollup@3.29.4)(vite@5.0.5)(vue@3.3.11)(webpack@5.89.0): + /nuxt-site-config@1.6.6(@nuxt/devtools@1.0.4)(@vue/compiler-core@3.3.10)(fuse.js@6.6.2)(nuxt@3.8.2)(postcss@8.4.32)(rollup@3.29.4)(vite@5.0.10)(vue@3.3.11)(webpack@5.89.0): resolution: {integrity: sha512-orqglyJAFZEVxW7oglFMcCgq6r7Cpr8xOd+1zn+OiPmP+D++EBFn+90gmV9utGjaX8t5G2sO71pO4DMIZf2u7g==} dependencies: - '@nuxt/devtools-kit': 1.0.4(nuxt@3.8.2)(rollup@3.29.4)(vite@5.0.5) - '@nuxt/devtools-ui-kit': 1.0.4(@nuxt/devtools@1.0.4)(@vue/compiler-core@3.3.10)(fuse.js@6.6.2)(nuxt@3.8.2)(postcss@8.4.32)(rollup@3.29.4)(vite@5.0.5)(vue@3.3.11)(webpack@5.89.0) + '@nuxt/devtools-kit': 1.0.4(nuxt@3.8.2)(rollup@3.29.4)(vite@5.0.10) + '@nuxt/devtools-ui-kit': 1.0.4(@nuxt/devtools@1.0.4)(@vue/compiler-core@3.3.10)(fuse.js@6.6.2)(nuxt@3.8.2)(postcss@8.4.32)(rollup@3.29.4)(vite@5.0.10)(vue@3.3.11)(webpack@5.89.0) '@nuxt/kit': 3.8.2(rollup@3.29.4) '@nuxt/schema': 3.8.2(rollup@3.29.4) nuxt-site-config-kit: 1.6.6(rollup@3.29.4)(vue@3.3.11) @@ -9218,37 +9237,7 @@ packages: - webpack dev: true - /nuxt-vitest@0.11.5(@vitejs/plugin-vue-jsx@3.1.0)(@vitejs/plugin-vue@4.5.1)(happy-dom@12.10.3)(rollup@3.29.4)(vite@5.0.5)(vitest@0.33.0)(vue-router@4.2.5)(vue@3.3.11): - resolution: {integrity: sha512-uBdojodtD0/oq8mryU6KdFK7G9bppXFK+CgxMdRbPyTnAvKW31dJs5OFg4yE8EIa4whsezi16Ny+yvzaFtT/1Q==} - peerDependencies: - '@vitejs/plugin-vue': '*' - '@vitejs/plugin-vue-jsx': '*' - vite: '*' - vitest: ^0.24.5 || ^0.26.0 || ^0.27.0 || ^0.28.0 || ^0.29.0 || ^0.30.0 || ^0.33.0 - dependencies: - '@nuxt/kit': 3.8.2(rollup@3.29.4) - '@vitejs/plugin-vue': 4.5.1(vite@5.0.5)(vue@3.3.11) - '@vitejs/plugin-vue-jsx': 3.1.0(vite@5.0.5)(vue@3.3.11) - '@vitest/ui': 0.33.0(vitest@0.33.0) - defu: 6.1.3 - get-port-please: 3.1.1 - perfect-debounce: 1.0.0 - std-env: 3.6.0 - vite: 5.0.5 - vitest: 0.33.0(happy-dom@12.10.3) - vitest-environment-nuxt: 0.11.5(happy-dom@12.10.3)(rollup@3.29.4)(vitest@0.33.0)(vue-router@4.2.5)(vue@3.3.11) - transitivePeerDependencies: - - '@testing-library/vue' - - '@vue/server-renderer' - - happy-dom - - jsdom - - rollup - - supports-color - - vue - - vue-router - dev: true - - /nuxt@3.8.2(eslint@8.55.0)(rollup@3.29.4)(typescript@5.3.3)(vite@5.0.5)(vue-tsc@1.8.25): + /nuxt@3.8.2(eslint@8.55.0)(rollup@3.29.4)(typescript@5.3.3)(vite@5.0.10)(vue-tsc@1.8.25): resolution: {integrity: sha512-HUAyifmqTs2zcQBGvcby3KNs2pBAk+l7ZbLjD1oCNqQQ+wBuZ1qgLC4Ebu++y4g3o3Y8WAWSvpafbKRLQZziPw==} engines: {node: ^14.18.0 || >=16.10.0} hasBin: true @@ -9262,7 +9251,7 @@ packages: optional: true dependencies: '@nuxt/devalue': 2.0.2 - '@nuxt/devtools': 1.0.4(nuxt@3.8.2)(rollup@3.29.4)(vite@5.0.5) + '@nuxt/devtools': 1.0.4(nuxt@3.8.2)(rollup@3.29.4)(vite@5.0.10) '@nuxt/kit': 3.8.2(rollup@3.29.4) '@nuxt/schema': 3.8.2(rollup@3.29.4) '@nuxt/telemetry': 2.5.3(rollup@3.29.4) @@ -9532,6 +9521,13 @@ packages: yocto-queue: 1.0.0 dev: true + /p-limit@5.0.0: + resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} + engines: {node: '>=18'} + dependencies: + yocto-queue: 1.0.0 + dev: true + /p-locate@5.0.0: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} @@ -11524,8 +11520,8 @@ packages: resolution: {integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==} dev: true - /tinypool@0.6.0: - resolution: {integrity: sha512-FdswUUo5SxRizcBc6b1GSuLpLjisa8N8qMyYoP3rl+bym+QauhtJP5bvZY1ytt8krKGmMLYIRl36HBZfeAoqhQ==} + /tinypool@0.8.1: + resolution: {integrity: sha512-zBTCK0cCgRROxvs9c0CGK838sPkeokNGdQVUUwHAbynHFlmyJYj825f/oRs528HaIJ97lo0pLIlDUzwN+IorWg==} engines: {node: '>=14.0.0'} dev: true @@ -12029,7 +12025,7 @@ packages: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} - /unocss@0.57.7(@unocss/webpack@0.57.7)(postcss@8.4.32)(rollup@3.29.4)(vite@5.0.5): + /unocss@0.57.7(@unocss/webpack@0.57.7)(postcss@8.4.32)(rollup@3.29.4)(vite@5.0.10): resolution: {integrity: sha512-Z99ZZPkbkjIUXEM7L+K/7Y5V5yqUS0VigG7ZIFzLf/npieKmXHKlrPyvQWFQaf3OqooMFuKBQivh75TwvSOkcQ==} engines: {node: '>=14'} peerDependencies: @@ -12041,7 +12037,7 @@ packages: vite: optional: true dependencies: - '@unocss/astro': 0.57.7(rollup@3.29.4)(vite@5.0.5) + '@unocss/astro': 0.57.7(rollup@3.29.4)(vite@5.0.10) '@unocss/cli': 0.57.7(rollup@3.29.4) '@unocss/core': 0.57.7 '@unocss/extractor-arbitrary-variants': 0.57.7 @@ -12060,9 +12056,9 @@ packages: '@unocss/transformer-compile-class': 0.57.7 '@unocss/transformer-directives': 0.57.7 '@unocss/transformer-variant-group': 0.57.7 - '@unocss/vite': 0.57.7(rollup@3.29.4)(vite@5.0.5) + '@unocss/vite': 0.57.7(rollup@3.29.4)(vite@5.0.10) '@unocss/webpack': 0.57.7(rollup@3.29.4)(webpack@5.89.0) - vite: 5.0.5 + vite: 5.0.10 transitivePeerDependencies: - postcss - rollup @@ -12331,7 +12327,7 @@ packages: vfile-message: 4.0.2 dev: true - /vite-node@0.33.0(@types/node@20.10.3): + /vite-node@0.33.0: resolution: {integrity: sha512-19FpHYbwWWxDr73ruNahC+vtEdza52kA90Qb3La98yZ0xULqV8A5JLNPUff0f5zID4984tW7l3DH2przTJUZSw==} engines: {node: '>=v14.18.0'} hasBin: true @@ -12341,7 +12337,7 @@ packages: mlly: 1.4.2 pathe: 1.1.1 picocolors: 1.0.0 - vite: 4.5.1(@types/node@20.10.3) + vite: 4.5.1 transitivePeerDependencies: - '@types/node' - less @@ -12352,6 +12348,27 @@ packages: - supports-color - terser + /vite-node@1.0.4: + resolution: {integrity: sha512-9xQQtHdsz5Qn8hqbV7UKqkm8YkJhzT/zr41Dmt5N7AlD8hJXw/Z7y0QiD5I8lnTthV9Rvcvi0QW7PI0Fq83ZPg==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + pathe: 1.1.1 + picocolors: 1.0.0 + vite: 5.0.10 + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + /vite-plugin-checker@0.6.2(eslint@8.55.0)(typescript@5.3.3)(vite@4.5.1)(vue-tsc@1.8.25): resolution: {integrity: sha512-YvvvQ+IjY09BX7Ab+1pjxkELQsBd4rPhWNw8WLBeFVxu/E7O+n6VYAqNsKdK/a2luFlX/sMpoWdGFfg4HvwdJQ==} engines: {node: '>=14.16'} @@ -12398,14 +12415,14 @@ packages: strip-ansi: 6.0.1 tiny-invariant: 1.3.1 typescript: 5.3.3 - vite: 4.5.1(@types/node@20.10.3) + vite: 4.5.1 vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 vscode-uri: 3.0.8 vue-tsc: 1.8.25(typescript@5.3.3) - /vite-plugin-inspect@0.7.42(@nuxt/kit@3.8.2)(rollup@3.29.4)(vite@5.0.5): + /vite-plugin-inspect@0.7.42(@nuxt/kit@3.8.2)(rollup@3.29.4)(vite@5.0.10): resolution: {integrity: sha512-JCyX86wr3siQc+p9Kd0t8VkFHAJag0RaQVIpdFGSv5FEaePEVB6+V/RGtz2dQkkGSXQzRWrPs4cU3dRKg32bXw==} engines: {node: '>=14'} peerDependencies: @@ -12424,12 +12441,12 @@ packages: open: 9.1.0 picocolors: 1.0.0 sirv: 2.0.3 - vite: 5.0.5 + vite: 5.0.10 transitivePeerDependencies: - rollup - supports-color - /vite-plugin-vue-inspector@4.0.1(vite@5.0.5): + /vite-plugin-vue-inspector@4.0.1(vite@5.0.10): resolution: {integrity: sha512-Jk7YUpYFK1Slm64ct6jL9vfVNnDXsK1N3axCbfpyXmRH0pNbd9yZ58haZKyjZ/Mi47D17dB6KnxPqOLO2SR1FQ==} peerDependencies: vite: ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 @@ -12443,11 +12460,11 @@ packages: '@vue/compiler-dom': 3.3.10 kolorist: 1.8.0 magic-string: 0.30.5 - vite: 5.0.5 + vite: 5.0.10 transitivePeerDependencies: - supports-color - /vite@4.5.1(@types/node@20.10.3): + /vite@4.5.1: resolution: {integrity: sha512-AXXFaAJ8yebyqzoNB9fu2pHoo/nWX+xZlaRwoeYUxEqBO+Zj4msE5G+BhGBll9lYEKv9Hfks52PAF2X7qDYXQA==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -12475,15 +12492,14 @@ packages: terser: optional: true dependencies: - '@types/node': 20.10.3 esbuild: 0.18.20 postcss: 8.4.32 rollup: 3.29.4 optionalDependencies: fsevents: 2.3.3 - /vite@5.0.5: - resolution: {integrity: sha512-OekeWqR9Ls56f3zd4CaxzbbS11gqYkEiBtnWFFgYR2WV8oPJRRKq0mpskYy/XaoCL3L7VINDhqqOMNDiYdGvGg==} + /vite@5.0.10: + resolution: {integrity: sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -12516,61 +12532,43 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vitest-environment-nuxt@0.11.5(happy-dom@12.10.3)(rollup@3.29.4)(vitest@0.33.0)(vue-router@4.2.5)(vue@3.3.11): - resolution: {integrity: sha512-PV21wpOen6gIjuPHQpOoMtdwXC79EphRQL+NUI4LoVjSb5mHtWYYr9R0PUrrGckdu8v+NzaXE4WFiumK07TA4w==} - peerDependencies: - '@testing-library/vue': 8.0.1 - happy-dom: ^9.10.9 || ^10.0.0 || ^11.0.0 || ^12.0.0 - jsdom: ^22.0.0 - vitest: ^0.24.5 || ^0.26.0 || ^0.27.0 || ^0.28.0 || ^0.29.0 || ^0.30.0 || ^0.33.0 - vue: 3.3.11 - vue-router: ^4.0.0 - peerDependenciesMeta: - '@testing-library/vue': - optional: true - happy-dom: - optional: true - jsdom: - optional: true + /vitest-environment-nuxt@1.0.0-alpha.1(@vue/test-utils@2.4.3)(h3@1.9.0)(happy-dom@12.10.3)(rollup@3.29.4)(vite@5.0.10)(vitest@1.0.4)(vue-router@4.2.5)(vue@3.3.11): + resolution: {integrity: sha512-0/gfNcZNNqFRjocmGZN/R4PlZ0p4MlmmsTkplKf9FwgBadGxN4eYtxOqk1ubhz+qf8ZvPRER3toydmOASovMcg==} dependencies: - '@nuxt/kit': 3.8.2(rollup@3.29.4) - '@vue/test-utils': 2.4.3(vue@3.3.11) - defu: 6.1.3 - estree-walker: 3.0.3 - fake-indexeddb: 5.0.1 - h3: 1.9.0 - happy-dom: 12.10.3 - local-pkg: 0.5.0 - magic-string: 0.30.5 - ofetch: 1.3.3 - radix3: 1.1.0 - ufo: 1.3.2 - unenv: 1.8.0 - vitest: 0.33.0(happy-dom@12.10.3) - vue: 3.3.11(typescript@5.3.3) - vue-router: 4.2.5(vue@3.3.11) + '@nuxt/test-utils': 3.9.0-alpha.3(@vue/test-utils@2.4.3)(h3@1.9.0)(happy-dom@12.10.3)(rollup@3.29.4)(vite@5.0.10)(vitest@1.0.4)(vue-router@4.2.5)(vue@3.3.11) transitivePeerDependencies: - - '@vue/server-renderer' + - '@jest/globals' + - '@testing-library/vue' + - '@vitest/ui' + - '@vue/test-utils' + - h3 + - happy-dom + - jsdom + - playwright-core - rollup - supports-color + - vite + - vitest + - vue + - vue-router dev: true - /vitest@0.33.0(happy-dom@12.10.3): - resolution: {integrity: sha512-1CxaugJ50xskkQ0e969R/hW47za4YXDUfWJDxip1hwbnhUjYolpfUn2AMOulqG/Dtd9WYAtkHmM/m3yKVrEejQ==} - engines: {node: '>=v14.18.0'} + /vitest@1.0.4(happy-dom@12.10.3): + resolution: {integrity: sha512-s1GQHp/UOeWEo4+aXDOeFBJwFzL6mjycbQwwKWX2QcYfh/7tIerS59hWQ20mxzupTJluA2SdwiBuWwQHH67ckg==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' - '@vitest/browser': '*' - '@vitest/ui': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': ^1.0.0 + '@vitest/ui': ^1.0.0 happy-dom: '*' jsdom: '*' - playwright: '*' - safaridriver: '*' - webdriverio: '*' peerDependenciesMeta: '@edge-runtime/vm': optional: true + '@types/node': + optional: true '@vitest/browser': optional: true '@vitest/ui': @@ -12579,37 +12577,28 @@ packages: optional: true jsdom: optional: true - playwright: - optional: true - safaridriver: - optional: true - webdriverio: - optional: true dependencies: - '@types/chai': 4.3.11 - '@types/chai-subset': 1.3.5 - '@types/node': 20.10.3 - '@vitest/expect': 0.33.0 - '@vitest/runner': 0.33.0 - '@vitest/snapshot': 0.33.0 - '@vitest/spy': 0.33.0 - '@vitest/utils': 0.33.0 - acorn: 8.11.2 + '@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 acorn-walk: 8.3.0 cac: 6.7.14 chai: 4.3.10 debug: 4.3.4 + execa: 8.0.1 happy-dom: 12.10.3 - local-pkg: 0.4.3 + local-pkg: 0.5.0 magic-string: 0.30.5 pathe: 1.1.1 picocolors: 1.0.0 std-env: 3.6.0 strip-literal: 1.3.0 tinybench: 2.5.1 - tinypool: 0.6.0 - vite: 4.5.1(@types/node@20.10.3) - vite-node: 0.33.0(@types/node@20.10.3) + tinypool: 0.8.1 + vite: 5.0.10 + vite-node: 1.0.4 why-is-node-running: 2.2.2 transitivePeerDependencies: - less diff --git a/test/basic.spec.ts b/test/basic.spec.ts index 5f49a1d1..c36da798 100644 --- a/test/basic.spec.ts +++ b/test/basic.spec.ts @@ -1,46 +1,58 @@ import { describe, expect, it } from 'vitest' -import module from '../src/module' +import { defu } from 'defu' +import { join } from 'pathe' import { loadNuxt } from '@nuxt/kit' -import { join } from 'path' +import type { NuxtConfig } from '@nuxt/schema' +import type * as tailwindcss from 'tailwindcss' +type TWConfig = tailwindcss.Config; +import type resolveConfig from 'tailwindcss/resolveConfig' -// TODO: fix these anys -async function getTailwindCSSConfig (overrides: any = {}): Promise<[any, any]> { - overrides.modules = [module] - overrides.ssr = overrides.ssr ?? false - overrides.hooks = overrides.hooks ?? {} - return new Promise((resolve) => { - overrides.hooks['tailwindcss:resolvedConfig'] = async (config: any) => { - resolve([config, nuxt]) - } - const nuxt = loadNuxt({ - cwd: join(process.cwd(), 'fixtures', 'empty'), - dev: false, - overrides - }) +async function getTailwindCSSConfig (overrides: Partial = {}) { + let tailwindConfig: ReturnType> + const nuxt = await loadNuxt({ + ready: true, + cwd: join(process.cwd(), 'fixtures', 'empty'), + dev: false, + overrides: defu(overrides, { + ssr: false, + modules: ['../../src/module'], + hooks: { + 'tailwindcss:resolvedConfig' (config) { + tailwindConfig = config + } + } + } satisfies NuxtConfig) as NuxtConfig }) + const nuxtOptions = structuredClone({ + plugins: nuxt.options.plugins.map(p => typeof p !== 'string' && ({ src: p.src, mode: p.mode })), + _requiredModules: nuxt.options._requiredModules, + appConfig: nuxt.options.appConfig + }) + await nuxt.close() + + return { + nuxtOptions, + tailwindConfig + } } describe('nuxt', () => { it('should add plugins and modules to nuxt', async () => { - const [, lnuxt] = await getTailwindCSSConfig() - await lnuxt.then((nuxt: { options: { plugins: any; _requiredModules: any; appConfig: { ui: any } }; close: () => void }) => { - expect(nuxt.options.plugins).toContainEqual( - expect.objectContaining({ - src: expect.stringContaining('plugins/colors'), - mode: 'all' - }) - ) - expect(nuxt.options._requiredModules).toContain({ - '@nuxtjs/color-mode': true, - '@nuxtjs/tailwindcss': true + const { nuxtOptions } = await getTailwindCSSConfig() + expect(nuxtOptions.plugins).toContainEqual( + expect.objectContaining({ + src: expect.stringContaining('plugins/colors'), + mode: 'all' }) - // default values in appConfig - expect(nuxt.options.appConfig.ui).toContain({ - primary: 'green', - gray: 'cool' - }) - // TODO: this should be done inside getTailwindCSSConfig - nuxt.close() + ) + expect(nuxtOptions._requiredModules).toMatchObject({ + '@nuxtjs/color-mode': true, + '@nuxtjs/tailwindcss': true + }) + // default values in appConfig + expect(nuxtOptions.appConfig.ui).toMatchObject({ + primary: 'green', + gray: 'cool' }) }) }) @@ -68,7 +80,7 @@ describe('tailwindcss config', () => { ['bg-(plainBlue|primary)-50', '!', /orange/] // the word "orange" should _not_ be found in any safelist pattern ] ])('%s', async (_description, tailwindcss, safelistColors, safelistPatterns) => { - const [config, _nuxt] = await getTailwindCSSConfig({ + const { tailwindConfig } = await getTailwindCSSConfig({ ui: { safelistColors }, @@ -105,19 +117,15 @@ describe('tailwindcss config', () => { continue } if (negate) { - expect(config.safelist).not.toContainEqual({ + expect(tailwindConfig.safelist).not.toContainEqual({ pattern: expect.toBeRegExp(safelistPattern) }) } else { - expect(config.safelist).toContainEqual({ + expect(tailwindConfig.safelist).toContainEqual({ pattern: expect.toBeRegExp(safelistPattern) }) } negate = false } - - await _nuxt.then((n: { close: () => void }) => { - n.close() - }) }) }) diff --git a/test/components/component-render.ts b/test/components/component-render.ts index 1270163a..f0b48df7 100644 --- a/test/components/component-render.ts +++ b/test/components/component-render.ts @@ -1,8 +1,8 @@ -import { mountSuspended } from 'nuxt-vitest/utils' +import { mountSuspended } from '@nuxt/test-utils/runtime' import path from 'path' export default async function (nameOrHtml: string, options: any, component: any) { - let html + let html: string const name = path.parse(component.__file).name if (options === undefined) { const app = { diff --git a/test/components/elements/__snapshots__/Button.spec.ts.snap b/test/components/elements/__snapshots__/Button.spec.ts.snap index b475ceaf..1235490d 100644 --- a/test/components/elements/__snapshots__/Button.spec.ts.snap +++ b/test/components/elements/__snapshots__/Button.spec.ts.snap @@ -1,34 +1,34 @@ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html exports[`Button > renders correctly 1`] = ` -"" `; exports[`Button > renders basic case correctly 1`] = ` -"" `; exports[`Button > renders black solid correctly 1`] = ` -"" `; exports[`Button > renders leading icon correctly 1`] = ` -"" `; exports[`Button > renders rounded full correctly 1`] = ` -"" diff --git a/test/components/layout/Skeleton.spec.ts b/test/components/layout/Skeleton.spec.ts index 02dc9d71..a6e1d69b 100644 --- a/test/components/layout/Skeleton.spec.ts +++ b/test/components/layout/Skeleton.spec.ts @@ -1,5 +1,5 @@ import { describe, it, expect } from 'vitest' -import Skeleton from '../../../src/runtime/components/layout/Skeleton.vue' +import { USkeleton } from '#components' import type { TypeOf } from 'zod' import ComponentRender from '../component-render' @@ -7,9 +7,8 @@ describe('Skeleton', () => { it.each([ [ 'basic case', { } ], [ '' ] - // @ts-ignore - ])('renders %s correctly', async (nameOrHtml: string, options: TypeOf) => { - const html = await ComponentRender(nameOrHtml, options, Skeleton) + ])('renders %s correctly', async (nameOrHtml: string, options?: TypeOf) => { + const html = await ComponentRender(nameOrHtml, options, USkeleton) expect(html).toMatchSnapshot() }) }) diff --git a/test/components/layout/__snapshots__/Skeleton.spec.ts.snap b/test/components/layout/__snapshots__/Skeleton.spec.ts.snap index d83af910..8c672055 100644 --- a/test/components/layout/__snapshots__/Skeleton.spec.ts.snap +++ b/test/components/layout/__snapshots__/Skeleton.spec.ts.snap @@ -1,5 +1,5 @@ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html -exports[`Skeleton > renders correctly 1`] = `"
"`; +exports[`Skeleton > renders correctly 1`] = `"
"`; -exports[`Skeleton > renders basic case correctly 1`] = `"
"`; +exports[`Skeleton > renders basic case correctly 1`] = `"
"`; diff --git a/vitest.config.ts b/vitest.config.mts similarity index 74% rename from vitest.config.ts rename to vitest.config.mts index be547583..989f4f40 100644 --- a/vitest.config.ts +++ b/vitest.config.mts @@ -1,9 +1,7 @@ -/// import { fileURLToPath } from 'node:url' -import { defineVitestConfig } from 'nuxt-vitest/config' +import { defineVitestConfig } from '@nuxt/test-utils/config' export default defineVitestConfig({ - // @ts-ignore test: { testTimeout: 20000, globals: true,