bili
Version:
A zero configuration library bundler.
60 lines (59 loc) • 1.9 kB
TypeScript
import './polyfills';
import { Options, Config, NormalizedConfig, Format, ConfigEntryObject, ConfigOutput, RunContext, RollupConfig, Task } from './types';
interface RunOptions {
write?: boolean;
watch?: boolean;
concurrent?: boolean;
}
interface RollupConfigInput {
source: {
input: string[] | ConfigEntryObject;
files: string[];
hasVue: boolean;
hasTs: boolean;
};
title: string;
format: Format;
context: RunContext;
assets: Assets;
config: NormalizedConfig;
}
export declare class Bundler {
options: Options;
rootDir: string;
config: NormalizedConfig;
configPath?: string;
pkg: {
path?: string;
data?: any;
};
bundles: Set<Assets>;
constructor(config: Config, options?: Options);
normalizeConfig(config: Config, userConfig: Config): Config & {
input: string | ConfigEntryObject | (string | ConfigEntryObject)[];
output: ConfigOutput;
plugins: {
[name: string]: any;
};
babel: {
asyncToPromises: boolean;
} & import("./types").BabelPresetOptions;
externals: (string | RegExp | ((id: string, parentId?: string | undefined) => boolean) | undefined)[];
};
createRollupConfig({ source, format, title, context, assets, config, }: RollupConfigInput): Promise<RollupConfig>;
run(options?: RunOptions): Promise<this>;
build(task: Task, context: RunContext, write?: boolean): Promise<void>;
handleError(err: any): void;
resolveRootDir(...args: string[]): string;
localRequire(name: string, { silent, cwd }?: {
silent?: boolean;
cwd?: string;
}): any;
getBundle(index: number): Assets;
}
interface Asset {
absolute: string;
source: string;
}
declare type Assets = Map<string, Asset>;
export { Config, NormalizedConfig, Options, ConfigOutput };