From 1c14127c4f54d815b3e1be48bddd5198dcb33a50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20Iwa=C5=84czuk?= Date: Wed, 22 Feb 2023 23:21:05 +0100 Subject: feat: support bare specifier resolution with package.json (#17864) This commit enables resolution of "bare specifiers" (eg. "import express from 'express';") if a "package.json" file is discovered. It's a step towards being able to run projects authored for Node.js without any changes. With this commit we are able to successfully run Vite projects without any changes to the user code. --------- Co-authored-by: David Sherret --- cli/graph_util.rs | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'cli/graph_util.rs') diff --git a/cli/graph_util.rs b/cli/graph_util.rs index ef1e0f59a..b5726b943 100644 --- a/cli/graph_util.rs +++ b/cli/graph_util.rs @@ -14,6 +14,7 @@ use crate::resolver::CliGraphResolver; use crate::tools::check; use deno_core::anyhow::bail; +use deno_core::anyhow::Context; use deno_core::error::custom_error; use deno_core::error::AnyError; use deno_core::ModuleSpecifier; @@ -152,6 +153,10 @@ pub async fn create_graph_and_maybe_check( ps.file_fetcher.clone(), PermissionsContainer::allow_all(), PermissionsContainer::allow_all(), + ps.options + .resolve_local_node_modules_folder() + .with_context(|| "Resolving local node_modules folder.")? + .map(|path| ModuleSpecifier::from_file_path(path).unwrap()), ); let maybe_imports = ps.options.to_maybe_imports()?; let maybe_package_json_deps = ps.options.maybe_package_json_deps()?; -- cgit v1.2.3