@ts-for-gir/lib 4.0.0-beta.2 → 4.0.0-beta.4

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.
Files changed (249) hide show
  1. package/lib/dependency-manager.d.ts +90 -11
  2. package/lib/dependency-manager.js +209 -35
  3. package/lib/dependency-manager.js.map +1 -1
  4. package/lib/generators/dts-inline.d.ts +2 -2
  5. package/lib/generators/dts-inline.js +7 -7
  6. package/lib/generators/dts-inline.js.map +1 -1
  7. package/lib/generators/dts-modules.d.ts +2 -2
  8. package/lib/generators/dts-modules.js +9 -9
  9. package/lib/generators/dts-modules.js.map +1 -1
  10. package/lib/generators/dts.d.ts +2 -2
  11. package/lib/generators/dts.js +8 -8
  12. package/lib/generators/dts.js.map +1 -1
  13. package/lib/generators/generator.d.ts +3 -3
  14. package/lib/generators/generator.js.map +1 -1
  15. package/lib/generators/json.d.ts +2 -2
  16. package/lib/generators/json.js +14 -14
  17. package/lib/generators/json.js.map +1 -1
  18. package/lib/generics/visitor.js +5 -9
  19. package/lib/generics/visitor.js.map +1 -1
  20. package/lib/gir/alias.d.ts +2 -2
  21. package/lib/gir/alias.js +3 -3
  22. package/lib/gir/alias.js.map +1 -1
  23. package/lib/gir/base.d.ts +3 -3
  24. package/lib/gir/base.js.map +1 -1
  25. package/lib/gir/class.d.ts +5 -5
  26. package/lib/gir/class.js +32 -33
  27. package/lib/gir/class.js.map +1 -1
  28. package/lib/gir/const.d.ts +2 -2
  29. package/lib/gir/const.js +1 -1
  30. package/lib/gir/const.js.map +1 -1
  31. package/lib/gir/enum.d.ts +5 -5
  32. package/lib/gir/enum.js +7 -7
  33. package/lib/gir/enum.js.map +1 -1
  34. package/lib/gir/function.d.ts +9 -9
  35. package/lib/gir/function.js +4 -4
  36. package/lib/gir/function.js.map +1 -1
  37. package/lib/gir/nodes.d.ts +1 -1
  38. package/lib/gir/nodes.js +1 -1
  39. package/lib/gir/nodes.js.map +1 -1
  40. package/lib/gir/property.d.ts +2 -2
  41. package/lib/gir/property.js.map +1 -1
  42. package/lib/gir/registry.d.ts +6 -6
  43. package/lib/gir/registry.js +3 -3
  44. package/lib/gir/registry.js.map +1 -1
  45. package/lib/gir/signal.d.ts +2 -2
  46. package/lib/gir/signal.js.map +1 -1
  47. package/lib/gir/util.d.ts +3 -3
  48. package/lib/gir/util.js +17 -14
  49. package/lib/gir/util.js.map +1 -1
  50. package/lib/gir-module.d.ts +21 -27
  51. package/lib/gir-module.js +140 -144
  52. package/lib/gir-module.js.map +1 -1
  53. package/lib/gir.d.ts +42 -40
  54. package/lib/gir.js +26 -22
  55. package/lib/gir.js.map +1 -1
  56. package/lib/index.d.ts +0 -1
  57. package/lib/index.js +0 -1
  58. package/lib/index.js.map +1 -1
  59. package/lib/library-version.d.ts +2 -0
  60. package/lib/library-version.js +13 -0
  61. package/lib/library-version.js.map +1 -1
  62. package/lib/logger.d.ts +18 -16
  63. package/lib/logger.js +28 -26
  64. package/lib/logger.js.map +1 -1
  65. package/lib/registry.d.ts +0 -1
  66. package/lib/registry.js +0 -1
  67. package/lib/registry.js.map +1 -1
  68. package/lib/transformation.d.ts +5 -3
  69. package/lib/transformation.js +7 -0
  70. package/lib/transformation.js.map +1 -1
  71. package/lib/types/dependency.d.ts +13 -1
  72. package/lib/types/format.d.ts +1 -0
  73. package/lib/types/format.js +2 -0
  74. package/lib/types/format.js.map +1 -0
  75. package/lib/types/gir-module-resolved-by.d.ts +5 -0
  76. package/lib/types/index.d.ts +7 -2
  77. package/lib/types/index.js +7 -2
  78. package/lib/types/index.js.map +1 -1
  79. package/lib/types/metadata.d.ts +8 -0
  80. package/lib/types/metadata.js +2 -0
  81. package/lib/types/metadata.js.map +1 -0
  82. package/lib/types/options-base.d.ts +4 -0
  83. package/lib/types/options-base.js +2 -0
  84. package/lib/types/options-base.js.map +1 -0
  85. package/lib/types/{generate-config.d.ts → options-generation.d.ts} +2 -3
  86. package/lib/types/options-generation.js +2 -0
  87. package/lib/types/options-generation.js.map +1 -0
  88. package/lib/types/options-load.d.ts +5 -0
  89. package/lib/types/options-load.js +2 -0
  90. package/lib/types/options-load.js.map +1 -0
  91. package/lib/types/options-transform.d.ts +4 -0
  92. package/lib/types/options-transform.js +2 -0
  93. package/lib/types/options-transform.js.map +1 -0
  94. package/lib/types/output-format.d.ts +1 -0
  95. package/lib/types/output-format.js +2 -0
  96. package/lib/types/output-format.js.map +1 -0
  97. package/lib/types/property-case.d.ts +1 -0
  98. package/lib/types/property-case.js +2 -0
  99. package/lib/types/property-case.js.map +1 -0
  100. package/lib/types/template-data.d.ts +2 -2
  101. package/lib/utils.d.ts +8 -1
  102. package/lib/utils.js +58 -13
  103. package/lib/utils.js.map +1 -1
  104. package/lib/validators/interface.js +1 -1
  105. package/lib/validators/interface.js.map +1 -1
  106. package/package.json +9 -8
  107. package/lib/conflict-resolver.d.ts +0 -119
  108. package/lib/conflict-resolver.js +0 -893
  109. package/lib/conflict-resolver.js.map +0 -1
  110. package/lib/generators/dts/gio.d.ts +0 -2
  111. package/lib/generators/dts/gio.js +0 -9
  112. package/lib/generators/dts/gio.js.map +0 -1
  113. package/lib/gir-factory.d.ts +0 -52
  114. package/lib/gir-factory.js +0 -340
  115. package/lib/gir-factory.js.map +0 -1
  116. package/lib/injection/callbacks/gjs/Gio-2.0.d.ts +0 -2
  117. package/lib/injection/callbacks/gjs/Gio-2.0.js +0 -36
  118. package/lib/injection/callbacks/gjs/Gio-2.0.js.map +0 -1
  119. package/lib/injection/callbacks/gjs/index.d.ts +0 -2
  120. package/lib/injection/callbacks/gjs/index.js +0 -3
  121. package/lib/injection/callbacks/gjs/index.js.map +0 -1
  122. package/lib/injection/callbacks/index.d.ts +0 -3
  123. package/lib/injection/callbacks/index.js +0 -3
  124. package/lib/injection/callbacks/index.js.map +0 -1
  125. package/lib/injection/classes/gjs/gio-2.0.d.ts +0 -5
  126. package/lib/injection/classes/gjs/gio-2.0.js +0 -254
  127. package/lib/injection/classes/gjs/gio-2.0.js.map +0 -1
  128. package/lib/injection/classes/gjs/glib-2.0.d.ts +0 -2
  129. package/lib/injection/classes/gjs/glib-2.0.js +0 -225
  130. package/lib/injection/classes/gjs/glib-2.0.js.map +0 -1
  131. package/lib/injection/classes/gjs/gobject-2.0.d.ts +0 -2
  132. package/lib/injection/classes/gjs/gobject-2.0.js +0 -634
  133. package/lib/injection/classes/gjs/gobject-2.0.js.map +0 -1
  134. package/lib/injection/classes/gjs/index.d.ts +0 -2
  135. package/lib/injection/classes/gjs/index.js +0 -5
  136. package/lib/injection/classes/gjs/index.js.map +0 -1
  137. package/lib/injection/classes/glib-2.0.d.ts +0 -2
  138. package/lib/injection/classes/glib-2.0.js +0 -35
  139. package/lib/injection/classes/glib-2.0.js.map +0 -1
  140. package/lib/injection/classes/index.d.ts +0 -3
  141. package/lib/injection/classes/index.js +0 -4
  142. package/lib/injection/classes/index.js.map +0 -1
  143. package/lib/injection/index.d.ts +0 -3
  144. package/lib/injection/index.js +0 -4
  145. package/lib/injection/index.js.map +0 -1
  146. package/lib/injection/injector.d.ts +0 -16
  147. package/lib/injection/injector.js +0 -138
  148. package/lib/injection/injector.js.map +0 -1
  149. package/lib/symtable.d.ts +0 -24
  150. package/lib/symtable.js +0 -63
  151. package/lib/symtable.js.map +0 -1
  152. package/lib/types/conflict-child-element.d.ts +0 -10
  153. package/lib/types/conflict-child-element.js +0 -2
  154. package/lib/types/conflict-child-element.js.map +0 -1
  155. package/lib/types/conflict-grouped-element.d.ts +0 -6
  156. package/lib/types/conflict-grouped-element.js +0 -2
  157. package/lib/types/conflict-grouped-element.js.map +0 -1
  158. package/lib/types/conflict-grouped-elements.d.ts +0 -4
  159. package/lib/types/conflict-grouped-elements.js +0 -2
  160. package/lib/types/conflict-grouped-elements.js.map +0 -1
  161. package/lib/types/generate-config.js +0 -2
  162. package/lib/types/generate-config.js.map +0 -1
  163. package/lib/types/injection-callback.d.ts +0 -16
  164. package/lib/types/injection-callback.js +0 -2
  165. package/lib/types/injection-callback.js.map +0 -1
  166. package/lib/types/injection-class.d.ts +0 -25
  167. package/lib/types/injection-class.js +0 -2
  168. package/lib/types/injection-class.js.map +0 -1
  169. package/lib/types/injection-function.d.ts +0 -7
  170. package/lib/types/injection-function.js +0 -2
  171. package/lib/types/injection-function.js.map +0 -1
  172. package/lib/types/injection-generic-parameter.d.ts +0 -2
  173. package/lib/types/injection-generic-parameter.js +0 -2
  174. package/lib/types/injection-generic-parameter.js.map +0 -1
  175. package/lib/types/injection-instance-parameter.d.ts +0 -2
  176. package/lib/types/injection-instance-parameter.js +0 -2
  177. package/lib/types/injection-instance-parameter.js.map +0 -1
  178. package/lib/types/injection-parameter.d.ts +0 -8
  179. package/lib/types/injection-parameter.js +0 -2
  180. package/lib/types/injection-parameter.js.map +0 -1
  181. package/lib/types/injection-property.d.ts +0 -4
  182. package/lib/types/injection-property.js +0 -2
  183. package/lib/types/injection-property.js.map +0 -1
  184. package/lib/types/injection-type.d.ts +0 -2
  185. package/lib/types/injection-type.js +0 -2
  186. package/lib/types/injection-type.js.map +0 -1
  187. package/lib/types/injection.d.ts +0 -5
  188. package/lib/types/injection.js +0 -2
  189. package/lib/types/injection.js.map +0 -1
  190. package/lib/types/promisify-func.d.ts +0 -7
  191. package/lib/types/promisify-func.js +0 -2
  192. package/lib/types/promisify-func.js.map +0 -1
  193. package/lib/types/sym-table-items.d.ts +0 -4
  194. package/lib/types/sym-table-items.js +0 -2
  195. package/lib/types/sym-table-items.js.map +0 -1
  196. package/lib/types/ts-alias.d.ts +0 -10
  197. package/lib/types/ts-alias.js +0 -2
  198. package/lib/types/ts-alias.js.map +0 -1
  199. package/lib/types/ts-callback-interface.d.ts +0 -10
  200. package/lib/types/ts-callback-interface.js +0 -2
  201. package/lib/types/ts-callback-interface.js.map +0 -1
  202. package/lib/types/ts-callback.d.ts +0 -17
  203. package/lib/types/ts-callback.js +0 -2
  204. package/lib/types/ts-callback.js.map +0 -1
  205. package/lib/types/ts-class.d.ts +0 -85
  206. package/lib/types/ts-class.js +0 -2
  207. package/lib/types/ts-class.js.map +0 -1
  208. package/lib/types/ts-enum.d.ts +0 -12
  209. package/lib/types/ts-enum.js +0 -2
  210. package/lib/types/ts-enum.js.map +0 -1
  211. package/lib/types/ts-function.d.ts +0 -55
  212. package/lib/types/ts-function.js +0 -2
  213. package/lib/types/ts-function.js.map +0 -1
  214. package/lib/types/ts-generic-parameter.d.ts +0 -8
  215. package/lib/types/ts-generic-parameter.js +0 -2
  216. package/lib/types/ts-generic-parameter.js.map +0 -1
  217. package/lib/types/ts-instance-parameter.d.ts +0 -4
  218. package/lib/types/ts-instance-parameter.js +0 -2
  219. package/lib/types/ts-instance-parameter.js.map +0 -1
  220. package/lib/types/ts-member.d.ts +0 -10
  221. package/lib/types/ts-member.js +0 -2
  222. package/lib/types/ts-member.js.map +0 -1
  223. package/lib/types/ts-method.d.ts +0 -5
  224. package/lib/types/ts-method.js +0 -2
  225. package/lib/types/ts-method.js.map +0 -1
  226. package/lib/types/ts-parameter.d.ts +0 -15
  227. package/lib/types/ts-parameter.js +0 -2
  228. package/lib/types/ts-parameter.js.map +0 -1
  229. package/lib/types/ts-property.d.ts +0 -17
  230. package/lib/types/ts-property.js +0 -2
  231. package/lib/types/ts-property.js.map +0 -1
  232. package/lib/types/ts-signal.d.ts +0 -17
  233. package/lib/types/ts-signal.js +0 -2
  234. package/lib/types/ts-signal.js.map +0 -1
  235. package/lib/types/ts-type-name.d.ts +0 -1
  236. package/lib/types/ts-type-name.js +0 -2
  237. package/lib/types/ts-type-name.js.map +0 -1
  238. package/lib/types/ts-type-separator.d.ts +0 -1
  239. package/lib/types/ts-type-separator.js +0 -2
  240. package/lib/types/ts-type-separator.js.map +0 -1
  241. package/lib/types/ts-type.d.ts +0 -26
  242. package/lib/types/ts-type.js +0 -2
  243. package/lib/types/ts-type.js.map +0 -1
  244. package/lib/types/ts-var.d.ts +0 -17
  245. package/lib/types/ts-var.js +0 -2
  246. package/lib/types/ts-var.js.map +0 -1
  247. package/lib/types.d.ts +0 -23
  248. package/lib/types.js +0 -2
  249. package/lib/types.js.map +0 -1
