@vulcan-sql/build
Version:
VulcanSQL package for building projects
36 lines (35 loc) • 1.09 kB
TypeScript
import { ExtensionBase } from '@vulcan-sql/core';
import { IBuildOptions } from '../../buildOptions';
export declare enum PackagerType {
Node = "node",
Docker = "docker"
}
export declare enum PackagerTarget {
VulcanServer = "vulcan-server",
CatalogServer = "catalog-server"
}
export interface PackagerOptions {
output: PackagerType | string;
target: PackagerTarget | string;
}
export declare const PackagerName: {
Node: string;
NodeCatalog: string;
Docker: string;
DockerCatalog: string;
};
export interface PackagerConfig {
[PackagerTarget.VulcanServer]?: {
folderPath?: string;
};
[PackagerTarget.CatalogServer]?: {
folderPath?: string;
};
}
export declare abstract class Packager<C = PackagerConfig> extends ExtensionBase<C> {
abstract package(options: IBuildOptions): Promise<void>;
protected getPackageJson(): Promise<Record<string, any>>;
protected getCatalogPackageJson(): Promise<Record<string, any>>;
protected getEntryJS(): Promise<string>;
protected getCatalogEntryJS(): Promise<string>;
}