diff --git a/.circleci/config.yml b/.circleci/config.yml index 3a640a84303..f0a8ee5a198 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -83,7 +83,9 @@ jobs: steps: - checkout - code-infra/install-deps - - code-infra/run-linters + - code-infra/eslint + - code-infra/stylelint + - code-infra/valelint test_static: <<: *default-job steps: diff --git a/.lintignore b/.lintignore index 2e108f15b37..ffca60392be 100644 --- a/.lintignore +++ b/.lintignore @@ -9,4 +9,8 @@ build build-tests node_modules pnpm-lock.yaml -routeTree.gen.ts \ No newline at end of file +routeTree.gen.ts + +# TODO: fix lint violations and remove these ignores +/CHANGELOG.old.md +/CLAUDE.md \ No newline at end of file diff --git a/.markdownlint-cli2.mjs b/.markdownlint-cli2.mjs deleted file mode 100644 index 27b8ba86dbf..00000000000 --- a/.markdownlint-cli2.mjs +++ /dev/null @@ -1,13 +0,0 @@ -import { createBaseConfig } from '@mui/internal-code-infra/markdownlint'; - -const baseline = createBaseConfig(); - -export default { - ...baseline, - ignores: [...(baseline.ignores ?? []), 'IMPLEMENTATION_SUMMARY.md'], - config: { - ...baseline.config, - MD038: false, // false positives in MDX - MD041: false, // false positives in MDX - }, -}; diff --git a/.remarkrc.mjs b/.remarkrc.mjs new file mode 100644 index 00000000000..d73ee198c0f --- /dev/null +++ b/.remarkrc.mjs @@ -0,0 +1,22 @@ +import { createRemarkConfig } from '@mui/internal-code-infra/remark'; + +export default createRemarkConfig({ + overrides: [ + { + files: '**/*.{md,mdx}', + rules: { + // `[//]: # 'comment'` is used as a markdown comment idiom across the docs. + 'no-duplicate-headings': false, + 'no-unused-definitions': false, + 'no-empty-url': false, + 'no-undefined-references': false, + }, + }, + { + files: '.github/**/*.md', + rules: { + 'mui-first-block-heading': false, + }, + }, + ], +}); diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 96407730e1e..f9fe0d47ed9 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -11,7 +11,6 @@ // Linting "dbaeumer.vscode-eslint", // ESLint "stylelint.vscode-stylelint", // Stylelint - "davidanson.vscode-markdownlint", // markdownlint // Misc "yoavbls.pretty-ts-errors" // TypeScript errors readability diff --git a/AGENTS.md b/AGENTS.md index da915daa631..32abc04ff1d 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,5 +1,3 @@ - - # Repository Guidelines This repository contains the source code and documentation for Base UI: a headless, unstyled React component library. @@ -25,7 +23,6 @@ This repository contains the source code and documentation for Base UI: a headl - Do not randomly cast (for example `as any`) if there are no type errors without doing so. Run `pnpm typescript` to verify types. - Ensure your changes pass linting - run `pnpm eslint`. - Ensure your styles pass stylelint - run `pnpm stylelint`. -- Ensure your markdown passes markdownlint - run `pnpm markdownlint`. - Ensure your changes are formatted correctly - run `pnpm prettier`. - When you change a public component API (props or JSDoc), run `pnpm docs:api`. diff --git a/docs/src/css/README.md b/docs/src/css/README.md index 7767bb0003a..6cc513f0ed5 100644 --- a/docs/src/css/README.md +++ b/docs/src/css/README.md @@ -1 +1,3 @@ +# Styling conventions + Read the [index.css](./index.css) file for more information on the styling conventions. diff --git a/eslint.config.mjs b/eslint.config.mjs index 4af6a316df2..4dee128cc90 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -9,6 +9,7 @@ import { import { defineConfig, globalIgnores } from 'eslint/config'; import * as path from 'node:path'; import { fileURLToPath } from 'url'; +import remarkConfig from './.remarkrc.mjs'; const filename = fileURLToPath(import.meta.url); const dirname = path.dirname(filename); @@ -35,7 +36,13 @@ export default defineConfig( globalIgnores(['./examples', './playground/vite-app/dist']), createBaseConfig({ baseDirectory: dirname, + markdown: true, }), + // eslint-plugin-mdx loads `.remarkrc.mjs` itself, but ESLint doesn't know + // that file is a config dependency, so `--cache` doesn't invalidate when + // it changes. Embedding the imported value in a setting puts its content + // into the resolved-config hash, forcing cache invalidation on edits. + { settings: { remarkConfig } }, { name: 'Playground Vite app overrides', files: ['playground/vite-app/**/*.{ts,tsx}'], diff --git a/package.json b/package.json index b1497108d91..c00618e681c 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,6 @@ "eslint": "pnpm -r lint && eslint . --cache --report-unused-disable-directives --max-warnings 0", "eslint:ci": "pnpm -r lint && eslint . --report-unused-disable-directives --max-warnings 0", "stylelint": "stylelint --reportInvalidScopeDisables --reportNeedlessDisables \"docs/**/*.{js,ts,tsx}\" \"**/*.css\" --ignore-path .lintignore", - "markdownlint": "markdownlint-cli2 \"**/*.{md,mdx}\"", "vale:fix": "pnpm valelint --auto-fix all", "valelint": "pnpm code-infra vale sync --vale-version $npm_package_config_valeVersion && git ls-files | grep -E \"\\.(md|mdx)$\" | xargs pnpm code-infra vale --vale-version $npm_package_config_valeVersion --filter='.Level==\"error\"'", "prettier": "pretty-quick --ignore-path .lintignore --branch master", @@ -89,7 +88,6 @@ "globby": "16.2.0", "jsdom": "27.4.0", "lerna": "9.0.7", - "markdownlint-cli2": "0.22.1", "pkg-pr-new": "0.0.66", "prettier": "3.8.3", "pretty-quick": "4.2.2", diff --git a/packages/react/README.md b/packages/react/README.md index cb2f691e5e9..bc8edafbc3d 100644 --- a/packages/react/README.md +++ b/packages/react/README.md @@ -1,4 +1,4 @@ - + Base UI logo diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4173b9addf2..41d3be67c46 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -86,9 +86,6 @@ importers: lerna: specifier: 9.0.7 version: 9.0.7(@types/node@22.18.13) - markdownlint-cli2: - specifier: 0.22.1 - version: 0.22.1 pkg-pr-new: specifier: 0.0.66 version: 0.0.66 @@ -4367,9 +4364,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/luxon@3.7.1': resolution: {integrity: sha512-H3iskjFIAn5SlJU7OuxUmTEpebK6TKB8rxZShDslBMZJ5u9S//KM1sbdAisiSrqwLQncVjnpi2OK2J51h+4lsg==} @@ -5376,10 +5370,6 @@ packages: resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} engines: {node: '>= 6'} - commander@8.3.0: - resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} - engines: {node: '>= 12'} - comment-parser@1.4.6: resolution: {integrity: sha512-ObxuY6vnbWTN6Od72xfwN9DbzC7Y2vv8u1Soi9ahRKL37gb6y1qk6/dgjs+3JWuXJHWvsg3BXIwzd/rkmAwavg==} engines: {node: '>= 12.0.0'} @@ -7154,9 +7144,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} @@ -7169,10 +7156,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'} @@ -7183,10 +7166,6 @@ packages: just-diff@6.0.2: resolution: {integrity: sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA==} - 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==} @@ -7316,9 +7295,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==} - load-json-file@4.0.0: resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} engines: {node: '>=4'} @@ -7444,27 +7420,9 @@ 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==} - 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'} - marked-terminal@7.3.0: resolution: {integrity: sha512-t4rBvPsHc57uE/2nJOLmMbZCQ4tgAccAED3ngXQqW6g+TxA488JzJ+FK3lQkzBQOI1mRV/r/Kq+1ZlJ4D0owQw==} engines: {node: '>=16.0.0'} @@ -7546,9 +7504,6 @@ packages: mdn-data@2.27.1: resolution: {integrity: sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==} - mdurl@2.0.0: - resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} - meow@14.1.0: resolution: {integrity: sha512-EDYo6VlmtnumlcBCbh1gLJ//9jvM/ndXHfVXIFrZVr6fGcwTUyCTFNTLCKuY3ffbK8L/+3Mzqnd58RojiZqHVw==} engines: {node: '>=20'} @@ -7567,9 +7522,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==} @@ -7594,9 +7546,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==} @@ -8489,10 +8438,6 @@ packages: engines: {node: '>=18'} hasBin: true - punycode.js@2.3.1: - resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} - engines: {node: '>=6'} - punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} @@ -9077,10 +9022,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'} @@ -9182,10 +9123,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.0: resolution: {integrity: sha512-6hJPQ8N0V0P3SNmP6h2J99RLuzrWz2gvT7VnK5tKvrNqJoyS9W4/Fb8mo31UiPvy00z7DQXkP2hnKBVav76thw==} engines: {node: '>=20'} @@ -9599,9 +9536,6 @@ packages: engines: {node: '>=14.17'} hasBin: true - uc.micro@2.1.0: - resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} - ufo@1.6.3: resolution: {integrity: sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==} @@ -14122,8 +14056,6 @@ snapshots: '@types/json5@0.0.29': {} - '@types/katex@0.16.8': {} - '@types/luxon@3.7.1': {} '@types/mdast@4.0.4': @@ -15366,8 +15298,6 @@ snapshots: commander@6.2.1: {} - commander@8.3.0: {} - comment-parser@1.4.6: {} common-ancestor-path@1.0.1: {} @@ -17365,8 +17295,6 @@ snapshots: jsonc-parser@3.2.0: {} - jsonc-parser@3.3.1: {} - jsondiffpatch@0.7.3: dependencies: '@dmsnell/diff-match-patch': 1.1.0 @@ -17379,8 +17307,6 @@ snapshots: jsonparse@1.3.1: {} - jsonpointer@5.0.1: {} - jsx-ast-utils@3.3.5: dependencies: array-includes: 3.1.9 @@ -17392,10 +17318,6 @@ snapshots: just-diff@6.0.2: {} - katex@0.16.45: - dependencies: - commander: 8.3.0 - kebab-case@2.0.2: {} keyv@4.5.4: @@ -17577,10 +17499,6 @@ snapshots: lines-and-columns@2.0.3: {} - linkify-it@5.0.0: - dependencies: - uc.micro: 2.1.0 - load-json-file@4.0.0: dependencies: graceful-fs: 4.2.11 @@ -17726,49 +17644,8 @@ 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: {} - 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 - marked-terminal@7.3.0(marked@9.1.6): dependencies: ansi-escapes: 7.3.0 @@ -17978,8 +17855,6 @@ snapshots: mdn-data@2.27.1: {} - mdurl@2.0.0: {} - meow@14.1.0: {} meow@8.1.2: @@ -18019,16 +17894,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 @@ -18094,16 +17959,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.8 @@ -19208,8 +19063,6 @@ snapshots: picocolors: 1.1.1 sade: 1.8.1 - punycode.js@2.3.1: {} - punycode@2.3.1: {} qified@0.9.1: @@ -20097,8 +19950,6 @@ snapshots: smart-buffer@4.2.0: {} - smol-toml@1.6.1: {} - socks-proxy-agent@8.0.5: dependencies: agent-base: 7.1.4 @@ -20204,11 +20055,6 @@ snapshots: get-east-asian-width: 1.5.0 strip-ansi: 7.2.0 - string-width@8.1.0: - dependencies: - get-east-asian-width: 1.5.0 - strip-ansi: 7.2.0 - string-width@8.2.0: dependencies: get-east-asian-width: 1.5.0 @@ -20673,8 +20519,6 @@ snapshots: typescript@6.0.3: {} - uc.micro@2.1.0: {} - ufo@1.6.3: {} uglify-js@3.19.3: