Skip to content

Commit aadfd2b

Browse files
authored
fix(node): Strip .mjs and .cjs extensions from module name (#9231)
1 parent ddcf5e6 commit aadfd2b

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

packages/node/src/module.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ export function getModuleFromFilename(
3030
// It's specifically a module
3131
let file = basename;
3232

33-
if (ext === '.js') {
34-
file = file.slice(0, file.length - '.js'.length);
33+
if (ext === '.js' || ext === '.mjs' || ext === '.cjs') {
34+
file = file.slice(0, ext.length * -1);
3535
}
3636

3737
if (!root && !dir) {

packages/node/test/module.test.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,16 @@ describe('getModuleFromFilename', () => {
2727
expect(getModuleFromFilename('/Users/users/Tim/Desktop/node_modules/module.js')).toEqual('module');
2828
}, '/Users/Tim/app.js');
2929
});
30+
31+
test('POSIX .mjs', () => {
32+
withFilename(() => {
33+
expect(getModuleFromFilename('/Users/users/Tim/Desktop/node_modules/module.mjs')).toEqual('module');
34+
}, '/Users/Tim/app.js');
35+
});
36+
37+
test('POSIX .cjs', () => {
38+
withFilename(() => {
39+
expect(getModuleFromFilename('/Users/users/Tim/Desktop/node_modules/module.cjs')).toEqual('module');
40+
}, '/Users/Tim/app.js');
41+
});
3042
});

0 commit comments

Comments
 (0)