Loading...
Loading...
Comprehensive MDX content sanitizer that escapes angle brackets, generics, and other JSX-conflicting patterns to prevent build failures
npx skill4agent add erichowens/some_claude_skills mdx-sanitizer<{Promise<T>Array<string>Map<K, V><100ms<=>=--><---><link><tag><>.claude/skills/website/docs/syncSkillDocs.tssyncSkillSubpages.tsdoc-generator.tsvalidate-brackets.jsnpm run validate:allprebuildcd website
npm run sanitize:mdx
# or with verbose output
npm run sanitize:mdx -- --verbosecd website
npm run sanitize:mdx -- --fix
# or shorthand
npm run fix:mdximport { sanitizeForMdx, validateMdxSafety, isMdxSafe } from './lib/mdx-sanitizer';
// Sanitize content
const result = sanitizeForMdx(content, { useHtmlEntities: true });
if (result.modified) {
console.log(`Fixed ${result.issues.length} issues`);
fs.writeFileSync(path, result.content);
}
// Validate without modifying
const issues = validateMdxSafety(content, 'path/to/file.md');
// Quick check
if (!isMdxSafe(content)) {
// Handle issues
}| Pattern | Original | Escaped |
|---|---|---|
| Less-than | | |
| Greater-than | | |
| Generics | | |
| Comparison | | |
````website/scripts/lib/mdx-sanitizer.tswebsite/scripts/sanitize-mdx.tswebsite/scripts/syncSkillDocs.tswebsite/scripts/syncSkillSubpages.tswebsite/scripts/lib/doc-generator.tswebsite/package.json<100<0.5ms<=>=<><---->Promise<T>Array<string>< value<link><tag>npm run clearnpm run sanitize:mdx -- --fixnpm run build<MyComponent>`<T>`<>