Diff Delta:
71
About 44 Diff Delta/hour
Classified as:
General
andymai's Description of Work
Summary
Addresses #1281.
Re-submission of #3274, which was auto-closed when its source fork was accidentally deleted. The commits here are identical to that PR's reviewed final state (head 3510938), restored from refs/pull/3274/head β no code changes. #3274 was itself the post-review recreation of #3200; both prior threads are linked below so reviewers keep the full history.
Both review comments from #3200 were already addressed and carried into these commits:
- Uses
minimatch(already a dependency) instead of dynamic regex construction, per review feedback - The matching is inlined directly in
isBuiltInβ no wrapper function, per review feedback
Changes
-
src/core/importType.js: patterns inimport/core-modulescontaining*are matched withminimatch(exact matches still useindexOffirst) - Tests for basic wildcards (
@my-monorepo/*), multiple wildcards (@my-*/*), mixed exact + wildcard lists, and subpaths of wildcard-matched modules -
no-extraneous-dependenciesrule tests for wildcard core-modules - README example of wildcard usage
Test plan
- [x] All existing tests pass
- [x] New tests in
tests/src/core/importType.jsandtests/src/rules/no-extraneous-dependencies.js
Notes
- Non-string entries in the setting are ignored (previously
indexOftolerated them;pattern.includeswould have thrown), and minimatch's!negation /#comment semantics are disabled (nonegate/nocomment) so a pattern like!@foo/*can't accidentally match everything. -
Known limitation:eslint-module-utils'resolvestill does an exact-matchSet.has()onimport/core-modules(utils/resolve.js), so wildcard entries are honored byimportType-based rules but not by resolver-based ones likeno-unresolved. Happy to extend this toeslint-module-utilsin this PR or a follow-up if that's the preferred direction.
Prior history: #3274 (auto-closed, fork deleted) Β· #3200 (review discussion)
5 total changed files
Loading changes...
Loading changes...
Loading changes...
Loading changes...
Loading changes...
Youβve reached the end of the pull request
All files reviewed β nice work, champ! πͺ