Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions src/core/scripting/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,13 @@ class ScriptManager {
return PackerDriver.getInstance().querySharedSettings();
}

/**
* 生成类型声明文件
*/
async generateDeclarations() {
return PackerDriver.getInstance().generateDeclarations();
}

/**
* @param type 变更类型
* @param uuid 资源UUID
Expand Down
21 changes: 12 additions & 9 deletions src/core/scripting/intelligence/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,26 +57,29 @@ export class TypeScriptConfigBuilder {

async getCompilerOptions(): Promise<Readonly<ts.CompilerOptions>> {
if (Object.keys(this.internalTsConfig).length === 0) {
this.buildCommonConfig();
await this.buildCommonConfig();
}
return this.internalTsConfig;
}

async buildCommonConfig() {
const types: string[] = [];

const libs = buildLibs();

const paths: TsConfigPaths = {};

async generateDeclarations(types: string[]) {
await Promise.all([
this.addEngineDeclarations(types),
this.addEnvDeclarations(types),
this.addCustomMacroDeclarations(types),
this.addJsbDeclarations(types),
this.addDbPathMappings(paths),
]);
}

async buildCommonConfig() {
const types: string[] = [];

const libs = buildLibs();

const paths: TsConfigPaths = {};

await this.generateDeclarations(types);
await this.addDbPathMappings(paths);
await this.updateCustomMacroJS();

const compilerOptions: Record<string, ts.CompilerOptionsValue> = {
Expand Down
4 changes: 4 additions & 0 deletions src/core/scripting/packer-driver/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -457,6 +457,10 @@ export class PackerDriver {
await this._syncEngineFeatures(features);
}

public async generateDeclarations() {
await this._tsBuilder.generateDeclarations([]);
}

public async querySharedSettings(): Promise<SharedSettings> {
return querySharedSettings(this._logger);
}
Expand Down
Loading