@ts-for-gir/cli 4.0.0-beta.2 → 4.0.0-beta.21

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,12 +1,10 @@
1
1
  /**
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
- import inquirer from 'inquirer';
5
- import glob from 'tiny-glob';
6
- import { basename } from 'path';
7
- import { readFile } from 'fs/promises';
4
+ import { select } from '@inquirer/prompts';
5
+ import { glob } from 'glob';
6
+ import { basename, join } from 'path';
8
7
  import { bold } from 'colorette';
9
- import { parser } from '@gi.ts/parser';
10
8
  import { DependencyManager, ResolveType, GirModule, Logger, splitModuleName, union, isIterable, WARN_NO_GIR_FILE_FOUND_FOR_PACKAGE, } from '@ts-for-gir/lib';
11
9
  import { Config } from './config.js';
12
10
  export class ModuleLoader {
@@ -73,41 +71,45 @@ export class ModuleLoader {
73
71
  };
74
72
  }
75
73
  generateContinueQuestion(message = `do you want to continue?`, choices = ['Yes', 'Go back']) {
76
- const question = {
77
- name: 'continue',
74
+ return {
78
75
  message,
79
- type: 'list',
80
76
  choices,
81
77
  };
82
- return question;
83
78
  }
84
79
  generateIgnoreDepsQuestion(message = `Do you want to ignore them too?`, choices = ['Yes', 'No', 'Go back']) {
85
- const question = {
86
- name: 'continue',
80
+ return {
87
81
  message,
88
- type: 'list',
89
82
  choices,
90
83
  };
91
- return question;
92
84
  }
93
85
  async askIgnoreDepsPrompt(deps) {
94
- let question = null;
95
86
  const size = deps.length || deps.size || 0;
96
87
  if (size > 0) {
88
+ // Show dependencies that would be ignored
97
89
  this.log.log(bold('\nThe following modules have the ignored modules as dependencies:'));
98
90
  for (const dep of deps) {
99
91
  this.log.log(`- ${dep.packageName}`);
100
92
  }
101
93
  this.log.log(bold('\n'));
102
- question = this.generateIgnoreDepsQuestion();
103
- }
104
- else {
105
- this.log.log(bold('\nNo dependencies found on the ignored modules'));
106
- question = this.generateContinueQuestion();
94
+ // Ask if user wants to ignore these dependencies
95
+ return select({
96
+ message: 'Do you want to ignore them too?',
97
+ choices: [
98
+ { value: 'Yes', name: 'Yes' },
99
+ { value: 'No', name: 'No' },
100
+ { value: 'Go back', name: 'Go back' },
101
+ ],
102
+ });
107
103
  }
108
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
109
- const answer = (await inquirer.prompt([question])).continue;
110
- return answer;
104
+ // No dependencies found
105
+ this.log.log(bold('\nNo dependencies found on the ignored modules'));
106
+ return select({
107
+ message: 'Do you want to continue?',
108
+ choices: [
109
+ { value: 'Yes', name: 'Yes' },
110
+ { value: 'Go back', name: 'Go back' },
111
+ ],
112
+ });
111
113
  }
112
114
  /**
113
115
  * Ask for duplicates / multiple versions of a module
@@ -117,20 +119,19 @@ export class ModuleLoader {
117
119
  generateModuleVersionQuestion(girModuleGrouped, message) {
118
120
  message = message || `Multiple versions of '${girModuleGrouped.namespace}' found, which one do you want to use?`;
119
121
  const choices = ['All', ...girModuleGrouped.modules.map((module) => module.packageName)];
120
- const question = {
122
+ return {
121
123
  name: girModuleGrouped.namespace,
122
124
  message,
123
125
  type: 'list',
124
126
  choices,
125
127
  };
126
- return question;
127
128
  }
128
129
  /**
129
130
  * Find modules that depend on the module with the name 'packageName'
130
131
  * @param girModulesGroupedMap
131
132
  * @param packageName
132
133
  */
