UNPKG

2.78 kBTypeScriptView Raw
1/// <reference types="node" />
2import * as TsconfigPaths from "tsconfig-paths";
3import * as Options from "./options";
4import * as Logger from "./logger";
5import * as fs from "fs";
6import { ResolveRequest, ResolveContext } from "enhanced-resolve";
7import { ResolvePluginInstance, Resolver } from "./plugin.temp.types";
8declare type TapAsyncCallback = (request: ResolveRequest, context: ResolveContext, callback: TapAsyncInnerCallback) => void;
9declare type TapAsyncInnerCallback = (error?: Error | null | false, result?: null | ResolveRequest) => void;
10export interface LegacyResolverPlugin {
11 readonly apply: (resolver: LegacyResolver) => void;
12}
13export interface LegacyResolver {
14 readonly apply: (plugin: LegacyResolverPlugin) => void;
15 readonly plugin: (source: string, cb: ResolverCallbackLegacy) => void;
16 readonly doResolve: doResolveLegacy | doResolve;
17 readonly join: (relativePath: string, innerRequest: Request) => Request;
18 readonly fileSystem: LegacyResolverFileSystem;
19 readonly getHook: (hook: string) => Tapable;
20}
21export declare type doResolveLegacy = (target: string, req: Request, desc: string, callback: Callback) => void;
22export declare type doResolve = (hook: Tapable, req: Request, message: string, resolveContext: LegacyResolveContext, callback: Callback) => void;
23export declare type ReadJsonCallback = (error: Error | undefined, result?: {}) => void;
24export declare type ReadJson = (path2: string, callback: ReadJsonCallback) => void;
25export declare type LegacyResolverFileSystem = typeof fs & {
26 readJson?: ReadJson;
27};
28export interface LegacyResolveContext {
29 log?: string;
30 stack?: string;
31 missing?: string;
32}
33export interface Tapable {
34 readonly tapAsync: (options: TapableOptions, callback: TapAsyncCallback) => void;
35}
36export interface TapableOptions {
37 readonly name: string;
38}
39export declare type ResolverCallbackLegacy = (request: Request, callback: Callback) => void;
40export declare type ResolverCallback = (request: Request, resolveContext: LegacyResolveContext, callback: Callback) => void;
41export interface Request {
42 readonly request?: Request | string;
43 readonly relativePath: string;
44 readonly path: string;
45 readonly context: {
46 readonly issuer: string;
47 };
48}
49export interface Callback {
50 (err?: Error, result?: string): void;
51 log?: string;
52 stack?: string;
53 missing?: string;
54}
55export declare class TsconfigPathsPlugin implements ResolvePluginInstance {
56 source: string;
57 target: string;
58 log: Logger.Logger;
59 baseUrl: string;
60 absoluteBaseUrl: string;
61 extensions: ReadonlyArray<string>;
62 matchPath: TsconfigPaths.MatchPathAsync;
63 constructor(rawOptions?: Partial<Options.Options>);
64 apply(resolver: Resolver): void;
65}
66export {};