summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cli/node/mod.rs9
-rw-r--r--cli/tests/testdata/npm/registry/@denotest/cjs-with-file-stem/1.0.0/index.js5
-rw-r--r--cli/tests/testdata/npm/registry/@denotest/cjs-with-file-stem/1.0.0/other.service.js4
-rw-r--r--cli/tests/testdata/npm/registry/@denotest/cjs-with-file-stem/1.0.0/package.json4
-rw-r--r--cli/tests/testdata/npm/registry/@denotest/cjs-with-file-stem/1.0.0/tslib.js3
-rw-r--r--cli/tests/testdata/npm/translate_cjs_to_esm/main.js1
-rw-r--r--cli/tests/testdata/npm/translate_cjs_to_esm/main.out2
7 files changed, 23 insertions, 5 deletions
diff --git a/cli/node/mod.rs b/cli/node/mod.rs
index 56f228d3f..f2a645b5f 100644
--- a/cli/node/mod.rs
+++ b/cli/node/mod.rs
@@ -1178,8 +1178,8 @@ fn file_extension_probe(
) -> Result<PathBuf, AnyError> {
let p = p.clean();
if p.exists() {
- let mut p_js = p.clone();
- p_js.set_extension("js");
+ let file_name = p.file_name().unwrap();
+ let p_js = p.with_file_name(format!("{}.js", file_name.to_str().unwrap()));
if p_js.exists() && p_js.is_file() {
return Ok(p_js);
} else if p.is_dir() {
@@ -1187,9 +1187,8 @@ fn file_extension_probe(
} else {
return Ok(p);
}
- } else {
- let mut p_js = p.clone();
- p_js.set_extension("js");
+ } else if let Some(file_name) = p.file_name() {
+ let p_js = p.with_file_name(format!("{}.js", file_name.to_str().unwrap()));
if p_js.exists() && p_js.is_file() {
return Ok(p_js);
}
diff --git a/cli/tests/testdata/npm/registry/@denotest/cjs-with-file-stem/1.0.0/index.js b/cli/tests/testdata/npm/registry/@denotest/cjs-with-file-stem/1.0.0/index.js
new file mode 100644
index 000000000..f7164182a
--- /dev/null
+++ b/cli/tests/testdata/npm/registry/@denotest/cjs-with-file-stem/1.0.0/index.js
@@ -0,0 +1,5 @@
+"use strict";
+console.log("hello");
+Object.defineProperty(exports, "__esModule", { value: true });
+const tslib_1 = require("./tslib.js");
+tslib_1.__exportStar(require("./other.service"), exports);
diff --git a/cli/tests/testdata/npm/registry/@denotest/cjs-with-file-stem/1.0.0/other.service.js b/cli/tests/testdata/npm/registry/@denotest/cjs-with-file-stem/1.0.0/other.service.js
new file mode 100644
index 000000000..ba702a9af
--- /dev/null
+++ b/cli/tests/testdata/npm/registry/@denotest/cjs-with-file-stem/1.0.0/other.service.js
@@ -0,0 +1,4 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.foo = void 0;
+console.log("world"); \ No newline at end of file
diff --git a/cli/tests/testdata/npm/registry/@denotest/cjs-with-file-stem/1.0.0/package.json b/cli/tests/testdata/npm/registry/@denotest/cjs-with-file-stem/1.0.0/package.json
new file mode 100644
index 000000000..c72a8ae5a
--- /dev/null
+++ b/cli/tests/testdata/npm/registry/@denotest/cjs-with-file-stem/1.0.0/package.json
@@ -0,0 +1,4 @@
+{
+ "name": "@denotest/cjs-with-file-stem",
+ "version": "1.0.0"
+}
diff --git a/cli/tests/testdata/npm/registry/@denotest/cjs-with-file-stem/1.0.0/tslib.js b/cli/tests/testdata/npm/registry/@denotest/cjs-with-file-stem/1.0.0/tslib.js
new file mode 100644
index 000000000..e5c2d6bc0
--- /dev/null
+++ b/cli/tests/testdata/npm/registry/@denotest/cjs-with-file-stem/1.0.0/tslib.js
@@ -0,0 +1,3 @@
+module.exports = {
+ __exportStar: function(mod) {}
+}; \ No newline at end of file
diff --git a/cli/tests/testdata/npm/translate_cjs_to_esm/main.js b/cli/tests/testdata/npm/translate_cjs_to_esm/main.js
index a7b5960ca..04a86fbf1 100644
--- a/cli/tests/testdata/npm/translate_cjs_to_esm/main.js
+++ b/cli/tests/testdata/npm/translate_cjs_to_esm/main.js
@@ -1,5 +1,6 @@
import fsx from "npm:fs-extra@10.1.0";
import { createApp } from "npm:vue";
+import "npm:@denotest/cjs-with-file-stem";
console.log(fsx.access);
console.log(createApp);
diff --git a/cli/tests/testdata/npm/translate_cjs_to_esm/main.out b/cli/tests/testdata/npm/translate_cjs_to_esm/main.out
index c472472f3..c21a965b8 100644
--- a/cli/tests/testdata/npm/translate_cjs_to_esm/main.out
+++ b/cli/tests/testdata/npm/translate_cjs_to_esm/main.out
@@ -1,2 +1,4 @@
+hello
+world
[Function: access]
[Function: createApp]