From 14ffbc0e96b512567a82b3f3eee1f4c6131a23f2 Mon Sep 17 00:00:00 2001 From: Dan Draper Date: Tue, 23 Jun 2026 18:36:19 +1000 Subject: [PATCH] fix: escape uppercase-led placeholders in generated EQL docs The EQL reference is regenerated from the upstream release at build time. eql-3.0.0-alpha.1 introduced literal type placeholders like `eql_v3.*` in tables. escapeMdxSpecials skipped any `<` followed by a letter, so `` was treated as an unclosed JSX tag and broke the MDX/Turbopack build. Restrict the no-escape lookahead to lowercase-led tags, closing tags, and autolinks; uppercase-led tokens are type placeholders and are now escaped. --- scripts/generate-eql-docs.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/scripts/generate-eql-docs.ts b/scripts/generate-eql-docs.ts index add022e..4c85527 100644 --- a/scripts/generate-eql-docs.ts +++ b/scripts/generate-eql-docs.ts @@ -119,9 +119,11 @@ function escapeMdxSpecials(content: string): string { return part .replace(/\{/g, "\\{") .replace(/\}/g, "\\}") - // Escape `<` unless it begins a real JSX tag - // (followed by a letter, `_`, `$`, or `/`). - .replace(/<(?![A-Za-z_$/])/g, "\\<"); + // Escape `<` unless it begins a real JSX/HTML tag, a closing + // tag, or an autolink (followed by a lowercase letter, `_`, `$`, + // or `/`). Uppercase-led tokens like `` are type placeholders + // in the API reference, not JSX, so they must be escaped too. + .replace(/<(?![a-z_$/])/g, "\\<"); }) .join(""); result.push(escaped);