Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 9cbd126

Browse filesBrowse files
tyao1facebook-github-bot
authored andcommitted
Fix excluding generated dir under xplat_react
Reviewed By: lynnshaoyu Differential Revision: D74509778 fbshipit-source-id: e1d5cfe598cc45e938826d9041cf9294844adcfd
1 parent 6c2ede8 commit 9cbd126
Copy full SHA for 9cbd126

1 file changed

+27-13Lines changed: 27 additions & 13 deletions

File tree

Expand file treeCollapse file tree
Open diff view settings
Filter options
Expand file treeCollapse file tree
Open diff view settings
Collapse file

‎compiler/crates/relay-compiler/src/file_source/watchman_query_builder.rs‎

Copy file name to clipboardExpand all lines: compiler/crates/relay-compiler/src/file_source/watchman_query_builder.rs
+27-13Lines changed: 27 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -21,19 +21,33 @@ pub fn get_watchman_expr(config: &Config) -> Expr {
2121
let mut sources_conditions = vec![expr_any(get_sources_dir_exprs(config, &config.sources))];
2222
// not excluded by any glob
2323
if !config.excludes.is_empty() {
24-
sources_conditions.push(Expr::Not(Box::new(expr_any(
25-
config
26-
.excludes
27-
.iter()
28-
.map(|item| {
29-
Expr::Match(MatchTerm {
30-
glob: item.into(),
31-
wholename: true,
32-
..Default::default()
33-
})
34-
})
35-
.collect(),
36-
))));
24+
let mut excludes = vec![];
25+
let mut exclude_negates = vec![];
26+
for exclude in config.excludes.iter() {
27+
if let Some(negate) = exclude.strip_prefix("!") {
28+
exclude_negates.push(Expr::Match(MatchTerm {
29+
glob: negate.into(),
30+
wholename: true,
31+
..Default::default()
32+
}));
33+
} else {
34+
excludes.push(Expr::Match(MatchTerm {
35+
glob: exclude.into(),
36+
wholename: true,
37+
..Default::default()
38+
}));
39+
}
40+
}
41+
42+
let mut excluded_expr = expr_any(excludes);
43+
if !exclude_negates.is_empty() {
44+
excluded_expr = Expr::All(vec![
45+
excluded_expr,
46+
Expr::Not(Box::new(expr_any(exclude_negates))),
47+
]);
48+
}
49+
50+
sources_conditions.push(Expr::Not(Box::new(excluded_expr)));
3751
}
3852
let sources_expr = Expr::All(sources_conditions);
3953

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.