@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 type { GenerateConfig, InheritanceTable, GirModulesGrouped, GirModule } from '@ts-for-gir/lib';
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 config: GenerateConfig;
5
+ protected readonly _config: GenerateConfig;
6
6
  protected log: Logger;
7
- constructor(config: GenerateConfig);
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
- private generateModuleDependenciesImport;
15
- private generateExport;
16
- private generateProperty;
17
- private generateProperties;
18
- private generateVariableCallbackType;
19
- private generateVariable;
20
- private generateTypes;
21
- private generateGenericValues;
22
- private generateType;
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
- private generateClassPropertySignals;
32
- private generateInParameters;
33
- private generateSignals;
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
- private addTSDocCommentLines;
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
- private addGirDocComment;
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
- private addInfoComment;
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
- private addInlineInfoComment;
64
- private mergeDescs;
65
- private generateParameter;
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
- private generateGenericParameters;
73
- private generateOutParameterReturn;
74
- private generateFunctionReturn;
75
- private generateFunction;
76
- private generateFunctions;
77
- private generateCallbackInterface;
78
- private generateCallbackInterfaces;
79
- private generateEnumeration;
80
- private generateEnumerationMember;
81
- private generateConstant;
82
- private generateAlias;
83
- private generateConstructPropsInterface;
84
- private generateClassFields;
85
- private generateClassProperties;
86
- private generateClassMethods;
87
- private generateClassConstructors;
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
- private generateClassVirtualMethods;
93
- private generateClassSignalInterfaces;
94
- private generateClassSignals;
95
- private generateClassModules;
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
- private generateImplementationInterface;
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
- private generateClass;
109
- private exportModuleJS;
110
- private exportModuleTS;
111
- private exportModule;
112
- private exportGjs;
113
- private exportNodeGtk;
114
- start(girModules: GirModule[], girModulesGrouped?: GirModulesGrouped[], inheritanceTable?: InheritanceTable): Promise<void>;
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, typeIsOptional, TemplateProcessor, NO_TSDATA, WARN_NOT_FOUND_DEPENDENCY_GIR_FILE, WARN_IGNORE_MULTIPLE_CALLBACKS, WARN_IGNORE_MULTIPLE_FUNC_DESC, } from '@ts-for-gir/lib';
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
- config;
3
+ _config;
4
4
  log;
5
- constructor(config) {
6
- this.config = config;
7
- this.log = new Logger(config.environment, config.verbose, TypeDefinitionGenerator.name);
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(namespace, packageName, asExternType = false) {
30
+ generateModuleDependenciesImport(packageName) {
16
31
  const def = [];
17
- const sas = !this.config.noNamespace && packageName !== 'Gjs' ? '' : '* as ';
18
- if (this.config.buildType === 'lib') {
19
- def.push(`import type ${sas}${namespace} from './${packageName}.js';`);
20
- }
21
- else if (this.config.buildType === 'types') {
22
- if (asExternType) {
23
- // def.push(`/// <reference types="${packageName}" />`)
24
- def.push(`import ${namespace} from "${packageName}.js"`);
25
- }
26
- else {
27
- def.push(`/// <reference path="${packageName}.d.ts" />`);
28
- def.push(`import type ${sas}${namespace} from './${packageName}.js';`);
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 || this.config.buildType === 'types' ? '' : 'export ';
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
- const optional = typeIsOptional(tsVar.type);
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 = typeIsOptional(types) && !tsParam.isRest;
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 || this.config.buildType === 'types' ? '' : 'export ';
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 || this.config.buildType === 'types' ? '' : 'export ';
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 || this.config.buildType === 'types' ? '' : 'export ';
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 || this.config.buildType === 'types' ? '' : 'export ';
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 || this.config.buildType === 'types' ? '' : 'export ';
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, `${girModule.packageName}.js`);
809
+ await moduleTemplateProcessor.create(template, this.config.outdir, target, undefined, undefined, undefined, this.config);
756
810
  }
757
811
  else {
758
- const moduleContent = moduleTemplateProcessor.load(template);
759
- this.log.log(moduleContent);
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
- if (this.config.environment === 'gjs') {
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.namespace, dependency.packageName, false));
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.buildType === 'types') {
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/GObject-2.0.d.ts') is found
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(`${girModule.packageName}.d.ts`)) {
830
- const templatePatches = await moduleTemplateProcessor.load(`${girModule.packageName}.d.ts`);
831
- out.push(templatePatches);
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, `${girModule.packageName}.d.ts`, outResult);
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 moduleContent = await moduleTemplateProcessor.load(template);
926
- this.log.log(moduleContent + '\n' + outResult);
1025
+ const { append, prepend } = await moduleTemplateProcessor.load(template, {}, this.config);
1026
+ this.log.log(append + prepend);
927
1027
  }
928
1028
  }
929
- async exportModule(girModule) {
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
- }, girModule.packageName, this.config);
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
- async exportGjs(girModules, girModulesGrouped) {
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 templateProcessor = new TemplateProcessor({ girModules: girModules, girModulesGrouped, typeDir: this.config.outdir + '/Gjs' }, 'gjs', this.config);
945
- // Types
946
- await templateProcessor.create('Gjs.d.ts', this.config.outdir, 'Gjs.d.ts');
947
- await templateProcessor.create('index.d.ts', this.config.outdir, 'index.d.ts');
948
- if (this.config.gnomeShellTypes) {
949
- await templateProcessor.create('GnomeShell.d.ts', this.config.outdir, 'GnomeShell.d.ts');
950
- await templateProcessor.createAll('.d.ts', 'misc', this.config.outdir, 'misc');
951
- await templateProcessor.createAll('.d.ts', 'ui', this.config.outdir, 'ui');
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('Gjs.js', this.config.outdir, 'Gjs.js');
957
- await templateProcessor.create('index.js', this.config.outdir, 'index.js');
958
- if (this.config.gnomeShellTypes) {
959
- await templateProcessor.create('GnomeShell.js', this.config.outdir, 'GnomeShell.js');
960
- await templateProcessor.createAll('.js', 'misc', this.config.outdir, 'misc');
961
- await templateProcessor.createAll('.js', 'ui', this.config.outdir, 'ui');
962
- await templateProcessor.createAll('.js', 'ui/components', this.config.outdir, 'ui/components');
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
- // Alias
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
- await templateProcessor.create('tsconfig.alias.json', './', 'tsconfig.alias.json', '', false);
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 templateProcessor = new TemplateProcessor({ girModules, girModulesGrouped }, 'node', this.config);
974
- await templateProcessor.create('index.d.ts', this.config.outdir, 'index.d.ts');
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('index.js', this.config.outdir, 'index.js');
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, inheritanceTable) {
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' && girModulesGrouped) {
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' && girModulesGrouped && inheritanceTable) {
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-beta.11",
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 -- --watch",
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-gjs.git"
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-gjs/issues"
30
+ "url": "https://github.com/gjsify/ts-for-gir/issues"
31
31
  },
32
- "homepage": "https://github.com/gjsify/ts-for-gjs#readme",
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.0",
38
- "@typescript-eslint/eslint-plugin": "^5.53.0",
39
- "@typescript-eslint/parser": "^5.53.0",
40
- "eslint": "^8.34.0",
41
- "eslint-config-prettier": "^8.6.0",
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.4",
44
- "rimraf": "^4.1.2",
45
- "typescript": "^4.9.5"
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-beta.11",
49
- "@ts-for-gir/lib": "^3.0.0-beta.11"
48
+ "@ts-for-gir/generator-base": "^3.0.0",
49
+ "@ts-for-gir/lib": "^3.0.0"
50
50
  }
51
51
  }