jamdesk 1.1.129 → 1.1.131
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/__tests__/unit/deps-sync.test.js +6 -1
- package/dist/__tests__/unit/deps-sync.test.js.map +1 -1
- package/dist/__tests__/unit/migrate-mdx.test.js +54 -0
- package/dist/__tests__/unit/migrate-mdx.test.js.map +1 -1
- package/dist/__tests__/unit/migrate-noindex-warning.test.d.ts +2 -0
- package/dist/__tests__/unit/migrate-noindex-warning.test.d.ts.map +1 -0
- package/dist/__tests__/unit/migrate-noindex-warning.test.js +115 -0
- package/dist/__tests__/unit/migrate-noindex-warning.test.js.map +1 -0
- package/dist/__tests__/unit/risky-expression-scanner-sync.test.d.ts +2 -0
- package/dist/__tests__/unit/risky-expression-scanner-sync.test.d.ts.map +1 -0
- package/dist/__tests__/unit/risky-expression-scanner-sync.test.js +43 -0
- package/dist/__tests__/unit/risky-expression-scanner-sync.test.js.map +1 -0
- package/dist/__tests__/unit/snippet-component-convert.test.d.ts +2 -0
- package/dist/__tests__/unit/snippet-component-convert.test.d.ts.map +1 -0
- package/dist/__tests__/unit/snippet-component-convert.test.js +105 -0
- package/dist/__tests__/unit/snippet-component-convert.test.js.map +1 -0
- package/dist/__tests__/unit/snippet-scanner-sync.test.d.ts +2 -0
- package/dist/__tests__/unit/snippet-scanner-sync.test.d.ts.map +1 -0
- package/dist/__tests__/unit/snippet-scanner-sync.test.js +43 -0
- package/dist/__tests__/unit/snippet-scanner-sync.test.js.map +1 -0
- package/dist/__tests__/unit/validate-risky-expressions.test.d.ts +17 -0
- package/dist/__tests__/unit/validate-risky-expressions.test.d.ts.map +1 -0
- package/dist/__tests__/unit/validate-risky-expressions.test.js +111 -0
- package/dist/__tests__/unit/validate-risky-expressions.test.js.map +1 -0
- package/dist/__tests__/unit/validate-snippets.test.d.ts +19 -0
- package/dist/__tests__/unit/validate-snippets.test.d.ts.map +1 -0
- package/dist/__tests__/unit/validate-snippets.test.js +190 -0
- package/dist/__tests__/unit/validate-snippets.test.js.map +1 -0
- package/dist/commands/migrate/convert-mdx.d.ts +12 -0
- package/dist/commands/migrate/convert-mdx.d.ts.map +1 -1
- package/dist/commands/migrate/convert-mdx.js +72 -2
- package/dist/commands/migrate/convert-mdx.js.map +1 -1
- package/dist/commands/migrate/convert.d.ts +11 -0
- package/dist/commands/migrate/convert.d.ts.map +1 -1
- package/dist/commands/migrate/convert.js +22 -0
- package/dist/commands/migrate/convert.js.map +1 -1
- package/dist/commands/migrate/index.d.ts.map +1 -1
- package/dist/commands/migrate/index.js +12 -8
- package/dist/commands/migrate/index.js.map +1 -1
- package/dist/commands/migrate/snippet-component-convert.d.ts +45 -0
- package/dist/commands/migrate/snippet-component-convert.d.ts.map +1 -0
- package/dist/commands/migrate/snippet-component-convert.js +222 -0
- package/dist/commands/migrate/snippet-component-convert.js.map +1 -0
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +39 -0
- package/dist/commands/validate.js.map +1 -1
- package/dist/lib/deps.d.ts.map +1 -1
- package/dist/lib/deps.js +4 -1
- package/dist/lib/deps.js.map +1 -1
- package/dist/lib/risky-expression-scanner.d.ts +32 -0
- package/dist/lib/risky-expression-scanner.d.ts.map +1 -0
- package/dist/lib/risky-expression-scanner.js +195 -0
- package/dist/lib/risky-expression-scanner.js.map +1 -0
- package/dist/lib/snippet-scanner.d.ts +78 -0
- package/dist/lib/snippet-scanner.d.ts.map +1 -0
- package/dist/lib/snippet-scanner.js +198 -0
- package/dist/lib/snippet-scanner.js.map +1 -0
- package/dist/lib/validate-risky-expressions.d.ts +34 -0
- package/dist/lib/validate-risky-expressions.d.ts.map +1 -0
- package/dist/lib/validate-risky-expressions.js +54 -0
- package/dist/lib/validate-risky-expressions.js.map +1 -0
- package/dist/lib/validate-snippets.d.ts +37 -0
- package/dist/lib/validate-snippets.d.ts.map +1 -0
- package/dist/lib/validate-snippets.js +71 -0
- package/dist/lib/validate-snippets.js.map +1 -0
- package/package.json +7 -2
- package/vendored/components/errors/MdxRenderBoundary.tsx +52 -0
- package/vendored/components/mdx/MDXComponents.tsx +3 -0
- package/vendored/components/mdx/MdxErrorBlock.tsx +42 -0
- package/vendored/lib/isr-build-executor.ts +13 -0
- package/vendored/lib/recma-collect-missing-refs.ts +51 -0
- package/vendored/lib/recma-guard-expressions.ts +230 -0
- package/vendored/lib/render-doc-page.tsx +121 -30
- package/vendored/lib/risky-expression-scanner.ts +225 -0
- package/vendored/lib/snippet-scanner.ts +237 -0
- package/vendored/lib/static-artifacts.ts +22 -10
- package/vendored/lib/static-file-route.ts +19 -8
- package/vendored/shared/status-reporter.ts +1 -1
- package/vendored/workspace-package-lock.json +11 -10
- package/dist/__tests__/unit/dev-workspace-symlinks.test.d.ts +0 -2
- package/dist/__tests__/unit/dev-workspace-symlinks.test.d.ts.map +0 -1
- package/dist/__tests__/unit/dev-workspace-symlinks.test.js +0 -112
- package/dist/__tests__/unit/dev-workspace-symlinks.test.js.map +0 -1
- package/dist/__tests__/unit/language-filter.test.d.ts +0 -2
- package/dist/__tests__/unit/language-filter.test.d.ts.map +0 -1
- package/dist/__tests__/unit/language-filter.test.js +0 -166
- package/dist/__tests__/unit/language-filter.test.js.map +0 -1
- package/dist/lib/language-filter.d.ts +0 -31
- package/dist/lib/language-filter.d.ts.map +0 -1
- package/dist/lib/language-filter.js +0 -14
- package/dist/lib/language-filter.js.map +0 -1
package/dist/lib/deps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deps.js","sourceRoot":"","sources":["../../src/lib/deps.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deps.js","sourceRoot":"","sources":["../../src/lib/deps.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Risky-expression Scanner
|
|
3
|
+
*
|
|
4
|
+
* Best-effort detector for MDX `{x, y}`-style expressions that reference an
|
|
5
|
+
* undefined identifier (they'd throw at render — now silently dropped by the
|
|
6
|
+
* recma guard). Surfaced to authors as the `risky_expression` warning.
|
|
7
|
+
*
|
|
8
|
+
* AUTO-SYNCED: This file is automatically copied from build-service by vendor.js.
|
|
9
|
+
* DO NOT EDIT directly - edit builder/build-service/lib/risky-expression-scanner.ts instead.
|
|
10
|
+
*/
|
|
11
|
+
/** A single risky MDX expression found on a page. */
|
|
12
|
+
export interface RiskyExpressionIssue {
|
|
13
|
+
/** The expression source between the braces, e.g. `"x, y"`. */
|
|
14
|
+
expression: string;
|
|
15
|
+
/** The undefined identifier names that make it throw, e.g. `["x", "y"]`. */
|
|
16
|
+
undefinedRefs: string[];
|
|
17
|
+
/** Author-facing guidance — identical between build and CLI. */
|
|
18
|
+
message: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Scan a page's MDX `content` for expressions that reference undefined
|
|
22
|
+
* identifiers and would throw at render. The recma guard catches the throw and,
|
|
23
|
+
* in a text position, renders the literal `{…}` source instead of a value (see
|
|
24
|
+
* recma-guard-expressions.ts) — so these warnings tell the author their
|
|
25
|
+
* expression won't evaluate, not that the page broke. Returns one issue per
|
|
26
|
+
* risky expression.
|
|
27
|
+
*
|
|
28
|
+
* @param content Raw MDX source of the page.
|
|
29
|
+
* @param pagePath Page path relative to the docs root (used in messages).
|
|
30
|
+
*/
|
|
31
|
+
export declare function findRiskyExpressions(content: string, pagePath: string): RiskyExpressionIssue[];
|
|
32
|
+
//# sourceMappingURL=risky-expression-scanner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"risky-expression-scanner.d.ts","sourceRoot":"","sources":["../../src/lib/risky-expression-scanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AASH,qDAAqD;AACrD,MAAM,WAAW,oBAAoB;IACnC,+DAA+D;IAC/D,UAAU,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAC;CACjB;AA2HD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,oBAAoB,EAAE,CAmD9F"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Risky-expression Scanner
|
|
3
|
+
*
|
|
4
|
+
* Best-effort detector for MDX `{x, y}`-style expressions that reference an
|
|
5
|
+
* undefined identifier (they'd throw at render — now silently dropped by the
|
|
6
|
+
* recma guard). Surfaced to authors as the `risky_expression` warning.
|
|
7
|
+
*
|
|
8
|
+
* AUTO-SYNCED: This file is automatically copied from build-service by vendor.js.
|
|
9
|
+
* DO NOT EDIT directly - edit builder/build-service/lib/risky-expression-scanner.ts instead.
|
|
10
|
+
*/
|
|
11
|
+
import { unified } from 'unified';
|
|
12
|
+
import remarkParse from 'remark-parse';
|
|
13
|
+
import remarkMdx from 'remark-mdx';
|
|
14
|
+
import { visit as visitMdast } from 'unist-util-visit';
|
|
15
|
+
import { visit as visitEstree } from 'estree-util-visit';
|
|
16
|
+
/**
|
|
17
|
+
* Identifiers always available to an MDX expression at render that are NOT
|
|
18
|
+
* file-level bindings: JS globals plus the MDX-provided scope. Whitelisted so a
|
|
19
|
+
* valid `{Math.max(…)}` / `{props.x}` / `{frontmatter.title}` never false-warns.
|
|
20
|
+
*/
|
|
21
|
+
const ALWAYS_IN_SCOPE = new Set([
|
|
22
|
+
// MDX render scope
|
|
23
|
+
'props', 'frontmatter', 'arguments', 'undefined', 'null', 'this',
|
|
24
|
+
// value globals
|
|
25
|
+
'NaN', 'Infinity', 'globalThis', 'console',
|
|
26
|
+
'Math', 'JSON', 'Date', 'Object', 'Array', 'String', 'Number', 'Boolean',
|
|
27
|
+
'RegExp', 'Map', 'Set', 'WeakMap', 'WeakSet', 'Symbol', 'Promise', 'Proxy',
|
|
28
|
+
'Reflect', 'BigInt', 'Error', 'Intl', 'URL', 'URLSearchParams',
|
|
29
|
+
// function globals
|
|
30
|
+
'parseInt', 'parseFloat', 'isNaN', 'isFinite', 'String', 'Number',
|
|
31
|
+
'encodeURIComponent', 'decodeURIComponent', 'encodeURI', 'decodeURI',
|
|
32
|
+
'structuredClone', 'fetch', 'atob', 'btoa',
|
|
33
|
+
]);
|
|
34
|
+
/** Recursively collect bound names from a destructuring/identifier pattern. */
|
|
35
|
+
function collectPatternNames(pattern, out) {
|
|
36
|
+
if (!pattern || typeof pattern.type !== 'string')
|
|
37
|
+
return;
|
|
38
|
+
const node = pattern;
|
|
39
|
+
switch (node.type) {
|
|
40
|
+
case 'Identifier':
|
|
41
|
+
out.add(node.name);
|
|
42
|
+
break;
|
|
43
|
+
case 'ObjectPattern':
|
|
44
|
+
for (const prop of node.properties || []) {
|
|
45
|
+
const p = prop;
|
|
46
|
+
if (p.type === 'RestElement')
|
|
47
|
+
collectPatternNames(p.argument, out);
|
|
48
|
+
else
|
|
49
|
+
collectPatternNames(p.value, out);
|
|
50
|
+
}
|
|
51
|
+
break;
|
|
52
|
+
case 'ArrayPattern':
|
|
53
|
+
for (const el of node.elements || [])
|
|
54
|
+
collectPatternNames(el, out);
|
|
55
|
+
break;
|
|
56
|
+
case 'RestElement':
|
|
57
|
+
collectPatternNames(node.argument, out);
|
|
58
|
+
break;
|
|
59
|
+
case 'AssignmentPattern':
|
|
60
|
+
collectPatternNames(node.left, out);
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/** Names that `import …`/`export …` introduce into expression scope. */
|
|
65
|
+
function collectBindingsFromEsm(estree, out) {
|
|
66
|
+
visitEstree(estree, (node) => {
|
|
67
|
+
const n = node;
|
|
68
|
+
if (n.type === 'ImportDeclaration') {
|
|
69
|
+
for (const spec of n.specifiers || []) {
|
|
70
|
+
const s = spec;
|
|
71
|
+
if (s.local?.name)
|
|
72
|
+
out.add(s.local.name);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
else if (n.type === 'ExportNamedDeclaration' || n.type === 'ExportDefaultDeclaration') {
|
|
76
|
+
const decl = n.declaration;
|
|
77
|
+
if (!decl)
|
|
78
|
+
return;
|
|
79
|
+
if (decl.type === 'VariableDeclaration') {
|
|
80
|
+
for (const d of decl.declarations || []) {
|
|
81
|
+
collectPatternNames(d.id, out);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
else if ((decl.type === 'FunctionDeclaration' || decl.type === 'ClassDeclaration') &&
|
|
85
|
+
decl.id?.name) {
|
|
86
|
+
out.add(decl.id.name);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
/** True when the estree contains any function/arrow (→ skip: local scopes). */
|
|
92
|
+
function containsFunction(estree) {
|
|
93
|
+
let found = false;
|
|
94
|
+
visitEstree(estree, (node) => {
|
|
95
|
+
const t = node.type;
|
|
96
|
+
if (t === 'FunctionDeclaration' ||
|
|
97
|
+
t === 'FunctionExpression' ||
|
|
98
|
+
t === 'ArrowFunctionExpression') {
|
|
99
|
+
found = true;
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
return found;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Collect the free identifier names *referenced* by a function-free expression.
|
|
106
|
+
* Excludes non-reference positions: non-computed member `.property`, non-shorthand
|
|
107
|
+
* object keys, and labels.
|
|
108
|
+
*/
|
|
109
|
+
function collectReferencedNames(estree) {
|
|
110
|
+
const names = new Set();
|
|
111
|
+
visitEstree(estree, (node, _key, _index, ancestors) => {
|
|
112
|
+
if (node.type !== 'Identifier')
|
|
113
|
+
return;
|
|
114
|
+
const name = node.name;
|
|
115
|
+
const parent = ancestors[ancestors.length - 1];
|
|
116
|
+
if (parent) {
|
|
117
|
+
// `a.b` — `b` is a property name, not a reference (unless computed `a[b]`).
|
|
118
|
+
if (parent.type === 'MemberExpression' && parent.computed === false && parent.property === node) {
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
// `{ a: x }` — `a` is a key, not a reference (shorthand `{a}` IS a ref).
|
|
122
|
+
if (parent.type === 'Property' &&
|
|
123
|
+
parent.computed === false &&
|
|
124
|
+
parent.key === node &&
|
|
125
|
+
parent.shorthand === false) {
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
names.add(name);
|
|
130
|
+
});
|
|
131
|
+
return Array.from(names);
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Scan a page's MDX `content` for expressions that reference undefined
|
|
135
|
+
* identifiers and would throw at render. The recma guard catches the throw and,
|
|
136
|
+
* in a text position, renders the literal `{…}` source instead of a value (see
|
|
137
|
+
* recma-guard-expressions.ts) — so these warnings tell the author their
|
|
138
|
+
* expression won't evaluate, not that the page broke. Returns one issue per
|
|
139
|
+
* risky expression.
|
|
140
|
+
*
|
|
141
|
+
* @param content Raw MDX source of the page.
|
|
142
|
+
* @param pagePath Page path relative to the docs root (used in messages).
|
|
143
|
+
*/
|
|
144
|
+
export function findRiskyExpressions(content, pagePath) {
|
|
145
|
+
let tree;
|
|
146
|
+
try {
|
|
147
|
+
tree = unified().use(remarkParse).use(remarkMdx).parse(content);
|
|
148
|
+
}
|
|
149
|
+
catch {
|
|
150
|
+
// Malformed MDX (a true syntax error) is handled by the separate
|
|
151
|
+
// pre-compile guard; the scanner must never crash a build over a parse.
|
|
152
|
+
return [];
|
|
153
|
+
}
|
|
154
|
+
// Pass 1: file-level bindings from every import/export block.
|
|
155
|
+
const bindings = new Set();
|
|
156
|
+
visitMdast(tree, 'mdxjsEsm', (node) => {
|
|
157
|
+
if (node.data?.estree)
|
|
158
|
+
collectBindingsFromEsm(node.data.estree, bindings);
|
|
159
|
+
});
|
|
160
|
+
// Pass 2: each text/flow expression — flag provably-unbound references.
|
|
161
|
+
const issues = [];
|
|
162
|
+
const expressionTypes = new Set(['mdxTextExpression', 'mdxFlowExpression']);
|
|
163
|
+
visitMdast(tree, (node) => {
|
|
164
|
+
if (!expressionTypes.has(node.type))
|
|
165
|
+
return;
|
|
166
|
+
const estree = node.data?.estree;
|
|
167
|
+
if (!estree)
|
|
168
|
+
return;
|
|
169
|
+
// Empty `{}` or comment-only `{/* … */}` expressions have no statement.
|
|
170
|
+
const body = estree.body;
|
|
171
|
+
if (!body || body.length === 0)
|
|
172
|
+
return;
|
|
173
|
+
if (containsFunction(estree))
|
|
174
|
+
return; // precision: don't model local scopes
|
|
175
|
+
const referenced = collectReferencedNames(estree);
|
|
176
|
+
const undefinedRefs = referenced.filter((name) => !bindings.has(name) && !ALWAYS_IN_SCOPE.has(name));
|
|
177
|
+
if (undefinedRefs.length === 0)
|
|
178
|
+
return;
|
|
179
|
+
const expr = (node.value ?? '').trim();
|
|
180
|
+
const refList = undefinedRefs.map((r) => `\`${r}\``).join(', ');
|
|
181
|
+
// Backtick-wrap so the message renders cleanly as Markdown in the dashboard
|
|
182
|
+
// + build-warnings email (a bare `{x}` would be dropped as unknown HTML).
|
|
183
|
+
issues.push({
|
|
184
|
+
expression: expr,
|
|
185
|
+
undefinedRefs,
|
|
186
|
+
message: `\`{${expr}}\` in \`${pagePath}\` references undefined ${refList}. ` +
|
|
187
|
+
`MDX evaluates \`{…}\` as JavaScript, so it renders as the literal text ` +
|
|
188
|
+
`\`{${expr}}\` instead of a value. If you meant literal braces, escape them ` +
|
|
189
|
+
`as \`\\{${expr}\\}\` or write \`{'{${expr}}'}\`; if you meant a value, ` +
|
|
190
|
+
`define ${refList}.`,
|
|
191
|
+
});
|
|
192
|
+
});
|
|
193
|
+
return issues;
|
|
194
|
+
}
|
|
195
|
+
//# sourceMappingURL=risky-expression-scanner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"risky-expression-scanner.js","sourceRoot":"","sources":["../../src/lib/risky-expression-scanner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Snippet Scanner
|
|
3
|
+
*
|
|
4
|
+
* Pure scanner for author snippet-usage issues in MDX pages.
|
|
5
|
+
* Returns neutral SnippetIssue objects (no build-service-specific types)
|
|
6
|
+
* so the CLI can import this without pulling in heavy build-service deps.
|
|
7
|
+
*
|
|
8
|
+
* AUTO-SYNCED: This file is automatically copied from build-service by vendor.js.
|
|
9
|
+
* DO NOT EDIT directly - edit builder/build-service/lib/snippet-scanner.ts instead.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Normalize a `/snippets/…` import path or a snippet filename (from
|
|
13
|
+
* `collectSnippetFiles`) to a consistent, extensionless key used for
|
|
14
|
+
* membership lookups.
|
|
15
|
+
*
|
|
16
|
+
* Strips, in order:
|
|
17
|
+
* 1. A leading `/snippets/` segment (import paths from author MDX).
|
|
18
|
+
* 2. Any remaining leading `/` (defensive — collectSnippetFiles returns
|
|
19
|
+
* relative paths without a leading slash, but import paths vary).
|
|
20
|
+
* 3. The file extension (`.mdx`, `.tsx`, `.jsx`), so a file on disk at
|
|
21
|
+
* `snippets/shared/card.tsx` (key `"shared/card"`) matches an import
|
|
22
|
+
* written as `/snippets/shared/card.mdx` (also normalizes to
|
|
23
|
+
* `"shared/card"`).
|
|
24
|
+
*
|
|
25
|
+
* SINGLE SOURCE OF TRUTH for import-path → key derivation — mirrors the role
|
|
26
|
+
* of `normalizeOpenApiRefKey` for OpenAPI refs. The build and CLI (Task 3.4)
|
|
27
|
+
* both call this so the matching logic can never drift.
|
|
28
|
+
*/
|
|
29
|
+
export declare function normalizeSnippetRef(ref: string): string;
|
|
30
|
+
/**
|
|
31
|
+
* A single author-facing issue found on a docs page relating to snippets.
|
|
32
|
+
* Intentionally NOT a `BuildWarning` — keeping the scanner pure (string in,
|
|
33
|
+
* issues out) lets the CLI (Task 3.4) map issues to its own output format
|
|
34
|
+
* without importing build-service-specific types.
|
|
35
|
+
*/
|
|
36
|
+
export interface SnippetIssue {
|
|
37
|
+
/** Discriminates the two warning variants. */
|
|
38
|
+
variant: 'unsupported_tag' | 'missing_import';
|
|
39
|
+
/**
|
|
40
|
+
* The file reference extracted from the tag's `file=` attr or the import
|
|
41
|
+
* path. `null` when a bare `<Snippet/>` with no `file=` attribute is used.
|
|
42
|
+
*/
|
|
43
|
+
ref: string | null;
|
|
44
|
+
/**
|
|
45
|
+
* Author-facing guidance message — identical between build and CLI so both
|
|
46
|
+
* surfaces give consistent advice.
|
|
47
|
+
*/
|
|
48
|
+
message: string;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Scan a single page's MDX `content` and return every snippet-related author
|
|
52
|
+
* mistake as a `SnippetIssue`.
|
|
53
|
+
*
|
|
54
|
+
* Fenced code blocks (``` ``` ``` and `~~~`) and inline code spans are stripped
|
|
55
|
+
* from `content` before scanning, so examples in documentation that demonstrate
|
|
56
|
+
* `<Snippet>` syntax do not produce false-positive warnings.
|
|
57
|
+
*
|
|
58
|
+
* Two distinct variants are detected:
|
|
59
|
+
*
|
|
60
|
+
* 1. **`unsupported_tag`** — `<Snippet …/>` JSX tag usage. Mintlify supports
|
|
61
|
+
* this mechanism; Jamdesk does not. Our renderer replaces every `<Snippet>`
|
|
62
|
+
* with an inline error placeholder REGARDLESS of whether the referenced file
|
|
63
|
+
* exists — so the tag is always broken for the reader and always warnable.
|
|
64
|
+
* (An existence check here would wrongly suppress the common case where the
|
|
65
|
+
* author copied a Mintlify doc and the snippet file happens to exist.)
|
|
66
|
+
*
|
|
67
|
+
* 2. **`missing_import`** — `import X from '/snippets/…'` where the normalized
|
|
68
|
+
* target is NOT found among the project's snippet files. The supported
|
|
69
|
+
* pattern for importing snippets; only warn when the file is absent.
|
|
70
|
+
*
|
|
71
|
+
* @param content - Raw MDX source of the page being scanned.
|
|
72
|
+
* @param pagePath - Page path relative to the docs root (used in messages).
|
|
73
|
+
* @param snippetKeys - Extensionless snippet keys already reduced via
|
|
74
|
+
* `normalizeSnippetRef`; built ONCE by the caller from
|
|
75
|
+
* `collectSnippetFiles(…).map(normalizeSnippetRef)`.
|
|
76
|
+
*/
|
|
77
|
+
export declare function findSnippetIssues(content: string, pagePath: string, snippetKeys: Set<string>): SnippetIssue[];
|
|
78
|
+
//# sourceMappingURL=snippet-scanner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snippet-scanner.d.ts","sourceRoot":"","sources":["../../src/lib/snippet-scanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAmGH;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKvD;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,8CAA8C;IAC9C,OAAO,EAAE,iBAAiB,GAAG,gBAAgB,CAAC;IAC9C;;;OAGG;IACH,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,GACvB,YAAY,EAAE,CA8ChB"}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Snippet Scanner
|
|
3
|
+
*
|
|
4
|
+
* Pure scanner for author snippet-usage issues in MDX pages.
|
|
5
|
+
* Returns neutral SnippetIssue objects (no build-service-specific types)
|
|
6
|
+
* so the CLI can import this without pulling in heavy build-service deps.
|
|
7
|
+
*
|
|
8
|
+
* AUTO-SYNCED: This file is automatically copied from build-service by vendor.js.
|
|
9
|
+
* DO NOT EDIT directly - edit builder/build-service/lib/snippet-scanner.ts instead.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Strip fenced code blocks, inline code spans, YAML frontmatter, and HTML
|
|
13
|
+
* comments from MDX content so that examples demonstrating `<Snippet>` syntax
|
|
14
|
+
* do not trigger false-positive warnings.
|
|
15
|
+
*
|
|
16
|
+
* Four passes, applied in order:
|
|
17
|
+
*
|
|
18
|
+
* 0a. **YAML frontmatter** — ONLY when `content` begins at the very start of
|
|
19
|
+
* the string with a `---` fence line. Strips from that opening `---`
|
|
20
|
+
* through the matching closing `---` line. The regex is anchored to the
|
|
21
|
+
* string start so a `---` thematic-break (horizontal rule) in the middle
|
|
22
|
+
* of the body is NOT mistaken for frontmatter — body content after a
|
|
23
|
+
* mid-document `---` remains scannable.
|
|
24
|
+
*
|
|
25
|
+
* 0b. **HTML comments** — strips `<!--…-->` (non-greedy, multi-line) globally.
|
|
26
|
+
* An unterminated `<!--` with no closing `-->` does NOT match (conservative
|
|
27
|
+
* — leaves following content scannable).
|
|
28
|
+
*
|
|
29
|
+
* 1. **Fenced code blocks** — line-based state machine. A line whose
|
|
30
|
+
* trimmed-left text starts with three or more backticks (``` ` ```) or
|
|
31
|
+
* three or more tildes (`~~~`), with an optional language/info string after
|
|
32
|
+
* the opening fence, toggles fence state. Lines inside a fence are
|
|
33
|
+
* replaced with empty lines (newline structure is preserved so nothing on
|
|
34
|
+
* adjacent lines accidentally concatenates across a stripped region).
|
|
35
|
+
*
|
|
36
|
+
* 2. **Inline code spans** — a simple global replace of `` `…` `` (single-
|
|
37
|
+
* backtick spans, not crossing line boundaries) with a single space.
|
|
38
|
+
* Applied after fence removal so fence bodies are already gone.
|
|
39
|
+
*
|
|
40
|
+
* Pure function — zero imports, no side effects.
|
|
41
|
+
*/
|
|
42
|
+
function stripCodeRegions(content) {
|
|
43
|
+
// Pass 0a: strip YAML frontmatter — ONLY when anchored at string start.
|
|
44
|
+
// The regex anchors at ^ (start of string, not start of line) so a `---`
|
|
45
|
+
// horizontal-rule in the middle of the body is never treated as frontmatter.
|
|
46
|
+
// Replacement is a single newline so that line offsets for subsequent passes
|
|
47
|
+
// are not dramatically shifted (body content stays intact).
|
|
48
|
+
let stripped = content.replace(/^---\r?\n[\s\S]*?\r?\n---[ \t]*\r?\n?/, '\n');
|
|
49
|
+
// Pass 0b: strip HTML comments (non-greedy, multi-line).
|
|
50
|
+
// `[\s\S]*?` matches across newlines; non-greedy ensures each `-->` closes
|
|
51
|
+
// its nearest preceding `<!--`. An unterminated `<!--` with no `-->` leaves
|
|
52
|
+
// the rest of the content scannable (no match → no removal).
|
|
53
|
+
stripped = stripped.replace(/<!--[\s\S]*?-->/g, ' ');
|
|
54
|
+
// Pass 1: strip fenced code blocks via a line-based state machine.
|
|
55
|
+
const lines = stripped.split('\n');
|
|
56
|
+
let inFence = false;
|
|
57
|
+
let fenceChar = ''; // '`' or '~'
|
|
58
|
+
let fenceLen = 0; // length of opening fence run (≥3)
|
|
59
|
+
for (let i = 0; i < lines.length; i++) {
|
|
60
|
+
const trimmed = lines[i].trimStart();
|
|
61
|
+
// Detect a fence marker: 3+ identical backticks or tildes at line start.
|
|
62
|
+
const fenceMatch = /^(`{3,}|~{3,})/.exec(trimmed);
|
|
63
|
+
if (fenceMatch) {
|
|
64
|
+
const ch = fenceMatch[1][0];
|
|
65
|
+
const len = fenceMatch[1].length;
|
|
66
|
+
if (!inFence) {
|
|
67
|
+
// Opening fence — enter fenced state; blank this line.
|
|
68
|
+
inFence = true;
|
|
69
|
+
fenceChar = ch;
|
|
70
|
+
fenceLen = len;
|
|
71
|
+
lines[i] = '';
|
|
72
|
+
}
|
|
73
|
+
else if (ch === fenceChar && len >= fenceLen) {
|
|
74
|
+
// Closing fence — exit fenced state; blank this line.
|
|
75
|
+
inFence = false;
|
|
76
|
+
fenceChar = '';
|
|
77
|
+
fenceLen = 0;
|
|
78
|
+
lines[i] = '';
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
// A fence-like line INSIDE a fence (e.g. nested backticks in a tilde
|
|
82
|
+
// fence) — treat as content and blank it.
|
|
83
|
+
lines[i] = '';
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
else if (inFence) {
|
|
87
|
+
// Inside a fence — blank the content line.
|
|
88
|
+
lines[i] = '';
|
|
89
|
+
}
|
|
90
|
+
// Outside a fence: leave the line unchanged.
|
|
91
|
+
}
|
|
92
|
+
// An unterminated fence intentionally strips to EOF: if the loop ends with
|
|
93
|
+
// `inFence` still true, the author opened a fence and never closed it. Per
|
|
94
|
+
// CommonMark §4.5 (which micromark/MDX implement) an unterminated fence
|
|
95
|
+
// extends to the end of the document, so the renderer treats ALL post-fence
|
|
96
|
+
// content — including any <Snippet> — as literal code text. It never renders
|
|
97
|
+
// as a live component and cannot throw, so it genuinely is not live and must
|
|
98
|
+
// not warn. Restoring those post-fence lines would diverge from the renderer
|
|
99
|
+
// and reintroduce exactly the false-positive class this stripper fixes.
|
|
100
|
+
const withoutFences = lines.join('\n');
|
|
101
|
+
// Pass 2: strip inline code spans (single-backtick, no newlines).
|
|
102
|
+
return withoutFences.replace(/`[^`\n]+`/g, ' ');
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Normalize a `/snippets/…` import path or a snippet filename (from
|
|
106
|
+
* `collectSnippetFiles`) to a consistent, extensionless key used for
|
|
107
|
+
* membership lookups.
|
|
108
|
+
*
|
|
109
|
+
* Strips, in order:
|
|
110
|
+
* 1. A leading `/snippets/` segment (import paths from author MDX).
|
|
111
|
+
* 2. Any remaining leading `/` (defensive — collectSnippetFiles returns
|
|
112
|
+
* relative paths without a leading slash, but import paths vary).
|
|
113
|
+
* 3. The file extension (`.mdx`, `.tsx`, `.jsx`), so a file on disk at
|
|
114
|
+
* `snippets/shared/card.tsx` (key `"shared/card"`) matches an import
|
|
115
|
+
* written as `/snippets/shared/card.mdx` (also normalizes to
|
|
116
|
+
* `"shared/card"`).
|
|
117
|
+
*
|
|
118
|
+
* SINGLE SOURCE OF TRUTH for import-path → key derivation — mirrors the role
|
|
119
|
+
* of `normalizeOpenApiRefKey` for OpenAPI refs. The build and CLI (Task 3.4)
|
|
120
|
+
* both call this so the matching logic can never drift.
|
|
121
|
+
*/
|
|
122
|
+
export function normalizeSnippetRef(ref) {
|
|
123
|
+
return ref
|
|
124
|
+
.replace(/^\/snippets\//, '') // strip /snippets/ prefix (import paths)
|
|
125
|
+
.replace(/^\//, '') // strip any remaining leading /
|
|
126
|
+
.replace(/\.(mdx|tsx|jsx)$/, ''); // strip recognized extensions
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Scan a single page's MDX `content` and return every snippet-related author
|
|
130
|
+
* mistake as a `SnippetIssue`.
|
|
131
|
+
*
|
|
132
|
+
* Fenced code blocks (``` ``` ``` and `~~~`) and inline code spans are stripped
|
|
133
|
+
* from `content` before scanning, so examples in documentation that demonstrate
|
|
134
|
+
* `<Snippet>` syntax do not produce false-positive warnings.
|
|
135
|
+
*
|
|
136
|
+
* Two distinct variants are detected:
|
|
137
|
+
*
|
|
138
|
+
* 1. **`unsupported_tag`** — `<Snippet …/>` JSX tag usage. Mintlify supports
|
|
139
|
+
* this mechanism; Jamdesk does not. Our renderer replaces every `<Snippet>`
|
|
140
|
+
* with an inline error placeholder REGARDLESS of whether the referenced file
|
|
141
|
+
* exists — so the tag is always broken for the reader and always warnable.
|
|
142
|
+
* (An existence check here would wrongly suppress the common case where the
|
|
143
|
+
* author copied a Mintlify doc and the snippet file happens to exist.)
|
|
144
|
+
*
|
|
145
|
+
* 2. **`missing_import`** — `import X from '/snippets/…'` where the normalized
|
|
146
|
+
* target is NOT found among the project's snippet files. The supported
|
|
147
|
+
* pattern for importing snippets; only warn when the file is absent.
|
|
148
|
+
*
|
|
149
|
+
* @param content - Raw MDX source of the page being scanned.
|
|
150
|
+
* @param pagePath - Page path relative to the docs root (used in messages).
|
|
151
|
+
* @param snippetKeys - Extensionless snippet keys already reduced via
|
|
152
|
+
* `normalizeSnippetRef`; built ONCE by the caller from
|
|
153
|
+
* `collectSnippetFiles(…).map(normalizeSnippetRef)`.
|
|
154
|
+
*/
|
|
155
|
+
export function findSnippetIssues(content, pagePath, snippetKeys) {
|
|
156
|
+
const issues = [];
|
|
157
|
+
// Strip fenced code blocks and inline code spans so that documentation
|
|
158
|
+
// examples demonstrating <Snippet> syntax do not trigger false positives.
|
|
159
|
+
const scannableContent = stripCodeRegions(content);
|
|
160
|
+
// — Variant 1: <Snippet …> tag (unsupported, always warn) ——————————————
|
|
161
|
+
const tagRe = /<Snippet\b[^>]*>/g;
|
|
162
|
+
let tagMatch;
|
|
163
|
+
while ((tagMatch = tagRe.exec(scannableContent)) !== null) {
|
|
164
|
+
const tagSrc = tagMatch[0];
|
|
165
|
+
// Try to extract the file= attribute value (single or double quotes).
|
|
166
|
+
const fileAttrMatch = /file=["']([^"']+)["']/.exec(tagSrc);
|
|
167
|
+
const ref = fileAttrMatch ? fileAttrMatch[1] : null;
|
|
168
|
+
// Backtick-wrap the leading `<Snippet>` token: these messages render as
|
|
169
|
+
// Markdown/HTML in the dashboard + build-warnings email, where a bare
|
|
170
|
+
// <Snippet> would be parsed as an unknown HTML tag and silently dropped.
|
|
171
|
+
const message = ref
|
|
172
|
+
? `\`<Snippet>\` is not supported — convert to an import: \`import X from '/snippets/${ref}'\` then \`<X/>\`.`
|
|
173
|
+
: `\`<Snippet>\` is not supported — convert to an import: \`import X from '/snippets/<file>'\` then \`<X/>\`.`;
|
|
174
|
+
issues.push({ variant: 'unsupported_tag', ref, message });
|
|
175
|
+
}
|
|
176
|
+
// — Variant 2: import … from '/snippets/…' with a missing target ————————
|
|
177
|
+
// Absolute /snippets/ only: Jamdesk imports are root-relative
|
|
178
|
+
// (next-mdx-remote only resolves `/snippets/<name>`). Anchoring the capture
|
|
179
|
+
// at `/snippets/` rejects `./snippets/foo` / `../snippets/foo` — those would
|
|
180
|
+
// survive normalizeSnippetRef's strip and produce a spurious missing_import.
|
|
181
|
+
const importRe = /import\s+[^'"]*from\s+['"](\/snippets\/[^'"]+)['"]/g;
|
|
182
|
+
let importMatch;
|
|
183
|
+
while ((importMatch = importRe.exec(scannableContent)) !== null) {
|
|
184
|
+
const importPath = importMatch[1];
|
|
185
|
+
const key = normalizeSnippetRef(importPath);
|
|
186
|
+
if (!snippetKeys.has(key)) {
|
|
187
|
+
// Extract just the filename for the "checked" hint in the message.
|
|
188
|
+
const fileName = importPath.replace(/^.*\/snippets\//, '');
|
|
189
|
+
issues.push({
|
|
190
|
+
variant: 'missing_import',
|
|
191
|
+
ref: importPath,
|
|
192
|
+
message: `Snippet \`${fileName}\` imported in \`${pagePath}\` was not found; checked \`snippets/${fileName}\`.`,
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
return issues;
|
|
197
|
+
}
|
|
198
|
+
//# sourceMappingURL=snippet-scanner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snippet-scanner.js","sourceRoot":"","sources":["../../src/lib/snippet-scanner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Risky-expression Validation (CLI)
|
|
3
|
+
*
|
|
4
|
+
* Scans MDX pages for `{x, y}`-style expressions that reference an undefined
|
|
5
|
+
* identifier — the literal-looking-braces bug (MDX evaluates `{…}` as
|
|
6
|
+
* JavaScript). On the cloud these throw at render but are silently dropped by
|
|
7
|
+
* the recma guard (never a 500) and surfaced as a `risky_expression` build
|
|
8
|
+
* warning. The CLI runs the SAME scanner locally so authors catch the dropped
|
|
9
|
+
* expression before pushing.
|
|
10
|
+
*
|
|
11
|
+
* Reuses the pure scanner from risky-expression-scanner.ts (synced from
|
|
12
|
+
* build-service) so the matching logic is byte-identical to the cloud build —
|
|
13
|
+
* no drift. PRECISION over recall, by design (see the scanner's header).
|
|
14
|
+
*
|
|
15
|
+
* Scans EVERY project MDX file (not just navigation pages), mirroring the
|
|
16
|
+
* cloud build's per-file scan in build.ts.
|
|
17
|
+
*/
|
|
18
|
+
export interface RiskyExpressionWarning {
|
|
19
|
+
/** Page path relative to projectDir (e.g. "guide/intro.mdx") */
|
|
20
|
+
file: string;
|
|
21
|
+
/** Author-facing guidance message (identical to the cloud build warning). */
|
|
22
|
+
message: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Validate risky `{…}` expressions across the project's MDX files.
|
|
26
|
+
*
|
|
27
|
+
* @param projectDir - Absolute path to the docs project root.
|
|
28
|
+
* @param mdxFiles - MDX/MD file paths to scan. Each may be absolute or
|
|
29
|
+
* relative to projectDir. Callers should pass the SAME
|
|
30
|
+
* full project walk used for image-ref/snippet validation.
|
|
31
|
+
* @returns Array of RiskyExpressionWarning (empty when clean). Never throws.
|
|
32
|
+
*/
|
|
33
|
+
export declare function validateRiskyExpressions(projectDir: string, mdxFiles: string[]): Promise<RiskyExpressionWarning[]>;
|
|
34
|
+
//# sourceMappingURL=validate-risky-expressions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-risky-expressions.d.ts","sourceRoot":"","sources":["../../src/lib/validate-risky-expressions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,MAAM,WAAW,sBAAsB;IACrC,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAC;CACjB;AAID;;;;;;;;GAQG;AACH,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAuBnC"}
|