Skip to content

Commit

Permalink
fix(npm): support cjs entrypoint in node_modules folder (#21224)
Browse files Browse the repository at this point in the history
Closes #21109
  • Loading branch information
dsherret authored and kt3k committed Nov 17, 2023
1 parent 66c64ac commit e95d5cc
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 3 deletions.
21 changes: 21 additions & 0 deletions cli/tests/integration/npm_tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2653,3 +2653,24 @@ pub fn different_nested_dep_byonm() {
.run();
output.assert_matches_file("npm/different_nested_dep/main.out");
}

#[test]
pub fn run_cjs_in_node_modules_folder() {
let test_context = TestContextBuilder::for_npm().use_temp_cwd().build();
let temp_dir = test_context.temp_dir();
temp_dir.write("package.json", "{}");
temp_dir.write("deno.json", r#"{ "unstable": ["byonm"] }"#);
let pkg_dir = temp_dir.path().join("node_modules/package");
pkg_dir.create_dir_all();
pkg_dir
.join("package.json")
.write(r#"{ "name": "package" }"#);
pkg_dir
.join("main.js")
.write("console.log('hi'); module.exports = 'hi';");
test_context
.new_command()
.args("run node_modules/package/main.js")
.run()
.assert_matches_text("hi\n");
}
4 changes: 2 additions & 2 deletions cli/tools/run/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,8 @@ To grant permissions, set them before the script argument. For example:
let http_client = factory.http_client();
let cli_options = factory.cli_options();

// Run a background task that checks for available upgrades. If an earlier
// run of this background task found a new version of Deno.
// Run a background task that checks for available upgrades or output
// if an earlier run of this background task found a new version of Deno.
super::upgrade::check_for_upgrades(
http_client.clone(),
deno_dir.upgrade_check_file_path(),
Expand Down
4 changes: 3 additions & 1 deletion cli/worker.rs
Original file line number Diff line number Diff line change
Expand Up @@ -495,7 +495,9 @@ impl CliMainWorkerFactory {
}

(node_resolution.into_url(), is_main_cjs)
} else if shared.options.is_npm_main {
} else if shared.options.is_npm_main
|| shared.node_resolver.in_npm_package(&main_module)
{
let node_resolution =
shared.node_resolver.url_to_node_resolution(main_module)?;
let is_main_cjs = matches!(node_resolution, NodeResolution::CommonJs(_));
Expand Down

0 comments on commit e95d5cc

Please sign in to comment.