@ts-for-gir/cli 3.3.0 → 4.0.0-beta.10

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,5 +1,5 @@
1
1
  import { mkdir } from 'fs/promises';
2
- import { GirModule, Logger, START_MODULE, FILE_PARSING_DONE, TSDATA_PARSING_DONE, GENERATING_TYPES_DONE, ERROR_NO_MODULE_SPECIFIED, } from '@ts-for-gir/lib';
2
+ import { Logger, START_MODULE, FILE_PARSING_DONE, TSDATA_PARSING_DONE, GENERATING_TYPES_DONE, ERROR_NO_MODULE_SPECIFIED, } from '@ts-for-gir/lib';
3
3
  import { GeneratorType } from '@ts-for-gir/generator-base';
4
4
  import { TypeDefinitionGenerator } from '@ts-for-gir/generator-typescript';
5
5
  import { HtmlDocGenerator } from '@ts-for-gir/generator-html-doc';
@@ -9,7 +9,7 @@ export class GenerationHandler {
9
9
  generator;
10
10
  constructor(config, type) {
11
11
  this.config = config;
12
- this.log = new Logger(config.environment, config.verbose, 'GenerationHandler');
12
+ this.log = new Logger(config.verbose, 'GenerationHandler');
13
13
  switch (type) {
14
14
  case GeneratorType.TYPES:
15
15
  this.generator = new TypeDefinitionGenerator(config);
@@ -21,38 +21,27 @@ export class GenerationHandler {
21
21
  throw new Error('Unknown Generator');
22
22
  }
23
23
  }
24
- finalizeInheritance(inheritanceTable) {
25
- for (const clsName of Object.keys(inheritanceTable)) {
26
- let p = inheritanceTable[clsName][0];
27
- while (p) {
28
- p = inheritanceTable[p];
29
- if (p) {
30
- p = p[0];
31
- inheritanceTable[clsName].push(p);
32
- }
33
- }
34
- }
35
- }
36
- async start(girModules, girModulesGrouped) {
37
- this.log.info(START_MODULE(this.config.environment, this.config.buildType));
24
+ async start(girModules, registry) {
25
+ this.log.info(START_MODULE);
38
26
  if (girModules.length == 0) {
39
27
  this.log.error(ERROR_NO_MODULE_SPECIFIED);
40
28
  }
41
- GirModule.allGirModules = girModules;
42
29
  this.log.info(FILE_PARSING_DONE);
43
- const inheritanceTable = {};
44
- for (const girModule of girModules)
45
- girModule.init(inheritanceTable);
46
- this.finalizeInheritance(inheritanceTable);
47
30
  this.log.info(TSDATA_PARSING_DONE);
31
+ if (this.config.outdir) {
32
+ await mkdir(this.config.outdir, { recursive: true });
33
+ }
34
+ // TODO: Put this somewhere that makes sense
35
+ registry.transform({
36
+ inferGenerics: true,
37
+ verbose: this.config.verbose,
38
+ });
39
+ await this.generator.start(registry);
48
40
  for (const girModule of girModules) {
49
- if (this.config.outdir) {
50
- await mkdir(this.config.outdir, { recursive: true });
51
- }
52
41
  this.log.log(` - ${girModule.packageName} ...`);
53
- girModule.start(girModules);
42
+ await this.generator.generate(registry, girModule);
54
43
  }
55
- await this.generator.start(girModules, girModulesGrouped, inheritanceTable);
44
+ await this.generator.finish(registry, girModules);
56
45
  this.log.success(GENERATING_TYPES_DONE);
57
46
  }
58
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generation-handler.js","sourceRoot":"","sources":["../src/generation-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generation-handler.js","sourceRoot":"","sources":["../src/generation-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAEH,MAAM,EACN,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,GAC5B,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,aAAa,EAAa,MAAM,4BAA4B,CAAA;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAIjE,MAAM,OAAO,iBAAiB;IAKL;IAJrB,GAAG,CAAQ;IACX,SAAS,CAAW;IAEpB,YACqB,MAAyB,EAC1C,IAAmB;QADF,WAAM,GAAN,MAAM,CAAmB;QAG1C,IAAI,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAA;QAE1D,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,aAAa,CAAC,KAAK;gBACpB,IAAI,CAAC,SAAS,GAAG,IAAI,uBAAuB,CAAC,MAAM,CAAC,CAAA;gBACpD,MAAK;YACT,KAAK,aAAa,CAAC,QAAQ;gBACvB,IAAI,CAAC,SAAS,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAA;gBAC7C,MAAK;YACT;gBACI,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;QAC5C,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,UAAuB,EAAE,QAAoB;QAC5D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QAE3B,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAA;QAC7C,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QAEhC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;QAElC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACrB,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACxD,CAAC;QAED,4CAA4C;QAC5C,QAAQ,CAAC,SAAS,CAAC;YACf,aAAa,EAAE,IAAI;YACnB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;SAC/B,CAAC,CAAA;QAEF,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAEpC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACjC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,SAAS,CAAC,WAAW,MAAM,CAAC,CAAA;YAC/C,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QACtD,CAAC;QAED,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;QAEjD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAA;IAC3C,CAAC;CACJ"}
@@ -3,14 +3,14 @@
3
3
  */
4
4
  import { ListQuestion } from 'inquirer';
5
5
  import { DependencyManager, ResolveType, GirModule, Logger } from '@ts-for-gir/lib';
6
- import type { GirModulesGroupedMap, GenerateConfig, GirModuleResolvedBy, GirModulesGrouped, DependencyMap, Dependency, AnswerVersion } from '@ts-for-gir/lib';
6
+ import type { GirModulesGroupedMap, OptionsGeneration, GirModuleResolvedBy, GirModulesGrouped, DependencyMap, Dependency, AnswerVersion } from '@ts-for-gir/lib';
7
7
  export declare class ModuleLoader {
8
- protected readonly config: GenerateConfig;
8
+ protected readonly config: OptionsGeneration;
9
9
  log: Logger;
10
10
  dependencyManager: DependencyManager;
11
11
  /** Transitive module dependencies */
12
12
  modDependencyMap: DependencyMap;
13
- constructor(config: GenerateConfig);
13
+ constructor(config: OptionsGeneration);
14
14
  /**
15
15
  * Groups Gir modules by name id
16
16
  * E.g. Gtk-3.0 and Gtk-4.0 will be grouped
@@ -40,13 +40,13 @@ export declare class ModuleLoader {
40
40
  * @param girModulesGroupedMap
41
41
  * @param packageName
42
42
  */
43
- protected findPackageNamesDependOnPackage(girModulesGroupedMap: GirModulesGroupedMap, packageName: string): GirModuleResolvedBy[];
43
+ protected findGirFilesDependOnPackage(girModulesGroupedMap: GirModulesGroupedMap, packageName: string): GirModuleResolvedBy[];
44
44
  /**
45
45
  * Find modules that depend on the module with the names in `packageNames`
46
46
  * @param girModulesGroupedMap
47
47
  * @param packageName
48
48
  */
49
- protected findPackageNamesDependOnPackages(girModulesGroupedMap: GirModulesGroupedMap, packageNames: string[]): GirModuleResolvedBy[];
49
+ protected findGirFilesDependOnPackages(girModulesGroupedMap: GirModulesGroupedMap, packageNames: string[]): GirModuleResolvedBy[];
50
50
  protected askForVersionsPrompt(girModulesGrouped: GirModulesGrouped): Promise<AnswerVersion>;
51
51
  /**
52
52
  * If multiple versions of the same module are found, this will aks the user with input prompts for the version he wish to use.
@@ -81,7 +81,7 @@ export declare class ModuleLoader {
81
81
  * is required so that all dependencies can be found internally when generating the dependency imports for the module .d.ts file
82
82
  * @param girModules
83
83
  */
84
- protected setTraverseDependenciesForModules(girModules: GirModuleResolvedBy[]): void;
84
+ protected initGirModules(girModules: GirModuleResolvedBy[]): Promise<void>;
85
85
  /**
86
86
  * Reads a gir xml module file and creates an object of GirModule.
87
87
  * Also sets the setDependencyMap
@@ -119,12 +119,13 @@ export declare class ModuleLoader {
119
119
  * @param modules
120
120
  * @param ignore
121
121
  */
122
- protected findPackageNames(modules: string[], ignore?: string[]): Promise<Set<string>>;
123
- protected packageNamesToDependencies(packageNames: Set<string>): Dependency[];
122
+ protected findGirFiles(globPackageNames: string[], ignore?: string[]): Promise<Set<string>>;
123
+ protected girFilePathToDependencies(girFiles: Set<string>): Promise<Dependency[]>;
124
124
  /**
125
- * Loads all found `packageNames` and sorts out those that the user does not want to use including their dependencies
125
+ * Loads all found `packageNames`
126
126
  * @param girDirectories
127
127
  * @param packageNames
128
+ * @param doNotAskForVersionOnConflict Set this to false if you want to get a prompt for each version conflict
128
129
  */
129
130
  getModulesResolved(packageNames: string[], ignore?: string[], doNotAskForVersionOnConflict?: boolean): Promise<{
130
131
  keep: GirModuleResolvedBy[];
@@ -133,7 +134,7 @@ export declare class ModuleLoader {
133
134
  failed: Set<string>;
134
135
  }>;
135
136
  /**
136
- * Find modules with the possibility to use wild cards for module names. E.g. `Gtk*` or `'*'`
137
+ * Find modules
137
138
  * @param girDirectories
138
139
  * @param modules
139
140
  */
@@ -142,4 +143,6 @@ export declare class ModuleLoader {
142
143
  loaded: GirModuleResolvedBy[];
143
144
  failed: string[];
144
145
  }>;
146
+ /** Start parsing the gir modules */
147
+ parse(girModules: GirModuleResolvedBy[]): void;
145
148
  }
@@ -2,11 +2,10 @@
2
2
  * The ModuleLoader is used for reading gir modules from the file system and to solve conflicts (e.g. Gtk-3.0 and Gtk-4.0 would be a conflict)
3
3
  */
4
4
  import inquirer from 'inquirer';
5
- import glob from 'tiny-glob';
6
- import { basename } from 'path';
7
- import { readFile } from 'fs/promises';
5
+ import { glob } from 'glob';
6
+ import { basename, join } from 'path';
8
7
  import { bold } from 'colorette';
9
- import { DependencyManager, ResolveType, GirModule, Logger, splitModuleName, union, isIterable, girParser, WARN_NO_GIR_FILE_FOUND_FOR_PACKAGE, } from '@ts-for-gir/lib';
8
+ import { DependencyManager, ResolveType, GirModule, Logger, splitModuleName, union, isIterable, WARN_NO_GIR_FILE_FOUND_FOR_PACKAGE, } from '@ts-for-gir/lib';
10
9
  import { Config } from './config.js';
11
10
  export class ModuleLoader {
12
11
  config;
@@ -16,7 +15,7 @@ export class ModuleLoader {
16
15
  modDependencyMap = {};
17
16
  constructor(config) {
18
17
  this.config = config;
19
- this.log = new Logger('', config.verbose, 'ModuleLoader');
18
+ this.log = new Logger(config.verbose, 'ModuleLoader');
20
19
  this.dependencyManager = DependencyManager.getInstance(config);
21
20
  }
22
21
  /**
@@ -129,7 +128,7 @@ export class ModuleLoader {
129
128
  * @param girModulesGroupedMap
130
129
  * @param packageName
131
130
  */
132
- findPackageNamesDependOnPackage(girModulesGroupedMap, packageName) {
131
+ findGirFilesDependOnPackage(girModulesGroupedMap, packageName) {
133
132
  const girModules = [];
134
133
  for (const girModulesGrouped of Object.values(girModulesGroupedMap)) {
135
134
  for (const girModuleResolvedBy of girModulesGrouped.modules) {
@@ -150,10 +149,10 @@ export class ModuleLoader {
150
149
  * @param girModulesGroupedMap
151
150
  * @param packageName
152
151
  */
153
- findPackageNamesDependOnPackages(girModulesGroupedMap, packageNames) {
152
+ findGirFilesDependOnPackages(girModulesGroupedMap, packageNames) {
154
153
  let girModules = [];
155
154
  for (const packageName of packageNames) {
156
- girModules = girModules.concat(this.findPackageNamesDependOnPackage(girModulesGroupedMap, packageName));
155
+ girModules = [...girModules, ...this.findGirFilesDependOnPackage(girModulesGroupedMap, packageName)];
157
156
  }
158
157
  return girModules;
159
158
  }
@@ -206,7 +205,7 @@ export class ModuleLoader {
206
205
  while (goBack) {
207
206
  versionAnswer = await this.askForVersionsPrompt(girModulesGrouped);
208
207
  // Check modules that depend on the unchosen modules
209
- wouldIgnoreDeps = this.findPackageNamesDependOnPackages(girModulesGroupedMap, versionAnswer.unselected);
208
+ wouldIgnoreDeps = this.findGirFilesDependOnPackages(girModulesGroupedMap, versionAnswer.unselected);
210
209
  // Do not check dependencies that have already been ignored
211
210
  wouldIgnoreDeps = wouldIgnoreDeps.filter((dep) => !ignore.includes(dep.packageName));
212
211
  ignoreDepsAnswer = await this.askIgnoreDepsPrompt(wouldIgnoreDeps);
@@ -288,11 +287,11 @@ export class ModuleLoader {
288
287
  * is required so that all dependencies can be found internally when generating the dependency imports for the module .d.ts file
289
288
  * @param girModules
290
289
  */
291
- setTraverseDependenciesForModules(girModules) {
290
+ async initGirModules(girModules) {
292
291
  for (const girModule of girModules) {
293
292
  const result = {};
294
293
  this.traverseDependencies(girModule.packageName, result);
295
- girModule.module.transitiveDependencies = Object.values(result);
294
+ await girModule.module.initTransitiveDependencies(Object.values(result));
296
295
  }
297
296
  }
298
297
  /**
@@ -305,10 +304,8 @@ export class ModuleLoader {
305
304
  if (!dependency.exists || dependency.path === null) {
306
305
  return null;
307
306
  }
308
- this.log.log(`Parsing ${dependency.path}...`);
309
- const fileContents = await readFile(dependency.path, 'utf8');
310
- const result = girParser(fileContents);
311
- const girModule = new GirModule(result, this.config);
307
+ this.log.log(`Loading ${dependency.packageName}...`);
308
+ const girModule = await GirModule.load(dependency, this.config, this.dependencyManager);
312
309
  // Figure out transitive module dependencies
313
310
  this.extendDependencyMapByGirModule(girModule);
314
311
  return girModule;
@@ -361,6 +358,7 @@ export class ModuleLoader {
361
358
  packageName: girModule.packageName,
362
359
  module: girModule,
363
360
  resolvedBy,
361
+ path: dependency.path,
364
362
  };
365
363
  girModules.push(addModule);
366
364
  newModuleFound = true;
@@ -374,17 +372,12 @@ export class ModuleLoader {
374
372
  };
375
373
  }
376
374
  // Figure out transitive module dependencies
377
- this.setTraverseDependenciesForModules(girModules);
375
+ await this.initGirModules(girModules);
378
376
  // Load girModules for dependencies
379
377
  for (const girModule of girModules) {
380
378
  // Load dependencies
381
379
  const transitiveDependencies = girModule.module.transitiveDependencies;
382
380
  if (transitiveDependencies.length > 0) {
383
- for (const transitiveDependency of transitiveDependencies) {
384
- if (ignoreDependencies.includes(transitiveDependency.packageName)) {
385
- this.log.warn(`Load dependency "${transitiveDependency.packageName}" which is in the ignore list, if this should really be ignored also ignore "${girModule.packageName}"`);
386
- }
387
- }
388
381
  await this.loadGirModules(transitiveDependencies, ignoreDependencies, girModules, ResolveType.DEPENDENCE, failedGirModules);
389
382
  }
390
383
  }
@@ -398,49 +391,49 @@ export class ModuleLoader {
398
391
  * @param modules
399
392
  * @param ignore
400
393
  */
401
- async findPackageNames(modules, ignore = []) {
402
- const foundModules = new Set();
403
- for (let i = 0; i < modules.length; i++) {
404
- if (modules[i]) {
405
- const filename = `${modules[i]}.gir`;
406
- let files = [];
407
- for (const girDirectory of this.config.girDirectories) {
408
- try {
409
- files = files.concat(await glob(filename, { cwd: girDirectory }));
410
- }
411
- catch (error) {
412
- this.log.warn(`Error on finding "${filename}" in "${girDirectory}"`, error);
413
- }
414
- }
415
- let globModules = files.map((file) => basename(file, '.gir'));
416
- // Filter out the ignored modules
417
- globModules = globModules.filter((mod) => {
418
- const isIgnored = ignore.includes(mod);
419
- if (isIgnored) {
420
- this.log.warn(`Ignore ${mod}`);
421
- }
422
- return !isIgnored;
423
- });
424
- globModules.forEach((mod) => foundModules.add(mod));
394
+ async findGirFiles(globPackageNames, ignore = []) {
395
+ const foundFiles = new Set();
396
+ for (let i = 0; i < globPackageNames.length; i++) {
397
+ if (!globPackageNames[i]) {
398
+ continue;
425
399
  }
400
+ const filename = `${globPackageNames[i]}.gir`;
401
+ const pattern = this.config.girDirectories.map((girDirectory) => join(girDirectory, filename));
402
+ const ignoreGirs = ignore.map((girDirectory) => girDirectory + '.gir');
403
+ const files = await glob(pattern, { ignore: ignoreGirs });
404
+ files.forEach((file) => foundFiles.add(file));
426
405
  }
427
- return foundModules;
406
+ return foundFiles;
428
407
  }
429
- packageNamesToDependencies(packageNames) {
430
- return Array.from(packageNames).map((packageName) => {
408
+ async girFilePathToDependencies(girFiles) {
409
+ const dependencies = [];
410
+ for (const girFile of girFiles) {
411
+ const packageName = basename(girFile, '.gir');
431
412
  const { namespace, version } = splitModuleName(packageName);
432
- return this.dependencyManager.get(namespace, version);
433
- });
413
+ const dep = await this.dependencyManager.get(namespace, version);
414
+ dependencies.push(dep);
415
+ }
416
+ return dependencies;
434
417
  }
435
418
  /**
436
- * Loads all found `packageNames` and sorts out those that the user does not want to use including their dependencies
419
+ * Loads all found `packageNames`
437
420
  * @param girDirectories
438
421
  * @param packageNames
422
+ * @param doNotAskForVersionOnConflict Set this to false if you want to get a prompt for each version conflict
439
423
  */
440
424
  async getModulesResolved(packageNames, ignore = [], doNotAskForVersionOnConflict = true) {
441
- const foundPackageNames = await this.findPackageNames(packageNames, ignore);
442
- const dependencies = this.packageNamesToDependencies(foundPackageNames);
443
- const { loaded, failed } = await this.loadGirModules(dependencies, ignore);
425
+ const girFiles = await this.findGirFiles([...packageNames], ignore);
426
+ // Always require these because GJS does...
427
+ const GLib = await this.dependencyManager.get('GLib', '2.0');
428
+ const Gio = await this.dependencyManager.get('Gio', '2.0');
429
+ const GObject = await this.dependencyManager.get('GObject', '2.0');
430
+ const dependencies = await this.girFilePathToDependencies(girFiles);
431
+ const { loaded, failed } = await this.loadGirModules([
432
+ GLib,
433
+ Gio,
434
+ GObject,
435
+ ...dependencies.filter((dep) => dep.namespace !== 'GLib' && dep.namespace !== 'Gio' && dep.namespace !== 'GObject'),
436
+ ], ignore);
444
437
  let keep = [];
445
438
  if (doNotAskForVersionOnConflict) {
446
439
  keep = loaded;
@@ -454,16 +447,22 @@ export class ModuleLoader {
454
447
  return { keep, grouped, ignore, failed };
455
448
  }
456
449
  /**
457
- * Find modules with the possibility to use wild cards for module names. E.g. `Gtk*` or `'*'`
450
+ * Find modules
458
451
  * @param girDirectories
459
452
  * @param modules
460
453
  */
461
454
  async getModules(modules, ignore = []) {
462
- const foundPackageNames = await this.findPackageNames(modules, ignore);
463
- const dependencies = this.packageNamesToDependencies(foundPackageNames);
455
+ const girFiles = await this.findGirFiles(modules, ignore);
456
+ const dependencies = await this.girFilePathToDependencies(girFiles);
464
457
  const { loaded, failed } = await this.loadGirModules(dependencies, ignore);
465
458
  const grouped = this.groupGirFiles(loaded);
466
459
  return { grouped, loaded, failed: Array.from(failed) };
467
460
  }
461
+ /** Start parsing the gir modules */
462
+ parse(girModules) {
463
+ for (const girModule of girModules) {
464
+ girModule.module.parse();
465
+ }
466
+ }
468
467
  }
469
468
  //# sourceMappingURL=module-loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"module-loader.js","sourceRoot":"","sources":["../src/module-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module-loader.js","sourceRoot":"","sources":["../src/module-loader.ts"],"names":[],"mappings":"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"}
package/lib/start.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import yargs from 'yargs';
3
3
  import { hideBin } from 'yargs/helpers';
4
- import { generate, list, doc } from './commands/index.js';
4
+ import { generate, list, doc, copy } from './commands/index.js';
5
5
  import { Config } from './config.js';
6
6
  void yargs(hideBin(process.argv))
7
7
  .scriptName(Config.appName)
@@ -9,6 +9,7 @@ void yargs(hideBin(process.argv))
9
9
  .usage(Config.usage)
10
10
  .command(generate.command, generate.description, generate.builder, generate.handler)
11
11
  .command(list.command, list.description, list.builder, list.handler)
12
+ .command(copy.command, copy.description, copy.builder, copy.handler)
12
13
  .command(doc.command, doc.description, doc.builder, doc.handler)
13
14
  .demandCommand(1)
14
15
  .help().argv;
package/lib/start.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,KAAK,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KAC5B,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;KAC1B,MAAM,EAAE;KACR,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;KACnB,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC;KACnF,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC;KACnE,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC;KAC/D,aAAa,CAAC,CAAC,CAAC;KAChB,IAAI,EAAE,CAAC,IAAI,CAAA"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,KAAK,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KAC5B,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;KAC1B,MAAM,EAAE;KACR,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;KACnB,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC;KACnF,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC;KACnE,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC;KACnE,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC;KAC/D,aAAa,CAAC,CAAC,CAAC;KAChB,IAAI,EAAE,CAAC,IAAI,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ts-for-gir/cli",
3
- "version": "3.3.0",
3
+ "version": "4.0.0-beta.10",
4
4
  "description": "TypeScript type definition generator for GObject introspection GIR files",
5
5
  "module": "lib/index.js",
6
6
  "main": "lib/index.js",
@@ -42,7 +42,6 @@
42
42
  "gjs",
43
43
  "typescript",
44
44
  "generate",
45
- "node-gtk",
46
45
  "gir",
47
46
  "gobject-introspection",
48
47
  "gnome",
@@ -55,27 +54,28 @@
55
54
  ],
56
55
  "devDependencies": {
57
56
  "@types/inquirer": "^9.0.7",
58
- "@types/node": "^20.11.30",
57
+ "@types/node": "^20.14.11",
59
58
  "@types/yargs": "^17.0.32",
60
- "@typescript-eslint/eslint-plugin": "^7.4.0",
61
- "@typescript-eslint/parser": "^7.4.0",
59
+ "@typescript-eslint/eslint-plugin": "^7.16.1",
60
+ "@typescript-eslint/parser": "^7.16.1",
62
61
  "eslint": "^8.57.0",
63
62
  "eslint-config-prettier": "^9.1.0",
64
- "eslint-plugin-prettier": "^5.1.3",
65
- "prettier": "^3.2.5",
66
- "rimraf": "^5.0.5",
63
+ "eslint-plugin-prettier": "^5.2.1",
64
+ "rimraf": "^6.0.1",
67
65
  "ts-node": "^10.9.2",
68
- "typescript": "5.2.2"
66
+ "typescript": "^5.5.3"
69
67
  },
70
68
  "dependencies": {
71
- "@ts-for-gir/generator-base": "^3.3.0",
72
- "@ts-for-gir/generator-html-doc": "^3.3.0",
73
- "@ts-for-gir/generator-typescript": "^3.3.0",
74
- "@ts-for-gir/lib": "^3.3.0",
69
+ "@gi.ts/parser": "^2.0.0",
70
+ "@ts-for-gir/generator-base": "^4.0.0-beta.10",
71
+ "@ts-for-gir/generator-html-doc": "^4.0.0-beta.10",
72
+ "@ts-for-gir/generator-typescript": "^4.0.0-beta.10",
73
+ "@ts-for-gir/lib": "^4.0.0-beta.10",
75
74
  "colorette": "^2.0.20",
76
75
  "cosmiconfig": "^9.0.0",
77
- "inquirer": "^9.2.16",
78
- "tiny-glob": "^0.2.9",
76
+ "glob": "^11.0.0",
77
+ "inquirer": "^9.3.5",
78
+ "prettier": "^3.3.3",
79
79
  "yargs": "^17.7.2"
80
80
  }
81
81
  }
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Everything you need for the `ts-for-gir copy` command is located here
3
+ */
4
+
5
+ import { Argv, BuilderCallback } from 'yargs'
6
+ import { copyFile, mkdir } from 'fs/promises'
7
+ import { basename, join } from 'path'
8
+ import { ModuleLoader } from '../module-loader.js'
9
+ import { Config } from '../config.js'
10
+ import { Logger, ERROR_NO_MODULES_FOUND } from '@ts-for-gir/lib'
11
+
12
+ import type { ConfigFlags, UserConfig, GirModuleResolvedBy } from '@ts-for-gir/lib'
13
+
14
+ const command = 'copy [modules..]'
15
+
16
+ const description = 'Scan for *.gir files and copy them to a new directory'
17
+
18
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
19
+ const builder: BuilderCallback<any, ConfigFlags> = (yargs: Argv<any>) => {
20
+ const optionNames = Object.keys(Config.copyOptions)
21
+ for (const optionName of optionNames) {
22
+ yargs = yargs.option(optionName, Config.copyOptions[optionName])
23
+ }
24
+ return yargs.example(examples) as Argv<ConfigFlags>
25
+ }
26
+
27
+ const copyGirFile = async (config: UserConfig, depModule: GirModuleResolvedBy) => {
28
+ if (!depModule.path) {
29
+ Logger.danger(`- ${depModule.packageName} not found`)
30
+ return
31
+ }
32
+ if (!config.outdir) {
33
+ Logger.error(`outdir not found`)
34
+ return
35
+ }
36
+ const filename = basename(depModule.path)
37
+ const dest = join(config.outdir, filename)
38
+ if (depModule.path === dest) {
39
+ Logger.yellow(`Skip ${depModule.path}`)
40
+ return
41
+ }
42
+ Logger.success(`Copy ${depModule.path}`)
43
+ await copyFile(depModule.path, dest)
44
+ }
45
+
46
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
47
+ const handler = async (args: ConfigFlags) => {
48
+ const config = await Config.load(args)
49
+ const generateConfig = Config.getOptionsGeneration(config)
50
+ const moduleLoader = new ModuleLoader(generateConfig)
51
+ const { grouped, failed } = await moduleLoader.getModules(config.modules, config.ignore)
52
+ const moduleGroups = Object.values(grouped)
53
+ if (Object.keys(grouped).length === 0) {
54
+ return Logger.error(ERROR_NO_MODULES_FOUND(config.girDirectories))
55
+ }
56
+
57
+ if (!config.outdir) {
58
+ Logger.error(`outdir not found`)
59
+ return
60
+ }
61
+
62
+ await mkdir(config.outdir, { recursive: true }).catch((err) => {
63
+ Logger.error(`Failed to copy gir files to ${config.outdir}: ${err}`)
64
+ })
65
+
66
+ for (const module of moduleGroups) {
67
+ for (const mod of module.modules) {
68
+ await copyGirFile(config, mod)
69
+ }
70
+ }
71
+
72
+ if (failed.length > 0) {
73
+ Logger.danger('\nDependencies not found:')
74
+ for (const fail of failed) {
75
+ Logger.white(`- ${fail}`)
76
+ }
77
+ }
78
+ }
79
+
80
+ const examples: ReadonlyArray<[string, string?]> = [
81
+ [`${Config.appName} copy -o ./gir`, `Copy found *.gir files to ./gir`],
82
+ [
83
+ `${Config.appName} copy -g /usr/share/gir-1.0 --ignore=Gtk-3.0 xrandr-1.3 -o ./gir`,
84
+ 'Copy all found *.gir files in /usr/share/gir-1.0 excluding Gtk-3.0 and xrandr-1.3 to ./gir',
85
+ ],
86
+ ]
87
+
88
+ export const copy = {
89
+ command,
90
+ description,
91
+ builder,
92
+ handler,
93
+ examples,
94
+ }