@@ -1,26 +1,48 @@
1
+ import { GirXML, GirRepository, GirNamespace } from '@gi.ts/parser';
1
2
  import { Logger } from './logger.js';
2
3
  import { Transformation } from './transformation.js';
3
- import type { Dependency, GenerateConfig, GirInclude } from './types/index.js';
4
+ import { LibraryVersion } from './library-version.js';
5
+ import type { Dependency, OptionsGeneration, GirInclude, FileInfo } from './types/index.js';
4
6
  import type { GirModule } from './gir-module.js';
5
7
  import { GirNSRegistry } from './registry.js';
6
8
  export declare class DependencyManager extends GirNSRegistry {
7
- protected readonly config: GenerateConfig;
9
+ protected readonly config: OptionsGeneration;
8
10
  protected log: Logger;
9
11
  protected transformation: Transformation;
10
- cache: {
12
+ protected _cache: {
11
13
  [packageName: string]: Dependency;
12
14
  };
13
15
  static instance?: DependencyManager;
14
- protected constructor(config: GenerateConfig);
16
+ protected constructor(config: OptionsGeneration);
15
17
  /**
16
18
  * Get the DependencyManager singleton instance
17
19
  */
18
- static getInstance(config: GenerateConfig): DependencyManager;
19
- protected parseArgs(namespaceOrPackageName: string, version?: string): {
20
+ static getInstance(config?: OptionsGeneration): DependencyManager;
21
+ protected parsePackageName(namespaceOrPackageName: string, version?: string): {
20
22
  packageName: string;
21
23
  namespace: string;
22
24
  version: string;
23
25
  };
26
+ protected parseArgs(namespaceOrPackageNameOrRepo: string | GirRepository, version?: string): {
27
+ repo: null;
28
+ namespace: string;
29
+ importNamespace: string;
30
+ version: string;
31
+ libraryVersion: LibraryVersion;
32
+ packageName: string;
33
+ importName: string;
34
+ importPath: string;
35
+ importDef: string;
36
+ girXML: GirXML | null;
37
+ path: string | null;
38
+ filename: string;
39
+ exists: boolean;
40
+ } | {
41
+ packageName: string;
42
+ namespace: string;
43
+ version: string;
44
+ repo: GirRepository | null;
45
+ };
24
46
  /**
25
47
  * Get all dependencies in the cache
26
48
  * @returns All dependencies in the cache
@@ -31,26 +53,83 @@ export declare class DependencyManager extends GirNSRegistry {
31
53
  * Get the core dependencies
32
54
  * @returns
33
55
  */
34
- core(): Dependency[];
56
+ core(): Promise<Dependency[]>;
35
57
  createImportProperties(namespace: string, packageName: string): {
36
58
  importPath: string;
37
59
  importDef: string;
38
60
  };
39
61
  createImportPath(packageName: string): string;
40
62
  createImportDef(namespace: string, importPath: string): string;
63
+ protected parseGir(path: string): Promise<{
64
+ girXML: GirXML;
65
+ repo: GirRepository;
66
+ ns: GirNamespace | undefined;
67
+ version: string | undefined;
68
+ }>;
69
+ protected parseGirSync(path: string): {
70
+ girXML: GirXML;
71
+ repo: GirRepository;
72
+ ns: GirNamespace | undefined;
73
+ version: string | undefined;
74
+ };
75
+ protected parseGirAndReturnLatestVersion(filesInfo: FileInfo[]): Promise<{
76
+ libraryVersion: LibraryVersion;
77
+ girXML: GirXML;
78
+ fileInfo: FileInfo;
79
+ } | {
80
+ libraryVersion: LibraryVersion;
81
+ girXML: null;
82
+ fileInfo: FileInfo;
83
+ }>;
84
+ protected parseGirAndReturnLatestVersionSync(filesInfo: FileInfo[]): {
85
+ libraryVersion: LibraryVersion;
86
+ girXML: GirXML;
87
+ fileInfo: FileInfo;
88
+ } | {
89
+ libraryVersion: LibraryVersion;
90
+ girXML: null;
91
+ fileInfo: FileInfo;
92
+ };
41
93
  /**
42
94
  * Get the dependency object by packageName
43
95
  * @param packageName The package name (with version affix) of the dependency
44
96
  * @returns The dependency object
45
97
  */
46
- get(packageName: string): Dependency;
98
+ get(packageName: string): Promise<Dependency>;
47
99
  /**
48
100
  * Get the dependency object by namespace and version
49
101
  * @param namespace The namespace of the dependency
50
102
  * @param version The version of the dependency
51
103
  * @returns The dependency object
52
104
  */
53
- get(namespace: string, version: string): Dependency;
105
+ get(namespace: string, version: string): Promise<Dependency>;
106
+ /**
107
+ * Get the dependency object by {@link GirRepository}
108
+ * @param namespace The namespace of the dependency
109
+ * @param version The version of the dependency
110
+ * @returns The dependency object
111
+ */
112
+ get(repo: GirRepository): Promise<Dependency>;
113
+ /**
114
+ * Get the dependency object by packageName (synchronous version)
115
+ * @param packageName The package name (with version affix) of the dependency
116
+ * @returns The dependency object
117
+ */
118
+ getSync(packageName: string): Dependency;
119
+ /**
120
+ * Get the dependency object by namespace and version (synchronous version)
121
+ * @param namespace The namespace of the dependency
122
+ * @param version The version of the dependency
123
+ * @returns The dependency object
124
+ */
125
+ getSync(namespace: string, version: string): Dependency;
126
+ /**
127
+ * Get the dependency object by {@link GirRepository}
128
+ * @param namespace The namespace of the dependency (synchronous version)
129
+ * @param version The version of the dependency
130
+ * @returns The dependency object
131
+ */
132
+ getSync(repo: GirRepository): Dependency;
54
133
  /**
55
134
  * Get all dependencies with the given namespace
56
135
  * @param namespace The namespace of the dependency
@@ -67,13 +146,13 @@ export declare class DependencyManager extends GirNSRegistry {
67
146
  * Add all dependencies from an array of gir modules
68
147
  * @param girModules
69
148
  */
70
- addAll(girModules: GirModule[]): Dependency[];
149
+ addAll(girModules: GirModule[]): Promise<Dependency[]>;
71
150
  /**
72
151
  * Transforms a gir include object array to a dependency object array
73
152
  * @param girIncludes - Array of gir includes
74
153
  * @returns Array of dependencies
75
154
  */
76
- fromGirIncludes(girIncludes: GirInclude[]): Dependency[];
155
+ fromGirIncludes(girIncludes: GirInclude[]): Promise<Dependency[]>;
77
156
  /**
78
157
  * Check if multiple dependencies with the given namespace exist in the cache
79
158
  * @param namespace The namespace of the dependency
@@ -1,17 +1,22 @@
1
- import { findFileInDirs, splitModuleName, pascalCase } from './utils.js';
1
+ import { parser } from '@gi.ts/parser';
2
+ import { readFile } from 'fs/promises';
3
+ import { readFileSync } from 'fs';
4
+ import { findFilesInDirs, findFilesInDirsSync, splitModuleName, pascalCase } from './utils.js';
5
+ import { sanitizeNamespace } from './gir/util.js';
2
6
  import { Logger } from './logger.js';
3
7
  import { Transformation } from './transformation.js';
8
+ import { LibraryVersion } from './library-version.js';
4
9
  import { GirNSRegistry } from './registry.js';
5
10
  export class DependencyManager extends GirNSRegistry {
6
11
  config;
7
12
  log;
8
13
  transformation;
9
- cache = {};
14
+ _cache = {};
10
15
  static instance;
11
16
  constructor(config) {
12
17
  super();
13
18
  this.config = config;
14
- this.transformation = new Transformation(config);
19
+ this.transformation = Transformation.getSingleton(config);
15
20
  this.log = new Logger(config.verbose, 'DependencyManager');
16
21
  }
17
22
  /**
@@ -21,10 +26,13 @@ export class DependencyManager extends GirNSRegistry {
21
26
  if (this.instance) {
22
27
  return this.instance;
23
28
  }
29
+ if (!config) {
30
+ throw new Error('config parameter is required to initialize DependencyManager');
31
+ }
24
32
  this.instance = new DependencyManager(config);
25
33
  return this.instance;
26
34
  }
27
- parseArgs(namespaceOrPackageName, version) {
35
+ parsePackageName(namespaceOrPackageName, version) {
28
36
  let packageName;
29
37
  let namespace;
30
38
  if (version) {
@@ -39,22 +47,48 @@ export class DependencyManager extends GirNSRegistry {
39
47
  }
40
48
  return { packageName, namespace, version };
41
49
  }
50
+ parseArgs(namespaceOrPackageNameOrRepo, version) {
51
+ let packageName;
52
+ let namespace;
53
+ let repo = null;
54
+ if (typeof namespaceOrPackageNameOrRepo === 'string') {
55
+ // Special case for Gjs
56
+ if (namespaceOrPackageNameOrRepo === 'Gjs') {
57
+ return { ...this.getGjs(), repo: null };
58
+ }
59
+ const args = this.parsePackageName(namespaceOrPackageNameOrRepo, version);
60
+ version = args.version;
61
+ packageName = args.packageName;
62
+ namespace = args.namespace;
63
+ }
64
+ else {
65
+ repo = namespaceOrPackageNameOrRepo;
66
+ const ns = repo.namespace?.[0];
67
+ if (!ns) {
68
+ throw new Error('Invalid GirRepository');
69
+ }
70
+ version = ns.$.version;
71
+ namespace = ns.$.name;
72
+ packageName = `${namespace}-${version}`;
73
+ }
74
+ return { packageName, namespace, version, repo };
75
+ }
42
76
  /**
43
77
  * Get all dependencies in the cache
44
78
  * @returns All dependencies in the cache
45
79
  */
46
80
  all() {
47
- return Object.values(this.cache);
81
+ return Object.values(this._cache);
48
82
  }
49
83
  getAllPackageNames() {
50
- return Object.keys(this.cache);
84
+ return Object.keys(this._cache);
51
85
  }
52
86
  /**
53
87
  * Get the core dependencies
54
88
  * @returns
55
89
  */
56
- core() {
57
- return [this.get('GObject-2.0'), this.get('GLib-2.0')];
90
+ async core() {
91
+ return [await this.get('GObject', '2.0'), await this.get('GLib', '2.0'), await this.get('Gio', '2.0')];
58
92
  }
59
93
  createImportProperties(namespace, packageName) {
60
94
  const importPath = this.createImportPath(packageName);
@@ -74,32 +108,168 @@ export class DependencyManager extends GirNSRegistry {
74
108
  ? `import type * as ${namespace} from '${importPath}'`
75
109
  : `import type ${namespace} from '${importPath}';`;
76
110
  }
77
- get(namespaceOrPackageName, version) {
78
- // Special case for Gjs
79
- if (namespaceOrPackageName === 'Gjs') {
80
- return this.getGjs();
111
+ async parseGir(path) {
112
+ const girXML = parser.parseGir(await readFile(path, 'utf8'));
113
+ const repo = girXML.repository[0];
114
+ const ns = repo?.namespace?.[0];
115
+ const version = ns?.$.version;
116
+ return { girXML, repo, ns, version };
117
+ }
118
+ parseGirSync(path) {
119
+ const girXML = parser.parseGir(readFileSync(path, 'utf8'));
120
+ const repo = girXML.repository[0];
121
+ const ns = repo?.namespace?.[0];
122
+ const version = ns?.$.version;
123
+ return { girXML, repo, ns, version };
124
+ }
125
+ async parseGirAndReturnLatestVersion(filesInfo) {
126
+ const libraryVersions = [];
127
+ if (filesInfo.length > 1) {
128
+ this.log.warn(`Multiple paths found for ${filesInfo[0].filename}`);
129
+ }
130
+ for (const fileInfo of filesInfo) {
131
+ if (!fileInfo.exists || !fileInfo.path) {
132
+ continue;
133
+ }
134
+ const { girXML, ns, version } = await this.parseGir(fileInfo.path);
135
+ if (!version || !ns) {
136
+ continue;
137
+ }
138
+ const libraryVersion = new LibraryVersion(ns?.constant, version);
139
+ if (filesInfo.length > 1) {
140
+ this.log.muted(` - ${fileInfo.path} (${libraryVersion.toString()})`);
141
+ }
142
+ libraryVersions.push({
143
+ libraryVersion,
144
+ girXML,
145
+ fileInfo,
146
+ });
147
+ }
148
+ // Compare all library versions and return the latest version
149
+ const latestLibraryVersion = libraryVersions.sort((a, b) => a.libraryVersion.compare(b.libraryVersion))[0];
150
+ if (!latestLibraryVersion) {
151
+ this.log.warn('No latest library version found', {
152
+ libraryVersions,
153
+ filesInfo,
154
+ });
155
+ return {
156
+ libraryVersion: new LibraryVersion(),
157
+ girXML: null,
158
+ fileInfo: filesInfo[0],
159
+ };
160
+ }
161
+ if (filesInfo.length > 1) {
162
+ this.log.muted(`Use latest version ${latestLibraryVersion.libraryVersion.toString()}`);
163
+ }
164
+ return latestLibraryVersion;
165
+ }
166
+ parseGirAndReturnLatestVersionSync(filesInfo) {
167
+ const libraryVersions = [];
168
+ if (filesInfo.length > 1) {
169
+ this.log.warn(`Multiple paths found for ${filesInfo[0].filename}`);
170
+ }
171
+ for (const fileInfo of filesInfo) {
172
+ if (!fileInfo.exists || !fileInfo.path) {
173
+ continue;
174
+ }
175
+ const { girXML, ns, version } = this.parseGirSync(fileInfo.path);
176
+ if (!version || !ns) {
177
+ continue;
178
+ }
179
+ const libraryVersion = new LibraryVersion(ns?.constant, version);
180
+ if (filesInfo.length > 1) {
181
+ this.log.muted(` - ${fileInfo.path} (${libraryVersion.toString()})`);
182
+ }
183
+ libraryVersions.push({
184
+ libraryVersion,
185
+ girXML,
186
+ fileInfo,
187
+ });
188
+ }
189
+ // Compare all library versions and return the latest version
190
+ const latestLibraryVersion = libraryVersions.sort((a, b) => a.libraryVersion.compare(b.libraryVersion))[0];
191
+ if (!latestLibraryVersion) {
192
+ this.log.warn('No latest library version found', {
193
+ libraryVersions,
194
+ filesInfo,
195
+ });
196
+ return {
197
+ libraryVersion: new LibraryVersion(),
198
+ girXML: null,
199
+ fileInfo: filesInfo[0],
200
+ };
81
201
  }
82
- const args = this.parseArgs(namespaceOrPackageName, version);
83
- version = args.version;
84
- const packageName = args.packageName;
85
- const namespace = args.namespace;
86
- if (this.cache[packageName]) {
87
- const dep = this.cache[packageName];
202
+ if (filesInfo.length > 1) {
203
+ this.log.muted(`Use latest version ${latestLibraryVersion.libraryVersion.toString()}`);
204
+ }
205
+ return latestLibraryVersion;
206
+ }
207
+ async get(namespaceOrPackageNameOrRepo, _version) {
208
+ const parsedArgs = this.parseArgs(namespaceOrPackageNameOrRepo, _version);
209
+ const { packageName, repo } = parsedArgs;
210
+ let { namespace, version } = parsedArgs;
211
+ namespace = sanitizeNamespace(namespace);
212
+ if (this._cache[packageName]) {
213
+ const dep = this._cache[packageName];
88
214
  return dep;
89
215
  }
90
216
  const filename = `${packageName}.gir`;
91
- const { exists, path } = findFileInDirs(this.config.girDirectories, filename);
217
+ const filesInfo = await findFilesInDirs(this.config.girDirectories, filename);
218
+ const { libraryVersion, girXML, fileInfo } = await this.parseGirAndReturnLatestVersion(filesInfo);
219
+ const ns = girXML?.repository[0]?.namespace?.[0] || repo?.namespace?.[0] || null;
220
+ // Use the version from the gir file if it exists
221
+ if (ns?.$.version) {
222
+ version = ns?.$.version;
223
+ }
224
+ if (ns?.$.name) {
225
+ namespace = ns?.$.name;
226
+ }
92
227
  const dependency = {
228
+ ...fileInfo,
93
229
  namespace,
94
- exists,
95
- filename,
96
- path,
97
230
  packageName,
98
231
  importName: this.transformation.transformImportName(packageName),
232
+ importNamespace: this.transformation.transformModuleNamespaceName(packageName),
99
233
  version,
234
+ libraryVersion,
235
+ girXML,
100
236
  ...this.createImportProperties(namespace, packageName),
101
237
  };
102
- this.cache[packageName] = dependency;
238
+ this._cache[packageName] = dependency;
239
+ return dependency;
240
+ }
241
+ getSync(namespaceOrPackageNameOrRepo, _version) {
242
+ const parsedArgs = this.parseArgs(namespaceOrPackageNameOrRepo, _version);
243
+ const { packageName, repo } = parsedArgs;
244
+ let { namespace, version } = parsedArgs;
245
+ namespace = sanitizeNamespace(namespace);
246
+ if (this._cache[packageName]) {
247
+ const dep = this._cache[packageName];
248
+ return dep;
249
+ }
250
+ const filename = `${packageName}.gir`;
251
+ const filesInfo = findFilesInDirsSync(this.config.girDirectories, filename);
252
+ const { libraryVersion, girXML, fileInfo } = this.parseGirAndReturnLatestVersionSync(filesInfo);
253
+ const ns = girXML?.repository[0]?.namespace?.[0] || repo?.namespace?.[0] || null;
254
+ // Use the version from the gir file if it exists
255
+ if (ns?.$.version) {
256
+ version = ns?.$.version;
257
+ }
258
+ if (ns?.$.name) {
259
+ namespace = ns?.$.name;
260
+ }
261
+ const dependency = {
262
+ ...fileInfo,
263
+ namespace,
264
+ packageName,
265
+ importName: this.transformation.transformImportName(packageName),
266
+ importNamespace: this.transformation.transformModuleNamespaceName(packageName),
267
+ version,
268
+ libraryVersion,
269
+ girXML,
270
+ ...this.createImportProperties(namespace, packageName),
271
+ };
272
+ this._cache[packageName] = dependency;
103
273
  return dependency;
104
274
  }
105
275
  /**
@@ -110,7 +280,7 @@ export class DependencyManager extends GirNSRegistry {
110
280
  list(namespace) {
111
281
  const packageNames = this.all();
112
282
  const candidates = packageNames.filter((dep) => {
113
- return dep.namespace === namespace;
283
+ return dep.namespace === namespace && dep.exists;
114
284
  });
115
285
  return candidates;
116
286
  }
@@ -126,9 +296,9 @@ export class DependencyManager extends GirNSRegistry {
126
296
  * Add all dependencies from an array of gir modules
127
297
  * @param girModules
128
298
  */
129
- addAll(girModules) {
299
+ async addAll(girModules) {
130
300
  for (const girModule of girModules) {
131
- this.get(girModule.namespace, girModule.version || '0.0');
301
+ await this.get(girModule.namespace, girModule.version || '0.0');
132
302
  }
133
303
  return this.all();
134
304
  }
@@ -137,10 +307,10 @@ export class DependencyManager extends GirNSRegistry {
137
307
  * @param girIncludes - Array of gir includes
138
308
  * @returns Array of dependencies
139
309
  */
140
- fromGirIncludes(girIncludes) {
310
+ async fromGirIncludes(girIncludes) {
141
311
  const dependencies = [];
142
312
  for (const i of girIncludes) {
143
- dependencies.unshift(this.get(i.$.name, i.$.version || '0.0'));
313
+ dependencies.unshift(await this.get(i.$.name, i.$.version || '0.0'));
144
314
  }
145
315
  return dependencies;
146
316
  }
@@ -152,7 +322,7 @@ export class DependencyManager extends GirNSRegistry {
152
322
  hasConflict(namespace) {
153
323
  const packageNames = this.getAllPackageNames();
154
324
  const candidates = packageNames.filter((packageName) => {
155
- return packageName.startsWith(`${namespace}-`) && this.cache[packageName].namespace === namespace;
325
+ return packageName.startsWith(`${namespace}-`) && this._cache[packageName].namespace === namespace;
156
326
  });
157
327
  return candidates.length > 1;
158
328
  }
@@ -192,30 +362,34 @@ export class DependencyManager extends GirNSRegistry {
192
362
  }
193
363
  const packageNames = this.getAllPackageNames();
194
364
  const candidates = packageNames.filter((packageName) => {
195
- return packageName.startsWith(`${namespace}-`) && this.cache[packageName].namespace === namespace;
365
+ return packageName.startsWith(`${namespace}-`) && this._cache[packageName].namespace === namespace;
196
366
  });
197
367
  if (candidates.length > 1) {
198
368
  this.log.warn(`Found multiple versions of ${namespace}: ${candidates.join(', ')}`);
199
369
  }
200
370
  const latestVersion = candidates.sort().pop();
201
- if (latestVersion && this.cache[latestVersion]) {
202
- const dep = this.cache[latestVersion];
371
+ if (latestVersion && this._cache[latestVersion]) {
372
+ const dep = this._cache[latestVersion];
203
373
  return dep;
204
374
  }
205
375
  return null;
206
376
  }
207
377
  getPseudoPackage(packageName) {
208
- if (this.cache[packageName]) {
209
- return this.cache[packageName];
378
+ if (this._cache[packageName]) {
379
+ return this._cache[packageName];
210
380
  }
381
+ const namespace = pascalCase(packageName);
211
382
  const dep = {
212
- namespace: pascalCase(packageName),
383
+ namespace,
213
384
  exists: true,
214
385
  filename: '',
215
386
  path: '',
216
387
  packageName: packageName,
217
388
  importName: this.transformation.transformImportName(packageName),
389
+ importNamespace: this.transformation.transformModuleNamespaceName(packageName),
218
390
  version: '0.0',
391
+ libraryVersion: new LibraryVersion(),
392
+ girXML: null,
219
393
  ...this.createImportProperties(packageName, packageName),
220
394
  };
221
395
  return dep;
@@ -1 +1 @@
1
- {"version":3,"file":"dependency-manager.js","sourceRoot":"","sources":["../src/dependency-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dependency-manager.js","sourceRoot":"","sources":["../src/dependency-manager.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { IntrospectedNamespace } from "../gir/namespace.js";
2
- import { GenerationOptions } from "../types.js";
3
2
  import { DtsGenerator } from "./dts.js";
3
+ import type { OptionsGeneration } from "../types/index.js";
4
4
  export declare class DtsInlineGenerator extends DtsGenerator {
5
- constructor(namespace: IntrospectedNamespace, options: GenerationOptions);
5
+ constructor(namespace: IntrospectedNamespace, options: OptionsGeneration);
6
6
  generateNamespace(node: IntrospectedNamespace): Promise<string | null>;
7
7
  stringifyNamespace(node: IntrospectedNamespace): Promise<string | null>;
8
8
  }
@@ -9,20 +9,20 @@ export class DtsInlineGenerator extends DtsGenerator {
9
9
  generateNamespace(node) {
10
10
  const { namespace, options } = this;
11
11
  if (options.verbose) {
12
- console.debug(`Resolving the types of ${namespace.name}...`);
12
+ console.debug(`Resolving the types of ${namespace.namespace}...`);
13
13
  }
14
14
  let suffix = "";
15
- if (!options.noAdvancedVariants && node.name === "GLib") {
15
+ if (!options.noAdvancedVariants && node.namespace === "GLib") {
16
16
  suffix = `\n${overrideGLib(node)}\n`;
17
17
  }
18
- else if (node.name === "GObject") {
18
+ else if (node.namespace === "GObject") {
19
19
  suffix = `\n${overrideGObject(node)}\n`;
20
20
  }
21
21
  try {
22
- const { name } = node;
22
+ const { namespace: name, version } = node.dependency;
23
23
  const header = `
24
24
  /**
25
- * ${name} ${node.version}
25
+ * ${name} ${version}
26
26
  *
27
27
  * Generated from ${node.package_version.join(".")}
28
28
  */
@@ -42,12 +42,12 @@ export class DtsInlineGenerator extends DtsGenerator {
42
42
  .join("\n");
43
43
  const output = [header, base, content, suffix].join("\n\n");
44
44
  if (options.verbose) {
45
- console.debug(`Printing ${namespace.name}...`);
45
+ console.debug(`Printing ${namespace.namespace}...`);
46
46
  }
47
47
  return Promise.resolve(output);
48
48
  }
49
49
  catch (err) {
50
- console.error(`Failed to generate namespace: ${node.name}`);
50
+ console.error(`Failed to generate namespace: ${node.namespace}`);
51
51
  console.error(err);
52
52
  return Promise.resolve(null);
53
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dts-inline.js","sourceRoot":"","sources":["../../src/generators/dts-inline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dts-inline.js","sourceRoot":"","sources":["../../src/generators/dts-inline.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { IntrospectedNamespace } from "../gir/namespace.js";
2
- import { GenerationOptions } from "../types.js";
3
2
  import { DtsGenerator } from "./dts.js";
3
+ import type { OptionsGeneration } from "../types/index.js";
4
4
  export declare class DtsModuleGenerator extends DtsGenerator {
5
- constructor(namespace: IntrospectedNamespace, options: GenerationOptions);
5
+ constructor(namespace: IntrospectedNamespace, options: OptionsGeneration);
6
6
  generateNamespace(node: IntrospectedNamespace): Promise<string | null>;
7
7
  stringifyNamespace(node: IntrospectedNamespace): Promise<string | null>;
8
8
  }