Skip to content

Commit 6deb87e

Browse files
authored
fix: Don't attempt to wrap TypeScript modules (#191)
1 parent 041cdcf commit 6deb87e

File tree

3 files changed

+20
-0
lines changed

3 files changed

+20
-0
lines changed

hook.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ const EXTENSION_RE = /\.(js|mjs|cjs|ts|mts|cts)$/
1414
const NODE_VERSION = process.versions.node.split('.')
1515
const NODE_MAJOR = Number(NODE_VERSION[0])
1616
const NODE_MINOR = Number(NODE_VERSION[1])
17+
const HANDLED_FORMATS = new Set(['builtin', 'module', 'commonjs'])
1718

1819
let entrypoint
1920

@@ -349,6 +350,10 @@ function createHook (meta) {
349350
return each === specifier || each === result.url || (result.url.startsWith('file:') && each === fileURLToPath(result.url))
350351
}
351352

353+
if (result.format && !HANDLED_FORMATS.has(result.format)) {
354+
return result
355+
}
356+
352357
if (includeModules && !includeModules.some(match)) {
353358
return result
354359
}

test/fixtures/something.mts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
export type { Debugger } from 'node:inspector'
2+
3+
export const foo: number = 42
4+
5+
export function bar(): number {
6+
return foo
7+
}

test/hook/v24-typescript.mjs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import { strictEqual } from 'assert'
2+
3+
const mod = await import('../fixtures/something.mts')
4+
5+
strictEqual(mod.foo, 42)
6+
strictEqual(typeof mod.bar, 'function')
7+
strictEqual(mod.bar(), 42)
8+
strictEqual(Object.keys(mod).length, 2)

0 commit comments

Comments
 (0)