@ts-for-gir/cli 4.0.0-beta.33 → 4.0.0-beta.34

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.
package/bin/ts-for-gir CHANGED
@@ -17250,23 +17250,17 @@ var FileFinder = class {
17250
17250
  if (!globPackageNames[i]) {
17251
17251
  continue;
17252
17252
  }
17253
- if (globPackageNames[i] === "*") {
17254
- for (const girDirectory of this.girDirectories) {
17255
- const pattern = join7(girDirectory, "*.gir");
17256
- const ignoreGirs = ignore.map((ignored) => join7(girDirectory, `${ignored}.gir`));
17257
- const files = await glob2(pattern, { ignore: ignoreGirs });
17258
- for (const file of files) {
17259
- foundFiles.add(file);
17260
- }
17261
- }
17262
- } else {
17263
- const filename = `${globPackageNames[i]}.gir`;
17264
- const pattern = this.girDirectories.map((girDirectory) => join7(girDirectory, filename));
17265
- const ignoreGirs = ignore.map((girDirectory) => `${girDirectory}.gir`);
17266
- const files = await glob2(pattern, { ignore: ignoreGirs });
17267
- for (const file of files) {
17268
- foundFiles.add(file);
17269
- }
17253
+ const filename = `${globPackageNames[i]}.gir`;
17254
+ const pattern = this.girDirectories.map((girDirectory) => join7(girDirectory, filename));
17255
+ const ignoreGirs = this.girDirectories.flatMap(
17256
+ (girDirectory) => ignore.map((ignored) => {
17257
+ const cleanIgnored = ignored.startsWith("*/") ? ignored.slice(2) : ignored;
17258
+ return join7(girDirectory, `${cleanIgnored}.gir`);
17259
+ })
17260
+ );
17261
+ const files = await glob2(pattern, { ignore: ignoreGirs });
17262
+ for (const file of files) {
17263
+ foundFiles.add(file);
17270
17264
  }
17271
17265
  }
17272
17266
  return foundFiles;
@@ -17536,7 +17530,13 @@ var ModuleLoader = class {
17536
17530
  */
17537
17531
  async loadGirModules(dependencies, ignoreDependencies = [], girModules = [], resolvedBy = 1 /* BY_HAND */, failedGirModules = /* @__PURE__ */ new Set()) {
17538
17532
  let newModuleFound = false;
17539
- dependencies = [...dependencies];
17533
+ dependencies = [...dependencies].filter((dep) => {
17534
+ const packageName = dep.packageName;
17535
+ return !ignoreDependencies.some((ignored) => {
17536
+ const cleanIgnored = ignored.startsWith("*/") ? ignored.slice(2) : ignored;
17537
+ return packageName === cleanIgnored;
17538
+ });
17539
+ });
17540
17540
  while (dependencies.length > 0) {
17541
17541
  const dependency = dependencies.shift();
17542
17542
  if (!dependency?.packageName) continue;
@@ -19209,9 +19209,10 @@ ${girClass.__ts__indexSignature}
19209
19209
  if (Type) {
19210
19210
  return ` extends ${Type}`;
19211
19211
  }
19212
- throw new Error(
19212
+ this.log.warn(
19213
19213
  `Unable to resolve type: ${node.superType.name} from ${node.superType.namespace} in ${node.namespace.namespace} ${node.namespace.version}, falling back to GObject.Object`
19214
19214
  );
19215
+ return ` extends GObject.Object`;
19215
19216
  }
19216
19217
  return "";
19217
19218
  }
@@ -19891,7 +19892,7 @@ var handler4 = async (args) => {
19891
19892
  "Generation failed"
19892
19893
  );
19893
19894
  }
19894
- await service.printComprehensiveSummary();
19895
+ service.printComprehensiveSummary();
19895
19896
  await service.saveComprehensiveReport();
19896
19897
  }
19897
19898
  throw error;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ts-for-gir/cli",
3
- "version": "4.0.0-beta.33",
3
+ "version": "4.0.0-beta.34",
4
4
  "description": "TypeScript type definition generator for GObject introspection GIR files",
5
5
  "main": "src/index.ts",
6
6
  "module": "src/index.ts",
@@ -53,13 +53,13 @@
53
53
  ".": "./src/index.ts"
54
54
  },
