import-in-the-middle
Version:
Intercept imports in Node.js
17 lines (11 loc) • 356 B
JavaScript
import { register } from 'module'
import Hook from '../../index.js'
import { strictEqual } from 'assert'
register('../../hook.mjs', import.meta.url, { data: { exclude: [/openai/] } })
const hooked = new Set()
Hook((_, name) => {
hooked.add(name)
})
await import('openai')
strictEqual(hooked.has('openai'), false)
strictEqual(hooked.has('fs'), true)