react-gnome
Version:
## Getting Started
34 lines (33 loc) • 1.18 kB
TypeScript
import { CommandInitPhase, Option } from "clify.js";
import type { Config } from "../config/config-type";
import type { AppResources } from "../utils/app-resources";
import { EnvVars } from "../utils/env-vars";
import { ESBuild } from "../utils/esbuild";
import type { AdditionalPlugins } from "../utils/get-plugins";
export type DeepReadonly<T> = {
readonly [P in keyof T]: T[P] extends object ? DeepReadonly<T[P]> : T[P];
};
export declare abstract class Program {
type: "build" | "bundle" | "init" | "start";
envs: EnvVars;
config: DeepReadonly<Config>;
cwd: string;
resources?: AppResources;
esbuildCtx: ESBuild;
readonly args: {
watch: Option<"boolean", false>;
mode: Option<"string", true>;
};
constructor(init: CommandInitPhase);
get isDev(): boolean;
get watchMode(): boolean;
get appName(): string;
get appID(): string;
abstract additionalPlugins(): AdditionalPlugins;
private populateDefaultEnvVars;
protected afterBuild?(): void;
runWith(args: {
watch?: boolean;
mode?: "development" | "production";
}, config: Config, workingDir?: string): Promise<any>;
}