Feature/use second level mui imports (#743)

* Require "Theme" to be passed to "SxProps"

Decreases typescript performance otherwise

* Disallow "top" and "third-level" MUI imports

* Exclude "node_modules" in tsconfig
This commit is contained in:
schroda
2024-04-14 15:50:12 +02:00
committed by GitHub
parent 418da46c62
commit 473e85a8ed
120 changed files with 376 additions and 198 deletions

View File

@@ -1,6 +1,13 @@
module.exports = {
extends: ['airbnb', 'airbnb-typescript', 'prettier'],
plugins: ['unused-imports', 'eslint-plugin-import', '@typescript-eslint', 'no-relative-import-paths', 'prettier', 'header'],
plugins: [
'unused-imports',
'eslint-plugin-import',
'@typescript-eslint',
'no-relative-import-paths',
'prettier',
'header',
],
parserOptions: {
project: ['./tsconfig.json', './tsconfig.node.json', './tools/scripts/tsconfig.json'],
},
@@ -61,6 +68,28 @@ module.exports = {
prefix: '@',
},
],
'no-restricted-imports': [
'error',
{
patterns: [
{
group: ['@mui/*', '!@mui/material/', '!@mui/icons-material/', '!@mui/x-date-pickers/'],
},
{
group: ['@mui/*/*/*'],
},
],
},
],
'no-restricted-syntax': [
'error',
{
selector: 'TSTypeReference[typeName.name="SxProps"]:not([typeParameters])',
message: 'SxProps must have Theme parameter to avoid significant compiler slowdown.',
},
],
},
},
{