3f691eaa45
* Remove ts-ignore where possible And replace by typecasts * More accurate types * bend cliententries in a correct shape earlier on * comment becomes unnecessary * add webpack overload to allow for the next.js use case * Avoid changing public interface Co-authored-by: Joe Haddad <timer150@gmail.com>
18 lines
678 B
TypeScript
18 lines
678 B
TypeScript
import resolve from 'next/dist/compiled/resolve/index.js'
|
|
import path from 'path'
|
|
|
|
export function resolveRequest(req: string, issuer: string) {
|
|
// The `resolve` package is prebuilt through ncc, which prevents
|
|
// PnP from being able to inject itself into it. To circumvent
|
|
// this, we simply use PnP directly when available.
|
|
if (process.versions.pnp) {
|
|
const { resolveRequest } = require(`pnpapi`)
|
|
return resolveRequest(req, issuer, { considerBuiltins: false })
|
|
} else {
|
|
const basedir =
|
|
issuer.endsWith(path.posix.sep) || issuer.endsWith(path.win32.sep)
|
|
? issuer
|
|
: path.dirname(issuer)
|
|
return resolve.sync(req, { basedir })
|
|
}
|
|
}
|