format: apply repo prettier (3.8.1) to the folded skills tree

963 markdown files reformatted with the repository's pinned prettier so
pnpm format:check covers the folded tree like every other repo file.

The formatter's embedded-language pass also normalized code fences
(TS semicolons, closed HTML tags in examples, lowercased CSS hex colors,
one renumbered list that skipped an index). Alphanumeric token deltas vs
the fold commit were audited file-by-file; all are formatter-equivalent
markup normalizations plus the four sanitized skills.
This commit is contained in:
fargo
2026-08-19 14:37:17 -05:00
parent d2eeb64433
commit 1a822493ba
962 changed files with 29594 additions and 27188 deletions
@@ -14,8 +14,8 @@ Create files in `server/api/` directory:
```ts
// server/api/hello.ts
export default defineEventHandler((event) => {
return { message: 'Hello World' }
})
return { message: 'Hello World' };
});
```
Access at `/api/hello`.
@@ -25,27 +25,27 @@ Access at `/api/hello`.
```ts
// server/api/users.get.ts - GET /api/users
export default defineEventHandler(() => {
return getUsers()
})
return getUsers();
});
// server/api/users.post.ts - POST /api/users
export default defineEventHandler(async (event) => {
const body = await readBody(event)
return createUser(body)
})
const body = await readBody(event);
return createUser(body);
});
// server/api/users/[id].put.ts - PUT /api/users/:id
export default defineEventHandler(async (event) => {
const id = getRouterParam(event, 'id')
const body = await readBody(event)
return updateUser(id, body)
})
const id = getRouterParam(event, 'id');
const body = await readBody(event);
return updateUser(id, body);
});
// server/api/users/[id].delete.ts - DELETE /api/users/:id
export default defineEventHandler((event) => {
const id = getRouterParam(event, 'id')
return deleteUser(id)
})
const id = getRouterParam(event, 'id');
return deleteUser(id);
});
```
### Route Parameters
@@ -53,15 +53,15 @@ export default defineEventHandler((event) => {
```ts
// server/api/posts/[id].ts
export default defineEventHandler((event) => {
const id = getRouterParam(event, 'id')
return getPost(id)
})
const id = getRouterParam(event, 'id');
return getPost(id);
});
// Catch-all: server/api/[...path].ts
export default defineEventHandler((event) => {
const path = getRouterParam(event, 'path')
return { path }
})
const path = getRouterParam(event, 'path');
return { path };
});
```
### Query Parameters
@@ -70,10 +70,10 @@ export default defineEventHandler((event) => {
// server/api/search.ts
// GET /api/search?q=nuxt&page=1
export default defineEventHandler((event) => {
const query = getQuery(event)
const query = getQuery(event);
// { q: 'nuxt', page: '1' }
return search(query.q, Number(query.page))
})
return search(query.q, Number(query.page));
});
```
### Request Body
@@ -81,10 +81,10 @@ export default defineEventHandler((event) => {
```ts
// server/api/submit.post.ts
export default defineEventHandler(async (event) => {
const body = await readBody(event)
const body = await readBody(event);
// Validate and process body
return { success: true, data: body }
})
return { success: true, data: body };
});
```
### Headers and Cookies
@@ -93,24 +93,24 @@ export default defineEventHandler(async (event) => {
// server/api/auth.ts
export default defineEventHandler((event) => {
// Read headers
const auth = getHeader(event, 'authorization')
const auth = getHeader(event, 'authorization');
// Read cookies
const cookies = parseCookies(event)
const token = getCookie(event, 'token')
const cookies = parseCookies(event);
const token = getCookie(event, 'token');
// Set headers
setHeader(event, 'X-Custom-Header', 'value')
setHeader(event, 'X-Custom-Header', 'value');
// Set cookies
setCookie(event, 'token', 'new-token', {
httpOnly: true,
secure: true,
maxAge: 60 * 60 * 24, // 1 day
})
});
return { authenticated: !!token }
})
return { authenticated: !!token };
});
```
## Server Middleware
@@ -120,16 +120,16 @@ Runs on every request before routes:
```ts
// server/middleware/auth.ts
export default defineEventHandler((event) => {
const token = getCookie(event, 'token')
const token = getCookie(event, 'token');
// Attach data to event context
event.context.user = token ? verifyToken(token) : null
})
event.context.user = token ? verifyToken(token) : null;
});
// server/middleware/log.ts
export default defineEventHandler((event) => {
console.log(`${event.method} ${event.path}`)
})
console.log(`${event.method} ${event.path}`);
});
```
Access context in routes:
@@ -137,12 +137,12 @@ Access context in routes:
```ts
// server/api/profile.ts
export default defineEventHandler((event) => {
const user = event.context.user
const user = event.context.user;
if (!user) {
throw createError({ statusCode: 401, message: 'Unauthorized' })
throw createError({ statusCode: 401, message: 'Unauthorized' });
}
return user
})
return user;
});
```
## Error Handling
@@ -150,18 +150,18 @@ export default defineEventHandler((event) => {
```ts
// server/api/users/[id].ts
export default defineEventHandler((event) => {
const id = getRouterParam(event, 'id')
const user = findUser(id)
const id = getRouterParam(event, 'id');
const user = findUser(id);
if (!user) {
throw createError({
statusCode: 404,
statusMessage: 'User not found',
})
});
}
return user
})
return user;
});
```
## Server Utils
@@ -171,16 +171,16 @@ Auto-imported in `server/utils/`:
```ts
// server/utils/db.ts
export function useDb() {
return createDbConnection()
return createDbConnection();
}
```
```ts
// server/api/users.ts
export default defineEventHandler(() => {
const db = useDb() // Auto-imported
return db.query('SELECT * FROM users')
})
const db = useDb(); // Auto-imported
return db.query('SELECT * FROM users');
});
```
## Server Plugins
@@ -191,13 +191,13 @@ Run once when server starts:
// server/plugins/db.ts
export default defineNitroPlugin((nitroApp) => {
// Initialize database connection
const db = createDbConnection()
const db = createDbConnection();
// Add to context
nitroApp.hooks.hook('request', (event) => {
event.context.db = db
})
})
event.context.db = db;
});
});
```
## Streaming Responses
@@ -205,22 +205,22 @@ export default defineNitroPlugin((nitroApp) => {
```ts
// server/api/stream.ts
export default defineEventHandler((event) => {
setHeader(event, 'Content-Type', 'text/event-stream')
setHeader(event, 'Cache-Control', 'no-cache')
setHeader(event, 'Connection', 'keep-alive')
setHeader(event, 'Content-Type', 'text/event-stream');
setHeader(event, 'Cache-Control', 'no-cache');
setHeader(event, 'Connection', 'keep-alive');
const stream = new ReadableStream({
async start(controller) {
for (let i = 0; i < 10; i++) {
controller.enqueue(`data: ${JSON.stringify({ count: i })}\n\n`)
await new Promise(r => setTimeout(r, 1000))
controller.enqueue(`data: ${JSON.stringify({ count: i })}\n\n`);
await new Promise((r) => setTimeout(r, 1000));
}
controller.close()
controller.close();
},
})
});
return stream
})
return stream;
});
```
## Server Storage
@@ -230,16 +230,16 @@ Key-value storage with multiple drivers:
```ts
// server/api/cache.ts
export default defineEventHandler(async (event) => {
const storage = useStorage()
const storage = useStorage();
// Set value
await storage.setItem('key', { data: 'value' })
await storage.setItem('key', { data: 'value' });
// Get value
const data = await storage.getItem('key')
const data = await storage.getItem('key');
return data
})
return data;
});
```
Configure storage drivers in `nuxt.config.ts`:
@@ -254,10 +254,10 @@ export default defineNuxtConfig({
},
},
},
})
});
```
<!--
<!--
Source references:
- https://nuxt.com/docs/getting-started/server
- https://nuxt.com/docs/directory-structure/server