INNER CODE UNIT · JavaScript
hook
standard-things/esm · src/hook/main.js:16
function hook(Mod) {
function managerWrapper(manager, func, args) {
const [, mainPath] = realProcess.argv
const filename = dualResolveFilename(mainPath, null, true)
const pkg = Package.from(filename)
const wrapped = Wrapper.find(Mod, "runMain", relaxRange(pkg.range))
return wrapped === null
? Reflect.apply(func, this, args)
: Reflect.apply(wrapped, this, [manager, func, args])
}
function methodWrapper() {
const [, mainPath] = realProcess.argv
const filename = dualResolveFilename(mainPath, null, true)
const defaultPkg = Loader.state.package.default
const dirPath = dirname(filename)