From 5ca3eae2e0de7b404c0f3c21e1d442c7503904f4 Mon Sep 17 00:00:00 2001 From: Janpot <2109932+Janpot@users.noreply.github.com> Date: Tue, 2 Jun 2026 16:53:22 +0200 Subject: [PATCH] Remove redundant markdownlint-cli2 machinery --- .circleci/orbs/code-infra.yml | 8 - .markdownlint-cli2.mjs | 3 - .vscode/settings.json | 3 +- package.json | 2 - packages/code-infra/package.json | 4 - .../src/markdownlint/duplicate-h1.mjs | 69 -------- .../code-infra/src/markdownlint/git-diff.mjs | 31 ---- .../code-infra/src/markdownlint/index.mjs | 62 ------- .../src/markdownlint/straight-quotes.mjs | 26 --- .../src/markdownlint/table-alignment.mjs | 42 ----- .../src/markdownlint/terminal-language.mjs | 19 --- pnpm-lock.yaml | 156 ------------------ 12 files changed, 1 insertion(+), 424 deletions(-) delete mode 100644 .markdownlint-cli2.mjs delete mode 100644 packages/code-infra/src/markdownlint/duplicate-h1.mjs delete mode 100644 packages/code-infra/src/markdownlint/git-diff.mjs delete mode 100644 packages/code-infra/src/markdownlint/index.mjs delete mode 100644 packages/code-infra/src/markdownlint/straight-quotes.mjs delete mode 100644 packages/code-infra/src/markdownlint/table-alignment.mjs delete mode 100644 packages/code-infra/src/markdownlint/terminal-language.mjs diff --git a/.circleci/orbs/code-infra.yml b/.circleci/orbs/code-infra.yml index 072b59499..afef2d166 100644 --- a/.circleci/orbs/code-infra.yml +++ b/.circleci/orbs/code-infra.yml @@ -116,13 +116,6 @@ commands: name: Stylelint command: pnpm stylelint - markdownlint: - description: 'Runs Markdownlint on the codebase' - steps: - - run: - name: Lint Markdown - command: pnpm markdownlint - valelint: description: 'Runs Vale linter on the codebase' steps: @@ -195,7 +188,6 @@ commands: steps: - eslint - stylelint - - markdownlint - valelint check-static-changes: diff --git a/.markdownlint-cli2.mjs b/.markdownlint-cli2.mjs deleted file mode 100644 index 7cc099858..000000000 --- a/.markdownlint-cli2.mjs +++ /dev/null @@ -1,3 +0,0 @@ -import { createBaseConfig } from '@mui/internal-code-infra/markdownlint'; - -export default createBaseConfig(); diff --git a/.vscode/settings.json b/.vscode/settings.json index 8db862c4b..dc6027e7f 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -13,6 +13,5 @@ "mdx", "json", "jsonc" - ], - "markdownlint.config": { "default": false } + ] } diff --git a/package.json b/package.json index ff14081dd..93a4b57bc 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,6 @@ "test:browser": "pnpm -F \"./docs\" run docs-infra browser --workspace --script test:browser:unconfined --playwright-version 1.60.0 --", "test:browser:unconfined": "vitest --config vitest.config.browser.mts", "test:e2e": "pnpm -F \"./docs\" run test:e2e", - "markdownlint": "markdownlint-cli2 \"**/*.md\"", "stylelint": "stylelint --reportInvalidScopeDisables --reportNeedlessDisables \"**/*.?(c|m)[jt]s?(x)\" \"**/*.css\" --ignore-path .lintignore", "typescript": "pnpm -r run typescript", "release:version": "lerna version --no-changelog --no-push --no-git-tag-version --no-private", @@ -95,7 +94,6 @@ "@vitest/browser-playwright": "4.1.6", "baseline-browser-mapping": "2.10.29", "eslint-plugin-n": "17.24.0", - "markdownlint-cli2": "0.22.1", "pkg-pr-new": "0.0.72", "playwright": "1.60.0", "stylelint": "17.11.0" diff --git a/packages/code-infra/package.json b/packages/code-infra/package.json index 04cc19160..7c23e6262 100644 --- a/packages/code-infra/package.json +++ b/packages/code-infra/package.json @@ -29,10 +29,6 @@ "types": "./build/utils/github.d.mts", "default": "./src/utils/github.mjs" }, - "./markdownlint": { - "types": "./build/markdownlint/index.d.mts", - "default": "./src/markdownlint/index.mjs" - }, "./remark": { "types": "./build/remark/config.d.mts", "default": "./src/remark/config.mjs" diff --git a/packages/code-infra/src/markdownlint/duplicate-h1.mjs b/packages/code-infra/src/markdownlint/duplicate-h1.mjs deleted file mode 100644 index 491ca07ae..000000000 --- a/packages/code-infra/src/markdownlint/duplicate-h1.mjs +++ /dev/null @@ -1,69 +0,0 @@ -/** - * @typedef {[string, string]} Attr - */ - -/** - * @typedef {Object} Token - * @property {string} type - * @property {string} info - * @property {string} tag - * @property {string} content - * @property {number} lineNumber - * @property {Attr[]} attrs - */ - -/** - * @typedef {Object} OnErrorObj - * @property {number} lineNumber - * @property {string} [detail] - */ - -/** - * @typedef {(err: OnErrorObj) => void} OnError - */ - -/** - * @typedef {Object} MdParams - * @property {string} name - * @property {string[]} lines - * @property {Token[]} tokens - */ - -// This rule is an extension of MD025/no-multiple-top-level-headings. -// The rule is buggy https://github.com/DavidAnson/markdownlint/pull/1109 -// but also blog headers don't tell you that h1 is already injected. -export default { - names: ['duplicateH1'], - description: 'Multiple top-level headings in the same document.', - tags: ['headings'], - /** - * @param {import('./duplicate-h1.mjs').MdParams} params - * @param {import('./duplicate-h1.mjs').OnError} onError - */ - function: (params, onError) => { - /** - * @type {number|boolean} - */ - let hasTopLevelHeading = false; - params.tokens.forEach((token) => { - if (token.type === 'heading_open' && token.tag === 'h1') { - // Avoid duplicate errors with MD025. - if (hasTopLevelHeading !== false && hasTopLevelHeading !== 1) { - onError({ - lineNumber: token.lineNumber, - }); - } else if (params.name.includes('/docs/pages/blog/')) { - onError({ - lineNumber: token.lineNumber, - detail: 'In the blog, the h1 is already added using the markdown header.title value.', - }); - } - - // Store the first h1 of the page. - if (hasTopLevelHeading === false) { - hasTopLevelHeading = token.lineNumber; - } - } - }); - }, -}; diff --git a/packages/code-infra/src/markdownlint/git-diff.mjs b/packages/code-infra/src/markdownlint/git-diff.mjs deleted file mode 100644 index fcd11740d..000000000 --- a/packages/code-infra/src/markdownlint/git-diff.mjs +++ /dev/null @@ -1,31 +0,0 @@ -export default { - names: ['gitDiff'], - description: 'Respect the format output of git diff.', - tags: ['spaces'], - /** - * @param {import('./duplicate-h1.mjs').MdParams} params - * @param {import('./duplicate-h1.mjs').OnError} onError - */ - function: (params, onError) => { - params.tokens.forEach((token) => { - if (token.type === 'fence' && token.info === 'diff') { - token.content.split('\n').forEach((line, index) => { - if ( - line[0] !== ' ' && - line[0] !== '-' && - line[0] !== '+' && - line !== '' && - line.indexOf('@@ ') !== 0 && - line.indexOf('diff --git ') !== 0 && - line.indexOf('index ') !== 0 - ) { - onError({ - lineNumber: token.lineNumber + index + 1, - detail: `The line start with "+" or "-" or " ": ${line}`, - }); - } - }); - } - }); - }, -}; diff --git a/packages/code-infra/src/markdownlint/index.mjs b/packages/code-infra/src/markdownlint/index.mjs deleted file mode 100644 index 8e7ac161e..000000000 --- a/packages/code-infra/src/markdownlint/index.mjs +++ /dev/null @@ -1,62 +0,0 @@ -import straightQuotes from './straight-quotes.mjs'; -import gitDiff from './git-diff.mjs'; -import tableAlignment from './table-alignment.mjs'; -import terminalLanguage from './terminal-language.mjs'; -import duplicateH1 from './duplicate-h1.mjs'; - -/** - * Create a base configuration for markdownlint. - * @param {Object} options - * @param {(typeof straightQuotes)[]} [options.rules] - An array of custom rules to include. - * @param {string[]} [options.ignores] - An array of glob patterns to ignore. - * @returns - */ -export function createBaseConfig(options = {}) { - const { rules = [], ignores = [] } = options; - // https://github.com/DavidAnson/markdownlint#rules--aliases - return { - config: { - default: true, - MD004: false, // MD004/ul-style. Buggy - MD009: { - // MD009/no-trailing-spaces - br_spaces: 0, - strict: true, - list_item_empty_lines: false, - }, - MD013: false, // MD013/line-length. Already handled by Prettier. - MD014: false, // MD014/commands-show-output. It's OK. - MD024: { siblings_only: true }, // MD024/no-duplicate-heading/no-duplicate-header - MD025: { - // Heading level - level: 1, - // RegExp for matching title in front matter - front_matter_title: '', - }, - MD033: false, // MD033/no-inline-html. We use it from time to time, it's fine. - MD034: false, // MD034/no-bare-urls. Not a concern for us, our Markdown interpreter supports it. - MD028: false, // MD028/no-blanks-blockquote prevent double blockquote - MD029: false, // MD029/ol-prefix. Buggy - MD031: false, // MD031/blanks-around-fences Some code blocks inside li - MD036: false, // MD036/no-emphasis-as-heading/no-emphasis-as-header. It's OK. - MD051: false, // MD051/link-fragments. Many false positives in the changelog. - MD052: false, // MD052/reference-links-images. Many false positives in the changelog. - MD059: false, // MD059/descriptive-link-text. Does not allow links on text like "link", whereas we redirect to "Link" component. - straightQuotes: true, - gitDiff: true, - tableAlignment: true, - terminalLanguage: true, - duplicateH1: true, - }, - customRules: [straightQuotes, gitDiff, tableAlignment, terminalLanguage, duplicateH1, ...rules], - ignores: [ - 'CHANGELOG.old.md', - '**/node_modules/**', - '**/build/**', - '.github/PULL_REQUEST_TEMPLATE.md', - 'docs/public/**', - 'docs/export/**', - ...ignores, - ], - }; -} diff --git a/packages/code-infra/src/markdownlint/straight-quotes.mjs b/packages/code-infra/src/markdownlint/straight-quotes.mjs deleted file mode 100644 index 764f23ec1..000000000 --- a/packages/code-infra/src/markdownlint/straight-quotes.mjs +++ /dev/null @@ -1,26 +0,0 @@ -const nonStraightQuotes = /[‘’“”]/; - -export default { - names: ['straightQuotes'], - description: 'Only allow straight quotes.', - tags: ['spelling'], - /** - * @param {import('./duplicate-h1.mjs').MdParams} params - * @param {import('./duplicate-h1.mjs').OnError} onError - */ - function: (params, onError) => { - params.lines.forEach((line, lineNumber) => { - // It will match - // opening single quote: \xE2\x80\x98 - // closing single quote: \xE2\x80\x99 - // opening double quote: \xE2\x80\x9C - // closing double quote: \xE2\x80\x9D - if (nonStraightQuotes.test(line)) { - onError({ - lineNumber: lineNumber + 1, - detail: `For line: ${line}`, - }); - } - }); - }, -}; diff --git a/packages/code-infra/src/markdownlint/table-alignment.mjs b/packages/code-infra/src/markdownlint/table-alignment.mjs deleted file mode 100644 index d9b2ad145..000000000 --- a/packages/code-infra/src/markdownlint/table-alignment.mjs +++ /dev/null @@ -1,42 +0,0 @@ -/** - * @param {import('./duplicate-h1.mjs').Attr[]} attrs - * @returns {Record} - */ -function attr(attrs) { - return (attrs || []).reduce((acc, item) => ({ ...acc, [item[0]]: item[1] }), {}); -} - -export default { - names: ['tableAlignment'], - description: 'Set table alignment.', - tags: ['table'], - /** - * @param {import('./duplicate-h1.mjs').MdParams} params - * @param {import('./duplicate-h1.mjs').OnError} onError - */ - function: (params, onError) => { - params.tokens.forEach((token) => { - // This is wrong: - // | Version | Supported | - // | ------- | ------------------ | - // - // The second column should be left aligned because it contains text: - // | Version | Supported | - // | ------- | :----------------- | - // - // However, columns that includes numbers should be right aligned: - // | Version | Supported | - // | ------: | :----------------- | - // - // More details: https://ux.stackexchange.com/questions/24066/what-is-the-best-practice-for-data-table-cell-content-alignment - // - // In this check we expect the style to be 'text-align:right' or equivalent. - if (token.type === 'th_open' && attr(token.attrs).style == null) { - onError({ - lineNumber: token.lineNumber, - detail: `${params.lines[token.lineNumber - 1]}`, - }); - } - }); - }, -}; diff --git a/packages/code-infra/src/markdownlint/terminal-language.mjs b/packages/code-infra/src/markdownlint/terminal-language.mjs deleted file mode 100644 index e4b70504c..000000000 --- a/packages/code-infra/src/markdownlint/terminal-language.mjs +++ /dev/null @@ -1,19 +0,0 @@ -export default { - names: ['terminalLanguage'], - description: 'Set the right language for terminal code.', - tags: ['code'], - /** - * @param {import('./duplicate-h1.mjs').MdParams} params - * @param {import('./duplicate-h1.mjs').OnError} onError - */ - function: (params, onError) => { - params.tokens.forEach((token) => { - if (token.type === 'fence' && token.info === 'sh') { - onError({ - lineNumber: token.lineNumber, - detail: `Use "bash" instead of "sh".`, - }); - } - }); - }, -}; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bbff558d2..f7fde8b22 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -97,9 +97,6 @@ importers: eslint-plugin-n: specifier: 17.24.0 version: 17.24.0(eslint@10.0.3(jiti@2.7.0))(typescript@6.0.3) - markdownlint-cli2: - specifier: 0.22.1 - version: 0.22.1 pkg-pr-new: specifier: 0.0.72 version: 0.0.72 @@ -5160,9 +5157,6 @@ packages: '@types/json5@0.0.29': resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - '@types/katex@0.16.8': - resolution: {integrity: sha512-trgaNyfU+Xh2Tc+ABIb44a5AYUpicB3uwirOioeOkNPPbmgRNtcWyDeeFRzjPZENO9Vq8gvVqfhaaXWLlevVwg==} - '@types/mdast@4.0.4': resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} @@ -6422,10 +6416,6 @@ packages: resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} engines: {node: '>= 10'} - commander@8.3.0: - resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} - engines: {node: '>= 12'} - common-ancestor-path@1.0.1: resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==} @@ -8550,9 +8540,6 @@ packages: jsonc-parser@3.2.0: resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} - jsonc-parser@3.3.1: - resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} - jsondiffpatch@0.7.3: resolution: {integrity: sha512-zd4dqFiXSYyant2WgSXAZ9+yYqilNVvragVNkNRn2IFZKgjyULNrKRznqN4Zon0MkLueCg+3QaPVCnDAVP20OQ==} engines: {node: ^18.0.0 || >=20.0.0} @@ -8565,10 +8552,6 @@ packages: resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} engines: {'0': node >= 0.2.0} - jsonpointer@5.0.1: - resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} - engines: {node: '>=0.10.0'} - jsx-ast-utils@3.3.5: resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} engines: {node: '>=4.0'} @@ -8588,10 +8571,6 @@ packages: jws@4.0.0: resolution: {integrity: sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==} - katex@0.16.45: - resolution: {integrity: sha512-pQpZbdBu7wCTmQUh7ufPmLr0pFoObnGUoL/yhtwJDgmmQpbkg/0HSVti25Fu4rmd1oCR6NGWe9vqTWuWv3GcNA==} - hasBin: true - kebab-case@2.0.2: resolution: {integrity: sha512-NhIP7vecGtqJfNZ85ct0yRQfx//gCJHapJCBZP6/BBcBw/U218Jw7YX7rO6TI5/cCp5dJvlIjN3vbcRTqq7nWA==} @@ -8737,9 +8716,6 @@ packages: resolution: {integrity: sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - linkify-it@5.0.0: - resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} - listenercount@1.0.1: resolution: {integrity: sha512-3mk/Zag0+IJxeDrxSgaDPy4zZ3w05PRZeJNnlWhzFz5OkX49J4krc+A8X2d2M69vGMBEX0uyl8M+W+8gH+kBqQ==} @@ -8928,10 +8904,6 @@ packages: resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} engines: {node: '>=16'} - markdown-it@14.1.1: - resolution: {integrity: sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==} - hasBin: true - markdown-table@3.0.4: resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} @@ -8941,20 +8913,6 @@ packages: peerDependencies: react: '>= 0.14.0' - markdownlint-cli2-formatter-default@0.0.6: - resolution: {integrity: sha512-VVDGKsq9sgzu378swJ0fcHfSicUnMxnL8gnLm/Q4J/xsNJ4e5bA6lvAz7PCzIl0/No0lHyaWdqVD2jotxOSFMQ==} - peerDependencies: - markdownlint-cli2: '>=0.0.4' - - markdownlint-cli2@0.22.1: - resolution: {integrity: sha512-X14ZbytybDCXAViDmtN4DKLt9ZTrRn+oOrxTYlg3a65jS6QcYYbAkGPh/En2L/GDNbFYJ6lKaQSUNrrbN1bPrw==} - engines: {node: '>=20'} - hasBin: true - - markdownlint@0.40.0: - resolution: {integrity: sha512-UKybllYNheWac61Ia7T6fzuQNDZimFIpCg2w6hHjgV1Qu0w1TV0LlSgryUGzM0bkKQCBhy2FDhEELB73Kb0kAg==} - engines: {node: '>=20'} - math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} @@ -9022,9 +8980,6 @@ packages: mdn-data@2.27.1: resolution: {integrity: sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==} - mdurl@2.0.0: - resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} - media-typer@0.3.0: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} @@ -9058,9 +9013,6 @@ packages: micromark-core-commonmark@2.0.3: resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} - micromark-extension-directive@4.0.0: - resolution: {integrity: sha512-/C2nqVmXXmiseSSuCdItCMho7ybwwop6RrrRPk0KbOHW21JKoCldC+8rFOaundDoRBUWBnJJcxeA/Kvi34WQXg==} - micromark-extension-frontmatter@2.0.0: resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==} @@ -9085,9 +9037,6 @@ packages: micromark-extension-gfm@3.0.0: resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} - micromark-extension-math@3.1.0: - resolution: {integrity: sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg==} - micromark-extension-mdx-expression@3.0.1: resolution: {integrity: sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==} @@ -10159,10 +10108,6 @@ packages: proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - punycode.js@2.3.1: - resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} - engines: {node: '>=6'} - punycode@1.4.1: resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} @@ -10791,10 +10736,6 @@ packages: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} - smol-toml@1.6.1: - resolution: {integrity: sha512-dWUG8F5sIIARXih1DTaQAX4SsiTXhInKf1buxdY9DIg4ZYPZK5nGM1VRIYmEbDbsHt7USo99xSLFu5Q1IqTmsg==} - engines: {node: '>= 18'} - socks-proxy-agent@8.0.5: resolution: {integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==} engines: {node: '>= 14'} @@ -10922,10 +10863,6 @@ packages: resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} engines: {node: '>=18'} - string-width@8.1.0: - resolution: {integrity: sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==} - engines: {node: '>=20'} - string-width@8.2.1: resolution: {integrity: sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==} engines: {node: '>=20'} @@ -11402,9 +11339,6 @@ packages: engines: {node: '>=14.17'} hasBin: true - uc.micro@2.1.0: - resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} - uglify-js@3.19.3: resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} engines: {node: '>=0.8.0'} @@ -16621,8 +16555,6 @@ snapshots: '@types/json5@0.0.29': {} - '@types/katex@0.16.8': {} - '@types/mdast@4.0.4': dependencies: '@types/unist': 3.0.3 @@ -18074,8 +18006,6 @@ snapshots: commander@7.2.0: {} - commander@8.3.0: {} - common-ancestor-path@1.0.1: {} commondir@1.0.1: {} @@ -20670,8 +20600,6 @@ snapshots: jsonc-parser@3.2.0: {} - jsonc-parser@3.3.1: {} - jsondiffpatch@0.7.3: dependencies: '@dmsnell/diff-match-patch': 1.1.0 @@ -20684,8 +20612,6 @@ snapshots: jsonparse@1.3.1: {} - jsonpointer@5.0.1: {} - jsx-ast-utils@3.3.5: dependencies: array-includes: 3.1.9 @@ -20715,10 +20641,6 @@ snapshots: jwa: 2.0.1 safe-buffer: 5.2.1 - katex@0.16.45: - dependencies: - commander: 8.3.0 - kebab-case@2.0.2: {} keyv@4.5.4: @@ -20913,10 +20835,6 @@ snapshots: lines-and-columns@2.0.3: {} - linkify-it@5.0.0: - dependencies: - uc.micro: 2.1.0 - listenercount@1.0.1: {} load-json-file@4.0.0: @@ -21092,53 +21010,12 @@ snapshots: markdown-extensions@2.0.0: {} - markdown-it@14.1.1: - dependencies: - argparse: 2.0.1 - entities: 4.5.0 - linkify-it: 5.0.0 - mdurl: 2.0.0 - punycode.js: 2.3.1 - uc.micro: 2.1.0 - markdown-table@3.0.4: {} markdown-to-jsx@7.7.4(react@19.2.6): dependencies: react: 19.2.6 - markdownlint-cli2-formatter-default@0.0.6(markdownlint-cli2@0.22.1): - dependencies: - markdownlint-cli2: 0.22.1 - - markdownlint-cli2@0.22.1: - dependencies: - globby: 16.2.0 - js-yaml: 4.1.1 - jsonc-parser: 3.3.1 - jsonpointer: 5.0.1 - markdown-it: 14.1.1 - markdownlint: 0.40.0 - markdownlint-cli2-formatter-default: 0.0.6(markdownlint-cli2@0.22.1) - micromatch: 4.0.8 - smol-toml: 1.6.1 - transitivePeerDependencies: - - supports-color - - markdownlint@0.40.0: - dependencies: - micromark: 4.0.2 - micromark-core-commonmark: 2.0.3 - micromark-extension-directive: 4.0.0 - micromark-extension-gfm-autolink-literal: 2.1.0 - micromark-extension-gfm-footnote: 2.1.0 - micromark-extension-gfm-table: 2.1.1 - micromark-extension-math: 3.1.0 - micromark-util-types: 2.0.2 - string-width: 8.1.0 - transitivePeerDependencies: - - supports-color - math-intrinsics@1.1.0: {} mathml-tag-names@4.0.0: {} @@ -21330,8 +21207,6 @@ snapshots: mdn-data@2.27.1: {} - mdurl@2.0.0: {} - media-typer@0.3.0: {} memfs@3.5.3: @@ -21381,16 +21256,6 @@ snapshots: micromark-util-symbol: 2.0.1 micromark-util-types: 2.0.2 - micromark-extension-directive@4.0.0: - dependencies: - devlop: 1.1.0 - micromark-factory-space: 2.0.1 - micromark-factory-whitespace: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - parse-entities: 4.0.2 - micromark-extension-frontmatter@2.0.0: dependencies: fault: 2.0.1 @@ -21456,16 +21321,6 @@ snapshots: micromark-util-combine-extensions: 2.0.1 micromark-util-types: 2.0.2 - micromark-extension-math@3.1.0: - dependencies: - '@types/katex': 0.16.8 - devlop: 1.1.0 - katex: 0.16.45 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - micromark-extension-mdx-expression@3.0.1: dependencies: '@types/estree': 1.0.9 @@ -22731,8 +22586,6 @@ snapshots: proxy-from-env@1.1.0: {} - punycode.js@2.3.1: {} - punycode@1.4.1: optional: true @@ -23679,8 +23532,6 @@ snapshots: smart-buffer@4.2.0: {} - smol-toml@1.6.1: {} - socks-proxy-agent@8.0.5: dependencies: agent-base: 7.1.4 @@ -23815,11 +23666,6 @@ snapshots: get-east-asian-width: 1.5.0 strip-ansi: 7.1.2 - string-width@8.1.0: - dependencies: - get-east-asian-width: 1.5.0 - strip-ansi: 7.1.2 - string-width@8.2.1: dependencies: get-east-asian-width: 1.5.0 @@ -24397,8 +24243,6 @@ snapshots: typescript@6.0.3: {} - uc.micro@2.1.0: {} - uglify-js@3.19.3: optional: true