From bc1ca66b66c521e2e64d635ef027deb0e0e49ebb Mon Sep 17 00:00:00 2001 From: "a.e." <49438478+I-Info@users.noreply.github.com> Date: Fri, 11 Apr 2025 13:31:30 +0800 Subject: [PATCH] fix: downgrade md lib (#4508) downgrade mdast-util-gfm-autolink-literal to 2.0.0 to avoid patch missing --- package.json | 3 + ...dast-util-gfm-autolink-literal@2.0.1.patch | 79 ------------------- pnpm-lock.yaml | 14 ++-- pnpm-workspace.yaml | 3 - 4 files changed, 9 insertions(+), 90 deletions(-) delete mode 100644 patches/mdast-util-gfm-autolink-literal@2.0.1.patch diff --git a/package.json b/package.json index 06588a741..45418b41b 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,9 @@ "./**/**/*.{ts,tsx,scss}": "npm run format-code", "./docSite/**/**/*.md": "npm run format-doc" }, + "resolutions": { + "mdast-util-gfm-autolink-literal": "2.0.0" + }, "engines": { "node": ">=18.16.0", "pnpm": ">=9.0.0" diff --git a/patches/mdast-util-gfm-autolink-literal@2.0.1.patch b/patches/mdast-util-gfm-autolink-literal@2.0.1.patch deleted file mode 100644 index 0d0ca993e..000000000 --- a/patches/mdast-util-gfm-autolink-literal@2.0.1.patch +++ /dev/null @@ -1,79 +0,0 @@ -diff --git a/lib/index.js b/lib/index.js -index c5ca771c24dd914e342f791716a822431ee32b3a..457d9f8c4625f7d9c7ea1e9ffc13616db1fc6fef 100644 ---- a/lib/index.js -+++ b/lib/index.js -@@ -126,8 +126,37 @@ function exitLiteralAutolink(token) { - this.exit(token) - } - --/** @type {FromMarkdownTransform} */ -+// Regex support detector, for backward compatibility -+// Ref: https://github.com/syntax-tree/mdast-util-gfm-autolink-literal/pull/14 -+const regexSupport = { -+ lookbehind: (() => { -+ try { -+ // Using regex literal instead of RegExp constructor -+ ;/(?<=x)/.test('x') -+ return true -+ } catch { -+ return false -+ } -+ })() -+} -+ -+/** -+ * Main transform function that uses the appropriate version based on regex support -+ * @type {FromMarkdownTransform} -+ */ - function transformGfmAutolinkLiterals(tree) { -+ if (regexSupport.lookbehind) { -+ modernAutolinkTransform(tree) -+ } else { -+ legacyAutolinkTransform(tree) -+ } -+} -+ -+/** -+ * Modern version of autolink transform using lookbehind -+ * @type {FromMarkdownTransform} -+ */ -+function modernAutolinkTransform(tree) { - findAndReplace( - tree, - [ -@@ -138,6 +167,35 @@ function transformGfmAutolinkLiterals(tree) { - ) - } - -+ -+/** -+ * Legacy version of autolink transform for older Node.js versions -+ * @type {FromMarkdownTransform} -+ */ -+function legacyAutolinkTransform(tree) { -+ findAndReplace( -+ tree, -+ [ -+ [/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi, findUrl], -+ // [/([-.\w+]+)@([-\w]+(?:\.[-\w]+)+)/g, findEmail] # NOTE: original regex in 2.0.0 -+ [/(^|\s|\p{P}|\p{S})([-.\w+]+)@([-\w]+(?:\.[-\w]+)+)/gu, findEmailLegacy] -+ ], -+ {ignore: ['link', 'linkReference']} -+ ) -+} -+ -+/** -+ * Helper function for legacy email matching -+ * @param {string} _ - Unused parameter -+ * @param {string} prefix - Email prefix -+ * @param {string} name - Email name -+ * @param {string} domain - Email domain -+ * @returns {*} The processed email -+ */ -+function findEmailLegacy(_, prefix, name, domain) { -+ return findEmail(name + '@' + domain) -+} -+ - /** - * @type {ReplaceFunction} - * @param {string} _ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cf7736dd7..2955f2e9a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,10 +4,8 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false -patchedDependencies: - mdast-util-gfm-autolink-literal@2.0.1: - hash: f63d515781110436299ab612306211a9621c6dfaec1ce1a19e2f27454dc70251 - path: patches/mdast-util-gfm-autolink-literal@2.0.1.patch +overrides: + mdast-util-gfm-autolink-literal: 2.0.0 importers: @@ -6812,8 +6810,8 @@ packages: mdast-util-from-markdown@2.0.2: resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} - mdast-util-gfm-autolink-literal@2.0.1: - resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} + mdast-util-gfm-autolink-literal@2.0.0: + resolution: {integrity: sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==} mdast-util-gfm-footnote@2.1.0: resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==} @@ -16941,7 +16939,7 @@ snapshots: transitivePeerDependencies: - supports-color - mdast-util-gfm-autolink-literal@2.0.1: + mdast-util-gfm-autolink-literal@2.0.0: dependencies: '@types/mdast': 4.0.4 ccount: 2.0.1 @@ -16989,7 +16987,7 @@ snapshots: mdast-util-gfm@3.1.0: dependencies: mdast-util-from-markdown: 2.0.2 - mdast-util-gfm-autolink-literal: 2.0.1 + mdast-util-gfm-autolink-literal: 2.0.0 mdast-util-gfm-footnote: 2.1.0 mdast-util-gfm-strikethrough: 2.0.0 mdast-util-gfm-table: 2.0.0 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 47d1d004c..924920b68 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -2,6 +2,3 @@ packages: - packages/* - projects/* - scripts/icon - -patchedDependencies: - mdast-util-gfm-autolink-literal@2.0.1: patches/mdast-util-gfm-autolink-literal@2.0.1.patch