Skip to content

Commit

Permalink
ignore node_modules
Browse files Browse the repository at this point in the history
  • Loading branch information
kdy1 committed Aug 25, 2023
1 parent 19142db commit 19b43de
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 2 deletions.
2 changes: 1 addition & 1 deletion crates/swc/src/config/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1951,7 +1951,7 @@ fn build_resolver(base_url: PathBuf, paths: CompiledPaths) -> Box<SwcImportResol

let r = {
let r = TsConfigResolver::new(
NodeModulesResolver::new(Default::default(), Default::default(), true),
NodeModulesResolver::without_node_modules(Default::default(), Default::default(), true),
base_url.clone(),
paths.clone(),
);
Expand Down
2 changes: 1 addition & 1 deletion crates/swc/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ pub mod resolver {
preserve_symlinks: bool,
) -> CachingResolver<TsConfigResolver<NodeModulesResolver>> {
let r = TsConfigResolver::new(
NodeModulesResolver::new(target_env, alias, preserve_symlinks),
NodeModulesResolver::without_node_modules(target_env, alias, preserve_symlinks),
base_url,
paths,
);
Expand Down
20 changes: 20 additions & 0 deletions crates/swc_ecma_loader/src/resolvers/node.rs
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@ pub struct NodeModulesResolver {
alias: AHashMap<String, String>,
// if true do not resolve symlink
preserve_symlinks: bool,
ignore_node_modules: bool,
}

static EXTENSIONS: &[&str] = &["ts", "tsx", "js", "jsx", "json", "node"];
Expand All @@ -118,6 +119,21 @@ impl NodeModulesResolver {
target_env,
alias,
preserve_symlinks,
ignore_node_modules: false,
}
}

/// Create a node modules resolver which does not care about `node_modules`
pub fn without_node_modules(
target_env: TargetEnv,
alias: AHashMap<String, String>,
preserve_symlinks: bool,
) -> Self {
Self {
target_env,
alias,
preserve_symlinks,
ignore_node_modules: true,
}
}

Expand Down Expand Up @@ -369,6 +385,10 @@ impl NodeModulesResolver {
base_dir: &Path,
target: &str,
) -> Result<Option<PathBuf>, Error> {
if self.ignore_node_modules {
return Ok(None);
}

let absolute_path = to_absolute_path(base_dir)?;
let mut path = Some(&*absolute_path);
while let Some(dir) = path {
Expand Down

0 comments on commit 19b43de

Please sign in to comment.