Skip to content

Commit b6dc9dc

Browse files
authored
docs(mcp): add missing queryCollection import (#5124)
1 parent 21fbe63 commit b6dc9dc

11 files changed

+19
-24
lines changed

docs/server/api/mcp/get-component-metadata.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { z } from 'zod'
22
import { camelCase, upperFirst, kebabCase } from 'scule'
33
import { normalizeComponentName } from '~~/server/utils/normalizeComponentName'
4+
import { queryCollection } from '@nuxt/content/server'
45

56
const querySchema = z.object({
67
componentName: z.string()
@@ -16,11 +17,9 @@ export default defineCachedEventHandler(async (event) => {
1617
const kebabName = kebabCase(normalizedName)
1718

1819
// Get basic component info without documentation content
19-
// @ts-expect-error TODO: This will be fixed when the tsconfig is setup correctly
2020
const page = await queryCollection(event, 'docs')
2121
.where('path', 'LIKE', `%/components/${kebabName}`)
2222
.where('extension', '=', 'md')
23-
// @ts-expect-error TODO: This will be fixed when the tsconfig is setup correctly
2423
.select('id', 'title', 'description', 'path', 'category', 'links')
2524
.first()
2625

@@ -41,7 +40,6 @@ export default defineCachedEventHandler(async (event) => {
4140
name: normalizedName,
4241
title: page.title,
4342
description: page.description,
44-
// @ts-expect-error TODO: This will be fixed when the tsconfig is setup correctly
4543
category: page.category,
4644
documentation_url: `https://ui.nuxt.com${page.path}`,
4745
metadata: {

docs/server/api/mcp/get-component.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { z } from 'zod'
22
import { kebabCase } from 'scule'
33
import { normalizeComponentName } from '~~/server/utils/normalizeComponentName'
4+
import { queryCollection } from '@nuxt/content/server'
45

56
const querySchema = z.object({
67
componentName: z.string()
@@ -16,11 +17,9 @@ export default defineCachedEventHandler(async (event) => {
1617
const kebabName = kebabCase(normalizedName)
1718

1819
// Get component documentation using queryCollection like in pages/components.vue
19-
// @ts-expect-error TODO: This will be fixed when the tsconfig is setup correctly
2020
const page = await queryCollection(event, 'docs')
2121
.where('path', 'LIKE', `%/components/${kebabName}`)
2222
.where('extension', '=', 'md')
23-
// @ts-expect-error TODO: This will be fixed when the tsconfig is setup correctly
2423
.select('id', 'title', 'description', 'path', 'category', 'links')
2524
.first()
2625

@@ -37,7 +36,6 @@ export default defineCachedEventHandler(async (event) => {
3736
name: normalizedName,
3837
title: page.title,
3938
description: page.description,
40-
// @ts-expect-error TODO: This will be fixed when the tsconfig is setup correctly
4139
category: page.category,
4240
documentation,
4341
documentation_url: `https://ui.nuxt.com${page.path}`

docs/server/api/mcp/get-migration-guide.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { z } from 'zod'
2+
import { queryCollection } from '@nuxt/content/server'
23

34
const querySchema = z.object({
45
version: z.string().describe('The migration version (e.g., v4, v3)')
@@ -7,7 +8,6 @@ const querySchema = z.object({
78
export default defineCachedEventHandler(async (event) => {
89
const { version } = await getValidatedQuery(event, querySchema.parse)
910

10-
// @ts-expect-error TODO: This will be fixed when the tsconfig is setup correctly
1111
const page = await queryCollection(event, 'docs')
1212
.where('path', 'LIKE', `%/migration/${version}`)
1313
.where('extension', '=', 'md')

docs/server/api/mcp/get-template.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { z } from 'zod'
2+
import { queryCollection } from '@nuxt/content/server'
23

34
const querySchema = z.object({
45
templateName: z.string().min(1, 'Missing templateName')
@@ -7,9 +8,9 @@ const querySchema = z.object({
78
export default defineCachedEventHandler(async (event) => {
89
const { templateName } = await getValidatedQuery(event, querySchema.parse)
910

10-
const { templates } = await $fetch('/api/mcp/list-templates')
11-
// @ts-expect-error TODO: This will be fixed when the tsconfig is setup correctly
12-
const template = templates.find((t: any) => t.title.toLowerCase() === templateName.toLowerCase())
11+
const template = await queryCollection(event, 'templates')
12+
.where('title', '=', templateName)
13+
.first()
1314

1415
if (!template) {
1516
throw createError({

docs/server/api/mcp/list-components.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1+
import { queryCollection } from '@nuxt/content/server'
2+
13
export default defineCachedEventHandler(async (event) => {
24
// Use the same approach as /pages/components.vue
3-
// @ts-expect-error TODO: This will be fixed when the tsconfig is setup correctly
45
return await queryCollection(event, 'docs')
56
.where('path', 'LIKE', '%/components/%')
67
.where('extension', '=', 'md')
7-
// @ts-expect-error TODO: This will be fixed when the tsconfig is setup correctly
88
.select('path', 'title', 'description', 'category')
99
.all()
1010
}, {

docs/server/api/mcp/list-composables.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1+
import { queryCollection } from '@nuxt/content/server'
2+
13
export default defineCachedEventHandler(async (event) => {
24
// Use the same approach as /pages/components.vue
3-
// @ts-expect-error TODO: This will be fixed when the tsconfig is setup correctly
45
return await queryCollection(event, 'docs')
56
.where('path', 'LIKE', '%/composables/%')
67
.where('extension', '=', 'md')

docs/server/api/mcp/list-documentation-pages.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1+
import { queryCollection } from '@nuxt/content/server'
2+
13
export default defineCachedEventHandler(async (event) => {
2-
// @ts-expect-error TODO: This will be fixed when the tsconfig is setup correctly
34
const page = await queryCollection(event, 'docs').all()
45

56
return page.map(doc => ({

docs/server/api/mcp/list-getting-started-guides.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1+
import { queryCollection } from '@nuxt/content/server'
2+
13
export default defineCachedEventHandler(async (event) => {
2-
// @ts-expect-error TODO: This will be fixed when the tsconfig is setup correctly
34
const pages = await queryCollection(event, 'docs')
45
.where('path', 'LIKE', '/docs/getting-started/%')
56
.where('extension', '=', 'md')

docs/server/api/mcp/list-templates.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { z } from 'zod'
2+
import { queryCollection } from '@nuxt/content/server'
23

34
const querySchema = z.object({
45
framework: z.enum(['vue', 'nuxt']).optional()
@@ -7,14 +8,11 @@ const querySchema = z.object({
78
export default defineCachedEventHandler(async (event) => {
89
const { framework } = await getValidatedQuery(event, querySchema.parse)
910

10-
// @ts-expect-error TODO: This will be fixed when the tsconfig is setup correctly
1111
const templatesCollectionItems = await queryCollection(event, 'templates').first()
1212

13-
// @ts-expect-error TODO: This will be fixed when the tsconfig is setup correctly
14-
const templateListing = templatesCollectionItems?.body?.templates || []
13+
const templateListing = templatesCollectionItems?.templates || []
1514

1615
const filteredTemplates = framework
17-
// @ts-expect-error TODO: This will be fixed when the tsconfig is setup correctly
1816
? templateListing.filter(template => template.framework === framework)
1917
: templateListing
2018

docs/server/api/mcp/search-components-by-category.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { z } from 'zod'
2+
import { queryCollection } from '@nuxt/content/server'
23

34
const querySchema = z.object({
45
category: z.string().optional().describe('Filter components by category'),
@@ -8,11 +9,9 @@ const querySchema = z.object({
89
export default defineCachedEventHandler(async (event) => {
910
const { category, search } = await getValidatedQuery(event, querySchema.parse)
1011

11-
// @ts-expect-error TODO: This will be fixed when the tsconfig is setup correctly
1212
let query = queryCollection(event, 'docs')
1313
.where('path', 'LIKE', '/docs/components/%')
1414
.where('extension', '=', 'md')
15-
// @ts-expect-error TODO: This will be fixed when the tsconfig is setup correctly
1615
.select('id', 'title', 'description', 'path', 'category', 'links')
1716

1817
if (category) {
@@ -25,11 +24,9 @@ export default defineCachedEventHandler(async (event) => {
2524
name: component.path.split('/').pop(),
2625
title: component.title,
2726
description: component.description,
28-
// @ts-expect-error TODO: This will be fixed when the tsconfig is setup correctly
2927
category: component.category,
3028
path: component.path,
3129
url: `https://ui.nuxt.com${component.path}`,
32-
// @ts-expect-error TODO: This will be fixed when the tsconfig is setup correctly
3330
links: component.links
3431
}))
3532

0 commit comments

Comments
 (0)