From 3ecf07ed7e7722cea0a918bc740e02f9ccd7c61f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 Oct 2025 07:19:19 +0000 Subject: [PATCH 1/2] chore(deps): bump marked from 12.0.2 to 16.3.0 Bumps [marked](https://github.com/markedjs/marked) from 12.0.2 to 16.3.0. - [Release notes](https://github.com/markedjs/marked/releases) - [Changelog](https://github.com/markedjs/marked/blob/master/.releaserc.json) - [Commits](https://github.com/markedjs/marked/compare/v12.0.2...v16.3.0) --- updated-dependencies: - dependency-name: marked dependency-version: 16.3.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- package.json | 2 +- pnpm-lock.yaml | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 6c9627e52c..685e1d4928 100644 --- a/package.json +++ b/package.json @@ -88,7 +88,7 @@ "dependencies": { "colors": "1.4.0", "finalhandler": "^2.1.0", - "marked": "^12.0.2", + "marked": "^16.4.0", "puppeteer": "^24.24.0", "sade": "^1.8.1", "serve-static": "^2.2.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5800f7f531..69b3713afc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,8 +15,8 @@ importers: specifier: ^2.1.0 version: 2.1.0 marked: - specifier: ^12.0.2 - version: 12.0.2 + specifier: ^16.4.0 + version: 16.4.0 puppeteer: specifier: ^24.24.0 version: 24.24.0(typescript@5.9.3) @@ -1736,9 +1736,9 @@ packages: resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} engines: {node: '>=12'} - marked@12.0.2: - resolution: {integrity: sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==} - engines: {node: '>= 18'} + marked@16.4.0: + resolution: {integrity: sha512-CTPAcRBq57cn3R8n3hwc2REddc28hjR7RzDXQ+lXLmMJYqn20BaI2cGw6QjgZGIgVfp2Wdfw4aMzgNteQ6qJgQ==} + engines: {node: '>= 20'} hasBin: true math-intrinsics@1.1.0: @@ -4352,7 +4352,7 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 - marked@12.0.2: {} + marked@16.4.0: {} math-intrinsics@1.1.0: {} From c069eef4460b258f1c36f517339732a5b12771c1 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 2 Mar 2026 05:03:21 +0000 Subject: [PATCH 2/2] Fix marked v16 Renderer API: update code/image/heading methods to token-object API Co-authored-by: marcoscaceres <870154+marcoscaceres@users.noreply.github.com> --- src/core/markdown.js | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/core/markdown.js b/src/core/markdown.js index 89d750dbcf..69a2dc44bc 100644 --- a/src/core/markdown.js +++ b/src/core/markdown.js @@ -20,16 +20,16 @@ const gtEntity = />/gm; const ampEntity = /&/gm; class Renderer extends marked.Renderer { - code(code, infoString, isEscaped) { - const { language, ...metaData } = Renderer.parseInfoString(infoString); + code({ text, lang, escaped }) { + const { language, ...metaData } = Renderer.parseInfoString(lang || ""); // regex to check whether the language is webidl if (/(^webidl$)/i.test(language)) { - return `
${code}
`; + return `
${text}
`; } const html = super - .code(code, language, isEscaped) + .code({ text, lang: language, escaped }) .replace(`class="language-`, `class="`); const { example, illegalExample } = metaData; @@ -40,9 +40,9 @@ class Renderer extends marked.Renderer { return html.replace("
", `
`);
   }
 
-  image(href, title, text) {
+  image({ href, title, text, tokens }) {
     if (!title) {
-      return super.image(href, title, text);
+      return super.image({ href, title, text, tokens });
     }
     const html = String.raw;
     return html`
@@ -76,20 +76,20 @@ class Renderer extends marked.Renderer {
     return { language, ...metaData };
   }
 
-  heading(text, level, raw) {
+  heading({ tokens, depth, text }) {
     const headingWithIdRegex = /(.+)\s+{#([\w-]+)}$/;
     if (headingWithIdRegex.test(text)) {
       const [, textContent, id] = text.match(headingWithIdRegex);
-      return `${textContent}`;
+      return `${textContent}`;
     }
-    return super.heading(text, level, raw);
+    return super.heading({ tokens, depth });
   }
 }
 
 /** @type {import('marked').MarkedOptions} */
 const config = {
   gfm: true,
-  renderer: new Renderer(),
+  renderer: /** @type {any} */ (new Renderer()),
 };
 
 /**