summaryrefslogtreecommitdiff
path: root/cli/factory.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/factory.rs')
-rw-r--r--cli/factory.rs41
1 files changed, 25 insertions, 16 deletions
diff --git a/cli/factory.rs b/cli/factory.rs
index 0c887b720..b5240a85a 100644
--- a/cli/factory.rs
+++ b/cli/factory.rs
@@ -32,6 +32,7 @@ use crate::node::CliCjsCodeAnalyzer;
use crate::node::CliNodeCodeTranslator;
use crate::npm::create_cli_npm_resolver;
use crate::npm::CliNpmResolver;
+use crate::npm::CliNpmResolverByonmCreateOptions;
use crate::npm::CliNpmResolverCreateOptions;
use crate::npm::CliNpmResolverManagedCreateOptions;
use crate::npm::CliNpmResolverManagedPackageJsonInstallerOption;
@@ -300,7 +301,14 @@ impl CliFactory {
.npm_resolver
.get_or_try_init_async(async {
let fs = self.fs();
- create_cli_npm_resolver(
+ create_cli_npm_resolver(if self.options.unstable_byonm() {
+ CliNpmResolverCreateOptions::Byonm(CliNpmResolverByonmCreateOptions {
+ fs: fs.clone(),
+ // todo(byonm): actually resolve this properly because the package.json
+ // might be in an ancestor directory
+ root_node_modules_dir: self.options.initial_cwd().join("node_modules"),
+ })
+ } else {
CliNpmResolverCreateOptions::Managed(CliNpmResolverManagedCreateOptions {
snapshot: match self.options.resolve_npm_resolution_snapshot()? {
Some(snapshot) => {
@@ -329,7 +337,7 @@ impl CliFactory {
npm_system_info: self.options.npm_system_info(),
npm_registry_url: crate::args::npm_registry_default_url().to_owned(),
})
- ).await
+ }).await
})
.await
}
@@ -365,24 +373,25 @@ impl CliFactory {
.services
.resolver
.get_or_try_init_async(async {
- Ok(Arc::new(CliGraphResolver::new(
- if self.options.no_npm() {
+ Ok(Arc::new(CliGraphResolver::new(CliGraphResolverOptions {
+ fs: self.fs().clone(),
+ cjs_resolutions: Some(self.cjs_resolutions().clone()),
+ node_resolver: Some(self.node_resolver().await?.clone()),
+ npm_resolver: if self.options.no_npm() {
None
} else {
Some(self.npm_resolver().await?.clone())
},
- self.package_json_deps_provider().clone(),
- CliGraphResolverOptions {
- maybe_jsx_import_source_config: self
- .options
- .to_maybe_jsx_import_source_config()?,
- maybe_import_map: self.maybe_import_map().await?.clone(),
- maybe_vendor_dir: self.options.vendor_dir_path(),
- bare_node_builtins_enabled: self
- .options
- .unstable_bare_node_builtlins(),
- },
- )))
+ package_json_deps_provider: self.package_json_deps_provider().clone(),
+ maybe_jsx_import_source_config: self
+ .options
+ .to_maybe_jsx_import_source_config()?,
+ maybe_import_map: self.maybe_import_map().await?.clone(),
+ maybe_vendor_dir: self.options.vendor_dir_path(),
+ bare_node_builtins_enabled: self
+ .options
+ .unstable_bare_node_builtlins(),
+ })))
})
.await
}