diff --git a/docs/vitest.config.mts b/docs/vitest.config.mts index c7a446fa86..116313d8fa 100644 --- a/docs/vitest.config.mts +++ b/docs/vitest.config.mts @@ -1,5 +1,5 @@ import { mergeConfig, defineProject } from 'vitest/config'; -// eslint-disable-next-line import/no-relative-packages +// eslint-disable-next-line import-x/no-relative-packages import sharedConfig from '../vitest.shared.mts'; export default mergeConfig( diff --git a/eslint.config.mjs b/eslint.config.mjs index 150641e3fe..3d0002ef59 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -38,7 +38,7 @@ export default defineConfig( baseDirectory: dirname, }), settings: { - 'import/resolver': { + 'import-x/resolver': { typescript: { project: ['tsconfig.json'], }, @@ -49,7 +49,7 @@ export default defineConfig( * their own groups. */ rules: { - 'import/export': 'off', // FIXME: Maximum call stack exceeded + 'import-x/export': 'off', // FIXME: Maximum call stack exceeded 'no-restricted-imports': [ 'error', { @@ -111,7 +111,7 @@ export default defineConfig( extends: createDocsConfig(), rules: { '@typescript-eslint/no-use-before-define': 'off', - 'import/extensions': [ + 'import-x/extensions': [ 'error', // Ignores extensions in package imports as well as local ts/tsx imports but .mjs is always required 'ignorePackages', @@ -136,7 +136,7 @@ export default defineConfig( '@typescript-eslint/no-use-before-define': 'off', 'no-alert': 'off', 'no-console': 'off', - 'import/no-relative-packages': 'off', + 'import-x/no-relative-packages': 'off', }, }, { diff --git a/package.json b/package.json index b2fd0835f7..1700723d86 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,7 @@ "@mui/internal-babel-plugin-display-name": "^1.0.4-canary.2", "@mui/internal-babel-plugin-resolve-imports": "^2.0.7-canary.12", "@mui/internal-bundle-size-checker": "^1.0.9-canary.13", - "@mui/internal-code-infra": "^0.0.2-canary.26", + "@mui/internal-code-infra": "https://pkg.pr.new/mui/mui-public/@mui/internal-code-infra@856013b", "@mui/internal-docs-utils": "^2.0.1", "@mui/internal-markdown": "^2.0.7", "@mui/internal-scripts": "^2.0.10", diff --git a/packages/react/vitest.config.mts b/packages/react/vitest.config.mts index 199b7b9d04..dfeecea4f7 100644 --- a/packages/react/vitest.config.mts +++ b/packages/react/vitest.config.mts @@ -1,5 +1,5 @@ import { mergeConfig, defineProject } from 'vitest/config'; -// eslint-disable-next-line import/no-relative-packages +// eslint-disable-next-line import-x/no-relative-packages import sharedConfig from '../../vitest.shared.mts'; export default mergeConfig( diff --git a/packages/utils/vitest.config.mts b/packages/utils/vitest.config.mts index 199b7b9d04..dfeecea4f7 100644 --- a/packages/utils/vitest.config.mts +++ b/packages/utils/vitest.config.mts @@ -1,5 +1,5 @@ import { mergeConfig, defineProject } from 'vitest/config'; -// eslint-disable-next-line import/no-relative-packages +// eslint-disable-next-line import-x/no-relative-packages import sharedConfig from '../../vitest.shared.mts'; export default mergeConfig( diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ede4945ccd..8e3ee54339 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -62,8 +62,8 @@ importers: specifier: ^1.0.9-canary.13 version: 1.0.9-canary.13(@types/node@22.17.0)(jiti@2.5.1)(lightningcss@1.30.1)(rollup@4.46.2)(terser@5.43.1)(tsx@4.20.3)(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.101.0))(yaml@2.8.1) '@mui/internal-code-infra': - specifier: ^0.0.2-canary.26 - version: 0.0.2-canary.26(eslint@9.32.0(jiti@2.5.1))(prettier@3.6.2)(typescript@5.9.2) + specifier: https://pkg.pr.new/mui/mui-public/@mui/internal-code-infra@856013b + version: https://pkg.pr.new/mui/mui-public/@mui/internal-code-infra@856013b(@typescript-eslint/utils@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.32.0(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1))(prettier@3.6.2)(typescript@5.9.2) '@mui/internal-docs-utils': specifier: ^2.0.1 version: 2.0.2 @@ -2529,8 +2529,9 @@ packages: resolution: {integrity: sha512-l/ubn3Yn5HoJcU7atoUhG4s4g2KJuAWIhbCVQW6QNBM1AecRye8H+IobkTWZZHcI2iHj//VUTlW1Ymqxreyj2g==} hasBin: true - '@mui/internal-code-infra@0.0.2-canary.26': - resolution: {integrity: sha512-6nntDkppu+Z6qF3k963HfGCHcAoSfQP8l2o+Gt8/CIQOfoJjom8lXwlwbRt3oxA1tgZ31H5U74EwZ28N/pEFvA==} + '@mui/internal-code-infra@https://pkg.pr.new/mui/mui-public/@mui/internal-code-infra@856013b': + resolution: {tarball: https://pkg.pr.new/mui/mui-public/@mui/internal-code-infra@856013b} + version: 0.0.1 hasBin: true peerDependencies: eslint: ^9.0.0 @@ -5695,6 +5696,10 @@ packages: resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} engines: {node: '>= 12'} + comment-parser@1.4.1: + resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} + engines: {node: '>= 12.0.0'} + common-ancestor-path@1.0.1: resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==} @@ -6395,6 +6400,19 @@ packages: eslint-import-resolver-webpack: optional: true + eslint-plugin-import-x@4.16.1: + resolution: {integrity: sha512-vPZZsiOKaBAIATpFE2uMI4w5IRwdv/FpQ+qZZMR4E+PeOcM4OeoEbqxRMnywdxP19TyB/3h6QBB0EWon7letSQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/utils': ^8.0.0 + eslint: ^8.57.0 || ^9.0.0 + eslint-import-resolver-node: '*' + peerDependenciesMeta: + '@typescript-eslint/utils': + optional: true + eslint-import-resolver-node: + optional: true + eslint-plugin-import@2.32.0: resolution: {integrity: sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==} engines: {node: '>=4'} @@ -13463,7 +13481,7 @@ snapshots: - webpack-cli - yaml - '@mui/internal-code-infra@0.0.2-canary.26(eslint@9.32.0(jiti@2.5.1))(prettier@3.6.2)(typescript@5.9.2)': + '@mui/internal-code-infra@https://pkg.pr.new/mui/mui-public/@mui/internal-code-infra@856013b(@typescript-eslint/utils@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.32.0(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1))(prettier@3.6.2)(typescript@5.9.2)': dependencies: '@argos-ci/core': 3.2.3 '@eslint/compat': 1.3.2(eslint@9.32.0(jiti@2.5.1)) @@ -13474,9 +13492,9 @@ snapshots: eslint-config-airbnb: 19.0.4(eslint-plugin-import@2.32.0(eslint@9.32.0(jiti@2.5.1)))(eslint-plugin-jsx-a11y@6.10.2(eslint@9.32.0(jiti@2.5.1)))(eslint-plugin-react-hooks@6.0.0-rc1(eslint@9.32.0(jiti@2.5.1)))(eslint-plugin-react@7.37.5(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1)) eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.32.0(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1)) eslint-config-prettier: 10.1.8(eslint@9.32.0(jiti@2.5.1)) - eslint-import-resolver-typescript: 4.4.4(eslint-plugin-import@2.32.0(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1)) - eslint-module-utils: 2.12.1(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4(eslint-plugin-import@2.32.0(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1)) - eslint-plugin-import: 2.32.0(eslint-import-resolver-typescript@4.4.4)(eslint@9.32.0(jiti@2.5.1)) + eslint-import-resolver-typescript: 4.4.4(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.32.0(jiti@2.5.1)))(eslint-plugin-import@2.32.0(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1)) + eslint-module-utils: 2.12.1(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.32.0(jiti@2.5.1)))(eslint-plugin-import@2.32.0(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1)) + eslint-plugin-import-x: 4.16.1(@typescript-eslint/utils@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.32.0(jiti@2.5.1)) eslint-plugin-jsx-a11y: 6.10.2(eslint@9.32.0(jiti@2.5.1)) eslint-plugin-mocha: 11.1.0(eslint@9.32.0(jiti@2.5.1)) eslint-plugin-react: 7.37.5(eslint@9.32.0(jiti@2.5.1)) @@ -13494,9 +13512,10 @@ snapshots: yargs: 17.7.2 transitivePeerDependencies: - '@typescript-eslint/parser' + - '@typescript-eslint/utils' - eslint-import-resolver-node - eslint-import-resolver-webpack - - eslint-plugin-import-x + - eslint-plugin-import - supports-color - typescript @@ -17134,6 +17153,8 @@ snapshots: commander@8.3.0: {} + comment-parser@1.4.1: {} + common-ancestor-path@1.0.1: {} common-path-prefix@3.0.0: {} @@ -17898,7 +17919,7 @@ snapshots: dependencies: confusing-browser-globals: 1.0.11 eslint: 9.32.0(jiti@2.5.1) - eslint-plugin-import: 2.32.0(eslint-import-resolver-typescript@4.4.4)(eslint@9.32.0(jiti@2.5.1)) + eslint-plugin-import: 2.32.0(eslint@9.32.0(jiti@2.5.1)) object.assign: 4.1.7 object.entries: 1.1.9 semver: 6.3.1 @@ -17907,7 +17928,7 @@ snapshots: dependencies: eslint: 9.32.0(jiti@2.5.1) eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.32.0(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1)) - eslint-plugin-import: 2.32.0(eslint-import-resolver-typescript@4.4.4)(eslint@9.32.0(jiti@2.5.1)) + eslint-plugin-import: 2.32.0(eslint@9.32.0(jiti@2.5.1)) eslint-plugin-jsx-a11y: 6.10.2(eslint@9.32.0(jiti@2.5.1)) eslint-plugin-react: 7.37.5(eslint@9.32.0(jiti@2.5.1)) eslint-plugin-react-hooks: 6.0.0-rc1(eslint@9.32.0(jiti@2.5.1)) @@ -17933,7 +17954,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@4.4.4(eslint-plugin-import@2.32.0(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1)): + eslint-import-resolver-typescript@4.4.4(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.32.0(jiti@2.5.1)))(eslint-plugin-import@2.32.0(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1)): dependencies: debug: 4.4.1(supports-color@8.1.1) eslint: 9.32.0(jiti@2.5.1) @@ -17944,21 +17965,40 @@ snapshots: tinyglobby: 0.2.14 unrs-resolver: 1.11.1 optionalDependencies: - eslint-plugin-import: 2.32.0(eslint-import-resolver-typescript@4.4.4)(eslint@9.32.0(jiti@2.5.1)) + eslint-plugin-import: 2.32.0(eslint@9.32.0(jiti@2.5.1)) + eslint-plugin-import-x: 4.16.1(@typescript-eslint/utils@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.32.0(jiti@2.5.1)) transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.1(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4(eslint-plugin-import@2.32.0(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1)): + eslint-module-utils@2.12.1(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.32.0(jiti@2.5.1)))(eslint-plugin-import@2.32.0(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1)): dependencies: debug: 3.2.7 optionalDependencies: eslint: 9.32.0(jiti@2.5.1) eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 4.4.4(eslint-plugin-import@2.32.0(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1)) + eslint-import-resolver-typescript: 4.4.4(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.32.0(jiti@2.5.1)))(eslint-plugin-import@2.32.0(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1)) + transitivePeerDependencies: + - supports-color + + eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.32.0(jiti@2.5.1)): + dependencies: + '@typescript-eslint/types': 8.39.0 + comment-parser: 1.4.1 + debug: 4.4.1(supports-color@8.1.1) + eslint: 9.32.0(jiti@2.5.1) + eslint-import-context: 0.1.9(unrs-resolver@1.11.1) + is-glob: 4.0.3 + minimatch: 10.0.3 + semver: 7.7.2 + stable-hash-x: 0.2.0 + unrs-resolver: 1.11.1 + optionalDependencies: + '@typescript-eslint/utils': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2) + eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color - eslint-plugin-import@2.32.0(eslint-import-resolver-typescript@4.4.4)(eslint@9.32.0(jiti@2.5.1)): + eslint-plugin-import@2.32.0(eslint@9.32.0(jiti@2.5.1)): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.9 @@ -17969,7 +18009,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.32.0(jiti@2.5.1) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.1(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4(eslint-plugin-import@2.32.0(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1)) + eslint-module-utils: 2.12.1(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.32.0(jiti@2.5.1)))(eslint-plugin-import@2.32.0(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1)) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 diff --git a/test/e2e/vitest.config.mts b/test/e2e/vitest.config.mts index 1dd1dbb7af..97c47e801d 100644 --- a/test/e2e/vitest.config.mts +++ b/test/e2e/vitest.config.mts @@ -1,5 +1,5 @@ import { mergeConfig, defineProject } from 'vitest/config'; -// eslint-disable-next-line import/no-relative-packages +// eslint-disable-next-line import-x/no-relative-packages import sharedConfig from '../../vitest.shared.mts'; export default mergeConfig( diff --git a/test/regressions/vitest.config.mts b/test/regressions/vitest.config.mts index 1dd1dbb7af..97c47e801d 100644 --- a/test/regressions/vitest.config.mts +++ b/test/regressions/vitest.config.mts @@ -1,5 +1,5 @@ import { mergeConfig, defineProject } from 'vitest/config'; -// eslint-disable-next-line import/no-relative-packages +// eslint-disable-next-line import-x/no-relative-packages import sharedConfig from '../../vitest.shared.mts'; export default mergeConfig( diff --git a/vitest.shared.mts b/vitest.shared.mts index 6301f6fa67..24c346dd2d 100644 --- a/vitest.shared.mts +++ b/vitest.shared.mts @@ -1,7 +1,7 @@ import { resolve, dirname } from 'node:path'; import { fileURLToPath } from 'node:url'; import { type UserWorkspaceConfig } from 'vitest/config'; -// eslint-disable-next-line import/extensions +// eslint-disable-next-line import-x/extensions import viteConfig from '@base-ui-components/monorepo-tests/vite.shared.config.mjs'; const CURRENT_DIR = dirname(fileURLToPath(import.meta.url));