Skip to content

Commit b70e96f

Browse files
authoredJan 3, 2024
fix(es/module): Fix resolving of .js files (#8480)
**Related issue:** - vercel/next.js#56144
1 parent c9e8376 commit b70e96f

File tree

7 files changed

+50
-2
lines changed

7 files changed

+50
-2
lines changed
 
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
import styles from "./src/foo.bar.baz";
1+
import styles from "./src/foo.bar.baz.js";
22
console.log(styles);

‎crates/swc_ecma_transforms_module/src/path.rs

+7-1
Original file line numberDiff line numberDiff line change
@@ -161,13 +161,19 @@ where
161161
false
162162
};
163163

164+
let is_resolved_as_js = if let Some(ext) = target_path.extension() {
165+
ext == "js"
166+
} else {
167+
false
168+
};
169+
164170
let is_exact = if let Some(filename) = target_path.file_name() {
165171
filename == orig_filename
166172
} else {
167173
false
168174
};
169175

170-
if !is_resolved_as_index && !is_exact {
176+
if !is_resolved_as_js && !is_resolved_as_index && !is_exact {
171177
target_path.set_file_name(orig_filename);
172178
} else if is_resolved_as_ts && is_exact {
173179
if let Some(ext) = Path::new(orig_filename).extension() {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"baseUrl": ".",
3+
"paths": {
4+
"@/*": ["*"]
5+
},
6+
"inputFile": "utils/test.js"
7+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import { PrismaClient } from "@/db/client";
2+
3+
class PrismaClientProvider {
4+
prisma;
5+
6+
constructor() {
7+
this.prisma = new PrismaClient({
8+
datasources: {
9+
db: {
10+
url: "",
11+
},
12+
},
13+
});
14+
}
15+
}
16+
17+
export default new PrismaClientProvider();
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
2+
Object.defineProperty(exports, "__esModule", { value: true });
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import PrismaClientProvider from "@/db/PrismaClientProvider";
2+
3+
export default function setupTests() {
4+
const context = {};
5+
6+
beforeEach(() => {
7+
context.prisma = PrismaClientProvider.prisma;
8+
});
9+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import PrismaClientProvider from "db/PrismaClientProvider";
2+
export default function setupTests() {
3+
const context = {};
4+
beforeEach(()=>{
5+
context.prisma = PrismaClientProvider.prisma;
6+
});
7+
}

0 commit comments

Comments
 (0)
Please sign in to comment.