Gez

类型

1import type { ImportMap } from '@gez/import';
2import { type App } from './app';
3import type { ManifestJson } from './manifest-json';
4import { type ModuleConfig, type ParsedModuleConfig } from './module-config';
5import { type PackConfig, type ParsedPackConfig } from './pack-config';
6import { type ProjectPath } from './resolve-path';
7/**
8 * 详细说明,请看文档:https://dp-os.github.io/gez/api/gez.html
9 */
10export interface GezOptions {
11    /**
12     * 项目根目录,默认为当前执行命令的目录。
13     */
14    root?: string;
15    /**
16     * 是否是生产环境。
17     */
18    isProd?: boolean;
19    /**
20     * 动态路径的变量占位符。
21     */
22    basePathPlaceholder?: string | false;
23    /**
24     * 模块链接配置。
25     */
26    modules?: ModuleConfig;
27    /**
28     * 是否启用归档,等同于 npm pack。
29     */
30    packs?: PackConfig;
31    /**
32     * 创建开发应用,在执行 dev、build、preview 命令时调用。
33     */
34    createDevApp?: (gez: Gez) => Promise<App>;
35    /**
36     * 创建服务器,执行 dev、build、preview 命令时调用。
37     */
38    createServer?: (gez: Gez) => Promise<void>;
39    /**
40     * gez build 构建完成后,以生产模式执行的钩子。
41     */
42    postCompileProdHook?: (gez: Gez) => Promise<void>;
43}
44export declare enum COMMAND {
45    dev = "dev",
46    build = "build",
47    preview = "preview",
48    start = "start"
49}
50export declare class Gez {
51    /**
52     * 获取 src/entry.node.ts 文件导出的选项
53     */
54    static getSrcOptions(): Promise<GezOptions>;
55    /**
56     * 获取 dist/node/src/entry.node.js 文件导出的选项
57     */
58    static getDistOptions(): Promise<GezOptions>;
59    private readonly _options;
60    private _app;
61    private _command;
62    /**
63     * 根据传入的 modules 选项解析出来的对象。
64     */
65    readonly moduleConfig: ParsedModuleConfig;
66    readonly packConfig: ParsedPackConfig;
67    constructor(options?: GezOptions);
68    /**
69     * 服务名称,来源于 package.json 文件的 name 字段。
70     */
71    get name(): string;
72    /**
73     * 根据 name 生成的 JS 变量名称。
74     */
75    get varName(): string;
76    /**
77     * 项目根目录。
78     */
79    get root(): string;
80    /**
81     * 是否是生产环境。
82     */
83    get isProd(): boolean;
84    /**
85     * 根据服务名称生成的静态资源基本路径。
86     */
87    get basePath(): string;
88    /**
89     * 动态的 base 地址占位符。
90     */
91    get basePathPlaceholder(): string;
92    /**
93     * 当前执行的命令。
94     */
95    get command(): COMMAND;
96    /**
97     * 全部命令的枚举对象。
98     */
99    get COMMAND(): typeof COMMAND;
100    private get app();
101    /**
102     * 执行下面的命令,会创建服务器。
103     * - gez dev
104     * - gez start
105     * - gez preview
106     */
107    createServer(): Promise<void>;
108    /**
109     * 执行 gez build 命令回调。
110     */
111    postCompileProdHook(): Promise<boolean>;
112    /**
113     * 初始化实例。
114     */
115    init(command: COMMAND): Promise<boolean>;
116    /**
117     * 销毁实例,释放内存。
118     */
119    destroy(): Promise<boolean>;
120    /**
121     * 构建生产代码。
122     */
123    build(): Promise<boolean>;
124    /**
125     * 中间件。
126     */
127    get middleware(): import("./middleware").Middleware;
128    /**
129     * 调用 entry.server.ts 导出的渲染函数。
130     */
131    get render(): (options?: import("./render-context").RenderContextOptions) => Promise<import("./render-context").RenderContext>;
132    /**
133     * 解析项目路径。
134     */
135    resolvePath(projectPath: ProjectPath, ...args: string[]): string;
136    /**
137     * 同步写入一个文件。
138     */
139    writeSync(filepath: string, data: any): void;
140    /**
141     * 异步的读取一个 JSON 文件。
142     */
143    readJsonSync(filename: string): any;
144    /**
145     * 获取全部服务的清单文件。
146     */
147    getManifestList(target: 'client' | 'server'): ManifestJson[];
148    /**
149     * 获取服务端的 importmap 映射文件。
150     */
151    getServerImportMap(): ImportMap;
152}
ON THIS PAGE