133
- findPackageNamesDependOnPackage(girModulesGroupedMap, packageName) {
134
+ findGirFilesDependOnPackage(girModulesGroupedMap, packageName) {
134
135
  const girModules = [];
135
136
  for (const girModulesGrouped of Object.values(girModulesGroupedMap)) {
136
137
  for (const girModuleResolvedBy of girModulesGrouped.modules) {
@@ -151,34 +152,31 @@ export class ModuleLoader {
151
152
  * @param girModulesGroupedMap
152
153
  * @param packageName
153
154
  */
154
- findPackageNamesDependOnPackages(girModulesGroupedMap, packageNames) {
155
+ findGirFilesDependOnPackages(girModulesGroupedMap, packageNames) {
155
156
  let girModules = [];
156
157
  for (const packageName of packageNames) {
157
- girModules = girModules.concat(this.findPackageNamesDependOnPackage(girModulesGroupedMap, packageName));
158
+ girModules = [...girModules, ...this.findGirFilesDependOnPackage(girModulesGroupedMap, packageName)];
158
159
  }
159
160
  return girModules;
160
161
  }
161
162
  async askForVersionsPrompt(girModulesGrouped) {
162
- const question = this.generateModuleVersionQuestion(girModulesGrouped);
163
- const choices = question.choices;
164
- if (!choices) {
165
- throw new Error('No valid questions!');
166
- }
167
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
168
- const selected = (await inquirer.prompt([question]))[girModulesGrouped.namespace];
169
- if (!selected) {
170
- throw new Error('No valid answer!');
171
- }
163
+ const choices = ['All', ...girModulesGrouped.modules.map((module) => module.packageName)];
164
+ const selected = await select({
165
+ message: `Multiple versions of '${girModulesGrouped.namespace}' found, which one do you want to use?`,
166
+ choices: choices.map((choice) => ({
167
+ value: choice,
168
+ name: choice,
169
+ })),
170
+ });
172
171
  if (selected === 'All') {
173
172
  return {
174
173
  selected: choices.filter((choice) => choice !== 'All'),
175
174
  unselected: [],
176
175
  };
177
176
  }
178
- const unselected = choices.filter((choice) => choice !== selected);
179
177
  return {
180
178
  selected: [selected],
181
- unselected,
179
+ unselected: choices.filter((choice) => choice !== selected && choice !== 'All'),
182
180
  };
183
181
  }
184
182
  /**
@@ -207,7 +205,7 @@ export class ModuleLoader {
207
205
  while (goBack) {
208
206
  versionAnswer = await this.askForVersionsPrompt(girModulesGrouped);
209
207
  // Check modules that depend on the unchosen modules
210
- wouldIgnoreDeps = this.findPackageNamesDependOnPackages(girModulesGroupedMap, versionAnswer.unselected);
208
+ wouldIgnoreDeps = this.findGirFilesDependOnPackages(girModulesGroupedMap, versionAnswer.unselected);
211
209
  // Do not check dependencies that have already been ignored
212
210
  wouldIgnoreDeps = wouldIgnoreDeps.filter((dep) => !ignore.includes(dep.packageName));
213
211
  ignoreDepsAnswer = await this.askIgnoreDepsPrompt(wouldIgnoreDeps);
@@ -243,17 +241,14 @@ export class ModuleLoader {
243
241
  * @param ignoredModules
244
242
  */
245
243
  async askAddToIgnoreToConfigPrompt(ignoredModules) {
246
- const questions = [
247
- {
248
- name: 'addToIgnore',
249
- message: `Do you want to add the ignored modules to your config so that you don't need to select them again next time?\n Config path: '${Config.configFilePath}`,
250
- type: 'list',
251
- choices: ['No', 'Yes'],
252
- },
253
- ];
254
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
255
- const answer = await inquirer.prompt(questions);
256
- if (answer.addToIgnore === 'Yes') {
244
+ const shouldAdd = await select({
245
+ message: `Do you want to add the ignored modules to your config so that you don't need to select them again next time?\n Config path: '${Config.configFilePath}'`,
246
+ choices: [
247
+ { value: 'No', name: 'No' },
248
+ { value: 'Yes', name: 'Yes' },
249
+ ],
250
+ });
251
+ if (shouldAdd === 'Yes') {
257
252
  await Config.addToConfig({
258
253
  ignore: Array.from(ignoredModules),
259
254
  });
@@ -289,11 +284,11 @@ export class ModuleLoader {
289
284
  * is required so that all dependencies can be found internally when generating the dependency imports for the module .d.ts file
290
285
  * @param girModules
291
286
  */
292
- setTraverseDependenciesForModules(girModules) {
287
+ async initGirModules(girModules) {
293
288
  for (const girModule of girModules) {
294
289
  const result = {};
295
290
  this.traverseDependencies(girModule.packageName, result);
296
- girModule.module.transitiveDependencies = Object.values(result);
291
+ await girModule.module.initTransitiveDependencies(Object.values(result));
297
292
  }
298
293
  }
299
294
  /**
@@ -306,10 +301,8 @@ export class ModuleLoader {
306
301
  if (!dependency.exists || dependency.path === null) {
307
302
  return null;
308
303
  }
309
- this.log.log(`Parsing ${dependency.path}...`);
310
- const fileContents = await readFile(dependency.path, 'utf8');
311
- const result = parser.parseGir(fileContents);
312
- const girModule = GirModule.load(result, this.config, this.dependencyManager);
304
+ this.log.log(`Loading ${dependency.packageName}...`);
305
+ const girModule = await GirModule.load(dependency, this.config, this.dependencyManager);
313
306
  // Figure out transitive module dependencies
314
307
  this.extendDependencyMapByGirModule(girModule);
315
308
  return girModule;
@@ -362,6 +355,7 @@ export class ModuleLoader {
362
355
  packageName: girModule.packageName,
363
356
  module: girModule,
364
357
  resolvedBy,
358
+ path: dependency.path,
365
359
  };
366
360
  girModules.push(addModule);
367
361
  newModuleFound = true;
@@ -375,17 +369,12 @@ export class ModuleLoader {
375
369
  };
376
370
  }
377
371
  // Figure out transitive module dependencies
378
- this.setTraverseDependenciesForModules(girModules);
372
+ await this.initGirModules(girModules);
379
373
  // Load girModules for dependencies
380
374
  for (const girModule of girModules) {
381
375
  // Load dependencies
382
376
  const transitiveDependencies = girModule.module.transitiveDependencies;
383
377
  if (transitiveDependencies.length > 0) {
384
- for (const transitiveDependency of transitiveDependencies) {
385
- if (ignoreDependencies.includes(transitiveDependency.packageName)) {
386
- this.log.warn(`Load dependency "${transitiveDependency.packageName}" which is in the ignore list, if this should really be ignored also ignore "${girModule.packageName}"`);
387
- }
388
- }
389
378
  await this.loadGirModules(transitiveDependencies, ignoreDependencies, girModules, ResolveType.DEPENDENCE, failedGirModules);
390
379
  }
391
380
  }
@@ -399,52 +388,43 @@ export class ModuleLoader {
399
388
  * @param modules
400
389
  * @param ignore
401
390
  */
402
- async findPackageNames(modules, ignore = []) {
403
- const foundModules = new Set();
404
- for (let i = 0; i < modules.length; i++) {
405
- if (modules[i]) {
406
- const filename = `${modules[i]}.gir`;
407
- let files = [];
408
- for (const girDirectory of this.config.girDirectories) {
409
- try {
410
- files = files.concat(await glob(filename, { cwd: girDirectory }));
411
- }
412
- catch (error) {
413
- this.log.warn(`Error on finding "${filename}" in "${girDirectory}"`, error);
414
- }
415
- }
416
- let globModules = files.map((file) => basename(file, '.gir'));
417
- // Filter out the ignored modules
418
- globModules = globModules.filter((mod) => {
419
- const isIgnored = ignore.includes(mod);
420
- if (isIgnored) {
421
- this.log.warn(`Ignore ${mod}`);
422
- }
423
- return !isIgnored;
424
- });
425
- globModules.forEach((mod) => foundModules.add(mod));
391
+ async findGirFiles(globPackageNames, ignore = []) {
392
+ const foundFiles = new Set();
393
+ for (let i = 0; i < globPackageNames.length; i++) {
394
+ if (!globPackageNames[i]) {
395
+ continue;
426
396
  }
397
+ const filename = `${globPackageNames[i]}.gir`;
398
+ const pattern = this.config.girDirectories.map((girDirectory) => join(girDirectory, filename));
399
+ const ignoreGirs = ignore.map((girDirectory) => girDirectory + '.gir');
400
+ const files = await glob(pattern, { ignore: ignoreGirs });
401
+ files.forEach((file) => foundFiles.add(file));
427
402
  }
428
- return foundModules;
403
+ return foundFiles;
429
404
  }
430
- packageNamesToDependencies(packageNames) {
431
- return Array.from(packageNames).map((packageName) => {
405
+ async girFilePathToDependencies(girFiles) {
406
+ const dependencies = [];
407
+ for (const girFile of girFiles) {
408
+ const packageName = basename(girFile, '.gir');
432
409
  const { namespace, version } = splitModuleName(packageName);
433
- return this.dependencyManager.get(namespace, version);
434
- });
410
+ const dep = await this.dependencyManager.get(namespace, version);
411
+ dependencies.push(dep);
412
+ }
413
+ return dependencies;
435
414
  }
436
415
  /**
437
- * Loads all found `packageNames` and sorts out those that the user does not want to use including their dependencies
416
+ * Loads all found `packageNames`
438
417
  * @param girDirectories
439
418
  * @param packageNames
419
+ * @param doNotAskForVersionOnConflict Set this to false if you want to get a prompt for each version conflict
440
420
  */
441
421
  async getModulesResolved(packageNames, ignore = [], doNotAskForVersionOnConflict = true) {
442
- const foundPackageNames = await this.findPackageNames([...packageNames], ignore);
422
+ const girFiles = await this.findGirFiles([...packageNames], ignore);
443
423
  // Always require these because GJS does...
444
- const GLib = this.dependencyManager.get('GLib', '2.0');
445
- const Gio = this.dependencyManager.get('Gio', '2.0');
446
- const GObject = this.dependencyManager.get('GObject', '2.0');
447
- const dependencies = this.packageNamesToDependencies(foundPackageNames);
424
+ const GLib = await this.dependencyManager.get('GLib', '2.0');
425
+ const Gio = await this.dependencyManager.get('Gio', '2.0');
426
+ const GObject = await this.dependencyManager.get('GObject', '2.0');
427
+ const dependencies = await this.girFilePathToDependencies(girFiles);
448
428
  const { loaded, failed } = await this.loadGirModules([
449
429
  GLib,
450
430
  Gio,
@@ -464,16 +444,22 @@ export class ModuleLoader {
464
444
  return { keep, grouped, ignore, failed };
465
445
  }
466
446
  /**
467
- * Find modules with the possibility to use wild cards for module names. E.g. `Gtk*` or `'*'`
447
+ * Find modules
468
448
  * @param girDirectories
469
449
  * @param modules
470
450
  */
471
451
  async getModules(modules, ignore = []) {
472
- const foundPackageNames = await this.findPackageNames(modules, ignore);
473
- const dependencies = this.packageNamesToDependencies(foundPackageNames);
452
+ const girFiles = await this.findGirFiles(modules, ignore);
453
+ const dependencies = await this.girFilePathToDependencies(girFiles);
474
454
  const { loaded, failed } = await this.loadGirModules(dependencies, ignore);
475
455
  const grouped = this.groupGirFiles(loaded);
476
456
  return { grouped, loaded, failed: Array.from(failed) };
477
457
  }
458
+ /** Start parsing the gir modules */
459
+ parse(girModules) {
460
+ for (const girModule of girModules) {
461
+ girModule.module.parse();
462
+ }
463
+ }
478
464
  }
479
465
  //# 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": "4.0.0-beta.2",
3
+ "version": "4.0.0-beta.21",
4
4
  "description": "TypeScript type definition generator for GObject introspection GIR files",
5
5
  "module": "lib/index.js",
6
6
  "main": "lib/index.js",
@@ -20,7 +20,7 @@
20
20
  "clear": "yarn clear:build",
21
21
  "clear:build": "rimraf ./lib",
22
22
  "watch": "yarn build:ts --watch",
23
- "lint": "eslint . --ext .ts,.tsx --fix"
23
+ "lint": "eslint . --fix"
24
24
  },
25
25
  "repository": {
26
26
  "type": "git",
@@ -54,28 +54,29 @@
54
54
  ],
55
55
  "devDependencies": {
56
56
  "@types/inquirer": "^9.0.7",
57
- "@types/node": "^20.11.27",
58
- "@types/yargs": "^17.0.32",
59
- "@typescript-eslint/eslint-plugin": "^7.2.0",
60
- "@typescript-eslint/parser": "^7.2.0",
61
- "eslint": "^8.57.0",
62
- "eslint-config-prettier": "^9.1.0",
63
- "eslint-plugin-prettier": "^5.1.3",
64
- "prettier": "^3.2.5",
65
- "rimraf": "^5.0.5",
57
+ "@types/node": "^22.13.4",
58
+ "@types/yargs": "^17.0.33",
59
+ "@typescript-eslint/eslint-plugin": "^8.24.0",
60
+ "@typescript-eslint/parser": "^8.24.0",
61
+ "eslint": "^9.20.1",
62
+ "eslint-config-prettier": "^10.0.1",
63
+ "eslint-plugin-prettier": "^5.2.3",
64
+ "rimraf": "^6.0.1",
66
65
  "ts-node": "^10.9.2",
67
- "typescript": "^5.4.2"
66
+ "typescript": "^5.7.3"
68
67
  },
69
68
  "dependencies": {
70
69
  "@gi.ts/parser": "^2.0.0",
71
- "@ts-for-gir/generator-base": "^4.0.0-beta.2",
72
- "@ts-for-gir/generator-html-doc": "^4.0.0-beta.2",
73
- "@ts-for-gir/generator-typescript": "^4.0.0-beta.2",
74
- "@ts-for-gir/lib": "^4.0.0-beta.2",
70
+ "@inquirer/prompts": "^7.3.2",
71
+ "@ts-for-gir/generator-base": "^4.0.0-beta.21",
72
+ "@ts-for-gir/generator-html-doc": "^4.0.0-beta.21",
73
+ "@ts-for-gir/generator-typescript": "^4.0.0-beta.21",
74
+ "@ts-for-gir/lib": "^4.0.0-beta.21",
75
75
  "colorette": "^2.0.20",
76
76
  "cosmiconfig": "^9.0.0",
77
- "inquirer": "^9.2.16",
78
- "tiny-glob": "^0.2.9",
77
+ "glob": "^11.0.1",
78
+ "inquirer": "^12.4.2",
79
+ "prettier": "^3.5.1",
79
80
  "yargs": "^17.7.2"
80
81
  }
81
82
  }
@@ -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
+
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
+
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
+ }
@@ -15,7 +15,7 @@ const command = 'doc [modules..]'
15
15
 
16
16
  const description = 'The HTML documentation generator is not yet implemented, but feel free to implement it 🤗'
17
17
 
18
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
18
+
19
19
  const builder: BuilderCallback<any, ConfigFlags> = (yargs: Argv<any>) => {
20
20
  const optionNames = Object.keys(Config.docOptions)
21
21
  for (const optionName of optionNames) {
@@ -24,11 +24,11 @@ const builder: BuilderCallback<any, ConfigFlags> = (yargs: Argv<any>) => {
24
24
  return yargs.example(examples) as Argv<ConfigFlags>
25
25
  }
26
26
 
27
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
27
+
28
28
  const handler = async (args: ConfigFlags) => {
29
29
  const config = await Config.load(args)
30
30
 
31
- const generateConfig = Config.getGenerateConfig(config)
31
+ const generateConfig = Config.getOptionsGeneration(config)
32
32
  const moduleLoader = new ModuleLoader(generateConfig)
33
33
  const { keep } = await moduleLoader.getModulesResolved(
34
34
  config.modules,