Skip to content

Commit ecf35eb

Browse files
authored
feat: Nuxt Content v3 (#52)
1 parent 96d5441 commit ecf35eb

38 files changed

+4226
-2634
lines changed

Diff for: .gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -51,3 +51,5 @@ coverage
5151
Network Trash Folder
5252
Temporary Items
5353
.apdisk
54+
55+
.data

Diff for: client/nuxt.config.ts

+6-1
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,20 @@ import { resolve } from 'pathe'
22

33
export default defineNuxtConfig({
44
ssr: false,
5+
56
modules: [
67
'@nuxt/devtools-ui-kit',
78
],
9+
810
nitro: {
911
output: {
1012
publicDir: resolve(__dirname, '../dist/client'),
1113
},
1214
},
15+
1316
app: {
1417
baseURL: '/__nuxt-link-checker',
1518
},
16-
})
19+
20+
compatibilityDate: '2025-01-20',
21+
})

Diff for: client/package.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
"name": "nuxt-link-checker-devtools",
33
"private": true,
44
"devDependencies": {
5-
"@iconify-json/carbon": "^1.2.4",
6-
"@nuxt/devtools-kit": "^1.6.4",
5+
"@iconify-json/carbon": "^1.2.5",
6+
"@nuxt/devtools-kit": "^1.7.0",
77
"@nuxt/devtools-ui-kit": "latest",
8-
"@nuxt/kit": "^3.14.1592",
8+
"@nuxt/kit": "^3.15.2",
99
"floating-vue": "5.2.2",
1010
"nuxt": "latest",
11-
"shiki": "^1.24.2",
11+
"shiki": "^1.27.2",
1212
"vue": "3.5.10",
1313
"vue-router": "latest"
1414
}

Diff for: package.json

+22-21
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "nuxt-link-checker",
33
"type": "module",
44
"version": "4.0.4",
5-
"packageManager": "[email protected].0",
5+
"packageManager": "[email protected].4",
66
"description": "Find and magically fix links that may be negatively effecting your Nuxt sites SEO.",
77
"author": {
88
"name": "Harlan Wilton",
@@ -54,37 +54,38 @@
5454
"test:watch": "vitest watch"
5555
},
5656
"dependencies": {
57-
"@nuxt/devtools-kit": "^1.6.4",
58-
"@nuxt/kit": "^3.14.1592",
59-
"@vueuse/core": "^12.0.0",
60-
"chalk": "^5.3.0",
61-
"cheerio": "1.0.0",
57+
"@nuxt/devtools-kit": "2.0.0-beta.3",
58+
"@nuxt/kit": "^3.15.2",
59+
"@vueuse/core": "^12.4.0",
60+
"chalk": "^5.4.1",
61+
"cheerio": "^1.0.0",
6262
"diff": "^7.0.0",
6363
"fuse.js": "^7.0.0",
64-
"magic-string": "^0.30.15",
65-
"nuxt-site-config": "3.0.6",
66-
"pathe": "^1.1.2",
67-
"pkg-types": "^1.2.1",
64+
"magic-string": "^0.30.17",
65+
"nuxt-site-config": "^3.0.6",
66+
"pathe": "^2.0.2",
67+
"pkg-types": "^1.3.1",
6868
"radix3": "^1.1.2",
6969
"sirv": "^3.0.0",
7070
"ufo": "^1.5.4"
7171
},
7272
"devDependencies": {
73-
"@antfu/eslint-config": "^3.12.0",
74-
"@nuxt/content": "^2.13.4",
75-
"@nuxt/devtools": "^1.6.4",
73+
"@antfu/eslint-config": "^3.14.0",
74+
"@nuxt/content": "3.0.0",
75+
"@nuxt/content-v2": "npm:@nuxt/[email protected]",
76+
"@nuxt/devtools": "^2.0.0-beta.3",
7677
"@nuxt/module-builder": "0.8.4",
77-
"@nuxt/test-utils": "^3.15.1",
78-
"@nuxt/ui": "^2.20.0",
78+
"@nuxt/test-utils": "^3.15.4",
79+
"@nuxt/ui": "^2.21.0",
7980
"@nuxtjs/eslint-config-typescript": "^12.1.0",
80-
"@nuxtjs/sitemap": "7.0.0",
81-
"@types/diff": "^6.0.0",
82-
"bumpp": "^9.9.1",
83-
"eslint": "9.17.0",
81+
"@nuxtjs/sitemap": "^7.2.1",
82+
"@types/diff": "^7.0.0",
83+
"bumpp": "^9.10.1",
84+
"eslint": "9.18.0",
8485
"execa": "^9.5.2",
85-
"nuxt": "^3.14.1592",
86+
"nuxt": "^3.15.2",
8687
"typescript": "5.6.3",
87-
"vitest": "^2.1.8"
88+
"vitest": "^3.0.2"
8889
},
8990
"resolutions": {
9091
"nuxt-link-checker": "workspace:*",

Diff for: playground/content.config.ts

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import { defineCollection, defineContentConfig } from '@nuxt/content'
2+
3+
export default defineContentConfig({
4+
collections: {
5+
content: defineCollection({
6+
type: 'page',
7+
source: '**/*.md',
8+
}),
9+
},
10+
})

Diff for: playground/content/content-page.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
This is a link to an about page that does not exist:
2+
3+
- [Misc Warnings](/ABOUT/)
4+
- [Similar](/content-similer)
5+
- [Non existence](/content-non-existence)

Diff for: playground/content/content-similar.md

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
This is a link to an about page that does not exist:
2+
3+
- [Non existence](/content-non-existence)

Diff for: playground/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"generate": "nuxi generate"
99
},
1010
"dependencies": {
11-
"@nuxt/ui": "^2.20.0",
11+
"@nuxt/ui": "^2.21.0",
1212
"nuxt-link-checker": "workspace:*",
1313
"nuxt-link-checker-devtools": "workspace:*"
1414
}

Diff for: playground/pages/[...slug].vue

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<script setup lang="ts">
2+
import { queryCollection, useRoute } from '#imports'
3+
4+
const route = useRoute()
5+
const { data: page } = await useAsyncData(`page-${route.path}`, () => {
6+
return queryCollection('content').path(route.path).first()
7+
})
8+
if (!page.value) {
9+
throw createError({ statusCode: 404, statusMessage: 'Page not found', fatal: true })
10+
}
11+
useSeoMeta(page.value?.seo || {})
12+
</script>
13+
14+
<template>
15+
<div>
16+
<ContentRenderer
17+
v-if="page"
18+
:value="page"
19+
/>
20+
<div v-else>
21+
Page not found
22+
</div>
23+
</div>
24+
</template>

0 commit comments

Comments
 (0)