jamdesk 1.1.8 → 1.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/deps.js +1 -1
- package/dist/lib/tech-words.js +5 -5
- package/dist/lib/tech-words.js.map +1 -1
- package/package.json +1 -1
- package/vendored/app/[[...slug]]/page.tsx +5 -3
- package/vendored/components/mdx/OpenApiEndpoint.tsx +1 -1
- package/vendored/lib/middleware-helpers.ts +20 -0
- package/vendored/lib/static-artifacts.ts +0 -1
- package/vendored/next.config.js +1 -0
- package/vendored/schema/docs-schema.json +1 -1
package/dist/lib/deps.js
CHANGED
package/dist/lib/tech-words.js
CHANGED
|
@@ -20,7 +20,7 @@ export const TECH_WORDS = [
|
|
|
20
20
|
'HMAC', 'TLS', 'SSL', 'SSH', 'DNS', 'CDN',
|
|
21
21
|
'iframe', 'iframes',
|
|
22
22
|
// HTML attributes (leak through from multi-line JSX)
|
|
23
|
-
'href', 'src', 'img', 'autoplay',
|
|
23
|
+
'href', 'src', 'img', 'autoplay', 'unmuted',
|
|
24
24
|
// Tools & platforms
|
|
25
25
|
'npm', 'npx', 'pnpm', 'yarn', 'Webpack', 'Vite', 'Turbopack',
|
|
26
26
|
'ESLint', 'Prettier', 'Vitest', 'Jest', 'Mocha',
|
|
@@ -50,7 +50,7 @@ export const TECH_WORDS = [
|
|
|
50
50
|
'frontend', 'backend', 'fullstack', 'dev', 'DevOps', 'CI', 'CD',
|
|
51
51
|
'regex', 'cron', 'config', 'configs', 'env', 'changelog', 'changelogs',
|
|
52
52
|
'metadata', 'serializer', 'deserializer',
|
|
53
|
-
'boolean', 'param', 'params', 'args', 'kwargs',
|
|
53
|
+
'boolean', 'param', 'params', 'args', 'kwargs', 'func', 'fmt', 'req', 'usr',
|
|
54
54
|
'namespace', 'namespaces', 'enum', 'enums',
|
|
55
55
|
'nullable', 'nonnull',
|
|
56
56
|
'README', 'TODO', 'FIXME',
|
|
@@ -58,7 +58,7 @@ export const TECH_WORDS = [
|
|
|
58
58
|
'pre', 'preconfigured', 'prebuilt', 'presigned',
|
|
59
59
|
'uncomment', 'uncommented',
|
|
60
60
|
'whitelist', 'blocklist', 'allowlist', 'denylist',
|
|
61
|
-
'repo', 'repos', 'subpath', 'subgraph', 'subdirectory', 'subdirectories',
|
|
61
|
+
'repo', 'repos', 'subpath', 'subgraph', 'subgraphs', 'subdirectory', 'subdirectories',
|
|
62
62
|
'dropdown', 'navbar', 'sidebar', 'tooltip', 'tooltips', 'favicon', 'favicons',
|
|
63
63
|
'callout', 'callouts', 'walkthrough', 'walkthroughs', 'onboarding',
|
|
64
64
|
'frontmatter', 'schemas', 'proxying', 'proxied', 'debounced', 'debounce',
|
|
@@ -86,7 +86,7 @@ export const TECH_WORDS = [
|
|
|
86
86
|
// Common docs terms
|
|
87
87
|
'Mintlify', 'Docusaurus', 'auth', 'authenticator',
|
|
88
88
|
'validator', 'validators', 'const', 'init', 'parsers',
|
|
89
|
-
'Cmd', 'Ctrl', 'Duotone',
|
|
89
|
+
'Cmd', 'Ctrl', 'Duotone', 'Squoosh', 'TOC', 'whoami',
|
|
90
90
|
'Vimeo', 'Anthropic', 'Shiki', 'Catppuccin',
|
|
91
91
|
'Pandoc', 'Caddy', 'Traefik', 'HAProxy',
|
|
92
92
|
'scannable', 'linter', 'checkmark', 'checkboxes',
|
|
@@ -110,7 +110,7 @@ export const TECH_WORDS = [
|
|
|
110
110
|
'IPv4', 'IPv6', 'TCP', 'UDP',
|
|
111
111
|
'UUID', 'GUID', 'BASE64', 'UTF',
|
|
112
112
|
'LLM', 'LLMs', 'GPT', 'RAG',
|
|
113
|
-
'idempotent', 'idempotency',
|
|
113
|
+
'idempotent', 'idempotency', 'cardinality',
|
|
114
114
|
'CAPTCHA', 'RGBA', 'RGB', 'DOM',
|
|
115
115
|
'USD', 'GBP',
|
|
116
116
|
'LTS', 'OG',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tech-words.js","sourceRoot":"","sources":["../../src/lib/tech-words.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,UAAU,GAAa;IAClC,UAAU;IACV,SAAS;IAET,uBAAuB;IACvB,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM;IAChE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ;IAE/B,YAAY;IACZ,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW;IAChE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IACjD,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAC7C,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;IAC3C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IACzC,QAAQ,EAAE,SAAS;IAEnB,qDAAqD;IACrD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU;
|
|
1
|
+
{"version":3,"file":"tech-words.js","sourceRoot":"","sources":["../../src/lib/tech-words.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jamdesk",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.9",
|
|
4
4
|
"description": "CLI for Jamdesk — build, preview, and deploy documentation sites from MDX. Dev server with hot reload, 50+ components, OpenAPI support, AI search, and Mintlify migration",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jamdesk",
|
|
@@ -647,12 +647,14 @@ export default async function DocPage({ params }: PageProps) {
|
|
|
647
647
|
const hasApiEndpoint = openApiEndpointData || (mdxApiMethod && mdxApiPath);
|
|
648
648
|
const playgroundDisplay = hasApiEndpoint
|
|
649
649
|
? ((data.playground as 'interactive' | 'simple' | 'none' | undefined)
|
|
650
|
-
|| config.api?.playground?.display || '
|
|
650
|
+
|| config.api?.playground?.display || 'interactive') as 'interactive' | 'simple' | 'none'
|
|
651
651
|
: 'none';
|
|
652
652
|
const mdxServerConfig = config.api?.mdx?.server;
|
|
653
653
|
const fallbackServerUrl = Array.isArray(mdxServerConfig) ? mdxServerConfig[0] : mdxServerConfig;
|
|
654
|
-
|
|
655
|
-
|
|
654
|
+
// Force proxy on hostAtDocs sites — direct mode is always cross-origin there
|
|
655
|
+
const proxyEnabled = hostAtDocs
|
|
656
|
+
|| config.api?.playground?.proxy
|
|
657
|
+
|| (config.api?.playground?.proxy == null && playgroundDisplay === 'interactive');
|
|
656
658
|
|
|
657
659
|
// Build endpoint data for api: pages (for playground)
|
|
658
660
|
let mdxEndpointData: OpenApiEndpointData | undefined;
|
|
@@ -291,6 +291,7 @@ export const INTERNAL_API_ROUTES = [
|
|
|
291
291
|
'/api/chat', // Chat endpoint (app/api/chat/[project])
|
|
292
292
|
'/api/mcp', // MCP endpoint (app/api/mcp/[project])
|
|
293
293
|
'/api/og', // OG image generation (app/api/og)
|
|
294
|
+
'/api/playground', // API playground (token, proxy, demo) — must skip hostAtDocs redirect
|
|
294
295
|
'/api/r2', // R2 content serving (app/api/r2/[project]/[...path])
|
|
295
296
|
'/api/revalidate', // Cache revalidation (app/api/revalidate)
|
|
296
297
|
'/api/search-ev', // Search analytics proxy (app/api/search-ev)
|
|
@@ -420,6 +421,25 @@ export function getChatApiPath(projectSlug: string): string {
|
|
|
420
421
|
return `/api/chat/${projectSlug}`;
|
|
421
422
|
}
|
|
422
423
|
|
|
424
|
+
const PLAYGROUND_PREFIX = '/_jd/playground/';
|
|
425
|
+
|
|
426
|
+
/**
|
|
427
|
+
* Check if this is a playground API request routed via /_jd/.
|
|
428
|
+
*
|
|
429
|
+
* Custom domain setups (hostAtDocs) proxy /_jd/* but not /api/*, so the
|
|
430
|
+
* playground client uses /_jd/playground/* to reach token/proxy/demo routes.
|
|
431
|
+
*/
|
|
432
|
+
export function isPlaygroundRequest(pathname: string): boolean {
|
|
433
|
+
return pathname.startsWith(PLAYGROUND_PREFIX);
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
/**
|
|
437
|
+
* Get the /api/playground/* path from a /_jd/playground/* request.
|
|
438
|
+
*/
|
|
439
|
+
export function getPlaygroundApiPath(pathname: string): string {
|
|
440
|
+
return '/api/playground/' + pathname.slice(PLAYGROUND_PREFIX.length);
|
|
441
|
+
}
|
|
442
|
+
|
|
423
443
|
/**
|
|
424
444
|
* Check if path needs trailing slash normalization.
|
|
425
445
|
*
|
|
@@ -622,7 +622,6 @@ export function stripMarkdown(text: string): string {
|
|
|
622
622
|
.replace(/\*\*([^*]+)\*\*/g, '$1') // bold
|
|
623
623
|
.replace(/\*([^*]+)\*/g, '$1') // italic
|
|
624
624
|
.replace(/\[([^\]]+)\]\([^)]+\)/g, '$1') // links
|
|
625
|
-
.replace(/<[A-Z][^>]*(?:\/>|>[\s\S]*?<\/[A-Z][^>]*>)/g, '') // MDX components (e.g. <Callout>, <Steps>)
|
|
626
625
|
.replace(/<[^>]+>/g, '') // HTML tags
|
|
627
626
|
.replace(/!\[([^\]]*)\]\([^)]+\)/g, '') // images
|
|
628
627
|
.replace(/\n+/g, ' ') // newlines
|
package/vendored/next.config.js
CHANGED
|
@@ -19,6 +19,7 @@ const nextConfig = {
|
|
|
19
19
|
return [
|
|
20
20
|
{ source: '/_jd/images/:path*', destination: '/images/:path*' },
|
|
21
21
|
{ source: '/_jd/videos/:path*', destination: '/videos/:path*' },
|
|
22
|
+
{ source: '/_jd/playground/:path*', destination: '/api/playground/:path*' },
|
|
22
23
|
];
|
|
23
24
|
},
|
|
24
25
|
// Allow /_jd/ image paths with ?v= cache-busting query strings in <Image>
|
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
"simple",
|
|
124
124
|
"none"
|
|
125
125
|
],
|
|
126
|
-
"description": "Set the API playground display style. Options: `interactive` (full playground), `simple` (simplified view), or `none` (hidden). Defaults to `
|
|
126
|
+
"description": "Set the API playground display style. Options: `interactive` (full playground), `simple` (simplified view), or `none` (hidden). Defaults to `interactive`"
|
|
127
127
|
},
|
|
128
128
|
"proxy": {
|
|
129
129
|
"type": "boolean",
|