-
-
Notifications
You must be signed in to change notification settings - Fork 475
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(linter): rule no-restricted-imports
support missing options
#8076
base: main
Are you sure you want to change the base?
fix(linter): rule no-restricted-imports
support missing options
#8076
Conversation
How to use the Graphite Merge QueueAdd either label to this PR to merge it via the merge queue:
You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has enabled the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. |
CodSpeed Performance ReportMerging #8076 will not alter performanceComparing Summary
|
… option inside `patterns`
no-restricted-imports
support regex
option inside patterns
no-restricted-imports
support regex
& importNamePattern
option inside patterns
no-restricted-imports
support regex
& importNamePattern
option inside patterns
no-restricted-imports
support missing options
Cargo.toml
Outdated
@@ -178,6 +178,7 @@ prettyplease = "0.2.25" | |||
project-root = "0.2.2" | |||
rayon = "1.10.0" | |||
regex = "1.11.1" | |||
regress = "0.10.1" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it possible to not include another regex dependency? It's a bit heavy.
Are we able to limit the regex usage instead?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Rust regex and JS Regex are differently.
In the test are differnt regexs like:
@app/(?!(api/enums$)).*
foo/(?!bar)
which then would fail. I can disable the test and use rust regex if you want.
I expect that some setups will fail because of this :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed the package with this commit: 0da9b9d
Unicode is supported by default (flag u
)
Case-Insenstive can not be enabled by the option case_senstive
(flag i
). It must be included in the regex, see the documentaiton here: https://docs.rs/regex/1.10.4/regex/#grouping-and-flags
return false; | ||
}; | ||
|
||
let Ok(reg_exp) = Regex::new(regex.as_str()) else { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
probably a TODO - use https://doc.rust-lang.org/std/sync/struct.OnceLock.html to avoid having to re-compile the regex a bunch of times
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
…ld regex in `from_configuration`
https://eslint.org/docs/latest/rules/no-restricted-imports#regex
https://eslint.org/docs/latest/rules/no-restricted-imports#importnamepattern
https://eslint.org/docs/latest/rules/no-restricted-imports#allowimportnamepattern
Needed to install
regress
to support JS Sntax like Lookaheads and LookbehindsNext Goals: