From 3ae2d50bff5a8c03a6af6ed45876bda82f1b6967 Mon Sep 17 00:00:00 2001
From: Daniel Roe
Date: Thu, 14 Dec 2023 11:45:52 +0000
Subject: [PATCH] test: reenable nuxt runtime tests (with latest test-utils)
(#2497)
---
.github/workflows/ci.yml | 2 +-
nuxt.config.ts | 2 +-
package.json | 3 +-
pnpm-lock.yaml | 291 ++++++++----------
.../__snapshots__/content-rich.test.ts.snap | 70 ++---
.../__snapshots__/html-parse.test.ts.snap | 80 ++---
tests/nuxt/content-rich.test.ts | 82 ++---
vitest.config.mjs => vitest.config.ts | 2 +-
8 files changed, 252 insertions(+), 280 deletions(-)
rename vitest.config.mjs => vitest.config.ts (58%)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 1c66b6f5..6aac6061 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -31,7 +31,7 @@ jobs:
run: pnpm nuxi prepare
- name: π§ͺ Test project
- run: pnpm test tests/unit
+ run: pnpm test
- name: π Lint
run: pnpm lint
diff --git a/nuxt.config.ts b/nuxt.config.ts
index 1b9cf4ef..41cdd882 100644
--- a/nuxt.config.ts
+++ b/nuxt.config.ts
@@ -24,7 +24,7 @@ export default defineNuxtConfig({
'@nuxtjs/i18n',
'@nuxtjs/color-mode',
'@unlazy/nuxt',
- 'nuxt-vitest',
+ '@nuxt/test-utils/module',
...(isDevelopment || isWindows) ? [] : ['nuxt-security'],
'~/modules/emoji-mart-translation',
'~/modules/purge-comments',
diff --git a/package.json b/package.json
index 178e8eed..06bacf70 100644
--- a/package.json
+++ b/package.json
@@ -36,6 +36,7 @@
"@iconify/json": "^2.2.142",
"@iconify/utils": "^2.1.7",
"@nuxt/devtools": "^1.0.0-beta.1",
+ "@nuxt/test-utils": "^3.9.0-alpha.1",
"@nuxtjs/color-mode": "^3.3.2",
"@nuxtjs/i18n": "8.0.0-beta.10",
"@pinia/nuxt": "^0.4.11",
@@ -79,7 +80,6 @@
"lru-cache": "^10.0.0",
"masto": "^5.11.3",
"nuxt-security": "^0.13.1",
- "nuxt-vitest": "^0.11.0",
"page-lifecycle": "^0.1.2",
"pinia": "^2.1.4",
"postcss-nested": "^6.0.1",
@@ -117,6 +117,7 @@
"@types/prettier": "^2.7.3",
"@types/wicg-file-system-access": "^2020.9.6",
"@unlazy/nuxt": "^0.9.3",
+ "@vue/test-utils": "^2.4.3",
"bumpp": "^9.2.0",
"consola": "^3.2.3",
"eslint": "^8.49.0",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 01e28a61..c77e1dc5 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -35,6 +35,9 @@ importers:
'@nuxt/devtools':
specifier: ^1.0.0-beta.1
version: 1.0.4(idb-keyval@6.2.1)(nuxt@3.8.2)(rollup@2.79.1)(vite@4.5.0)
+ '@nuxt/test-utils':
+ specifier: ^3.9.0-alpha.1
+ version: 3.9.0-alpha.1(@vue/test-utils@2.4.3)(h3@1.9.0)(happy-dom@10.5.2)(rollup@2.79.1)(vite@4.5.0)(vitest@1.0.4)(vue-router@4.2.5)(vue@3.3.9)
'@nuxtjs/color-mode':
specifier: ^3.3.2
version: 3.3.2(rollup@2.79.1)
@@ -88,7 +91,7 @@ importers:
version: 2.1.8(@tiptap/core@2.1.8)(@tiptap/pm@2.0.3)(vue@3.3.9)
'@unocss/nuxt':
specifier: ^0.53.4
- version: 0.53.4(postcss@8.4.31)(rollup@2.79.1)(vite@4.5.0)(webpack@5.89.0)
+ version: 0.53.4(postcss@8.4.32)(rollup@2.79.1)(vite@4.5.0)(webpack@5.89.0)
'@vue-macros/nuxt':
specifier: ^1.6.0
version: 1.6.0(@vue-macros/reactivity-transform@0.3.23)(@vueuse/core@10.2.1)(nuxt@3.8.2)(rollup@2.79.1)(typescript@5.1.6)(vite@4.5.0)(vue-tsc@1.8.8)(vue@3.3.9)(webpack@5.89.0)
@@ -164,9 +167,6 @@ importers:
nuxt-security:
specifier: ^0.13.1
version: 0.13.1(patch_hash=bd6cmp7ukwwiwrxafbbotwkihe)(rollup@2.79.1)
- nuxt-vitest:
- specifier: ^0.11.0
- version: 0.11.0(@vitejs/plugin-vue-jsx@3.1.0)(@vitejs/plugin-vue@4.5.0)(happy-dom@10.5.2)(rollup@2.79.1)(vite@4.5.0)(vitest@1.0.4)(vue-router@4.2.5)(vue@3.3.9)
page-lifecycle:
specifier: ^0.1.2
version: 0.1.2
@@ -175,7 +175,7 @@ importers:
version: 2.1.4(typescript@5.1.6)(vue@3.3.9)
postcss-nested:
specifier: ^6.0.1
- version: 6.0.1(postcss@8.4.31)
+ version: 6.0.1(postcss@8.4.32)
rollup-plugin-node-polyfills:
specifier: ^0.2.1
version: 0.2.1
@@ -273,6 +273,9 @@ importers:
'@unlazy/nuxt':
specifier: ^0.9.3
version: 0.9.3(rollup@2.79.1)
+ '@vue/test-utils':
+ specifier: ^2.4.3
+ version: 2.4.3(vue@3.3.9)
bumpp:
specifier: ^9.2.0
version: 9.2.0
@@ -327,7 +330,7 @@ importers:
devDependencies:
'@nuxt-themes/docus':
specifier: ^1.14.6
- version: 1.14.6(idb-keyval@6.2.1)(nuxt@3.8.2)(postcss@8.4.31)(rollup@3.29.4)(vue@3.3.9)
+ version: 1.14.6(idb-keyval@6.2.1)(nuxt@3.8.2)(postcss@8.4.32)(rollup@3.29.4)(vue@3.3.9)
nuxt:
specifier: ^3.7.0
version: 3.8.2(eslint@8.49.0)(idb-keyval@6.2.1)(rollup@3.29.4)(typescript@5.1.6)(vite@4.5.0)(vue-tsc@1.8.8)
@@ -2565,13 +2568,6 @@ packages:
wrap-ansi: 8.1.0
wrap-ansi-cjs: /wrap-ansi@7.0.0
- /@jest/schemas@29.4.3:
- resolution: {integrity: sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@sinclair/typebox': 0.25.24
- dev: false
-
/@jest/schemas@29.6.3:
resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
@@ -2805,12 +2801,12 @@ packages:
transitivePeerDependencies:
- supports-color
- /@nuxt-themes/docus@1.14.6(idb-keyval@6.2.1)(nuxt@3.8.2)(postcss@8.4.31)(rollup@3.29.4)(vue@3.3.9):
+ /@nuxt-themes/docus@1.14.6(idb-keyval@6.2.1)(nuxt@3.8.2)(postcss@8.4.32)(rollup@3.29.4)(vue@3.3.9):
resolution: {integrity: sha512-tkSG7j0jhVo53wEpK9V48hIvaK0XEzVU64hXhFfnIMv6LJu99cKOC//boebPbN9qLbJmkBdo4IAIJ0tN5MD0qw==}
dependencies:
- '@nuxt-themes/elements': 0.9.4(postcss@8.4.31)(rollup@3.29.4)(vue@3.3.9)
- '@nuxt-themes/tokens': 1.9.1(postcss@8.4.31)(rollup@3.29.4)(vue@3.3.9)
- '@nuxt-themes/typography': 0.11.0(postcss@8.4.31)(rollup@3.29.4)(vue@3.3.9)
+ '@nuxt-themes/elements': 0.9.4(postcss@8.4.32)(rollup@3.29.4)(vue@3.3.9)
+ '@nuxt-themes/tokens': 1.9.1(postcss@8.4.32)(rollup@3.29.4)(vue@3.3.9)
+ '@nuxt-themes/typography': 0.11.0(postcss@8.4.32)(rollup@3.29.4)(vue@3.3.9)
'@nuxt/content': 2.7.2(idb-keyval@6.2.1)(rollup@3.29.4)
'@nuxthq/studio': 0.13.4(rollup@3.29.4)
'@vueuse/integrations': 10.2.1(focus-trap@7.5.2)(fuse.js@6.6.2)(idb-keyval@6.2.1)(vue@3.3.9)
@@ -2849,10 +2845,10 @@ packages:
- vue
dev: true
- /@nuxt-themes/elements@0.9.4(postcss@8.4.31)(rollup@3.29.4)(vue@3.3.9):
+ /@nuxt-themes/elements@0.9.4(postcss@8.4.32)(rollup@3.29.4)(vue@3.3.9):
resolution: {integrity: sha512-d7XgHc/gjMpre26+N76APL1vlnQHiZTOk61GC4I/ZYQuioSfoKuoIP+Ixrr0QgM22j4MRBtAaBnDAg1wRJrDCQ==}
dependencies:
- '@nuxt-themes/tokens': 1.9.1(postcss@8.4.31)(rollup@3.29.4)(vue@3.3.9)
+ '@nuxt-themes/tokens': 1.9.1(postcss@8.4.32)(rollup@3.29.4)(vue@3.3.9)
'@vueuse/core': 9.13.0(vue@3.3.9)
transitivePeerDependencies:
- '@vue/composition-api'
@@ -2863,12 +2859,12 @@ packages:
- vue
dev: true
- /@nuxt-themes/tokens@1.9.1(postcss@8.4.31)(rollup@3.29.4)(vue@3.3.9):
+ /@nuxt-themes/tokens@1.9.1(postcss@8.4.32)(rollup@3.29.4)(vue@3.3.9):
resolution: {integrity: sha512-5C28kfRvKnTX8Tux+xwyaf+2pxKgQ53dC9l6C33sZwRRyfUJulGDZCFjKbuNq4iqVwdGvkFSQBYBYjFAv6t75g==}
dependencies:
'@nuxtjs/color-mode': 3.3.2(rollup@3.29.4)
'@vueuse/core': 9.13.0(vue@3.3.9)
- pinceau: 0.18.9(postcss@8.4.31)
+ pinceau: 0.18.9(postcss@8.4.32)
transitivePeerDependencies:
- '@vue/composition-api'
- postcss
@@ -2878,13 +2874,13 @@ packages:
- vue
dev: true
- /@nuxt-themes/typography@0.11.0(postcss@8.4.31)(rollup@3.29.4)(vue@3.3.9):
+ /@nuxt-themes/typography@0.11.0(postcss@8.4.32)(rollup@3.29.4)(vue@3.3.9):
resolution: {integrity: sha512-TqyvD7sDWnqGmL00VtuI7JdmNTPL5/g957HCAWNzcNp+S20uJjW/FXSdkM76d4JSVDHvBqw7Wer3RsqVhqvA4w==}
dependencies:
'@nuxtjs/color-mode': 3.3.2(rollup@3.29.4)
nuxt-config-schema: 0.4.6(rollup@3.29.4)
nuxt-icon: 0.3.3(rollup@3.29.4)(vue@3.3.9)
- pinceau: 0.18.9(postcss@8.4.31)
+ pinceau: 0.18.9(postcss@8.4.32)
ufo: 1.3.2
transitivePeerDependencies:
- postcss
@@ -3276,6 +3272,72 @@ packages:
- supports-color
dev: true
+ /@nuxt/test-utils@3.9.0-alpha.1(@vue/test-utils@2.4.3)(h3@1.9.0)(happy-dom@10.5.2)(rollup@2.79.1)(vite@4.5.0)(vitest@1.0.4)(vue-router@4.2.5)(vue@3.3.9):
+ resolution: {integrity: sha512-cPR2Z2REMyIRGM3/2zEf5IAfMHT2GniMx4IkeeexlG7O0y3VMA1SumoWFa5/pRLxXhUjR2Vg3je1WaUr/ACZkw==}
+ 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.33.0 || ^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.24.5 || ^0.26.0 || ^0.27.0 || ^0.28.0 || ^0.29.0 || ^0.30.0 || ^0.33.0 || ^0.34.6 || ^1.0.0
+ vue: ^3.3.4
+ 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@2.79.1)
+ '@nuxt/schema': 3.8.2(rollup@2.79.1)
+ '@vue/test-utils': 2.4.3(vue@3.3.9)
+ consola: 3.2.3
+ defu: 6.1.3
+ 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: 10.5.2
+ 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
+ std-env: 3.6.0
+ ufo: 1.3.2
+ unenv: 1.8.0
+ unplugin: 1.5.1
+ vite: 4.5.0
+ vitest: 1.0.4(happy-dom@10.5.2)
+ vitest-environment-nuxt: 1.0.0-alpha.1(@vue/test-utils@2.4.3)(h3@1.9.0)(happy-dom@10.5.2)(rollup@2.79.1)(vite@4.5.0)(vitest@1.0.4)(vue-router@4.2.5)(vue@3.3.9)
+ vue: 3.3.9(typescript@5.1.6)
+ vue-router: 4.2.5(vue@3.3.9)
+ transitivePeerDependencies:
+ - rollup
+ - supports-color
+ dev: false
+
/@nuxt/ui-templates@1.3.1:
resolution: {integrity: sha512-5gc02Pu1HycOVUWJ8aYsWeeXcSTPe8iX8+KIrhyEtEoOSkY0eMBuo0ssljB8wALuEmepv31DlYe5gpiRwkjESA==}
@@ -3471,7 +3533,6 @@ packages:
/@one-ini/wasm@0.1.1:
resolution: {integrity: sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==}
- dev: false
/@parcel/watcher-android-arm64@2.3.0:
resolution: {integrity: sha512-f4o9eA3dgk0XRT3XhB0UWpWpLnKgrh1IwNJKJ7UJek7eTYccQ8LR7XUWFKqw6aEq5KUNlCcGvSzKqSX/vtWVVA==}
@@ -4077,10 +4138,6 @@ packages:
transitivePeerDependencies:
- supports-color
- /@sinclair/typebox@0.25.24:
- resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==}
- dev: false
-
/@sinclair/typebox@0.27.8:
resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
@@ -4879,7 +4936,7 @@ packages:
sirv: 2.0.3
dev: false
- /@unocss/nuxt@0.53.4(postcss@8.4.31)(rollup@2.79.1)(vite@4.5.0)(webpack@5.89.0):
+ /@unocss/nuxt@0.53.4(postcss@8.4.32)(rollup@2.79.1)(vite@4.5.0)(webpack@5.89.0):
resolution: {integrity: sha512-KKLWLcOQw65oWaye3MF6rpZBc/zy8f5pJPPaqS0r2VQ1vGN85KuEc0yY2E0HK1KrW5yB/YU3aPWosRf5wPa5mQ==}
dependencies:
'@nuxt/kit': 3.8.2(rollup@2.79.1)
@@ -4895,7 +4952,7 @@ packages:
'@unocss/reset': 0.53.4
'@unocss/vite': 0.53.4(rollup@2.79.1)(vite@4.5.0)
'@unocss/webpack': 0.53.4(rollup@2.79.1)(webpack@5.89.0)
- unocss: 0.53.4(@unocss/webpack@0.53.4)(postcss@8.4.31)(rollup@2.79.1)(vite@4.5.0)
+ unocss: 0.53.4(@unocss/webpack@0.53.4)(postcss@8.4.32)(rollup@2.79.1)(vite@4.5.0)
transitivePeerDependencies:
- postcss
- rollup
@@ -4904,7 +4961,7 @@ packages:
- webpack
dev: false
- /@unocss/postcss@0.53.4(postcss@8.4.31):
+ /@unocss/postcss@0.53.4(postcss@8.4.32):
resolution: {integrity: sha512-G7ZWqUszJiXrQVOzLBzOFZwGIVGwH695lE75NufQi8tXQF9QphGKT0t7AX1NRxA3IZpZW2Twxa/tZYRh2PJQAg==}
engines: {node: '>=14'}
peerDependencies:
@@ -4915,7 +4972,7 @@ packages:
css-tree: 2.3.1
fast-glob: 3.3.2
magic-string: 0.30.5
- postcss: 8.4.31
+ postcss: 8.4.32
dev: false
/@unocss/preset-attributify@0.53.4:
@@ -5129,29 +5186,6 @@ packages:
dependencies:
tinyspy: 2.2.0
- /@vitest/ui@0.33.0(vitest@1.0.4):
- 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.0
- flatted: 3.2.9
- pathe: 1.1.1
- picocolors: 1.0.0
- sirv: 2.0.3
- vitest: 1.0.4(happy-dom@10.5.2)
- dev: false
-
- /@vitest/utils@0.33.0:
- resolution: {integrity: sha512-pF1w22ic965sv+EN6uoePkAOTkAPWM03Ri/jXNyMIKBb/XHLDPfhLvf/Fa9g0YECevAIz56oVYXhodLvLQ/awA==}
- dependencies:
- diff-sequences: 29.4.3
- loupe: 2.3.6
- pretty-format: 29.5.0
- dev: false
-
/@vitest/utils@1.0.4:
resolution: {integrity: sha512-gsswWDXxtt0QvtK/y/LWukN7sGMYmnCcv1qv05CsY6cU/Y1zpGX1QuvLs+GO1inczpE6Owixeel3ShkjhYtGfA==}
dependencies:
@@ -5838,8 +5872,8 @@ packages:
/@vue/shared@3.3.9:
resolution: {integrity: sha512-ZE0VTIR0LmYgeyhurPTpy4KzKsuDyQbMSdM49eKkMnT5X4VfFBLysMzjIZhLEFQYjjOVVfbvUDHckwjDFiO2eA==}
- /@vue/test-utils@2.4.1(vue@3.3.9):
- resolution: {integrity: sha512-VO8nragneNzUZUah6kOjiFmD/gwRjUauG9DROh6oaOeFwX1cZRUNHhdeogE8635cISigXFTtGLUQWx5KCb0xeg==}
+ /@vue/test-utils@2.4.3(vue@3.3.9):
+ resolution: {integrity: sha512-F4K7mF+ad++VlTrxMJVRnenKSJmO6fkQt2wpRDiKDesQMkfpniGWsqEi/JevxGBo2qEkwwjvTUAoiGJLNx++CA==}
peerDependencies:
'@vue/server-renderer': ^3.0.1
vue: ^3.0.1
@@ -5849,8 +5883,7 @@ packages:
dependencies:
js-beautify: 1.14.9
vue: 3.3.9(typescript@5.1.6)
- vue-component-type-helpers: 1.8.4
- dev: false
+ vue-component-type-helpers: 1.8.25
/@vue/typescript@1.8.8(typescript@5.1.6):
resolution: {integrity: sha512-jUnmMB6egu5wl342eaUH236v8tdcEPXXkPgj+eI/F6JwW/lb+yAU6U07ZbQ3MVabZRlupIlPESB7ajgAGixhow==}
@@ -7075,7 +7108,6 @@ packages:
dependencies:
ini: 1.3.8
proto-list: 1.2.4
- dev: false
/consola@2.15.3:
resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==}
@@ -7434,11 +7466,6 @@ packages:
/devalue@4.3.2:
resolution: {integrity: sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==}
- /diff-sequences@29.4.3:
- resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dev: false
-
/diff-sequences@29.6.3:
resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
@@ -7525,7 +7552,6 @@ packages:
commander: 10.0.1
minimatch: 9.0.1
semver: 7.5.4
- dev: false
/ee-first@1.1.1:
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
@@ -8287,6 +8313,11 @@ packages:
pathe: 1.1.1
ufo: 1.3.2
+ /fake-indexeddb@5.0.1:
+ resolution: {integrity: sha512-vxybH29Owtc6khV/Usy47B1g+eKwyhFiX8nwpCC4td320jvwrKQDH6vNtcJZgUzVxmfsSIlHzLKQzT76JMCO7A==}
+ engines: {node: '>=18'}
+ dev: false
+
/fast-deep-equal@3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
@@ -8314,10 +8345,6 @@ packages:
dependencies:
reusify: 1.0.4
- /fflate@0.8.0:
- resolution: {integrity: sha512-FAdS4qMuFjsJj6XHbBaZeXOgaypXp8iw/Tpyuq/w3XA41jjLHT8NPA+n7czH/DDhdncq0nAyDZmPeWXh2qmdIg==}
- dev: false
-
/file-entry-cache@6.0.1:
resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
engines: {node: ^10.12.0 || >=12.0.0}
@@ -9504,7 +9531,6 @@ packages:
editorconfig: 1.0.4
glob: 8.1.0
nopt: 6.0.0
- dev: false
/js-cookie@3.0.5:
resolution: {integrity: sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==}
@@ -10474,7 +10500,6 @@ packages:
engines: {node: '>=16 || 14 >=14.17'}
dependencies:
brace-expansion: 2.0.1
- dev: false
/minimatch@9.0.3:
resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==}
@@ -11006,36 +11031,6 @@ packages:
dev: false
patched: true
- /nuxt-vitest@0.11.0(@vitejs/plugin-vue-jsx@3.1.0)(@vitejs/plugin-vue@4.5.0)(happy-dom@10.5.2)(rollup@2.79.1)(vite@4.5.0)(vitest@1.0.4)(vue-router@4.2.5)(vue@3.3.9):
- resolution: {integrity: sha512-3gXY/c6bfIQnrwUp1tVLdc5jNEk9m2czmebCSWn9fmMz7wVO3BX1k1qJaWvwU0Q4q7WEzHNn6toUXwI8BuhV1Q==}
- 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@2.79.1)
- '@vitejs/plugin-vue': 4.5.0(vite@4.5.0)(vue@3.3.9)
- '@vitejs/plugin-vue-jsx': 3.1.0(vite@4.5.0)(vue@3.3.9)
- '@vitest/ui': 0.33.0(vitest@1.0.4)
- defu: 6.1.3
- get-port-please: 3.1.1
- perfect-debounce: 1.0.0
- std-env: 3.5.0
- vite: 4.5.0
- vitest: 1.0.4(happy-dom@10.5.2)
- vitest-environment-nuxt: 0.11.0(happy-dom@10.5.2)(rollup@2.79.1)(vitest@1.0.4)(vue-router@4.2.5)(vue@3.3.9)
- transitivePeerDependencies:
- - '@testing-library/vue'
- - '@vue/server-renderer'
- - happy-dom
- - jsdom
- - rollup
- - supports-color
- - vue
- - vue-router
- dev: false
-
/nuxt@3.8.2(eslint@8.49.0)(idb-keyval@6.2.1)(rollup@2.79.1)(typescript@5.1.6)(vite@4.5.0)(vue-tsc@1.8.8):
resolution: {integrity: sha512-HUAyifmqTs2zcQBGvcby3KNs2pBAk+l7ZbLjD1oCNqQQ+wBuZ1qgLC4Ebu++y4g3o3Y8WAWSvpafbKRLQZziPw==}
engines: {node: ^14.18.0 || >=16.10.0}
@@ -11615,7 +11610,7 @@ packages:
hasBin: true
dev: true
- /pinceau@0.18.9(postcss@8.4.31):
+ /pinceau@0.18.9(postcss@8.4.32):
resolution: {integrity: sha512-GJ+l8a5Y+7PP/diwuajJhd2QONTIFkk2YXjrVTh7QKC3sMQEphpLH6ZJfXSeeSonQ0/BnhrrMi9a5e14mmqXug==}
dependencies:
'@unocss/reset': 0.50.8
@@ -11630,9 +11625,9 @@ packages:
ohash: 1.1.3
paneer: 0.1.0
pathe: 1.1.1
- postcss-custom-properties: 13.1.4(postcss@8.4.31)
- postcss-dark-theme-class: 0.7.3(postcss@8.4.31)
- postcss-nested: 6.0.1(postcss@8.4.31)
+ postcss-custom-properties: 13.1.4(postcss@8.4.32)
+ postcss-dark-theme-class: 0.7.3(postcss@8.4.32)
+ postcss-nested: 6.0.1(postcss@8.4.32)
recast: 0.22.0
scule: 1.1.0
style-dictionary-esm: 1.3.7
@@ -11715,7 +11710,7 @@ packages:
postcss: 8.4.31
postcss-value-parser: 4.2.0
- /postcss-custom-properties@13.1.4(postcss@8.4.31):
+ /postcss-custom-properties@13.1.4(postcss@8.4.32):
resolution: {integrity: sha512-iSAdaZrM3KMec8cOSzeTUNXPYDlhqsMJHpt62yrjwG6nAnMtRHPk5JdMzGosBJtqEahDolvD5LNbcq+EZ78o5g==}
engines: {node: ^14 || ^16 || >=18}
peerDependencies:
@@ -11724,17 +11719,17 @@ packages:
'@csstools/cascade-layer-name-parser': 1.0.3(@csstools/css-parser-algorithms@2.3.0)(@csstools/css-tokenizer@2.1.1)
'@csstools/css-parser-algorithms': 2.3.0(@csstools/css-tokenizer@2.1.1)
'@csstools/css-tokenizer': 2.1.1
- postcss: 8.4.31
+ postcss: 8.4.32
postcss-value-parser: 4.2.0
dev: true
- /postcss-dark-theme-class@0.7.3(postcss@8.4.31):
+ /postcss-dark-theme-class@0.7.3(postcss@8.4.32):
resolution: {integrity: sha512-M9vtfh8ORzQsVdT9BWb+xpEDAzC7nHBn7wVc988/JkEVLPupKcUnV0jw7RZ8sSj0ovpqN1POf6PLdt19JCHfhQ==}
engines: {node: '>=12.0'}
peerDependencies:
postcss: ^8.2.14
dependencies:
- postcss: 8.4.31
+ postcss: 8.4.32
dev: true
/postcss-discard-comments@6.0.0(postcss@8.4.31):
@@ -11831,13 +11826,13 @@ packages:
postcss: 8.4.31
postcss-selector-parser: 6.0.13
- /postcss-nested@6.0.1(postcss@8.4.31):
+ /postcss-nested@6.0.1(postcss@8.4.32):
resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
engines: {node: '>=12.0'}
peerDependencies:
postcss: ^8.2.14
dependencies:
- postcss: 8.4.31
+ postcss: 8.4.32
postcss-selector-parser: 6.0.13
/postcss-normalize-charset@6.0.0(postcss@8.4.31):
@@ -12033,15 +12028,6 @@ packages:
resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==}
engines: {node: ^14.13.1 || >=16.0.0}
- /pretty-format@29.5.0:
- resolution: {integrity: sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/schemas': 29.4.3
- ansi-styles: 5.2.0
- react-is: 18.2.0
- dev: false
-
/pretty-format@29.7.0:
resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
@@ -12231,7 +12217,6 @@ packages:
/proto-list@1.2.4:
resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==}
- dev: false
/protocols@2.0.1:
resolution: {integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==}
@@ -13188,6 +13173,10 @@ packages:
/std-env@3.5.0:
resolution: {integrity: sha512-JGUEaALvL0Mf6JCfYnJOTcobY+Nc7sG/TemDRBqCA0wEr4DER7zDchaaixTlmOxAjG1uRJmX82EQcxwTQTkqVA==}
+ /std-env@3.6.0:
+ resolution: {integrity: sha512-aFZ19IgVmhdB2uX599ve2kE6BIE3YMnQ6Gp6BURhW/oIzpXGKr878TQfAQZn1+i0Flcc/UKUy1gOlcfaUBCryg==}
+ dev: false
+
/streamx@2.15.0:
resolution: {integrity: sha512-HcxY6ncGjjklGs1xsP1aR71INYcsXFJet5CU1CHqihQ2J5nOsbd4OjgjHO42w/4QNv9gZb3BueV+Vxok5pLEXg==}
dependencies:
@@ -14023,7 +14012,7 @@ packages:
'@unlazy/core': 0.9.3
dev: true
- /unocss@0.53.4(@unocss/webpack@0.53.4)(postcss@8.4.31)(rollup@2.79.1)(vite@4.5.0):
+ /unocss@0.53.4(@unocss/webpack@0.53.4)(postcss@8.4.32)(rollup@2.79.1)(vite@4.5.0):
resolution: {integrity: sha512-UUEi+oh1rngHHP0DVESRS+ScoKMRF8q6GIQrElHb67gqG7GDEGpy3oocIA/6+1t71I4FFvnnxLMGIo9qAD0TEw==}
engines: {node: '>=14'}
peerDependencies:
@@ -14036,7 +14025,7 @@ packages:
'@unocss/cli': 0.53.4(rollup@2.79.1)
'@unocss/core': 0.53.4
'@unocss/extractor-arbitrary-variants': 0.53.4
- '@unocss/postcss': 0.53.4(postcss@8.4.31)
+ '@unocss/postcss': 0.53.4(postcss@8.4.32)
'@unocss/preset-attributify': 0.53.4
'@unocss/preset-icons': 0.53.4
'@unocss/preset-mini': 0.53.4
@@ -14624,42 +14613,25 @@ packages:
optionalDependencies:
fsevents: 2.3.3
- /vitest-environment-nuxt@0.11.0(happy-dom@10.5.2)(rollup@2.79.1)(vitest@1.0.4)(vue-router@4.2.5)(vue@3.3.9):
- resolution: {integrity: sha512-+ZvmtdijCgL+18fDV9NeHB17KGpzqAokHc2iXzaRa7cb7eXO1HwaHJFGIavHG3ybr5gJf8MBArraSdVPAjYJlw==}
- peerDependencies:
- '@testing-library/vue': 7.0.0
- 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.2.45
- 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@10.5.2)(rollup@2.79.1)(vite@4.5.0)(vitest@1.0.4)(vue-router@4.2.5)(vue@3.3.9):
+ resolution: {integrity: sha512-0/gfNcZNNqFRjocmGZN/R4PlZ0p4MlmmsTkplKf9FwgBadGxN4eYtxOqk1ubhz+qf8ZvPRER3toydmOASovMcg==}
dependencies:
- '@nuxt/kit': 3.8.2(rollup@2.79.1)
- '@vue/test-utils': 2.4.1(vue@3.3.9)
- defu: 6.1.3
- estree-walker: 3.0.3
- h3: 1.9.0
- happy-dom: 10.5.2
- local-pkg: 0.4.3
- magic-string: 0.30.5
- ofetch: 1.3.3
- radix3: 1.1.0
- ufo: 1.3.2
- unenv: 1.8.0
- vitest: 1.0.4(happy-dom@10.5.2)
- vue: 3.3.9(typescript@5.1.6)
- vue-router: 4.2.5(vue@3.3.9)
+ '@nuxt/test-utils': 3.9.0-alpha.1(@vue/test-utils@2.4.3)(h3@1.9.0)(happy-dom@10.5.2)(rollup@2.79.1)(vite@4.5.0)(vitest@1.0.4)(vue-router@4.2.5)(vue@3.3.9)
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: false
/vitest@1.0.4(happy-dom@10.5.2):
@@ -14791,14 +14763,13 @@ packages:
vue-component-type-helpers: 1.8.3
dev: true
+ /vue-component-type-helpers@1.8.25:
+ resolution: {integrity: sha512-NCA6sekiJIMnMs4DdORxATXD+/NRkQpS32UC+I1KQJUasx+Z7MZUb3Y+MsKsFmX+PgyTYSteb73JW77AibaCCw==}
+
/vue-component-type-helpers@1.8.3:
resolution: {integrity: sha512-+/nC0Ra571Jqe7QuZObo1WJbHcdHo8d1rcF8EDSuFAl+dQGlMB6zbM4dsrofJY1wIeky/rGkFE6pCmtHaEf/zw==}
dev: true
- /vue-component-type-helpers@1.8.4:
- resolution: {integrity: sha512-6bnLkn8O0JJyiFSIF0EfCogzeqNXpnjJ0vW/SZzNHfe6sPx30lTtTXlE5TFs2qhJlAtDFybStVNpL73cPe3OMQ==}
- dev: false
-
/vue-demi@0.13.11(vue@3.3.9):
resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==}
engines: {node: '>=12'}
diff --git a/tests/nuxt/__snapshots__/content-rich.test.ts.snap b/tests/nuxt/__snapshots__/content-rich.test.ts.snap
index 83902a2f..3e4e5b2e 100644
--- a/tests/nuxt/__snapshots__/content-rich.test.ts.snap
+++ b/tests/nuxt/__snapshots__/content-rich.test.ts.snap
@@ -1,10 +1,10 @@
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-exports[`content-rich > block with backticks 1`] = `"
[(\`number string) (\`tag string)]
"`;
+exports[`content-rich > block with backticks 1`] = `"
[(\`number string) (\`tag string)] "`;
exports[`content-rich > block with injected html, with a known language 1`] = `
"
-
+
<a href="javascript:alert(1)">click me</a>
@@ -13,7 +13,7 @@ exports[`content-rich > block with injected html, with a known language 1`] = `
exports[`content-rich > block with injected html, with an unknown language 1`] = `
"
-
+
<a href="javascript:alert(1)">click me</a>
@@ -30,7 +30,7 @@ exports[`content-rich > block with injected html, without language 1`] = `
`;
exports[`content-rich > code frame 1`] = `
-"Testing code block
import { useMouse, usePreferredDark } from '@vueuse/core'
+"Testing code block
import { useMouse, usePreferredDark } from '@vueuse/core'
// tracks mouse position
const { x, y } = useMouse()
// is the user prefers dark theme
@@ -39,34 +39,34 @@ const isDark = usePreferredDark() "
exports[`content-rich > code frame 2 1`] = `
"
-
Testing
-
const a = hello
+ const a = hello
"
`;
-exports[`content-rich > code frame empty 1`] = `"
"`;
+exports[`content-rich > code frame empty 1`] = `"
"`;
-exports[`content-rich > code frame no lang 1`] = `"
hello world no lang"`;
+exports[`content-rich > code frame no lang 1`] = `"
hello world no lang"`;
exports[`content-rich > custom emoji 1`] = `
"Daniel Roe
-
+ "
+ media="(prefers-reduced-motion: reduce)" />
"
`;
@@ -75,11 +75,11 @@ exports[`content-rich > empty 1`] = `""`;
exports[`content-rich > group mention > html 1`] = `
"
-
@@ -106,7 +106,7 @@ exports[`content-rich > handles formatting from servers 1`] = `
exports[`content-rich > handles html within code blocks 1`] = `
"
HTML block code:
-
+
<span class="icon--noto icon--noto--1st-place-medal"></span>
<span class="icon--noto icon--noto--2nd-place-medal-medal"></span>
@@ -128,26 +128,26 @@ exports[`content-rich > link + mention 1`] = `
"
Happy
weβre now using
-
(migrated from chai+mocha)
https:// github.com/ayoayco/astro-react ive-library/pull/203 https:// github.com/ayoayco/astro-react ive-library/pull/203
"
diff --git a/tests/nuxt/__snapshots__/html-parse.test.ts.snap b/tests/nuxt/__snapshots__/html-parse.test.ts.snap
index 953d9971..8f00bdfd 100644
--- a/tests/nuxt/__snapshots__/html-parse.test.ts.snap
+++ b/tests/nuxt/__snapshots__/html-parse.test.ts.snap
@@ -1,7 +1,7 @@
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
exports[`html-parse > code frame > html 1`] = `
-"Testing code block
import { useMouse, usePreferredDark } from '@vueuse/core'
+"Testing code block
import { useMouse, usePreferredDark } from '@vueuse/core'
// tracks mouse position
const { x, y } = useMouse()
// is the user prefers dark theme
@@ -23,17 +23,17 @@ const isDark = usePreferredDark()
exports[`html-parse > code frame 2 > html 1`] = `
"
- @antfu
Testing
-
const a = hello
+ const a = hello
"
`;
@@ -48,15 +48,15 @@ const a = hello
exports[`html-parse > custom emoji > html 1`] = `
"Daniel Roe
-
+ "
+ media="(prefers-reduced-motion: reduce)" />
"
`;
@@ -65,23 +65,23 @@ exports[`html-parse > custom emoji > text 1`] = `"Daniel Roe :nuxt:"`;
exports[`html-parse > emojis > html 1`] = `
"
"
`;
@@ -99,7 +99,7 @@ exports[`html-parse > html entities > html 1`] = `
exports[`html-parse > html entities > text 1`] = `"Hello ."`;
-exports[`html-parse > inline markdown > html 1`] = `"text code
bold italic del
code block
"`;
+exports[`html-parse > inline markdown > html 1`] = `"text code
bold italic del
code block
"`;
exports[`html-parse > inline markdown > text 1`] = `
"text \`code\` **bold** *italic* ~~del~~
@@ -114,28 +114,28 @@ exports[`html-parse > link + mention > html 1`] = `
"
Happy
weβre now using
- @vitest
(migrated from chai+mocha)
https:// github.com/ayoayco/astro-react ive-library/pull/203 https:// github.com/ayoayco/astro-react ive-library/pull/203
"
diff --git a/tests/nuxt/content-rich.test.ts b/tests/nuxt/content-rich.test.ts
index fc1d2afd..5ffef951 100644
--- a/tests/nuxt/content-rich.test.ts
+++ b/tests/nuxt/content-rich.test.ts
@@ -2,7 +2,7 @@ import { describe, expect, it, vi } from 'vitest'
import { renderToString } from 'vue/server-renderer'
import { format } from 'prettier'
import type { mastodon } from 'masto'
-import { mockComponent } from 'nuxt-vitest/utils'
+import { mockComponent } from '@nuxt/test-utils/runtime'
import { contentToVNode } from '~/composables/content-render'
import type { ContentParseOptions } from '~/composables/content-parse'
@@ -91,47 +91,47 @@ describe('content-rich', () => {
})
expect(formatted).toMatchInlineSnapshot(`
"
-
-
content
-
-
-
-
content
@@ -158,11 +158,11 @@ describe('content-rich', () => {
})
expect(formatted).toMatchInlineSnapshot(`
"
-
content
@@ -179,25 +179,25 @@ describe('content-rich', () => {
expect(formatted).toMatchInlineSnapshot(`
"
-
- content
diff --git a/vitest.config.mjs b/vitest.config.ts
similarity index 58%
rename from vitest.config.mjs
rename to vitest.config.ts
index 78f4876c..a8c8cffa 100644
--- a/vitest.config.mjs
+++ b/vitest.config.ts
@@ -1,4 +1,4 @@
-import { defineVitestConfig } from 'nuxt-vitest'
+import { defineVitestConfig } from '@nuxt/test-utils/config'
export default defineVitestConfig({
define: {