@modern-js/module-tools
Version:
Simple, powerful, high-performance modern npm package development solution.
36 lines (35 loc) • 1.57 kB
TypeScript
import { type FSWatcher } from '@modern-js/utils';
import { type BuildContext, type BuildOptions, type BuildResult, type ImportKind } from 'esbuild';
import type { BaseBuildConfig, BuilderHooks, Chunk, Context, HookList, ICompiler, ModuleTools, PluginAPI } from '../../types';
import { SourcemapContext } from './sourcemap';
import { TransformContext } from './transform';
export declare class EsbuildCompiler implements ICompiler {
instance?: BuildContext;
result?: BuildResult;
hookList?: HookList;
reBuildCount: number;
buildOptions: BuildOptions;
context: Context;
config: BaseBuildConfig;
hooks: BuilderHooks;
api: PluginAPI<ModuleTools>;
outputChunk: Map<string, Chunk>;
watchedFiles: Set<string>;
css_resolve: (id: string, dir: string) => string;
node_resolve: (id: string, dir: string, kind: ImportKind) => string | false;
watcher?: FSWatcher;
virtualModule: Map<string, string>;
private transformContextMap;
private sourcemapContextMap;
constructor(context: Context);
init(): Promise<void>;
addWatchFile(id: string): void;
convertConfigToEsbuild(config: BaseBuildConfig): BuildOptions;
getTransformContext(path: string): TransformContext;
getSourcemapContext(path: string): SourcemapContext;
emitAsset(name: string, chunk: string | Chunk): void;
close(): Promise<void>;
build(): Promise<void>;
reBuild(type: 'link' | 'change', config: BaseBuildConfig): Promise<void>;
}
export declare const createCompiler: (context: Context) => Promise<EsbuildCompiler>;