narraleaf
Version:
Create your visual novel with Electron and React
36 lines (35 loc) • 1.84 kB
TypeScript
import { BaseProjectConfig, BaseProjectStructure } from "../project/projectConfig/baseProject";
import { InferDirStructure } from "../project/projectConfig/parser";
import { RendererProject } from "../project/renderer/rendererProject";
import { RendererBuildResult, RendererBuildWatchToken } from "../build/renderer/build";
import { MainBuildResult, MainBuildWatchToken } from "../build/main/build";
import { AppBuildResult } from "../build/electron/pack";
import { ProjectFs } from "../../utils/nodejs/fs";
import { DevTempNamespace, TempNamespace } from "../constants/tempNamespace";
import { App } from "../../cli/app";
import { ElectronDevServerToken } from "../dev/electron";
export declare class Project {
static readonly TempNamespace: typeof TempNamespace;
static readonly DevTempNamespace: typeof DevTempNamespace;
structure: InferDirStructure<typeof BaseProjectStructure>;
config: BaseProjectConfig;
readonly root: string;
readonly fs: ProjectFs;
readonly app: App;
name: string;
version: string;
description: string;
constructor(app: App, root: string, structure: InferDirStructure<typeof BaseProjectStructure>);
createRendererProject(): Promise<RendererProject>;
getTempDir(namespace?: TempNamespace): string;
getDevTempDir(namespace?: DevTempNamespace): string;
getRootDir(): string;
buildRenderer(rendererProject: RendererProject): Promise<RendererBuildResult>;
watchRenderer(rendererProject: RendererProject, onRebuild?: VoidFunction): Promise<RendererBuildWatchToken>;
buildMain(): Promise<MainBuildResult>;
watchMain(onRebuild?: VoidFunction): Promise<MainBuildWatchToken>;
electron(): Promise<ElectronDevServerToken>;
buildApp(rendererProject: RendererProject): Promise<AppBuildResult>;
private readPackage;
private mergeConfig;
}