@mochabug/adapt-plugin-builder
Version:
This encapsulate the building an bundling logic for mochabug adapt plugins
29 lines • 1.15 kB
TypeScript
import { BuildOptions } from "esbuild";
import { Manifest } from "./genproto/mochabugapis/adapt/plugins/v1/manifest_pb";
type DeepPartialExcept<T, Excluded> = T extends Excluded ? T : T extends Function ? T : T extends Array<infer U> ? Array<DeepPartialExcept<U, Excluded>> : T extends object ? {
[K in keyof T]?: DeepPartialExcept<T[K], Excluded>;
} : T;
export interface ServerBuildOptions {
configurator: BuildOptions;
executor: BuildOptions;
}
export interface BrowserBuildOptions {
build: BuildOptions;
assets: string;
cdn: string;
cdnPrefix: string;
moveHtmlToAssets: boolean;
}
export interface PluginBuildOptions {
src: string;
browser: BrowserBuildOptions;
ssg: BuildOptions;
server: ServerBuildOptions;
dev: boolean;
cdnBase: string;
}
type OptionalPluginBuildOptions = DeepPartialExcept<PluginBuildOptions, BuildOptions>;
export declare function build(opts?: OptionalPluginBuildOptions): Promise<void>;
export declare function buildServer(manifest: Manifest, vpathLookup: Record<string, string>, opts: PluginBuildOptions): Promise<void>;
export {};
//# sourceMappingURL=index.d.ts.map