denoify
Version:
For NPM module authors that would like to support Deno but do not want to write and maintain a port.
28 lines (27 loc) • 1.38 kB
TypeScript
import { ParsedImportExportStatement as ParsedImportExportStatementExhaustive } from "./types/ParsedImportExportStatement";
export type ParsedImportExportStatement<Type extends "DEPENDENCY" | "URL"> = Exclude<ParsedImportExportStatementExhaustive, "parsedArgument"> & {
parsedArgument: Type extends "DEPENDENCY" ? ParsedImportExportStatementExhaustive.ParsedArgument.Dependency : ParsedImportExportStatementExhaustive.ParsedArgument.Url;
};
export declare namespace ParsedImportExportStatement {
const stringify: (parsedImportExportStatement: ParsedImportExportStatement<"URL">) => string;
}
export type Replacer = (params: {
importExportStatement: string;
parsedImportExportStatement: ParsedImportExportStatement<"DEPENDENCY">;
version: string;
destDirPath: string;
}) => Promise<undefined | string>;
/**
* Assert the replacer never throws, if you do not want to override
* the normal module resolution just return undefined.
*/
export declare function makeThisModuleAnExecutableReplacer(replacer: Replacer): Promise<never>;
export declare function consumeExecutableReplacerFactory(params: {
executableFilePath: string;
}): {
consumeExecutableReplacer: (params: {
parsedImportExportStatement: ParsedImportExportStatement<"DEPENDENCY">;
version: string;
destDirPath: string;
}) => Promise<string | undefined>;
};