Skip to content

Commit e741923

Browse files
authored
v0.8.4: nextjs upgrade, cli updates, jotform triggers, secrets descriptions, helm updates
2 parents 804a452 + 1c69372 commit e741923

364 files changed

Lines changed: 24075 additions & 3952 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.agents/skills/migrate-application-operation/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,7 @@ Run at minimum:
317317
```bash
318318
bunx vitest run <focused test files>
319319
bunx biome check <changed source and test files>
320-
bunx turbo run type-check --filter=sim --filter=@sim/auth
320+
bunx turbo run type-check --filter=@sim/app --filter=@sim/auth
321321
bun run check:api-validation:strict
322322
git diff --check
323323
```

apps/docs/app/[lang]/[[...slug]]/page.tsx

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import type React from 'react'
2+
import { getHighlighter, highlight } from 'fumadocs-core/highlight'
23
import type { Root } from 'fumadocs-core/page-tree'
34
import { findNeighbour } from 'fumadocs-core/page-tree'
45
import type { ApiPageProps } from 'fumadocs-openapi/ui'
@@ -17,6 +18,8 @@ import { Heading } from '@/components/ui/heading'
1718
import { ResponseSection } from '@/components/ui/response-section'
1819
import { i18n } from '@/lib/i18n'
1920
import { getApiSpecContent, getAuthenticatedCodeSamples, openapi } from '@/lib/openapi'
21+
import { curlJsonBodyGrammar } from '@/lib/shiki-curl-json'
22+
import { simShikiOptions } from '@/lib/shiki-theme'
2023
import { type PageData, source } from '@/lib/source'
2124
import { DOCS_BASE_URL } from '@/lib/urls'
2225

@@ -69,9 +72,40 @@ function stripLocalePrefix(url: string, lang: string): string {
6972
return url
7073
}
7174

75+
/**
76+
* Renders the API reference's request and response samples through the docs' own `CodeBlock`
77+
* rather than fumadocs-openapi's built-in one, so those blocks get the emcn copy control
78+
* instead of fumadocs' lucide clipboard. Mirrors the default renderer — same `highlight` call,
79+
* same `Pre` component, same `my-0` — differing only in which shell wraps the result.
80+
*
81+
* One asymmetry: `highlight` resolves fumadocs' shared `defaultShikiFactory`, while the renderer
82+
* this replaces uses whatever `shiki` factory the page was configured with. They are the same
83+
* object because that factory is also the default; passing a custom one would be honored on API
84+
* markdown and ignored here.
85+
*/
86+
async function ApiCodeBlock({ lang, code }: { lang: string; code: string }) {
87+
// Registers the injection on the shared highlighter `highlight` resolves; an injection is a
88+
// property of the highlighter, not a per-call option. Idempotent — already-loaded grammars are
89+
// skipped.
90+
await getHighlighter('js', { langs: [curlJsonBodyGrammar] })
91+
return (
92+
<CodeBlock className='my-0'>
93+
{await highlight(code, { lang, ...simShikiOptions, components: { pre: Pre } })}
94+
</CodeBlock>
95+
)
96+
}
97+
7298
const APIPage = createAPIPage(openapi, {
99+
renderCodeBlock: (props) => <ApiCodeBlock {...props} />,
73100
playground: { enabled: false },
74101
generateCodeSamples: getAuthenticatedCodeSamples,
102+
/**
103+
* fumadocs-openapi highlights its request and response samples through its own Shiki
104+
* instance, not the MDX pipeline, so it does not inherit `source.config.ts`. Left alone,
105+
* every API reference page renders `github-light` / `github-dark` while the rest of the docs
106+
* render the platform palette.
107+
*/
108+
shikiOptions: simShikiOptions,
75109
client: {
76110
operation: { APIExampleSelector },
77111
},

apps/docs/app/[lang]/layout.tsx

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import type { ReactNode } from 'react'
22
import { defineI18nUI } from 'fumadocs-ui/i18n'
33
import { DocsLayout } from 'fumadocs-ui/layouts/docs'
44
import { RootProvider } from 'fumadocs-ui/provider/next'
5-
import { Geist_Mono, Inter } from 'next/font/google'
5+
import { Inter } from 'next/font/google'
66
import { ThemeProvider } from 'next-themes'
77
import {
88
SidebarFolder,
@@ -25,12 +25,6 @@ const inter = Inter({
2525
display: 'swap',
2626
})
2727

28-
const geistMono = Geist_Mono({
29-
subsets: ['latin'],
30-
variable: '--font-geist-mono',
31-
display: 'swap',
32-
})
33-
3428
const { provider } = defineI18nUI(i18n, {
3529
translations: {
3630
en: {
@@ -85,11 +79,7 @@ export default async function Layout({ children, params }: LayoutProps) {
8579
}
8680

8781
return (
88-
<html
89-
lang={lang}
90-
className={`${inter.variable} ${geistMono.variable} ${season.variable}`}
91-
suppressHydrationWarning
92-
>
82+
<html lang={lang} className={`${inter.variable} ${season.variable}`} suppressHydrationWarning>
9383
<head>
9484
<script
9585
id='website-json-ld'

0 commit comments

Comments
 (0)