55
55
  "devDependencies": {
56
- "@gi.ts/parser": "^4.0.0-beta.33",
57
- "@ts-for-gir/generator-base": "^4.0.0-beta.33",
58
- "@ts-for-gir/generator-html-doc": "^4.0.0-beta.33",
59
- "@ts-for-gir/generator-json": "^4.0.0-beta.33",
60
- "@ts-for-gir/generator-typescript": "^4.0.0-beta.33",
61
- "@ts-for-gir/lib": "^4.0.0-beta.33",
62
- "@ts-for-gir/reporter": "^4.0.0-beta.33",
56
+ "@gi.ts/parser": "^4.0.0-beta.34",
57
+ "@ts-for-gir/generator-base": "^4.0.0-beta.34",
58
+ "@ts-for-gir/generator-html-doc": "^4.0.0-beta.34",
59
+ "@ts-for-gir/generator-json": "^4.0.0-beta.34",
60
+ "@ts-for-gir/generator-typescript": "^4.0.0-beta.34",
61
+ "@ts-for-gir/lib": "^4.0.0-beta.34",
62
+ "@ts-for-gir/reporter": "^4.0.0-beta.34",
63
63
  "@types/ejs": "^3.1.5",
64
64
  "@types/inquirer": "^9.0.9",
65
65
  "@types/node": "^24.2.1",
@@ -70,7 +70,7 @@
70
70
  },
71
71
  "dependencies": {
72
72
  "@inquirer/prompts": "^7.8.2",
73
- "@ts-for-gir/templates": "^4.0.0-beta.33",
73
+ "@ts-for-gir/templates": "^4.0.0-beta.34",
74
74
  "colorette": "^2.0.20",
75
75
  "cosmiconfig": "^9.0.0",
76
76
  "ejs": "^3.1.10",
@@ -93,7 +93,7 @@ const handler = async (args: ConfigFlags) => {
93
93
  }
94
94
 
95
95
  // Generate and save the report
96
- await service.printComprehensiveSummary();
96
+ service.printComprehensiveSummary();
97
97
  await service.saveComprehensiveReport();
98
98
  }
99
99
 
@@ -26,27 +26,20 @@ export class FileFinder {
26
26
  continue;
27
27
  }
28
28
 
29
- // Handle wildcard patterns
30
- if (globPackageNames[i] === "*") {
31
- // Special case: find all .gir files
32
- for (const girDirectory of this.girDirectories) {
33
- const pattern = join(girDirectory, "*.gir");
34
- const ignoreGirs = ignore.map((ignored) => join(girDirectory, `${ignored}.gir`));
35
- const files = await glob(pattern, { ignore: ignoreGirs });
36
- for (const file of files) {
37
- foundFiles.add(file);
38
- }
39
- }
40
- } else {
41
- // Handle specific module names or patterns like "Gtk*"
42
- const filename = `${globPackageNames[i]}.gir`;
43
- const pattern = this.girDirectories.map((girDirectory) => join(girDirectory, filename));
44
- const ignoreGirs = ignore.map((girDirectory) => `${girDirectory}.gir`);
45
- const files = await glob(pattern, { ignore: ignoreGirs });
29
+ // Handle all patterns uniformly (including wildcards like "*" and "Gtk*")
30
+ const filename = `${globPackageNames[i]}.gir`;
31
+ const pattern = this.girDirectories.map((girDirectory) => join(girDirectory, filename));
32
+ const ignoreGirs = this.girDirectories.flatMap((girDirectory) =>
33
+ ignore.map((ignored) => {
34
+ // Remove */ prefix if present (e.g., "*/Gtk-4.0" -> "Gtk-4.0")
35
+ const cleanIgnored = ignored.startsWith("*/") ? ignored.slice(2) : ignored;
36
+ return join(girDirectory, `${cleanIgnored}.gir`);
37
+ }),
38
+ );
39
+ const files = await glob(pattern, { ignore: ignoreGirs });
46
40
 
47
- for (const file of files) {
48
- foundFiles.add(file);
49
- }
41
+ for (const file of files) {
42
+ foundFiles.add(file);
50
43
  }
51
44
  }
52
45
 
@@ -150,8 +150,15 @@ export class ModuleLoader {
150
150
  ): Promise<{ loaded: GirModuleResolvedBy[]; failed: Set<string> }> {
151
151
  let newModuleFound = false;
152
152
 
153
- // Clone array
154
- dependencies = [...dependencies];
153
+ // Clone array and filter out ignored dependencies
154
+ dependencies = [...dependencies].filter((dep) => {
155
+ const packageName = dep.packageName;
156
+ return !ignoreDependencies.some((ignored) => {
157
+ // Remove */ prefix if present (e.g., "*/Gtk-4.0" -> "Gtk-4.0")
158
+ const cleanIgnored = ignored.startsWith("*/") ? ignored.slice(2) : ignored;
159
+ return packageName === cleanIgnored;
160
+ });
161
+ });
155
162
 
156
163
  while (dependencies.length > 0) {
157
164
  const dependency = dependencies.shift();