import { NativePath, PortablePath, Path } from '@yarnpkg/fslib';
export declare enum LinkType {
HARD = "HARD",
SOFT = "SOFT"
}
export type PhysicalPackageLocator = {
name: string;
reference: string;
};
export type TopLevelPackageLocator = {
name: null;
reference: null;
};
export type PackageLocator = PhysicalPackageLocator | TopLevelPackageLocator;
export type DependencyTarget = string | [string, string] | null;
export type PackageInformation
= {
packageLocation: P;
packageDependencies: Map;
packagePeers: Set;
linkType: LinkType;
discardFromLookup: boolean;
};
export type PackageInformationData = {
packageLocation: P;
packageDependencies: Array<[string, DependencyTarget]>;
packagePeers?: Array;
linkType: LinkType;
discardFromLookup?: boolean;
};
export type PackageStore = Map>;
export type PackageStoreData = Array<[string | null, PackageInformationData]>;
export type PackageRegistry = Map;
export type PackageRegistryData = Array<[string | null, PackageStoreData]>;
export type LocationLengthData = Array;
export type PnpZipBackend = `libzip` | `js`;
export type SerializedState = {
__info: Array;
enableTopLevelFallback: boolean;
fallbackExclusionList: Array<[string, Array]>;
fallbackPool: Array<[string, DependencyTarget]>;
pnpZipBackend: PnpZipBackend;
ignorePatternData: string | null;
packageRegistryData: PackageRegistryData;
dependencyTreeRoots: Array;
};
export type RuntimeState = {
basePath: PortablePath;
enableTopLevelFallback: boolean;
fallbackExclusionList: Map>;
fallbackPool: Map;
pnpZipBackend: PnpZipBackend;
ignorePattern: RegExp | null;
packageLocatorsByLocations: Map;
packageRegistry: PackageRegistry;
dependencyTreeRoots: Array;
};
export type PnpSettings = {
enableTopLevelFallback?: boolean;
fallbackExclusionList?: Array;
fallbackPool?: Map;
ignorePattern?: string | null;
packageRegistry: PackageRegistry;
shebang?: string | null;
dependencyTreeRoots: Array;
pnpZipBackend: PnpZipBackend;
};
export type ResolveToUnqualifiedOptions = {
considerBuiltins?: boolean;
};
export type ResolveUnqualifiedOptions = {
extensions?: Array;
conditions?: Set;
};
export type ResolveRequestOptions = ResolveToUnqualifiedOptions & ResolveUnqualifiedOptions;
export type PnpApi = {
VERSIONS: {
std: number;
[key: string]: number;
};
topLevel: {
name: null;
reference: null;
};
getLocator: (name: string, referencish: string | [string, string]) => PhysicalPackageLocator;
getDependencyTreeRoots: () => Array;
getPackageInformation: (locator: PackageLocator) => PackageInformation | null;
findPackageLocator: (location: NativePath) => PhysicalPackageLocator | null;
resolveToUnqualified: (request: string, issuer: NativePath | null, opts?: ResolveToUnqualifiedOptions) => NativePath | null;
resolveUnqualified: (unqualified: NativePath, opts?: ResolveUnqualifiedOptions) => NativePath;
resolveRequest: (request: string, issuer: NativePath | null, opts?: ResolveRequestOptions) => NativePath | null;
resolveVirtual?: (p: NativePath) => NativePath | null;
getAllLocators?: () => Array;
};