diff --git a/resolvers/deno/cjs.rs b/resolvers/deno/cjs.rs index 76bc08e2bc..f9f38e8b43 100644 --- a/resolvers/deno/cjs.rs +++ b/resolvers/deno/cjs.rs @@ -274,7 +274,7 @@ impl self.pkg_json_resolver.get_closest_package_json(&path)? { let is_file_location_cjs = pkg_json.typ != "module"; - Ok(if is_file_location_cjs { + Ok(if is_file_location_cjs || path.extension().is_none() { ResolutionMode::Require } else { ResolutionMode::Import diff --git a/tests/specs/node/import_cjs_file_no_ext_mjs_pkg/__test__.jsonc b/tests/specs/node/import_cjs_file_no_ext_mjs_pkg/__test__.jsonc new file mode 100644 index 0000000000..db0303092f --- /dev/null +++ b/tests/specs/node/import_cjs_file_no_ext_mjs_pkg/__test__.jsonc @@ -0,0 +1,4 @@ +{ + "args": "run main.mts", + "output": "3\n" +} diff --git a/tests/specs/node/import_cjs_file_no_ext_mjs_pkg/main.mts b/tests/specs/node/import_cjs_file_no_ext_mjs_pkg/main.mts new file mode 100644 index 0000000000..7ae40ce000 --- /dev/null +++ b/tests/specs/node/import_cjs_file_no_ext_mjs_pkg/main.mts @@ -0,0 +1,3 @@ +import { add } from "package/add"; + +console.log(add(1, 2)); diff --git a/tests/specs/node/import_cjs_file_no_ext_mjs_pkg/node_modules/package/add b/tests/specs/node/import_cjs_file_no_ext_mjs_pkg/node_modules/package/add new file mode 100644 index 0000000000..674993901d --- /dev/null +++ b/tests/specs/node/import_cjs_file_no_ext_mjs_pkg/node_modules/package/add @@ -0,0 +1 @@ +module.exports.add = require("./internal.cjs").add; diff --git a/tests/specs/node/import_cjs_file_no_ext_mjs_pkg/node_modules/package/internal.cjs b/tests/specs/node/import_cjs_file_no_ext_mjs_pkg/node_modules/package/internal.cjs new file mode 100644 index 0000000000..62c45aa26d --- /dev/null +++ b/tests/specs/node/import_cjs_file_no_ext_mjs_pkg/node_modules/package/internal.cjs @@ -0,0 +1 @@ +module.exports.add = (a, b) => a + b; diff --git a/tests/specs/node/import_cjs_file_no_ext_mjs_pkg/node_modules/package/package.json b/tests/specs/node/import_cjs_file_no_ext_mjs_pkg/node_modules/package/package.json new file mode 100644 index 0000000000..aead43de36 --- /dev/null +++ b/tests/specs/node/import_cjs_file_no_ext_mjs_pkg/node_modules/package/package.json @@ -0,0 +1,3 @@ +{ + "type": "module" +} \ No newline at end of file diff --git a/tests/specs/node/import_cjs_file_no_ext_mjs_pkg/package.json b/tests/specs/node/import_cjs_file_no_ext_mjs_pkg/package.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/tests/specs/node/import_cjs_file_no_ext_mjs_pkg/package.json @@ -0,0 +1 @@ +{}