Add custom ESLint rule for pattern-based import restrictions #900
+349
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds
material-ui/no-restricted-importsrule to replace complexno-restricted-importsconfigurations with robust glob pattern matching on import source strings.Implementation
Rule:
packages/code-infra/src/eslint/material-ui/rules/no-restricted-imports.mjs'@mui/material/Box') rather than resolved file paths@mui/material/*,@mui/*/internal/**,./**/*.cssimport) and CommonJS (require())Tests: 17 test cases covering glob patterns, wildcards, named/namespace imports, CommonJS, custom messages
Export: Added to
material-uiplugin inindex.mjsDocumentation: Added ESLint plugin section to README with usage examples
Usage
Comparison with existing rule
no-restricted-resolved-importsmatches resolved file paths (after module resolution). This new rule matches import source strings directly, making it more suitable for restricting module/package imports by pattern.Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
iojs.orgcurl --fail --compressed -q -L -s REDACTED -o -(dns block)If you need me to access, download, or install something from one of these locations, you can either:
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.