diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7f3f57a4e2aad0..5fc3babcccf227 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,6 +29,7 @@ jobs: os: [macos-latest, windows-latest, ubuntu-latest] permissions: contents: read + pull-requests: write steps: - run: echo '${{ github.actor }}' - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 @@ -66,3 +67,21 @@ jobs: - name: Debug export-detail.json on when pnpm docs:build fails with EMFILE error if: failure() run: cat ./docs/.next/export-detail.json || true + - name: Extract Vale version + if: ${{ matrix.os == 'ubuntu-latest' }} + id: vale-version + run: | + VERSION=$(pnpm code-infra vale --get-version) + echo "vale_version=$VERSION" >> $GITHUB_OUTPUT + - uses: vale-cli/vale-action@d89dee975228ae261d22c15adcd03578634d429c # v2.1.1 + continue-on-error: true # GitHub Action flag needed until https://github.com/errata-ai/vale-action/issues/89 is fixed + if: ${{ matrix.os == 'ubuntu-latest' }} + with: + version: ${{ steps.vale-version.outputs.vale_version }} + # Errors should be more visible + fail_on_error: true + # The other reports don't work, not really https://github.com/reviewdog/reviewdog#reporters + reporter: github-pr-check + # Required, set by GitHub actions automatically: + # https://docs.github.com/en/actions/security-guides/automatic-token-authentication#about-the-github_token-secret + token: ${{secrets.GITHUB_TOKEN}} diff --git a/.vale.ini b/.vale.ini index 393e9fcdeb4ffd..35a0ddfe5f4e91 100644 --- a/.vale.ini +++ b/.vale.ini @@ -2,12 +2,7 @@ StylesPath = .github/styles MinAlertLevel = warning -# To update mui-vale package: -# 1. Go to the docs folder -# 2. Update/create YAML files -# 3. Run `pnpm docs:zipRules` to generate the zip files -# 4. You can test locally by replacing the url with the file path of the generated zip -Packages = Google, docs/mui-vale.zip +Packages = Google, ./node_modules/@mui/internal-code-infra/vale [formats] mdx = md diff --git a/docs/mui-vale.zip b/docs/mui-vale.zip deleted file mode 100644 index 9797fe0b19190c..00000000000000 Binary files a/docs/mui-vale.zip and /dev/null differ diff --git a/docs/mui-vale/.vale.ini b/docs/mui-vale/.vale.ini deleted file mode 100644 index f8b00bdb5dab5d..00000000000000 --- a/docs/mui-vale/.vale.ini +++ /dev/null @@ -1,2 +0,0 @@ -# This is subfolder included in our .zip archive. -StylesPath = styles diff --git a/docs/mui-vale/styles/MUI/CorrectReferenceAllCases.yml b/docs/mui-vale/styles/MUI/CorrectReferenceAllCases.yml deleted file mode 100644 index 6c053572aee723..00000000000000 --- a/docs/mui-vale/styles/MUI/CorrectReferenceAllCases.yml +++ /dev/null @@ -1,43 +0,0 @@ -# Enforce a single way to write specific terms or phrases. -extends: substitution -message: Use '%s' instead of '%s' -level: error -ignorecase: true # There is only one correct way to spell those, so we want to match inputs regardless of case. -# swap maps tokens in form of bad: good -# for more information: https://vale.sh/docs/topics/styles/#substitution -swap: - ' api': ' API' - 'typescript ': 'TypeScript ' - ' ts': ' TypeScript' - javascript: JavaScript - ' js': ' JavaScript' - ' css ': ' CSS ' - ' html ': ' HTML ' - NPM: npm # https://css-tricks.com/start-sentence-npm/ - Github: GitHub - StackOverflow: Stack Overflow - Stack Overflow: Stack Overflow - CSS modules: CSS Modules - Tailwind CSS: Tailwind CSS - Heat map: Heatmap - Tree map: Treemap - Sparkline Chart: Sparkline chart - Gauge Chart: Gauge chart - Treemap Chart: Treemap chart - sub-component: subcomponent - sub-components: subcomponents - use-case: use case - usecase: use case - Material 3: Material Design 3 - VSCode: VS Code - VS Code: VS Code - 'Codesandbox ': 'CodeSandbox ' - code sandbox: CodeSandbox - Stackblitz: StackBlitz - Webpack: webpack # https://twitter.com/wSokra/status/855800490713649152 - app router: App Router # Next.js - pages router: Pages Router # Next.js - page router: Pages Router # Next.js - eslint: ESLint - ES modules: ES modules - JSDOM: jsdom diff --git a/docs/mui-vale/styles/MUI/CorrectRererenceCased.yml b/docs/mui-vale/styles/MUI/CorrectRererenceCased.yml deleted file mode 100644 index b963be6b4e5260..00000000000000 --- a/docs/mui-vale/styles/MUI/CorrectRererenceCased.yml +++ /dev/null @@ -1,14 +0,0 @@ -# Write things correctly, please no wrong references. -extends: substitution -message: Use '%s' instead of '%s' -level: error -ignorecase: false -# swap maps tokens in form of bad: good -# for more information: https://vale.sh/docs/topics/styles/#substitution -swap: - eg: e.g. - eg\.: e.g. - e\.g: e.g. - ie: i.e. - ie\.: i.e. - i\.e: i.e. diff --git a/docs/mui-vale/styles/MUI/GoogleLatin.yml b/docs/mui-vale/styles/MUI/GoogleLatin.yml deleted file mode 100644 index 61bdbf909f4e71..00000000000000 --- a/docs/mui-vale/styles/MUI/GoogleLatin.yml +++ /dev/null @@ -1,11 +0,0 @@ -extends: substitution -message: Use '%s' instead of '%s' -link: https://developers.google.com/style/abbreviations -ignorecase: false -level: error -nonword: true -action: - name: replace -swap: - '\b(?:eg|e\.g\.)(?=[\s,;])': for example - '\b(?:ie|i\.e\.)(?=[\s,;])': that is diff --git a/docs/mui-vale/styles/MUI/MuiBrandName.yml b/docs/mui-vale/styles/MUI/MuiBrandName.yml deleted file mode 100644 index 708624303f02f5..00000000000000 --- a/docs/mui-vale/styles/MUI/MuiBrandName.yml +++ /dev/null @@ -1,22 +0,0 @@ -# Without a non-breaking space, brand names can be split in the middle -# with the start and end on two different lines. -# For example, Apple does this meticulously with their brand name: https://www.apple.com/macbook-air/. -# Also read https://www.chrisdpeters.com/blog/using-non-breaking-spaces-to-help-with-branding/ for why. -extends: substitution -message: Use a non-breaking space (option+space on Mac, Alt+0160 on Windows or AltGr+Space on Linux, instead of space) for brand name ('%s' instead of '%s') -level: error -ignorecase: true -# swap maps tokens in form of bad: good -# for more information: https://vale.sh/docs/topics/styles/#substitution -swap: - Material UI: Material UI - MUI X: MUI X - Base UI: Base UI - MUI Base: MUI Base - MUI System: MUI System - MUI Store: MUI Store - MUI Core: MUI Core - MUI Toolpad: Toolpad - MUI Toolpad: Toolpad - MUI Connect: MUI Connect - Pigment CSS: Pigment CSS diff --git a/docs/mui-vale/styles/MUI/NoBritish.yml b/docs/mui-vale/styles/MUI/NoBritish.yml deleted file mode 100644 index 6ce7dc93a3ff2b..00000000000000 --- a/docs/mui-vale/styles/MUI/NoBritish.yml +++ /dev/null @@ -1,112 +0,0 @@ -extends: substitution -message: Use the US spelling '%s' instead of the British '%s' -link: https://www.notion.so/mui-org/Writing-style-guide-2a957a4168a54d47b14bae026d06a24b?pvs=4#25755bff02764565b954631236ab183d -level: error -ignorecase: true -swap: - aeon: eon - aeroplane: airplane - ageing: aging - aluminium: aluminum - anaemia: anemia - anaesthesia: anesthesia - analyse: analyze - annexe: annex - apologise: apologize - authorisation: authorization - authorise: authorize - authorised: authorized - authorising: authorizing - behaviour: behavior - bellow: below - busses: buses - calibre: caliber - categorise: categorize - categorised: categorized - categorises: categorizes - categorising: categorizing - centre: center - cheque: check - civilisation: civilization - civilise: civilize - colour: color - cosy: cozy - cypher: cipher - defence: defense - dependant: dependent - distil: distill - draught: draft - encyclopaedia: encyclopedia - enquiry: inquiry - enrol: enroll - enrolment: enrollment - enthral: enthrall - favourite: favorite - fibre: fiber - fillet: filet - flavour: flavor - fulfil: fulfill - furore: furor - gaol: jail - grey: gray - honour: honor - humour: humor - initialled: initialed - initialling: initialing - instil: instill - jewellery: jewelry - labelled: labeled - labelling: labeling - labour: labor - libellous: libelous - licence: license - likeable: likable - liveable: livable - lustre: luster - manoeuvre: maneuver - marvellous: marvelous - meagre: meager - metre: meter - modelling: modeling - moustache: mustache - neighbour: neighbor - normalise: normalize - offence: offense - optimise: optimize - optimised: optimized - optimising: optimizing - organise: organize - orientated: oriented - paralyse: paralyze - plough: plow - pretence: pretense - programme: program - pyjamas: pajamas - rateable: ratable - realise: realize - recognise: recognize - reconnoitre: reconnoiter - rumour: rumor - sabre: saber - saleable: salable - saltpetre: saltpeter - sceptic: skeptic - sepulchre: sepulcher - signalling: signaling - sizeable: sizable - skilful: skillful - smoulder: smolder - sombre: somber - speciality: specialty - spectre: specter - splendour: splendor - standardise: standardize - standardised: standardized - sulphur: sulfur - theatre: theater - travelled: traveled - traveller: traveler - travelling: traveling - unshakeable: unshakable - wilful: willful - yoghurt: yogurt diff --git a/docs/mui-vale/styles/MUI/NoCompanyName.yml b/docs/mui-vale/styles/MUI/NoCompanyName.yml deleted file mode 100644 index bec8a07649fa86..00000000000000 --- a/docs/mui-vale/styles/MUI/NoCompanyName.yml +++ /dev/null @@ -1,17 +0,0 @@ -extends: existence -message: We avoid referencing the company name '%s'. Instead you can reference a product or the team. -level: warning -ignorecase: false -tokens: - - 'MUI \w+' -exceptions: - - 'MUI X' - - 'MUI System' - - 'MUI Store' - - 'MUI Core' - - 'MUI Connect' - # valid use of a regular space - - 'MUI organization' - - 'MUI ecosystem' - - 'MUI products' - - 'MUI team' diff --git a/package.json b/package.json index 2d19328ff9ce5b..8b855a5621ac35 100644 --- a/package.json +++ b/package.json @@ -35,14 +35,13 @@ "docs:typescript:formatted": "tsx ./docs/scripts/formattedTSDemos", "docs:sync-team": "tsx ./docs/scripts/syncTeamMembers.ts && pnpm prettier", "docs:mdicons:synonyms": "cross-env BABEL_ENV=development babel-node --extensions \".tsx,.ts,.js,.mjs\" ./docs/scripts/updateIconSynonyms && pnpm prettier", - "docs:zipRules": "cd docs && rm mui-vale.zip && zip -r mui-vale.zip mui-vale && cd ../ && pnpm vale sync", "extract-error-codes": "code-infra extract-error-codes --errorCodesPath docs/public/static/error-codes.json --skip @mui/core-downloads-tracker @mui/envinfo @mui/internal-core-docs @mui/codemod @mui/icons-material", "template:screenshot": "cross-env BABEL_ENV=development babel-node --extensions \".tsx,.ts,.js\" ./docs/scripts/generateTemplateScreenshots", "eslint": "eslint . --cache --report-unused-disable-directives --max-warnings 0", "eslint:ci": "eslint . --report-unused-disable-directives --max-warnings 0", "stylelint": "stylelint --reportInvalidScopeDisables --reportNeedlessDisables \"docs/**/*.?(c|m)[jt]s?(x)\" \"docs/**/*.css\" --ignore-path .lintignore", "markdownlint": "markdownlint-cli2 \"**/*.md\"", - "valelint": "pnpm dlx --package @vvago/vale vale sync && git ls-files | grep -E \"\\.(md|mdx)$\" | xargs pnpm dlx --package @vvago/vale vale --filter='.Level==\"error\"'", + "valelint": "pnpm code-infra vale sync && git ls-files | grep -E \"\\.(md|mdx)$\" | xargs pnpm code-infra vale --filter='.Level==\"error\"'", "prettier": "pretty-quick --ignore-path .lintignore --branch master", "prettier:all": "prettier --write . --ignore-path .lintignore", "size:snapshot": "pnpm -F ./test/bundle-size check", @@ -97,7 +96,7 @@ "@mui-internal/api-docs-builder-core": "workspace:^", "@mui/internal-babel-plugin-minify-errors": "2.0.8-canary.24", "@mui/internal-bundle-size-checker": "1.0.9-canary.70", - "@mui/internal-code-infra": "0.0.4-canary.14", + "@mui/internal-code-infra": "https://pkg.pr.new/mui/mui-public/@mui/internal-code-infra@e9658c5", "@mui/internal-docs-utils": "workspace:^", "@mui/internal-netlify-cache": "0.0.3-canary.3", "@mui/internal-scripts": "workspace:^", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 00d82ace7bb0c8..35559f5dbefa48 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -90,8 +90,8 @@ importers: specifier: 1.0.9-canary.70 version: 1.0.9-canary.70(@types/node@20.19.37)(esbuild@0.27.2)(jiti@2.6.1)(rolldown@1.0.0-rc.12)(rollup@4.46.2)(terser@5.39.0)(tsx@4.21.0)(yaml@2.8.0) '@mui/internal-code-infra': - specifier: 0.0.4-canary.14 - version: 0.0.4-canary.14(@next/eslint-plugin-next@15.5.14)(@types/node@20.19.37)(@typescript-eslint/eslint-plugin@8.57.1(@typescript-eslint/parser@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3))(@typescript-eslint/parser@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-webpack@0.13.10)(eslint@10.1.0(jiti@2.6.1))(postcss@8.5.8)(prettier@3.8.1)(stylelint@17.5.0(typescript@5.9.3))(typescript@5.9.3)(vitest@4.0.13) + specifier: https://pkg.pr.new/mui/mui-public/@mui/internal-code-infra@e9658c5 + version: https://pkg.pr.new/mui/mui-public/@mui/internal-code-infra@e9658c5(@next/eslint-plugin-next@15.5.14)(@types/node@20.19.37)(@typescript-eslint/eslint-plugin@8.57.1(@typescript-eslint/parser@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3))(@typescript-eslint/parser@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-webpack@0.13.10)(eslint@10.1.0(jiti@2.6.1))(postcss@8.5.8)(prettier@3.8.1)(stylelint@17.5.0(typescript@5.9.3))(typescript@5.9.3)(vitest@4.0.13) '@mui/internal-docs-utils': specifier: workspace:^ version: link:packages-internal/docs-utils @@ -3601,8 +3601,9 @@ packages: '@mui/core-downloads-tracker@5.18.0': resolution: {integrity: sha512-jbhwoQ1AY200PSSOrNXmrFCaSDSJWP7qk6urkTmIirvRXDROkqe+QwcLlUiw/PrREwsIF/vm3/dAXvjlMHF0RA==} - '@mui/internal-babel-plugin-display-name@1.0.4-canary.15': - resolution: {integrity: sha512-IKucc3N9wj9ByYS/37SirpOGq6e2/JTLFZ9/8i29rsiMLIn14MWLdRfJ5C1sApP12/xz7/h+EufdcbwrrjeW5w==} + '@mui/internal-babel-plugin-display-name@https://pkg.pr.new/mui/mui-public/@mui/internal-babel-plugin-display-name@e9658c57f0867258a47f25e841a47ed71f126664': + resolution: {integrity: sha512-JQg+I70sjFuRR3MvBSdpbWXZqeLlux/7/fu/fWjTiOLsLznhVdiayw61Sq6C9e3KSZ72KTa9mjsbJyCJBb5XkQ==, tarball: https://pkg.pr.new/mui/mui-public/@mui/internal-babel-plugin-display-name@e9658c57f0867258a47f25e841a47ed71f126664} + version: 1.0.2 peerDependencies: '@babel/core': 7.29.0 '@babel/preset-react': ^7.28.5 @@ -3613,8 +3614,16 @@ packages: peerDependencies: '@babel/core': 7.29.0 - '@mui/internal-babel-plugin-resolve-imports@2.0.7-canary.33': - resolution: {integrity: sha512-8p+SlALiLa5SS2rx+pONAxflnhZSqWIy+4HF1ph6CKE1eiCai7mtiV6U5ieJ+jrj0w0JqfifA3F/ADVA5VRI/Q==} + '@mui/internal-babel-plugin-minify-errors@https://pkg.pr.new/mui/mui-public/@mui/internal-babel-plugin-minify-errors@e9658c57f0867258a47f25e841a47ed71f126664': + resolution: {integrity: sha512-GHyE7v6a0Vrc1hbzYLb23N7n3ArjP304NxHbHxYiuJciMhKJds/fmesclKjMwvRRfBM8Wv/ci25OVhAz8r7JLQ==, tarball: https://pkg.pr.new/mui/mui-public/@mui/internal-babel-plugin-minify-errors@e9658c57f0867258a47f25e841a47ed71f126664} + version: 2.0.6 + engines: {node: '>=14.0.0'} + peerDependencies: + '@babel/core': 7.29.0 + + '@mui/internal-babel-plugin-resolve-imports@https://pkg.pr.new/mui/mui-public/@mui/internal-babel-plugin-resolve-imports@e9658c57f0867258a47f25e841a47ed71f126664': + resolution: {integrity: sha512-cnLU8XunE3WKuongT+UehNJGXrs+vLPyJGjbn9K1dhRBvwayy0jDxu+lyEzjFc92/VRxAweeyIdwozpY6pUiVQ==, tarball: https://pkg.pr.new/mui/mui-public/@mui/internal-babel-plugin-resolve-imports@e9658c57f0867258a47f25e841a47ed71f126664} + version: 2.0.5 peerDependencies: '@babel/core': 7.29.0 @@ -3622,8 +3631,9 @@ packages: resolution: {integrity: sha512-T0iKZnalOnDBL0LKl0cGhkA0R9qMZbx9ZuCbClUVQ3+UikKOVjECKPPdZZwR6Afgwlq9D17N0OurkEdToeGOpQ==} hasBin: true - '@mui/internal-code-infra@0.0.4-canary.14': - resolution: {integrity: sha512-UizdwynxRyEt3wUSyp6tIyQnR46hIW/FXAcGw9THwGi9cC9zl0tKzYWAf4SempFudMoy6lcwcwekGGVkt6TWdw==} + '@mui/internal-code-infra@https://pkg.pr.new/mui/mui-public/@mui/internal-code-infra@e9658c5': + resolution: {integrity: sha512-m8L7B14msXNnlf2CO3c4tQhxG02oJCM0gVYi/JIP1At2E7KcFOrWbwK4UyxDj1kyUj7igz/qSklvglZBpB/XoA==, tarball: https://pkg.pr.new/mui/mui-public/@mui/internal-code-infra@e9658c5} + version: 0.0.3 hasBin: true peerDependencies: '@next/eslint-plugin-next': '*' @@ -14679,7 +14689,7 @@ snapshots: '@mui/core-downloads-tracker@5.18.0': {} - '@mui/internal-babel-plugin-display-name@1.0.4-canary.15(@babel/core@7.29.0)(@babel/preset-react@7.28.5(@babel/core@7.29.0))': + '@mui/internal-babel-plugin-display-name@https://pkg.pr.new/mui/mui-public/@mui/internal-babel-plugin-display-name@e9658c57f0867258a47f25e841a47ed71f126664(@babel/core@7.29.0)(@babel/preset-react@7.28.5(@babel/core@7.29.0))': dependencies: '@babel/core': 7.29.0 '@babel/helper-module-imports': 7.28.6 @@ -14696,7 +14706,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@mui/internal-babel-plugin-resolve-imports@2.0.7-canary.33(@babel/core@7.29.0)': + '@mui/internal-babel-plugin-minify-errors@https://pkg.pr.new/mui/mui-public/@mui/internal-babel-plugin-minify-errors@e9658c57f0867258a47f25e841a47ed71f126664(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-module-imports': 7.28.6 + find-package-json: 1.2.0 + transitivePeerDependencies: + - supports-color + + '@mui/internal-babel-plugin-resolve-imports@https://pkg.pr.new/mui/mui-public/@mui/internal-babel-plugin-resolve-imports@e9658c57f0867258a47f25e841a47ed71f126664(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 resolve: 1.22.11 @@ -14733,7 +14751,7 @@ snapshots: - tsx - yaml - '@mui/internal-code-infra@0.0.4-canary.14(@next/eslint-plugin-next@15.5.14)(@types/node@20.19.37)(@typescript-eslint/eslint-plugin@8.57.1(@typescript-eslint/parser@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3))(@typescript-eslint/parser@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-webpack@0.13.10)(eslint@10.1.0(jiti@2.6.1))(postcss@8.5.8)(prettier@3.8.1)(stylelint@17.5.0(typescript@5.9.3))(typescript@5.9.3)(vitest@4.0.13)': + '@mui/internal-code-infra@https://pkg.pr.new/mui/mui-public/@mui/internal-code-infra@e9658c5(@next/eslint-plugin-next@15.5.14)(@types/node@20.19.37)(@typescript-eslint/eslint-plugin@8.57.1(@typescript-eslint/parser@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3))(@typescript-eslint/parser@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-webpack@0.13.10)(eslint@10.1.0(jiti@2.6.1))(postcss@8.5.8)(prettier@3.8.1)(stylelint@17.5.0(typescript@5.9.3))(typescript@5.9.3)(vitest@4.0.13)': dependencies: '@argos-ci/core': 5.2.0 '@babel/cli': 7.28.6(@babel/core@7.29.0) @@ -14749,9 +14767,9 @@ snapshots: '@eslint/json': 1.1.0 '@inquirer/confirm': 6.0.10(@types/node@20.19.37) '@inquirer/select': 5.1.2(@types/node@20.19.37) - '@mui/internal-babel-plugin-display-name': 1.0.4-canary.15(@babel/core@7.29.0)(@babel/preset-react@7.28.5(@babel/core@7.29.0)) - '@mui/internal-babel-plugin-minify-errors': 2.0.8-canary.24(@babel/core@7.29.0) - '@mui/internal-babel-plugin-resolve-imports': 2.0.7-canary.33(@babel/core@7.29.0) + '@mui/internal-babel-plugin-display-name': https://pkg.pr.new/mui/mui-public/@mui/internal-babel-plugin-display-name@e9658c57f0867258a47f25e841a47ed71f126664(@babel/core@7.29.0)(@babel/preset-react@7.28.5(@babel/core@7.29.0)) + '@mui/internal-babel-plugin-minify-errors': https://pkg.pr.new/mui/mui-public/@mui/internal-babel-plugin-minify-errors@e9658c57f0867258a47f25e841a47ed71f126664(@babel/core@7.29.0) + '@mui/internal-babel-plugin-resolve-imports': https://pkg.pr.new/mui/mui-public/@mui/internal-babel-plugin-resolve-imports@e9658c57f0867258a47f25e841a47ed71f126664(@babel/core@7.29.0) '@napi-rs/keyring': 1.2.0 '@next/eslint-plugin-next': 15.5.14 '@octokit/auth-action': 6.0.2