@ts-for-gir/generator-typescript 3.0.0-beta.11 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,25 +1,34 @@
|
|
|
1
1
|
import { Generator } from '@ts-for-gir/generator-base';
|
|
2
|
-
import { Logger } from '@ts-for-gir/lib';
|
|
3
|
-
import
|
|
2
|
+
import { Logger, TemplateProcessor, Dependency, DependencyManager, PackageDataParser } from '@ts-for-gir/lib';
|
|
3
|
+
import { GenerateConfig, GirClassElement, GirCallableParamElement, GirSignalElement, GirEnumElement, GirAliasElement, GirInterfaceElement, GirUnionElement, GirModulesGrouped, GirRecordElement, GirBitfieldElement, GirInstanceParameter, GirModule, TsGenericParameter, TsType, TsDoc, TsFunction, TsCallback, TsSignal, TsMember, TsVar, TsProperty, TsParameter } from '@ts-for-gir/lib';
|
|
4
4
|
export declare class TypeDefinitionGenerator implements Generator {
|
|
5
|
-
protected readonly
|
|
5
|
+
protected readonly _config: GenerateConfig;
|
|
6
6
|
protected log: Logger;
|
|
7
|
-
|
|
7
|
+
protected dependencyManager: DependencyManager;
|
|
8
|
+
protected packageData?: PackageDataParser;
|
|
9
|
+
/** Override config, used to override the config temporarily to generate both ESM and CJS for NPM packages */
|
|
10
|
+
protected overrideConfig: Partial<GenerateConfig>;
|
|
11
|
+
/** Get the current config, including the override config */
|
|
12
|
+
protected get config(): GenerateConfig;
|
|
13
|
+
/**
|
|
14
|
+
* @param _config The config to use without the override config
|
|
15
|
+
*/
|
|
16
|
+
constructor(_config: GenerateConfig);
|
|
8
17
|
/**
|
|
9
18
|
*
|
|
10
19
|
* @param namespace E.g. 'Gtk'
|
|
11
20
|
* @param packageName E.g. 'Gtk-3.0'
|
|
12
21
|
* @param asExternType Currently only used for node type imports
|
|
13
22
|
*/
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
+
protected generateModuleDependenciesImport(packageName: string): string[];
|
|
24
|
+
protected generateExport(type: string, name: string, definition: string, indentCount?: number): string;
|
|
25
|
+
protected generateProperty(tsProp: TsProperty, onlyStatic: boolean, namespace: string, indentCount?: number): string[];
|
|
26
|
+
protected generateProperties(tsProps: TsProperty[], onlyStatic: boolean, namespace: string, comment: string, indentCount?: number): string[];
|
|
27
|
+
protected generateVariableCallbackType(tsType: TsType, namespace: string): string;
|
|
28
|
+
protected generateVariable(tsVar: TsProperty | TsVar, namespace: string, indentCount?: number, allowCommentOut?: boolean): string;
|
|
29
|
+
protected generateType(tsType: TsType, namespace: string, generateNullable?: boolean): string;
|
|
30
|
+
protected generateTypes(tsTypes: TsType[], namespace: string): string;
|
|
31
|
+
protected generateGenericValues(tsType: TsType, namespace: string): string;
|
|
23
32
|
/**
|
|
24
33
|
* Generates signals from all properties of a base class
|
|
25
34
|
* TODO: Build new `GirSignalElement`s in `gir-module.ts` instead of generate the strings directly
|
|
@@ -28,16 +37,16 @@ export declare class TypeDefinitionGenerator implements Generator {
|
|
|
28
37
|
* @param indentCount
|
|
29
38
|
* @returns
|
|
30
39
|
*/
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
40
|
+
protected generateClassPropertySignals(girClass: GirClassElement | GirUnionElement | GirInterfaceElement | GirRecordElement, namespace: string, indentCount?: number): string[];
|
|
41
|
+
protected generateInParameters(inParams: GirCallableParamElement[], instanceParameters: GirInstanceParameter[], namespace: string): string[];
|
|
42
|
+
protected generateSignals(girSignals: GirSignalElement[], girClass: GirClassElement | GirUnionElement | GirInterfaceElement | GirRecordElement, namespace: string, indentCount?: number): string[];
|
|
34
43
|
/**
|
|
35
44
|
* Adds documentation comments
|
|
36
45
|
* @see https://github.com/microsoft/tsdoc
|
|
37
46
|
* @param lines
|
|
38
47
|
* @param indentCount
|
|
39
48
|
*/
|
|
40
|
-
|
|
49
|
+
protected addTSDocCommentLines(lines: string[], indentCount?: number): string[];
|
|
41
50
|
/**
|
|
42
51
|
* Adds the documentation as comments
|
|
43
52
|
* @see https://github.com/microsoft/tsdoc
|
|
@@ -46,70 +55,84 @@ export declare class TypeDefinitionGenerator implements Generator {
|
|
|
46
55
|
* @param overwriteDoc
|
|
47
56
|
* @returns
|
|
48
57
|
*/
|
|
49
|
-
|
|
58
|
+
protected addGirDocComment(tsDoc: TsDoc | undefined, indentCount?: number, overwriteDoc?: Partial<TsDoc>): string[];
|
|
50
59
|
/**
|
|
51
60
|
* Adds an info comment, is used for debugging the generated types
|
|
52
61
|
* @param comment
|
|
53
62
|
* @param indentCount
|
|
54
63
|
* @returns
|
|
55
64
|
*/
|
|
56
|
-
|
|
65
|
+
protected addInfoComment(comment?: string, indentCount?: number): string[];
|
|
57
66
|
/**
|
|
58
67
|
* Adds an inline info comment, is used for debugging the generated types
|
|
59
68
|
* @param comment
|
|
60
69
|
* @param indentCount
|
|
61
70
|
* @returns
|
|
62
71
|
*/
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
72
|
+
protected addInlineInfoComment(comment?: string, indentCount?: number): string[];
|
|
73
|
+
protected mergeDescs(descs: string[], comment?: string, indentCount?: number): string[];
|
|
74
|
+
protected generateParameter(tsParam: TsParameter, namespace: string): string[];
|
|
66
75
|
/**
|
|
67
76
|
*
|
|
68
77
|
* @param tsGenerics
|
|
69
78
|
* @param isOut If this generic parameters are out do only generate the type parameter names
|
|
70
79
|
* @returns
|
|
71
80
|
*/
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
81
|
+
protected generateGenericParameters(tsGenerics?: TsGenericParameter[], isOut?: boolean): string;
|
|
82
|
+
protected generateOutParameterReturn(girParam: GirCallableParamElement, namespace: string): string[];
|
|
83
|
+
protected generateFunctionReturn(tsFunction: TsFunction | TsCallback | TsSignal, namespace: string): string;
|
|
84
|
+
protected generateFunction(tsFunction: TsFunction | TsCallback | TsSignal | undefined,
|
|
85
|
+
/** If true only generate static functions otherwise generate only non static functions */
|
|
86
|
+
onlyStatic: boolean, namespace: string, indentCount?: number, overloads?: boolean): string[];
|
|
87
|
+
protected generateFunctions(tsFunctions: TsFunction[], onlyStatic: boolean, namespace: string, indentCount?: number, comment?: string): string[];
|
|
88
|
+
protected generateCallbackInterface(tsCallback: TsCallback | TsSignal, namespace: string, indentCount?: number, classModuleName?: string): string[];
|
|
89
|
+
protected generateCallbackInterfaces(tsCallbacks: Array<TsCallback | TsSignal>, namespace: string, indentCount: number | undefined, classModuleName: string, comment?: string): string[];
|
|
90
|
+
protected generateEnumeration(girEnum: GirEnumElement | GirBitfieldElement, indentCount?: number): string[];
|
|
91
|
+
protected generateEnumerationMember(tsMember: TsMember, indentCount?: number): string[];
|
|
92
|
+
protected generateConstant(tsConst: TsVar, namespace: string, indentCount?: number): string[];
|
|
93
|
+
protected generateAlias(girAlias: GirAliasElement, namespace: string, indentCount?: number): string[] | "";
|
|
94
|
+
protected generateConstructPropsInterface(girClass: GirClassElement | GirUnionElement | GirInterfaceElement | GirRecordElement, namespace: string, indentCount?: number): string[];
|
|
95
|
+
protected generateClassFields(girClass: GirClassElement | GirUnionElement | GirInterfaceElement | GirRecordElement, onlyStatic: boolean, namespace: string, indentCount?: number): string[];
|
|
96
|
+
protected generateClassProperties(girClass: GirClassElement | GirUnionElement | GirInterfaceElement | GirRecordElement, onlyStatic: boolean, namespace: string, indentCount?: number): string[];
|
|
97
|
+
protected generateClassMethods(girClass: GirClassElement | GirUnionElement | GirInterfaceElement | GirRecordElement, onlyStatic: boolean, namespace: string, indentCount?: number): string[];
|
|
98
|
+
protected generateClassConstructors(girClass: GirClassElement | GirUnionElement | GirInterfaceElement | GirRecordElement, namespace: string, indentCount?: number): string[];
|
|
88
99
|
/**
|
|
89
100
|
* Instance methods, vfunc_ prefix
|
|
90
101
|
* @param girClass
|
|
91
102
|
*/
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
103
|
+
protected generateClassVirtualMethods(girClass: GirClassElement | GirUnionElement | GirInterfaceElement | GirRecordElement, namespace: string, indentCount?: number): string[];
|
|
104
|
+
protected generateClassSignalInterfaces(girClass: GirClassElement | GirUnionElement | GirInterfaceElement | GirRecordElement, namespace: string, indentCount?: number): string[];
|
|
105
|
+
protected generateClassSignals(girClass: GirClassElement | GirUnionElement | GirInterfaceElement | GirRecordElement, namespace: string): string[];
|
|
106
|
+
protected generateClassModules(girClass: GirClassElement | GirUnionElement | GirInterfaceElement | GirRecordElement, namespace: string, indentCount?: number): string[];
|
|
96
107
|
/**
|
|
97
108
|
* In Typescript, interfaces and classes can have the same name,
|
|
98
109
|
* so we use this to generate interfaces with the same name to implement multiple inheritance
|
|
99
110
|
* @param girClass
|
|
100
111
|
* @param namespace
|
|
101
112
|
*/
|
|
102
|
-
|
|
113
|
+
protected generateImplementationInterface(girClass: GirClassElement | GirUnionElement | GirInterfaceElement | GirRecordElement, namespace: string): string[];
|
|
103
114
|
/**
|
|
104
115
|
* Represents a record, GObject class or interface as a Typescript class
|
|
105
116
|
* @param girClass
|
|
106
117
|
* @param namespace
|
|
107
118
|
*/
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
119
|
+
protected generateClass(girClass: GirClassElement | GirUnionElement | GirInterfaceElement | GirRecordElement, namespace: string): string[];
|
|
120
|
+
protected exportModuleJS(moduleTemplateProcessor: TemplateProcessor, girModule: GirModule): Promise<void>;
|
|
121
|
+
protected exportModuleAmbientTS(moduleTemplateProcessor: TemplateProcessor, girModule: GirModule): Promise<void>;
|
|
122
|
+
protected exportModuleImportTS(moduleTemplateProcessor: TemplateProcessor, girModule: GirModule): Promise<void>;
|
|
123
|
+
protected exportModuleTS(moduleTemplateProcessor: TemplateProcessor, girModule: GirModule): Promise<void>;
|
|
124
|
+
protected exportNPMPackage(moduleTemplateProcessor: TemplateProcessor, girModuleImportName: string): Promise<void>;
|
|
125
|
+
protected exportNPMPackageJson(moduleTemplateProcessor: TemplateProcessor): Promise<void>;
|
|
126
|
+
protected exportNPMReadme(moduleTemplateProcessor: TemplateProcessor, girModuleImportName: string): Promise<void>;
|
|
127
|
+
protected exportDocTSConfig(moduleTemplateProcessor: TemplateProcessor): Promise<void>;
|
|
128
|
+
protected exportModule(girModule: GirModule, girModules: GirModule[], girModulesGrouped: GirModulesGrouped[]): Promise<void>;
|
|
129
|
+
/**
|
|
130
|
+
* We build both module types if we build an NPM package,
|
|
131
|
+
* so we need to switch the module type and use the default noNamespace value for the module type
|
|
132
|
+
*/
|
|
133
|
+
protected setOverrideConfigForOtherModuleType(): void;
|
|
134
|
+
protected resetOverrideConfig(): void;
|
|
135
|
+
protected exportGjs(dependencies: Dependency[], girModules: GirModule[], girModulesGrouped: GirModulesGrouped[]): Promise<void>;
|
|
136
|
+
protected exportNodeGtk(dependencies: Dependency[], girModules: GirModule[], girModulesGrouped: GirModulesGrouped[]): Promise<void>;
|
|
137
|
+
start(girModules: GirModule[], girModulesGrouped?: GirModulesGrouped[]): Promise<void>;
|
|
115
138
|
}
|
|
@@ -1,10 +1,25 @@
|
|
|
1
|
-
import { Logger, generateIndent, removeNamespace, removeClassModule, girElementIsIntrospectable,
|
|
1
|
+
import { Logger, generateIndent, removeNamespace, removeClassModule, girElementIsIntrospectable, typesContainsOptional, typesContainsNullable, TemplateProcessor, DependencyManager, NO_TSDATA, PackageDataParser, WARN_NOT_FOUND_DEPENDENCY_GIR_FILE, WARN_IGNORE_MULTIPLE_CALLBACKS, WARN_IGNORE_MULTIPLE_FUNC_DESC, } from '@ts-for-gir/lib';
|
|
2
2
|
export class TypeDefinitionGenerator {
|
|
3
|
-
|
|
3
|
+
_config;
|
|
4
4
|
log;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
dependencyManager;
|
|
6
|
+
packageData;
|
|
7
|
+
/** Override config, used to override the config temporarily to generate both ESM and CJS for NPM packages */
|
|
8
|
+
overrideConfig = {};
|
|
9
|
+
/** Get the current config, including the override config */
|
|
10
|
+
get config() {
|
|
11
|
+
return { ...this._config, ...this.overrideConfig };
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* @param _config The config to use without the override config
|
|
15
|
+
*/
|
|
16
|
+
constructor(_config) {
|
|
17
|
+
this._config = _config;
|
|
18
|
+
this.log = new Logger(this.config.environment, this.config.verbose, TypeDefinitionGenerator.name);
|
|
19
|
+
this.dependencyManager = DependencyManager.getInstance(this.config);
|
|
20
|
+
if (this.config.package) {
|
|
21
|
+
this.packageData = new PackageDataParser(this.config);
|
|
22
|
+
}
|
|
8
23
|
}
|
|
9
24
|
/**
|
|
10
25
|
*
|
|
@@ -12,26 +27,25 @@ export class TypeDefinitionGenerator {
|
|
|
12
27
|
* @param packageName E.g. 'Gtk-3.0'
|
|
13
28
|
* @param asExternType Currently only used for node type imports
|
|
14
29
|
*/
|
|
15
|
-
generateModuleDependenciesImport(
|
|
30
|
+
generateModuleDependenciesImport(packageName) {
|
|
16
31
|
const def = [];
|
|
17
|
-
const
|
|
18
|
-
if (this.config.
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}
|
|
32
|
+
const dep = this.dependencyManager.get(packageName);
|
|
33
|
+
// if (this.config.package) {
|
|
34
|
+
// if (this.config.buildType === 'types') {
|
|
35
|
+
// // See https://www.typescriptlang.org/docs/handbook/triple-slash-directives.html
|
|
36
|
+
// def.push(`/// <reference types="${this.config.npmScope}/${dep.importName}" />`)
|
|
37
|
+
// }
|
|
38
|
+
// } else {
|
|
39
|
+
// if (this.config.buildType === 'types') {
|
|
40
|
+
// // See https://www.typescriptlang.org/docs/handbook/triple-slash-directives.html
|
|
41
|
+
// def.push(`/// <reference path="${dep.importName}.d.ts" />`)
|
|
42
|
+
// }
|
|
43
|
+
// }
|
|
44
|
+
def.push(dep.importDef);
|
|
31
45
|
return def;
|
|
32
46
|
}
|
|
33
47
|
generateExport(type, name, definition, indentCount = 0) {
|
|
34
|
-
const exp = !this.config.noNamespace
|
|
48
|
+
const exp = !this.config.noNamespace ? '' : 'export ';
|
|
35
49
|
const indent = generateIndent(indentCount);
|
|
36
50
|
if (!definition.startsWith(':')) {
|
|
37
51
|
definition = ' ' + definition;
|
|
@@ -94,7 +108,8 @@ export class TypeDefinitionGenerator {
|
|
|
94
108
|
generateVariable(tsVar, namespace, indentCount = 0, allowCommentOut = true) {
|
|
95
109
|
const indent = generateIndent(indentCount);
|
|
96
110
|
const name = tsVar.name;
|
|
97
|
-
|
|
111
|
+
// Constants are not optional
|
|
112
|
+
const optional = tsVar.tsTypeName !== 'constant' && typesContainsOptional(tsVar.type);
|
|
98
113
|
if (!name) {
|
|
99
114
|
throw new Error('[generateVariable] "name" not set!');
|
|
100
115
|
}
|
|
@@ -104,11 +119,27 @@ export class TypeDefinitionGenerator {
|
|
|
104
119
|
const commentOut = allowCommentOut && tsVar.hasUnresolvedConflict ? '// Has conflict: ' : '';
|
|
105
120
|
return `${indent}${commentOut}${name}${affix}: ${typeStr}`;
|
|
106
121
|
}
|
|
122
|
+
generateType(tsType, namespace, generateNullable = true) {
|
|
123
|
+
let typeName = removeNamespace(tsType.type, namespace);
|
|
124
|
+
if (tsType.callbacks.length) {
|
|
125
|
+
typeName = this.generateVariableCallbackType(tsType, namespace);
|
|
126
|
+
}
|
|
127
|
+
if (!typeName) {
|
|
128
|
+
throw new Error('[generateVariable] "typeName" not set!');
|
|
129
|
+
}
|
|
130
|
+
let prefix = tsType.isArray ? '[]' : '';
|
|
131
|
+
if (generateNullable && tsType.nullable) {
|
|
132
|
+
prefix += ' | null';
|
|
133
|
+
}
|
|
134
|
+
// We just use the generic values here
|
|
135
|
+
const genericStr = this.generateGenericValues(tsType, namespace);
|
|
136
|
+
return `${typeName}${genericStr}${prefix}`;
|
|
137
|
+
}
|
|
107
138
|
generateTypes(tsTypes, namespace) {
|
|
108
139
|
let def = '';
|
|
109
140
|
for (const tsType of tsTypes) {
|
|
110
141
|
const separator = tsType.leftSeparator || '|';
|
|
111
|
-
const typeStr = this.generateType(tsType, namespace);
|
|
142
|
+
const typeStr = this.generateType(tsType, namespace, false);
|
|
112
143
|
if (!def) {
|
|
113
144
|
def = typeStr;
|
|
114
145
|
}
|
|
@@ -116,6 +147,15 @@ export class TypeDefinitionGenerator {
|
|
|
116
147
|
def += ` ${separator} ${typeStr}`;
|
|
117
148
|
}
|
|
118
149
|
}
|
|
150
|
+
const hasNullable = typesContainsNullable(tsTypes);
|
|
151
|
+
if (hasNullable) {
|
|
152
|
+
if (tsTypes.length > 1) {
|
|
153
|
+
def = `(${def}) | null`;
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
def += ' | null';
|
|
157
|
+
}
|
|
158
|
+
}
|
|
119
159
|
return def;
|
|
120
160
|
}
|
|
121
161
|
generateGenericValues(tsType, namespace) {
|
|
@@ -124,20 +164,6 @@ export class TypeDefinitionGenerator {
|
|
|
124
164
|
const genericStr = tsType.generics.length ? `<${genericValues.join(', ')}>` : '';
|
|
125
165
|
return genericStr;
|
|
126
166
|
}
|
|
127
|
-
generateType(tsType, namespace) {
|
|
128
|
-
let typeName = removeNamespace(tsType.type, namespace);
|
|
129
|
-
if (tsType.callbacks.length) {
|
|
130
|
-
typeName = this.generateVariableCallbackType(tsType, namespace);
|
|
131
|
-
}
|
|
132
|
-
if (!typeName) {
|
|
133
|
-
throw new Error('[generateVariable] "typeName" not set!');
|
|
134
|
-
}
|
|
135
|
-
let prefix = tsType.isArray ? '[]' : '';
|
|
136
|
-
prefix += tsType.nullable ? ' | null' : '';
|
|
137
|
-
// We just use the generic values here
|
|
138
|
-
const genericStr = this.generateGenericValues(tsType, namespace);
|
|
139
|
-
return `${typeName}${genericStr}${prefix}`;
|
|
140
|
-
}
|
|
141
167
|
/**
|
|
142
168
|
* Generates signals from all properties of a base class
|
|
143
169
|
* TODO: Build new `GirSignalElement`s in `gir-module.ts` instead of generate the strings directly
|
|
@@ -305,7 +331,7 @@ export class TypeDefinitionGenerator {
|
|
|
305
331
|
const types = tsParam.type;
|
|
306
332
|
const name = tsParam.name;
|
|
307
333
|
const typeStr = this.generateTypes(types, namespace);
|
|
308
|
-
const optional =
|
|
334
|
+
const optional = typesContainsOptional(types) && !tsParam.isRest;
|
|
309
335
|
const affix = optional ? '?' : '';
|
|
310
336
|
const prefix = tsParam.isRest ? '...' : '';
|
|
311
337
|
return [`${prefix}${name}${affix}: ${typeStr}`];
|
|
@@ -405,7 +431,7 @@ export class TypeDefinitionGenerator {
|
|
|
405
431
|
let exportStr = '';
|
|
406
432
|
// `tsType === 'function'` are a global methods which can be exported
|
|
407
433
|
if (isGlobal) {
|
|
408
|
-
exportStr = !this.config.noNamespace
|
|
434
|
+
exportStr = !this.config.noNamespace ? '' : 'export ';
|
|
409
435
|
}
|
|
410
436
|
const returnType = this.generateFunctionReturn(tsFunction, namespace);
|
|
411
437
|
let retSep = '';
|
|
@@ -513,7 +539,7 @@ export class TypeDefinitionGenerator {
|
|
|
513
539
|
desc.push(...this.addGirDocComment(tsConst.doc, indentCount));
|
|
514
540
|
}
|
|
515
541
|
const indent = generateIndent(indentCount);
|
|
516
|
-
const exp = !this.config.noNamespace
|
|
542
|
+
const exp = !this.config.noNamespace ? '' : 'export ';
|
|
517
543
|
const varDesc = this.generateVariable(tsConst, namespace, 0);
|
|
518
544
|
desc.push(`${indent}${exp}const ${varDesc}`);
|
|
519
545
|
return desc;
|
|
@@ -528,7 +554,7 @@ export class TypeDefinitionGenerator {
|
|
|
528
554
|
return desc;
|
|
529
555
|
}
|
|
530
556
|
const indent = generateIndent(indentCount);
|
|
531
|
-
const exp = !this.config.noNamespace
|
|
557
|
+
const exp = !this.config.noNamespace ? '' : 'export ';
|
|
532
558
|
const type = removeNamespace(girAlias._tsData.type, namespace);
|
|
533
559
|
desc.push(`${indent}${exp}type ${girAlias._tsData.name} = ${type}`);
|
|
534
560
|
return desc;
|
|
@@ -542,7 +568,7 @@ export class TypeDefinitionGenerator {
|
|
|
542
568
|
return def;
|
|
543
569
|
}
|
|
544
570
|
const indent = generateIndent(indentCount);
|
|
545
|
-
const exp = !this.config.noNamespace
|
|
571
|
+
const exp = !this.config.noNamespace ? '' : 'export ';
|
|
546
572
|
let ext = '';
|
|
547
573
|
if (girClass._tsData.inheritConstructPropInterfaceNames.length) {
|
|
548
574
|
const constructPropInterfaceNames = girClass._tsData.inheritConstructPropInterfaceNames.map((n) => removeNamespace(n, namespace));
|
|
@@ -648,7 +674,7 @@ export class TypeDefinitionGenerator {
|
|
|
648
674
|
if (!girClass._tsData)
|
|
649
675
|
return def;
|
|
650
676
|
const indent = generateIndent(indentCount);
|
|
651
|
-
const exp = !this.config.noNamespace
|
|
677
|
+
const exp = !this.config.noNamespace ? '' : 'export ';
|
|
652
678
|
// Signal interfaces
|
|
653
679
|
bodyDef.push(...this.generateClassSignalInterfaces(girClass, namespace, indentCount + 1));
|
|
654
680
|
// Properties interface for construction
|
|
@@ -751,28 +777,90 @@ export class TypeDefinitionGenerator {
|
|
|
751
777
|
}
|
|
752
778
|
async exportModuleJS(moduleTemplateProcessor, girModule) {
|
|
753
779
|
const template = 'module.js';
|
|
780
|
+
let target = `${girModule.importName}.js`;
|
|
781
|
+
if (this.overrideConfig.moduleType) {
|
|
782
|
+
if (this.overrideConfig.moduleType === 'cjs') {
|
|
783
|
+
target = `${girModule.importName}.cjs`;
|
|
784
|
+
}
|
|
785
|
+
else {
|
|
786
|
+
target = `${girModule.importName}.mjs`;
|
|
787
|
+
}
|
|
788
|
+
}
|
|
789
|
+
if (this.config.outdir) {
|
|
790
|
+
await moduleTemplateProcessor.create(template, this.config.outdir, target, undefined, undefined, undefined, this.config);
|
|
791
|
+
}
|
|
792
|
+
else {
|
|
793
|
+
const { append, prepend } = await moduleTemplateProcessor.load(template, {}, this.config);
|
|
794
|
+
this.log.log(append + prepend);
|
|
795
|
+
}
|
|
796
|
+
}
|
|
797
|
+
async exportModuleAmbientTS(moduleTemplateProcessor, girModule) {
|
|
798
|
+
const template = 'module-ambient.d.ts';
|
|
799
|
+
let target = `${girModule.importName}-ambient.d.ts`;
|
|
800
|
+
if (this.overrideConfig.moduleType) {
|
|
801
|
+
if (this.overrideConfig.moduleType === 'cjs') {
|
|
802
|
+
target = `${girModule.importName}-ambient.d.cts`;
|
|
803
|
+
}
|
|
804
|
+
else {
|
|
805
|
+
target = `${girModule.importName}-ambient.d.mts`;
|
|
806
|
+
}
|
|
807
|
+
}
|
|
754
808
|
if (this.config.outdir) {
|
|
755
|
-
await moduleTemplateProcessor.create(template, this.config.outdir,
|
|
809
|
+
await moduleTemplateProcessor.create(template, this.config.outdir, target, undefined, undefined, undefined, this.config);
|
|
756
810
|
}
|
|
757
811
|
else {
|
|
758
|
-
const
|
|
759
|
-
this.log.log(
|
|
812
|
+
const { append, prepend } = await moduleTemplateProcessor.load(template, {}, this.config);
|
|
813
|
+
this.log.log(append + prepend);
|
|
814
|
+
}
|
|
815
|
+
}
|
|
816
|
+
async exportModuleImportTS(moduleTemplateProcessor, girModule) {
|
|
817
|
+
const template = 'module-import.d.ts';
|
|
818
|
+
let target = `${girModule.importName}-import.d.ts`;
|
|
819
|
+
if (this.overrideConfig.moduleType) {
|
|
820
|
+
if (this.overrideConfig.moduleType === 'cjs') {
|
|
821
|
+
target = `${girModule.importName}-import.d.cts`;
|
|
822
|
+
}
|
|
823
|
+
else {
|
|
824
|
+
target = `${girModule.importName}-import.d.mts`;
|
|
825
|
+
}
|
|
826
|
+
}
|
|
827
|
+
if (this.config.outdir) {
|
|
828
|
+
await moduleTemplateProcessor.create(template, this.config.outdir, target, undefined, undefined, undefined, this.config);
|
|
829
|
+
}
|
|
830
|
+
else {
|
|
831
|
+
const { append, prepend } = await moduleTemplateProcessor.load(template, {}, this.config);
|
|
832
|
+
this.log.log(append + prepend);
|
|
760
833
|
}
|
|
761
834
|
}
|
|
762
835
|
async exportModuleTS(moduleTemplateProcessor, girModule) {
|
|
763
836
|
const template = 'module.d.ts';
|
|
837
|
+
let explicitTemplate = `${girModule.importName}.d.ts`;
|
|
838
|
+
let target = `${girModule.importName}.d.ts`;
|
|
839
|
+
if (this.overrideConfig.moduleType) {
|
|
840
|
+
if (this.overrideConfig.moduleType === 'cjs') {
|
|
841
|
+
target = `${girModule.importName}.d.cts`;
|
|
842
|
+
}
|
|
843
|
+
else {
|
|
844
|
+
target = `${girModule.importName}.d.mts`;
|
|
845
|
+
}
|
|
846
|
+
}
|
|
847
|
+
// Remove `node-` prefix for node environment
|
|
848
|
+
if (this.config.environment === 'node' && explicitTemplate.startsWith('node-')) {
|
|
849
|
+
explicitTemplate = explicitTemplate.substring(5);
|
|
850
|
+
}
|
|
764
851
|
const out = [];
|
|
765
852
|
out.push(...this.addTSDocCommentLines([girModule.packageName]));
|
|
766
853
|
out.push('');
|
|
854
|
+
// if (this.config.environment === 'gjs') {
|
|
855
|
+
// out.push(...this.generateModuleDependenciesImport('Gjs')
|
|
856
|
+
// }
|
|
767
857
|
// Module dependencies as type references or imports
|
|
768
|
-
|
|
769
|
-
out.push(...this.generateModuleDependenciesImport('Gjs', 'Gjs', false));
|
|
770
|
-
}
|
|
858
|
+
// TODO: Move to template
|
|
771
859
|
for (const dependency of girModule.transitiveDependencies) {
|
|
772
860
|
// Don't reference yourself as a dependency
|
|
773
861
|
if (girModule.packageName !== dependency.packageName) {
|
|
774
862
|
if (dependency.exists) {
|
|
775
|
-
out.push(...this.generateModuleDependenciesImport(dependency.
|
|
863
|
+
out.push(...this.generateModuleDependenciesImport(dependency.packageName));
|
|
776
864
|
}
|
|
777
865
|
else {
|
|
778
866
|
out.push(`// WARN: Dependency not found: '${dependency.packageName}'`);
|
|
@@ -782,11 +870,7 @@ export class TypeDefinitionGenerator {
|
|
|
782
870
|
}
|
|
783
871
|
// START Namespace
|
|
784
872
|
{
|
|
785
|
-
if (this.config.
|
|
786
|
-
out.push('');
|
|
787
|
-
out.push(`declare namespace ${girModule.namespace} {`);
|
|
788
|
-
}
|
|
789
|
-
else if (!this.config.noNamespace) {
|
|
873
|
+
if (!this.config.noNamespace) {
|
|
790
874
|
out.push('');
|
|
791
875
|
out.push(`export namespace ${girModule.namespace} {`);
|
|
792
876
|
}
|
|
@@ -823,12 +907,13 @@ export class TypeDefinitionGenerator {
|
|
|
823
907
|
if (girIface._module) {
|
|
824
908
|
out.push(...this.generateClass(girIface, girIface._module.namespace));
|
|
825
909
|
}
|
|
826
|
-
// Extra interfaces if a template with the module name (e.g. '../templates/
|
|
910
|
+
// Extra interfaces if a template with the module name (e.g. '../templates/gobject-2-0.d.ts') is found
|
|
827
911
|
// E.g. used for GObject-2.0 to help define GObject classes in js;
|
|
828
912
|
// these aren't part of gi.
|
|
829
|
-
if (moduleTemplateProcessor.exists(
|
|
830
|
-
const
|
|
831
|
-
|
|
913
|
+
if (moduleTemplateProcessor.exists(explicitTemplate)) {
|
|
914
|
+
const { append, prepend } = await moduleTemplateProcessor.load(explicitTemplate, {}, this.config);
|
|
915
|
+
// TODO push prepend and append to the right position
|
|
916
|
+
out.push(append + prepend);
|
|
832
917
|
}
|
|
833
918
|
if (girModule.ns.class)
|
|
834
919
|
for (const gitClass of girModule.ns.class)
|
|
@@ -913,80 +998,208 @@ export class TypeDefinitionGenerator {
|
|
|
913
998
|
// END Namespace
|
|
914
999
|
if (!this.config.noNamespace) {
|
|
915
1000
|
out.push(`}`);
|
|
916
|
-
|
|
917
|
-
if (!this.config.noNamespace) {
|
|
1001
|
+
out.push('');
|
|
918
1002
|
out.push(`export default ${girModule.namespace};`);
|
|
919
1003
|
}
|
|
920
1004
|
const outResult = out.join('\n'); // End of file
|
|
921
1005
|
if (this.config.outdir) {
|
|
922
|
-
await moduleTemplateProcessor.create(template, this.config.outdir,
|
|
1006
|
+
await moduleTemplateProcessor.create(template, this.config.outdir, target, true, outResult, {}, this.config);
|
|
1007
|
+
}
|
|
1008
|
+
else {
|
|
1009
|
+
const { append, prepend } = await moduleTemplateProcessor.load(template, {}, this.config);
|
|
1010
|
+
this.log.log(append + '\n' + outResult + prepend);
|
|
1011
|
+
}
|
|
1012
|
+
}
|
|
1013
|
+
async exportNPMPackage(moduleTemplateProcessor, girModuleImportName) {
|
|
1014
|
+
await this.exportNPMPackageJson(moduleTemplateProcessor);
|
|
1015
|
+
await this.exportNPMReadme(moduleTemplateProcessor, girModuleImportName);
|
|
1016
|
+
await this.exportDocTSConfig(moduleTemplateProcessor);
|
|
1017
|
+
}
|
|
1018
|
+
async exportNPMPackageJson(moduleTemplateProcessor) {
|
|
1019
|
+
const template = 'package.json';
|
|
1020
|
+
if (this.config.outdir) {
|
|
1021
|
+
await moduleTemplateProcessor.create(template, this.config.outdir, template, // output filename
|
|
1022
|
+
undefined, undefined, {}, this.config);
|
|
923
1023
|
}
|
|
924
1024
|
else {
|
|
925
|
-
const
|
|
926
|
-
this.log.log(
|
|
1025
|
+
const { append, prepend } = await moduleTemplateProcessor.load(template, {}, this.config);
|
|
1026
|
+
this.log.log(append + prepend);
|
|
927
1027
|
}
|
|
928
1028
|
}
|
|
929
|
-
async
|
|
1029
|
+
async exportNPMReadme(moduleTemplateProcessor, girModuleImportName) {
|
|
1030
|
+
// E.g. `README-GJS.md` or `README-GTK-4.0.md`
|
|
1031
|
+
let template = girModuleImportName ? `README-${girModuleImportName.toUpperCase()}.md` : 'README.md';
|
|
1032
|
+
const outputFilename = 'README.md';
|
|
1033
|
+
if (!moduleTemplateProcessor.exists(template)) {
|
|
1034
|
+
template = 'README.md';
|
|
1035
|
+
}
|
|
1036
|
+
if (this.config.outdir) {
|
|
1037
|
+
await moduleTemplateProcessor.create(template, this.config.outdir, outputFilename, undefined, undefined, {}, this.config);
|
|
1038
|
+
}
|
|
1039
|
+
else {
|
|
1040
|
+
const { append, prepend } = await moduleTemplateProcessor.load(template, {}, this.config);
|
|
1041
|
+
this.log.log(append + prepend);
|
|
1042
|
+
}
|
|
1043
|
+
}
|
|
1044
|
+
async exportDocTSConfig(moduleTemplateProcessor) {
|
|
1045
|
+
const template = 'tsconfig.doc.json';
|
|
1046
|
+
if (this.config.outdir) {
|
|
1047
|
+
await moduleTemplateProcessor.create(template, this.config.outdir, template, // output filename
|
|
1048
|
+
undefined, undefined, {}, this.config);
|
|
1049
|
+
}
|
|
1050
|
+
else {
|
|
1051
|
+
const { append, prepend } = await moduleTemplateProcessor.load(template, {}, this.config);
|
|
1052
|
+
this.log.log(append + prepend);
|
|
1053
|
+
}
|
|
1054
|
+
}
|
|
1055
|
+
async exportModule(girModule, girModules, girModulesGrouped) {
|
|
1056
|
+
let pkgData;
|
|
1057
|
+
if (this.packageData) {
|
|
1058
|
+
pkgData = this.packageData.get(girModule.packageName);
|
|
1059
|
+
}
|
|
930
1060
|
const moduleTemplateProcessor = new TemplateProcessor({
|
|
931
1061
|
name: girModule.namespace,
|
|
932
1062
|
namespace: girModule.namespace,
|
|
933
1063
|
version: girModule.version,
|
|
934
1064
|
importName: girModule.importName,
|
|
935
|
-
|
|
1065
|
+
girModule,
|
|
1066
|
+
girModules,
|
|
1067
|
+
girModulesGrouped,
|
|
1068
|
+
pkgData,
|
|
1069
|
+
}, girModule.packageName, girModule.transitiveDependencies, this.config);
|
|
936
1070
|
await this.exportModuleTS(moduleTemplateProcessor, girModule);
|
|
1071
|
+
if (this.config.environment === 'gjs') {
|
|
1072
|
+
await this.exportModuleAmbientTS(moduleTemplateProcessor, girModule);
|
|
1073
|
+
}
|
|
1074
|
+
await this.exportModuleImportTS(moduleTemplateProcessor, girModule);
|
|
937
1075
|
if (this.config.buildType === 'lib') {
|
|
938
1076
|
await this.exportModuleJS(moduleTemplateProcessor, girModule);
|
|
939
1077
|
}
|
|
1078
|
+
if (this.config.package) {
|
|
1079
|
+
this.setOverrideConfigForOtherModuleType();
|
|
1080
|
+
await this.exportModuleTS(moduleTemplateProcessor, girModule);
|
|
1081
|
+
if (this.config.buildType === 'lib') {
|
|
1082
|
+
await this.exportModuleJS(moduleTemplateProcessor, girModule);
|
|
1083
|
+
}
|
|
1084
|
+
this.resetOverrideConfig();
|
|
1085
|
+
}
|
|
1086
|
+
if (this.config.package) {
|
|
1087
|
+
await this.exportNPMPackage(moduleTemplateProcessor, girModule.importName);
|
|
1088
|
+
}
|
|
940
1089
|
}
|
|
941
|
-
|
|
1090
|
+
/**
|
|
1091
|
+
* We build both module types if we build an NPM package,
|
|
1092
|
+
* so we need to switch the module type and use the default noNamespace value for the module type
|
|
1093
|
+
*/
|
|
1094
|
+
setOverrideConfigForOtherModuleType() {
|
|
1095
|
+
if (this.config.moduleType === 'esm') {
|
|
1096
|
+
this.overrideConfig.moduleType = 'cjs';
|
|
1097
|
+
this.overrideConfig.noNamespace = true;
|
|
1098
|
+
}
|
|
1099
|
+
else {
|
|
1100
|
+
this.overrideConfig.moduleType = 'esm';
|
|
1101
|
+
this.overrideConfig.noNamespace = false;
|
|
1102
|
+
}
|
|
1103
|
+
}
|
|
1104
|
+
resetOverrideConfig() {
|
|
1105
|
+
this.overrideConfig = {};
|
|
1106
|
+
}
|
|
1107
|
+
async exportGjs(dependencies, girModules, girModulesGrouped) {
|
|
942
1108
|
if (!this.config.outdir)
|
|
943
1109
|
return;
|
|
944
|
-
const
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
await templateProcessor.create('
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
await templateProcessor.createAll('.d.ts', 'ui/components', this.config.outdir, 'ui/components');
|
|
953
|
-
}
|
|
954
|
-
// Lib
|
|
1110
|
+
const packageName = 'Gjs';
|
|
1111
|
+
const templateProcessor = new TemplateProcessor({ girModules: girModules, girModulesGrouped }, packageName, dependencies, this.config);
|
|
1112
|
+
// TS
|
|
1113
|
+
await templateProcessor.create('gjs.d.ts', this.config.outdir, 'gjs.d.ts');
|
|
1114
|
+
await templateProcessor.create('gettext.d.ts', this.config.outdir, 'gettext.d.ts');
|
|
1115
|
+
await templateProcessor.create('system.d.ts', this.config.outdir, 'system.d.ts');
|
|
1116
|
+
await templateProcessor.create('cairo.d.ts', this.config.outdir, 'cairo.d.ts');
|
|
1117
|
+
// JS
|
|
955
1118
|
if (this.config.buildType === 'lib') {
|
|
956
|
-
await templateProcessor.create('
|
|
957
|
-
await templateProcessor.create('
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
1119
|
+
await templateProcessor.create('gjs.js', this.config.outdir, 'gjs.js');
|
|
1120
|
+
await templateProcessor.create('gettext.js', this.config.outdir, 'gettext.js');
|
|
1121
|
+
await templateProcessor.create('system.js', this.config.outdir, 'system.js');
|
|
1122
|
+
await templateProcessor.create('cairo.js', this.config.outdir, 'cairo.js');
|
|
1123
|
+
}
|
|
1124
|
+
// If you build an NPM package, we also build the Gjs module for the other module type
|
|
1125
|
+
if (this.config.package) {
|
|
1126
|
+
this.setOverrideConfigForOtherModuleType();
|
|
1127
|
+
// TS
|
|
1128
|
+
await templateProcessor.create('gjs.d.ts', this.config.outdir, this.overrideConfig.moduleType === 'cjs' ? 'gjs.d.cts' : 'gjs.d.mts', undefined, undefined, undefined, this.config);
|
|
1129
|
+
await templateProcessor.create('gettext.d.ts', this.config.outdir, this.overrideConfig.moduleType === 'cjs' ? 'gettext.d.cts' : 'gettext.d.mts', undefined, undefined, undefined, this.config);
|
|
1130
|
+
await templateProcessor.create('system.d.ts', this.config.outdir, this.overrideConfig.moduleType === 'cjs' ? 'system.d.cts' : 'system.d.mts', undefined, undefined, undefined, this.config);
|
|
1131
|
+
await templateProcessor.create('cairo.d.ts', this.config.outdir, this.overrideConfig.moduleType === 'cjs' ? 'cairo.d.cts' : 'cairo.d.mts', undefined, undefined, undefined, this.config);
|
|
1132
|
+
// JS
|
|
1133
|
+
if (this.config.buildType === 'lib') {
|
|
1134
|
+
await templateProcessor.create('gjs.js', this.config.outdir, this.overrideConfig.moduleType === 'cjs' ? 'gjs.cjs' : 'gjs.mjs', undefined, undefined, undefined, this.config);
|
|
1135
|
+
await templateProcessor.create('gettext.js', this.config.outdir, this.overrideConfig.moduleType === 'cjs' ? 'gettext.cjs' : 'gettext.mjs', undefined, undefined, undefined, this.config);
|
|
1136
|
+
await templateProcessor.create('system.js', this.config.outdir, this.overrideConfig.moduleType === 'cjs' ? 'system.cjs' : 'system.mjs', undefined, undefined, undefined, this.config);
|
|
1137
|
+
await templateProcessor.create('cairo.js', this.config.outdir, this.overrideConfig.moduleType === 'cjs' ? 'cairo.cjs' : 'cairo.mjs', undefined, undefined, undefined, this.config);
|
|
963
1138
|
}
|
|
1139
|
+
this.resetOverrideConfig();
|
|
964
1140
|
}
|
|
965
|
-
//
|
|
1141
|
+
// Import ambient types
|
|
1142
|
+
await templateProcessor.create('ambient.d.ts', this.config.outdir, 'ambient.d.ts');
|
|
1143
|
+
// Import ambient path alias
|
|
966
1144
|
if (this.config.generateAlias) {
|
|
967
|
-
|
|
1145
|
+
if (this.config.package) {
|
|
1146
|
+
// Write tsconfig.alias.json to the root of the package
|
|
1147
|
+
await templateProcessor.create('tsconfig.alias.json', this.config.outdir, 'tsconfig.alias.json', true);
|
|
1148
|
+
}
|
|
1149
|
+
else {
|
|
1150
|
+
// Write tsconfig.alias.json to the root of the project
|
|
1151
|
+
await templateProcessor.create('tsconfig.alias.json', './', 'tsconfig.alias.json', false);
|
|
1152
|
+
}
|
|
1153
|
+
}
|
|
1154
|
+
// Package
|
|
1155
|
+
if (this.config.package) {
|
|
1156
|
+
await this.exportNPMPackage(templateProcessor, 'Gjs');
|
|
968
1157
|
}
|
|
969
1158
|
}
|
|
970
|
-
async exportNodeGtk(girModules, girModulesGrouped) {
|
|
1159
|
+
async exportNodeGtk(dependencies, girModules, girModulesGrouped) {
|
|
971
1160
|
if (!this.config.outdir)
|
|
972
1161
|
return;
|
|
973
|
-
const
|
|
974
|
-
|
|
1162
|
+
const packageName = 'node-gtk';
|
|
1163
|
+
const templateProcessor = new TemplateProcessor({ girModules, girModulesGrouped }, packageName, dependencies, this.config);
|
|
1164
|
+
// TS
|
|
1165
|
+
await templateProcessor.create('node-gtk.d.ts', this.config.outdir, 'node-gtk.d.ts');
|
|
1166
|
+
// JS
|
|
975
1167
|
if (this.config.buildType === 'lib') {
|
|
976
|
-
await templateProcessor.create('
|
|
1168
|
+
await templateProcessor.create('node-gtk.js', this.config.outdir, 'node-gtk.js');
|
|
1169
|
+
}
|
|
1170
|
+
// If you build an NPM package, we also build the node-gtk module for the other module type
|
|
1171
|
+
if (this.config.package) {
|
|
1172
|
+
this.setOverrideConfigForOtherModuleType();
|
|
1173
|
+
// TS
|
|
1174
|
+
await templateProcessor.create('node-gtk.d.ts', this.config.outdir, this.overrideConfig.moduleType === 'cjs' ? 'node-gtk.d.cts' : 'node-gtk.d.mts', undefined, undefined, undefined, this.overrideConfig);
|
|
1175
|
+
// JS
|
|
1176
|
+
if (this.config.buildType === 'lib') {
|
|
1177
|
+
await templateProcessor.create('node-gtk.js', this.config.outdir, this.overrideConfig.moduleType === 'cjs' ? 'node-gtk.cjs' : 'node-gtk.mjs', undefined, undefined, undefined, this.overrideConfig);
|
|
1178
|
+
}
|
|
1179
|
+
this.resetOverrideConfig();
|
|
1180
|
+
}
|
|
1181
|
+
// Import ambient types
|
|
1182
|
+
await templateProcessor.create('ambient.d.ts', this.config.outdir, 'node-ambient.d.ts');
|
|
1183
|
+
// Package
|
|
1184
|
+
if (this.config.package) {
|
|
1185
|
+
await this.exportNPMPackage(templateProcessor, 'node-gtk');
|
|
977
1186
|
}
|
|
978
1187
|
}
|
|
979
|
-
async start(girModules, girModulesGrouped
|
|
1188
|
+
async start(girModules, girModulesGrouped = []) {
|
|
1189
|
+
this.dependencyManager.addAll(girModules);
|
|
1190
|
+
if (this.config.package && this.packageData) {
|
|
1191
|
+
await this.packageData.start();
|
|
1192
|
+
}
|
|
980
1193
|
for (const girModule of girModules) {
|
|
981
|
-
await this.exportModule(girModule);
|
|
1194
|
+
await this.exportModule(girModule, girModules, girModulesGrouped);
|
|
982
1195
|
}
|
|
983
|
-
if (this.config.environment === 'node'
|
|
1196
|
+
if (this.config.environment === 'node') {
|
|
984
1197
|
// node-gtk internal stuff
|
|
985
|
-
await this.exportNodeGtk(girModules, girModulesGrouped);
|
|
1198
|
+
await this.exportNodeGtk(this.dependencyManager.core(), girModules, girModulesGrouped);
|
|
986
1199
|
}
|
|
987
|
-
if (this.config.environment === 'gjs'
|
|
1200
|
+
if (this.config.environment === 'gjs') {
|
|
988
1201
|
// GJS internal stuff
|
|
989
|
-
await this.exportGjs(girModules, girModulesGrouped);
|
|
1202
|
+
await this.exportGjs(this.dependencyManager.core(), girModules, girModulesGrouped);
|
|
990
1203
|
}
|
|
991
1204
|
}
|
|
992
1205
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-definition-generator.js","sourceRoot":"","sources":["../src/type-definition-generator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"type-definition-generator.js","sourceRoot":"","sources":["../src/type-definition-generator.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ts-for-gir/generator-typescript",
|
|
3
|
-
"version": "3.0.0
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "TypeScript type definition generator for ts-for-gir",
|
|
5
5
|
"module": "lib/index.js",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -13,12 +13,12 @@
|
|
|
13
13
|
"build:ts": "tsc",
|
|
14
14
|
"clear": "yarn clear:build",
|
|
15
15
|
"clear:build": "rimraf ./lib",
|
|
16
|
-
"watch": "yarn build:ts --
|
|
16
|
+
"watch": "yarn build:ts --watch",
|
|
17
17
|
"lint": "eslint . --ext .ts,.tsx --fix"
|
|
18
18
|
},
|
|
19
19
|
"repository": {
|
|
20
20
|
"type": "git",
|
|
21
|
-
"url": "git+https://github.com/gjsify/ts-for-
|
|
21
|
+
"url": "git+https://github.com/gjsify/ts-for-gir.git"
|
|
22
22
|
},
|
|
23
23
|
"author": "Pascal Garber <pascal@artandcode.studio>",
|
|
24
24
|
"files": [
|
|
@@ -27,25 +27,25 @@
|
|
|
27
27
|
],
|
|
28
28
|
"license": "Apache-2.0",
|
|
29
29
|
"bugs": {
|
|
30
|
-
"url": "https://github.com/gjsify/ts-for-
|
|
30
|
+
"url": "https://github.com/gjsify/ts-for-gir/issues"
|
|
31
31
|
},
|
|
32
|
-
"homepage": "https://github.com/gjsify/ts-for-
|
|
32
|
+
"homepage": "https://github.com/gjsify/ts-for-gir#readme",
|
|
33
33
|
"keywords": [
|
|
34
34
|
"generator"
|
|
35
35
|
],
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@types/node": "^18.14
|
|
38
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
39
|
-
"@typescript-eslint/parser": "^5.
|
|
40
|
-
"eslint": "^8.
|
|
41
|
-
"eslint-config-prettier": "^8.
|
|
37
|
+
"@types/node": "^18.16.14",
|
|
38
|
+
"@typescript-eslint/eslint-plugin": "^5.59.6",
|
|
39
|
+
"@typescript-eslint/parser": "^5.59.6",
|
|
40
|
+
"eslint": "^8.41.0",
|
|
41
|
+
"eslint-config-prettier": "^8.8.0",
|
|
42
42
|
"eslint-plugin-prettier": "^4.2.1",
|
|
43
|
-
"prettier": "^2.8.
|
|
44
|
-
"rimraf": "^
|
|
45
|
-
"typescript": "^
|
|
43
|
+
"prettier": "^2.8.8",
|
|
44
|
+
"rimraf": "^5.0.1",
|
|
45
|
+
"typescript": "^5.0.4"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@ts-for-gir/generator-base": "^3.0.0
|
|
49
|
-
"@ts-for-gir/lib": "^3.0.0
|
|
48
|
+
"@ts-for-gir/generator-base": "^3.0.0",
|
|
49
|
+
"@ts-for-gir/lib": "^3.0.0"
|
|
50
50
|
}
|
|
51
51
|
}
|