mirror of
https://github.com/nodejs/node.git
synced 2026-11-09 15:11:11 -05:00
Co-authored-by: Daniel Lemire <daniel@lemire.me> PR-URL: https://github.com/nodejs/node/pull/50322 Reviewed-By: Jacob Smith <jacob@frende.me> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com>
30 lines
934 B
TypeScript
30 lines
934 B
TypeScript
export type PackageType = 'commonjs' | 'module' | 'none'
|
|
export type PackageConfig = {
|
|
pjsonPath: string
|
|
exists: boolean
|
|
name?: string
|
|
main?: any
|
|
type: PackageType
|
|
exports?: string | string[] | Record<string, unknown>
|
|
imports?: string | string[] | Record<string, unknown>
|
|
}
|
|
export type SerializedPackageConfig = [
|
|
PackageConfig['name'],
|
|
PackageConfig['main'],
|
|
PackageConfig['type'],
|
|
string | undefined, // exports
|
|
string | undefined, // imports
|
|
string | undefined, // raw json available for experimental policy
|
|
]
|
|
|
|
export interface ModulesBinding {
|
|
readPackageJSON(path: string): SerializedPackageConfig | undefined;
|
|
getNearestParentPackageJSON(path: string): PackageConfig | undefined
|
|
getNearestParentPackageJSONType(path: string): [
|
|
PackageConfig['type'],
|
|
string, // package.json path
|
|
string, // raw content
|
|
]
|
|
getPackageScopeConfig(path: string): SerializedPackageConfig | undefined
|
|
}
|