107 lines
2.1 KiB
TypeScript
107 lines
2.1 KiB
TypeScript
import URL from 'bare-url'
|
|
import {
|
|
constants,
|
|
type Builtins,
|
|
type Conditions,
|
|
type ResolutionsMap
|
|
} from 'bare-module-resolve'
|
|
|
|
type JSON = string | number | boolean | JSON[] | { [key: string]: JSON }
|
|
|
|
interface ResolveOptions {
|
|
builtinProtocol?: string
|
|
builtins?: Builtins
|
|
conditions?: Conditions
|
|
extensions?: string[]
|
|
host?: string
|
|
hosts?: string[]
|
|
linked?: boolean
|
|
linkedProtocol?: string
|
|
matchedConditions?: string[]
|
|
resolutions?: ResolutionsMap
|
|
}
|
|
|
|
declare function resolve(
|
|
specifier: string,
|
|
parentURL: URL,
|
|
readPackage?: (url: URL) => JSON | null
|
|
): Iterable<URL>
|
|
|
|
declare function resolve(
|
|
specifier: string,
|
|
parentURL: URL,
|
|
readPackage: (url: URL) => Promise<JSON | null>
|
|
): AsyncIterable<URL>
|
|
|
|
declare function resolve(
|
|
specifier: string,
|
|
parentURL: URL,
|
|
opts: ResolveOptions,
|
|
readPackage?: (url: URL) => JSON | null
|
|
): Iterable<URL>
|
|
|
|
declare function resolve(
|
|
specifier: string,
|
|
parentURL: URL,
|
|
opts: ResolveOptions,
|
|
readPackage: (url: URL) => Promise<JSON | null>
|
|
): AsyncIterable<URL>
|
|
|
|
declare namespace resolve {
|
|
export { constants, type ResolveOptions }
|
|
|
|
export type Resolver = Generator<
|
|
{ resolution: URL } | { package: URL },
|
|
number,
|
|
void | boolean | JSON | null
|
|
>
|
|
|
|
export function addon(
|
|
specifier: string,
|
|
parentURL: URL,
|
|
opts?: ResolveOptions
|
|
): Resolver
|
|
|
|
export function url(
|
|
specifier: string,
|
|
parentURL: URL,
|
|
opts?: ResolveOptions
|
|
): Resolver
|
|
|
|
export function package(
|
|
packageSpecifier: string,
|
|
packageVersion: string,
|
|
parentURL: URL,
|
|
opts?: ResolveOptions
|
|
): Resolver
|
|
|
|
export function packageSelf(
|
|
packageName: string,
|
|
packageSubpath: string,
|
|
packageVersion: string,
|
|
parentURL: URL,
|
|
opts?: ResolveOptions
|
|
): Resolver
|
|
|
|
export function file(
|
|
filename: string,
|
|
parentURL: URL,
|
|
opts?: ResolveOptions
|
|
): Resolver
|
|
|
|
export function directory(
|
|
dirname: string,
|
|
version: string,
|
|
parentURL: URL,
|
|
opts?: ResolveOptions
|
|
): Resolver
|
|
|
|
export function linked(
|
|
name: string,
|
|
version?: string,
|
|
opts?: ResolveOptions
|
|
): Resolver
|
|
}
|
|
|
|
export = resolve
|