8000 fix: references should take higher priority · unrs/unrs-resolver@cb644e6 · GitHub
[go: up one dir, main page]

Skip to content

Commit cb644e6

Browse files
committed
fix: references should take higher priority
1 parent 4ce4451 commit cb644e6

File tree

3 files changed

+8
-4
lines changed

3 files changed

+8
-4
lines changed

examples/resolver.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ fn main() {
1111

1212
let specifier = env::args().nth(2).expect("specifier");
1313

14+
println!("path: {path:?}");
15+
println!("specifier: {specifier}");
16+
1417
let options = ResolveOptions {
1518
alias_fields: vec![vec!["browser".into()]],
1619
alias: vec![("asdf".into(), vec![AliasValue::from("./test.js")])],

src/tests/tsconfig_project_references.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ fn auto() {
3131
(f.join("app"), "@/index.ts", f.join("app/aliased/index.ts")),
3232
(f.join("app"), "@/../index.ts", f.join("app/index.ts")),
3333
// Test project reference
34-
(f.join("project_a"), "@/index.ts", f.join("app/aliased/index.ts")),
35-
(f.join("project_b/src"), "@/index.ts", f.join("app/aliased/index.ts")),
34+
(f.join("project_a"), "@/index.ts", f.join("project_a/aliased/index.ts")),
35+
(f.join("project_b/src"), "@/index.ts", f.join("project_b/src/aliased/index.ts")),
3636
// Does not have paths alias
3737
(f.join("project_a"), "./index.ts", f.join("project_a/index.ts")),
3838
(f.join("project_c"), "./index.ts", f.join("project_c/index.ts")),
@@ -161,7 +161,7 @@ fn manual() {
161161
(f.join("app"), "@/index.ts", Ok(f.join("app/aliased/index.ts"))),
162162
(f.join("app"), "@/../index.ts", Ok(f.join("app/index.ts"))),
163163
// Test project reference
164-
(f.join("project_a"), "@/index.ts", Ok(f.join("app/aliased/index.ts"))),
164+
(f.join("project_a"), "@/index.ts", Ok(f.join("project_a/aliased/index.ts"))),
165165
(f.join("project_b/src"), "@/index.ts", Ok(f.join("app/aliased/index.ts"))),
166166
// Does not have paths alias
167167
(f.join("project_a"), "./index.ts", Ok(f.join("project_a/index.ts"))),

src/tsconfig.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,8 +131,9 @@ impl TsConfig {
131131
pub fn resolve(&self, path: &Path, specifier: &str) -> Vec<PathBuf> {
132132
let mut paths = self.resolve_path_alias(specifier);
133133
for tsconfig in self.references.iter().filter_map(|reference| reference.tsconfig.as_ref()) {
134+
// references takes higher priority
134135
if path.starts_with(tsconfig.base_path()) {
135-
paths = [paths, tsconfig.resolve_path_alias(specifier)].concat();
136+
paths = [tsconfig.resolve_path_alias(specifier), paths].concat();
136137
break;
137138
}
138139
}

0 commit comments

Comments
 (0)
0