1- import path from 'node:path'
2-
3- import { getNpmNodeModulesPath } from './npm-paths'
1+ import { getNpmRequire } from './npm-paths'
42import constants from '../constants'
53
64const { UNDEFINED_TOKEN } = constants
@@ -17,6 +15,7 @@ type RequireTransformer<T extends keyof RequireKnownModules> = (
1715) => RequireKnownModules [ T ]
1816
1917function tryRequire < T extends keyof RequireKnownModules > (
18+ req : NodeJS . Require ,
2019 ...ids : ( T | [ T , RequireTransformer < T > ] ) [ ]
2120) : RequireKnownModules [ T ] | undefined {
2221 for ( const data of ids ) {
@@ -32,7 +31,7 @@ function tryRequire<T extends keyof RequireKnownModules>(
3231 try {
3332 // Check that the transformed value isn't `undefined` because older
3433 // versions of packages like 'proc-log' may not export a `log` method.
35- const exported = transformer ( require ( id ) )
34+ const exported = transformer ( req ( id ) )
3635 if ( exported !== undefined ) {
3736 return exported
3837 }
@@ -49,15 +48,15 @@ export type Logger =
4948let _log : Logger | { } | undefined = UNDEFINED_TOKEN
5049export function getLogger ( ) : Logger {
5150 if ( _log === UNDEFINED_TOKEN ) {
52- const npmNmPath = getNpmNodeModulesPath ( )
5351 _log = tryRequire (
52+ getNpmRequire ( ) ,
5453 [
55- < 'proc-log' > path . join ( npmNmPath , 'proc-log/lib/index.js' ) ,
54+ < 'proc-log' > 'proc-log/lib/index.js' ,
5655 // The proc-log DefinitelyTyped definition is incorrect. The type definition
5756 // is really that of its export log.
5857 mod => < RequireKnownModules [ 'proc-log' ] > ( mod as any ) . log
5958 ] ,
60- < 'npmlog' > path . join ( npmNmPath , 'npmlog/lib/log.js' )
59+ < 'npmlog' > 'npmlog/lib/log.js'
6160 )
6261 }
6362 return < Logger | undefined > _log
0 commit comments