fix(linter): hanging when source has syntax/is flow (#7432)

Closes #7406

See
https://github.com/oxc-project/oxc/issues/7406#issuecomment-2494981152
for why this is happening

not sure whether there's a better solve for this/
This commit is contained in:
Cameron 2024-11-23 15:20:19 +00:00 committed by GitHub
parent c6d790b287
commit 8507464d5a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 14 additions and 1 deletions

View file

@ -414,6 +414,16 @@ mod test {
assert_eq!(result.number_of_errors, 0);
}
#[test]
// https://github.com/oxc-project/oxc/issues/7406
fn ignore_flow_import_plugin_directory() {
let args = &["--import-plugin", "-A all", "-D no-cycle", "fixtures/flow/"];
let result = test(args);
assert_eq!(result.number_of_files, 2);
assert_eq!(result.number_of_warnings, 0);
assert_eq!(result.number_of_errors, 0);
}
#[test]
fn filter_allow_all() {
let args = &["-A", "all", "fixtures/linter"];

View file

@ -11,7 +11,7 @@ use oxc_allocator::Allocator;
use oxc_diagnostics::{DiagnosticSender, DiagnosticService, Error, OxcDiagnostic};
use oxc_parser::{ParseOptions, Parser};
use oxc_resolver::Resolver;
use oxc_semantic::SemanticBuilder;
use oxc_semantic::{ModuleRecord, SemanticBuilder};
use oxc_span::{SourceType, VALID_EXTENSIONS};
use rayon::{iter::ParallelBridge, prelude::ParallelIterator};
use rustc_hash::FxHashSet;
@ -199,6 +199,9 @@ impl Runtime {
.parse();
if !ret.errors.is_empty() {
if self.resolver.is_some() {
self.modules.add_resolved_module(path, Arc::new(ModuleRecord::default()));
}
return if ret.is_flow_language {
vec![]
} else {