@ts-for-gir/cli 3.0.0-beta.6 → 3.0.0-beta.8

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 (71) hide show
  1. package/README.md +15 -6
  2. package/lib/commands/generate.d.ts +2 -0
  3. package/lib/commands/generate.js +3 -2
  4. package/lib/commands/generate.js.map +1 -1
  5. package/lib/config.d.ts +3 -18
  6. package/lib/config.js +55 -48
  7. package/lib/config.js.map +1 -1
  8. package/lib/template-processor.d.ts +33 -4
  9. package/lib/template-processor.js +68 -15
  10. package/lib/template-processor.js.map +1 -1
  11. package/lib/type-definition-generator.d.ts +0 -1
  12. package/lib/type-definition-generator.js +14 -13
  13. package/lib/type-definition-generator.js.map +1 -1
  14. package/lib/types/build-type.d.ts +1 -1
  15. package/lib/types/construct-name.d.ts +1 -1
  16. package/lib/types/environment.d.ts +1 -1
  17. package/lib/types/generate-config.d.ts +2 -0
  18. package/lib/types/gir-any-element.d.ts +1 -1
  19. package/lib/types/gir-boolean.d.ts +1 -1
  20. package/lib/types/gir-unparsed-number.d.ts +1 -1
  21. package/lib/types/injection-generic-parameter.d.ts +1 -1
  22. package/lib/types/injection-instance-parameter.d.ts +1 -1
  23. package/lib/types/injection-type.d.ts +1 -1
  24. package/lib/types/local-name-type.d.ts +1 -1
  25. package/lib/types/module-type.d.ts +1 -1
  26. package/lib/types/transformation-case.d.ts +1 -1
  27. package/lib/types/ts-method.d.ts +1 -1
  28. package/lib/types/ts-type-name.d.ts +1 -1
  29. package/lib/types/ts-type-separator.d.ts +1 -1
  30. package/lib/types/type-gir-alias.d.ts +1 -1
  31. package/lib/types/type-gir-class.d.ts +1 -1
  32. package/lib/types/type-gir-element.d.ts +1 -1
  33. package/lib/types/type-gir-enumeration-member.d.ts +1 -1
  34. package/lib/types/type-gir-enumeration.d.ts +1 -1
  35. package/lib/types/type-gir-function.d.ts +1 -1
  36. package/lib/types/type-gir-interface.d.ts +1 -1
  37. package/lib/types/type-gir-method.d.ts +1 -1
  38. package/lib/types/type-gir-parameter.d.ts +1 -1
  39. package/lib/types/type-gir-property.d.ts +1 -1
  40. package/lib/types/type-gir-variable.d.ts +1 -1
  41. package/lib/types/type-ts-element.d.ts +1 -1
  42. package/lib/types/type-ts-enumeration-member.d.ts +1 -1
  43. package/lib/types/type-ts-function.d.ts +1 -1
  44. package/lib/types/type-ts-property.d.ts +1 -1
  45. package/lib/types/user-config.d.ts +2 -0
  46. package/lib/utils.d.ts +11 -4
  47. package/lib/utils.js +6 -8
  48. package/lib/utils.js.map +1 -1
  49. package/package.json +34 -19
  50. package/src/commands/generate.ts +3 -2
  51. package/src/config.ts +76 -76
  52. package/src/template-processor.ts +78 -15
  53. package/src/type-definition-generator.ts +14 -14
  54. package/src/types/generate-config.ts +2 -0
  55. package/src/types/user-config.ts +2 -0
  56. package/src/utils.ts +7 -12
  57. package/templates/Gjs/Gjs.d.ts +3 -1
  58. package/templates/Gjs/GnomeShell.d.ts +122 -0
  59. package/templates/Gjs/GnomeShell.js +10 -0
  60. package/templates/Gjs/index.d.ts +7 -0
  61. package/templates/Gjs/misc/dbusUtils.d.ts +15 -0
  62. package/templates/Gjs/misc/dbusUtils.js +6 -0
  63. package/templates/Gjs/misc/extensionUtils.d.ts +99 -0
  64. package/templates/Gjs/misc/extensionUtils.js +6 -0
  65. package/templates/Gjs/misc/fileUtils.d.ts +49 -0
  66. package/templates/Gjs/misc/fileUtils.js +6 -0
  67. package/templates/Gjs/misc/gnomeSession.d.ts +72 -0
  68. package/templates/Gjs/misc/gnomeSession.js +6 -0
  69. package/templates/Gjs/ui/userWidget.d.ts +10 -0
  70. package/templates/Gjs/ui/userWidget.js +6 -0
  71. package/templates/Gjs/cast.ts +0 -52
package/README.md CHANGED
@@ -1,6 +1,15 @@
1
- # CLI
1
+ # ts-for-gjs CLI
2
2
 
3
- After you have linked this project you can use the `ts-for-gir` command in you project:
3
+ CLI tool to generate Typescript Type Definition files for Gjs and node-gtk.
4
+
5
+ ## Getting started
6
+
7
+ ``` bash
8
+ npm install @ts-for-gir/cli -g
9
+ ts-for-gir --help
10
+ ```
11
+
12
+ After you have installed `@ts-for-gir/cli` you can run the `ts-for-gir` command:
4
13
 
5
14
  ```bash
6
15
  $ ts-for-gir --help
@@ -122,7 +131,7 @@ export default {
122
131
  verbose: true,
123
132
  environments: ['gjs', 'node'],
124
133
  outdir: '@types',
125
- girDirectories: '/usr/share/gir-1.0',
134
+ girDirectories: ['/usr/share/gir-1.0'],
126
135
  modules: ['*'],
127
136
  ignore: [],
128
137
  useNamespace: true,
@@ -140,16 +149,16 @@ convenient than using the `imports` global object, because you no longer have to
140
149
  problems for Typescript/ts-for-gjs. The first is that `gi` imports use a URI format, which Typescript doesn't support yet. To work around this problem
141
150
  you can import from a relative filename as usual, and the Javascript stubs generated by ts-for-gjs now forward the imports from the `gi` URI.
142
151
 
143
- Or you can use a bundler like Webpack to handle the imports, the [example/gjs/browser](example/gjs/browser) uses esm and does exactly this.
152
+ Or you can use a bundler like Webpack, ESBuild, Vite or Parcel to handle the imports, see [examples](../../examples) for examples with different bundlers.
144
153
 
145
154
  The second problem is that in ES module mode, `gi` imports behave as if they were exported by `export default`, which is not backwards compatible with
146
155
  ts-for-gjs. Where you would previously write:
147
156
 
148
- `import * as Gtk from "<path to gi bindings>/Gtk-4.0js"`
157
+ `import * as Gtk from "<path to gi bindings>/Gtk-4.0.js"`
149
158
 
150
159
  you now have to write:
151
160
 
152
- `import Gtk from "<path to gi bindings>/Gtk-4.0js"`
161
+ `import Gtk from "<path to gi bindings>/Gtk-4.0.js"`
153
162
 
154
163
  Destructuring individual items in the import statement is not supported for this type of import.
155
164
 
@@ -41,6 +41,8 @@ export declare const generate: {
41
41
  noDOMLib: unknown;
42
42
  } & {
43
43
  fixConflicts: unknown;
44
+ } & {
45
+ gnomeShellTypes: unknown;
44
46
  }>;
45
47
  handler: (args: any) => Promise<void>;
46
48
  examples: readonly [string, (string | undefined)?][];
@@ -29,6 +29,7 @@ const builder = (yargs) => {
29
29
  .option('noCheck', Config.generateOptions.noCheck)
30
30
  .option('noDOMLib', Config.generateOptions.noDOMLib)
31
31
  .option('fixConflicts', Config.generateOptions.fixConflicts)
32
+ .option('gnomeShellTypes', Config.generateOptions.gnomeShellTypes)
32
33
  .example(examples);
33
34
  };
34
35
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -58,8 +59,8 @@ const examples = [
58
59
  [`${Config.appName} generate '*' -e node`, 'Generate .d.ts. files only for node'],
59
60
  [`${Config.appName} generate --configName='.ts-for-gir.gtk4.rc.js`, 'Use a special config file'],
60
61
  [
61
- `${Config.appName} generate --ignore=Gtk-3.0 xrandr-1.3`,
62
- 'Generate .d.ts. files but not for Gtk-3.0 and xrandr-1.3',
62
+ `${Config.appName} generate --ignore=Gtk-4.0 xrandr-1.3`,
63
+ 'Generate .d.ts. files but not for Gtk-4.0 and xrandr-1.3',
63
64
  ],
64
65
  ];
65
66
  export const generate = {
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAe,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAEvD,MAAM,OAAO,GAAG,sBAAsB,CAAA;AAEtC,MAAM,WAAW,GAAG,oDAAoD,CAAA;AAExE,MAAM,OAAO,GAAG,CAAC,KAAW,EAAE,EAAE;IAC5B,OAAO,KAAK;SACP,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC;SACjD,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,eAAe,CAAC,cAAc,CAAC;SAC/D,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC;SAC/C,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC;SAC3D,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC;SAC/C,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC;SACrD,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC;SACvD,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC;SAC/C,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC;SACjD,MAAM,CAAC,wBAAwB,EAAE,MAAM,CAAC,eAAe,CAAC,sBAAsB,CAAC;SAC/E,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC;SAC7C,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC;SACvD,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC;SAC3D,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC;SACvD,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,eAAe,CAAC,eAAe,CAAC;SACjE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC;SACjD,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC;SACnD,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC;SAC3D,OAAO,CAAC,QAAQ,CAAC,CAAA;AAC1B,CAAC,CAAA;AAED,8DAA8D;AAC9D,MAAM,OAAO,GAAG,KAAK,EAAE,IAAS,CAAC,UAAU,EAAE,EAAE;IAC3C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAmB,CAAC,CAAA;IAErD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,YAAY,EAAE;QACnC,MAAM,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QAC5D,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,cAAc,CAAC,CAAA;QACrD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,kBAAkB,CAC3D,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,MAAM,IAAI,EAAE,EACnB,MAAM,CAAC,sBAAsB,CAChC,CAAA;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACnB,OAAO,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAA;SACrE;QACD,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,cAAc,EAAE,aAAa,CAAC,KAAK,CAAC,CAAA;QAE3E,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,mBAAmB,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAA;QAC5F,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAEhD,MAAM,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAA;KACtD;AACL,CAAC,CAAA;AAED,MAAM,QAAQ,GAAqC;IAC/C;QACI,GAAG,MAAM,CAAC,OAAO,WAAW;QAC5B,QAAQ,MAAM,CAAC,OAAO,iIAAiI;KAC1J;IACD,CAAC,GAAG,MAAM,CAAC,OAAO,gBAAgB,EAAE,6BAA6B,CAAC;IAClE,CAAC,GAAG,MAAM,CAAC,OAAO,eAAe,EAAE,oEAAoE,CAAC;IACxG,CAAC,GAAG,MAAM,CAAC,OAAO,sBAAsB,EAAE,oCAAoC,CAAC;IAC/E,CAAC,GAAG,MAAM,CAAC,OAAO,uBAAuB,EAAE,qCAAqC,CAAC;IACjF,CAAC,GAAG,MAAM,CAAC,OAAO,gDAAgD,EAAE,2BAA2B,CAAC;IAChG;QACI,GAAG,MAAM,CAAC,OAAO,uCAAuC;QACxD,0DAA0D;KAC7D;CACJ,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG;IACpB,OAAO;IACP,WAAW;IACX,OAAO;IACP,OAAO;IACP,QAAQ;CACX,CAAA"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
package/lib/config.d.ts CHANGED
@@ -25,30 +25,14 @@ export declare class Config {
25
25
  noCheck: boolean;
26
26
  fixConflicts: boolean;
27
27
  noDOMLib: boolean;
28
+ gnomeShellTypes: boolean;
28
29
  };
29
30
  static configFilePath: string;
30
31
  /**
31
32
  * CLI options used in commands/generate.ts and commands/list.ts
32
33
  */
33
34
  static options: {
34
- modules: Options;
35
- girDirectories: Options;
36
- outdir: Options;
37
- environments: Options;
38
- ignore: Options;
39
- buildType: Options;
40
- moduleType: Options;
41
- pretty: Options;
42
- verbose: Options;
43
- ignoreVersionConflicts: Options;
44
- print: Options;
45
- configName: Options;
46
- useNamespace: Options;
47
- noComments: Options;
48
- noDebugComments: Options;
49
- noCheck: Options;
50
- fixConflicts: Options;
51
- noDOMLib: Options;
35
+ [name: string]: Options;
52
36
  };
53
37
  /**
54
38
  * CLI flags used in commands/generate.ts
@@ -72,6 +56,7 @@ export declare class Config {
72
56
  noCheck: Options;
73
57
  noDOMLib: Options;
74
58
  fixConflicts: Options;
59
+ gnomeShellTypes: Options;
75
60
  };
76
61
  static listOptions: {
77
62
  modules: Options;
package/lib/config.js CHANGED
@@ -26,7 +26,7 @@ export class Config {
26
26
  girDirectories: OS.platform() === 'darwin' ? ['/usr/local/share/gir-1.0'] : ['/usr/share/gir-1.0'],
27
27
  modules: ['*'],
28
28
  ignore: [],
29
- verbose: true,
29
+ verbose: false,
30
30
  ignoreVersionConflicts: false,
31
31
  useNamespace: false,
32
32
  buildType: 'lib',
@@ -36,6 +36,7 @@ export class Config {
36
36
  noCheck: false,
37
37
  fixConflicts: true,
38
38
  noDOMLib: false,
39
+ gnomeShellTypes: false,
39
40
  };
40
41
  static configFilePath = Path.join(process.cwd(), Config.defaults.configName);
41
42
  /**
@@ -167,6 +168,12 @@ export class Config {
167
168
  default: Config.defaults.noDOMLib,
168
169
  normalize: true,
169
170
  },
171
+ gnomeShellTypes: {
172
+ type: 'boolean',
173
+ description: 'Generate types for GNOME Shell',
174
+ default: Config.defaults.gnomeShellTypes,
175
+ normalize: true,
176
+ },
170
177
  };
171
178
  /**
172
179
  * CLI flags used in commands/generate.ts
@@ -190,6 +197,7 @@ export class Config {
190
197
  noCheck: this.options.noCheck,
191
198
  noDOMLib: this.options.noDOMLib,
192
199
  fixConflicts: this.options.fixConflicts,
200
+ gnomeShellTypes: this.options.gnomeShellTypes,
193
201
  };
194
202
  static listOptions = {
195
203
  modules: this.options.modules,
@@ -273,21 +281,16 @@ export class Config {
273
281
  noCheck: config.noCheck,
274
282
  fixConflicts: config.fixConflicts,
275
283
  noDOMLib: config.noDOMLib,
284
+ gnomeShellTypes: config.gnomeShellTypes,
276
285
  };
277
286
  return generateConfig;
278
287
  }
279
288
  static async validateTsConfig(config) {
280
- const tsConfig = config.outdir ? readTsJsConfig(config.outdir) : null;
281
- const tsCompilerOptions = (tsConfig &&
282
- 'compilerOptions' in tsConfig &&
283
- typeof tsConfig.compilerOptions === 'object' &&
284
- tsConfig.compilerOptions != null
285
- ? tsConfig.compilerOptions
286
- : {});
287
- const tsConfigHasDOMLib = 'noLib' in tsCompilerOptions && tsCompilerOptions.noLib
289
+ const tsCompilerOptions = (config.outdir && readTsJsConfig(config.outdir)?.compilerOptions) || {};
290
+ const tsConfigHasDOMLib = tsCompilerOptions.noLib
288
291
  ? false // NoLib makes typescript to ignore the lib property
289
- : 'lib' in tsCompilerOptions && Array.isArray(tsCompilerOptions.lib)
290
- ? tsCompilerOptions.lib.some((lib) => String(lib).toLowerCase().startsWith('dom'))
292
+ : Array.isArray(tsCompilerOptions.lib)
293
+ ? tsCompilerOptions.lib.some((lib) => lib.toLowerCase().startsWith('dom'))
291
294
  : true; // Typescript icludes DOM lib by default
292
295
  if (config.environments.includes('gjs') && tsConfigHasDOMLib && !config.noDOMLib) {
293
296
  const answer = (await inquirer.prompt([
@@ -325,7 +328,7 @@ export class Config {
325
328
  * @param options
326
329
  */
327
330
  static async load(options) {
328
- const configFile = await this.loadConfigFile(options.configName);
331
+ const configFile = (await this.loadConfigFile(options.configName))?.config || {};
329
332
  const config = {
330
333
  environments: options.environments,
331
334
  buildType: options.buildType,
@@ -344,83 +347,87 @@ export class Config {
344
347
  noCheck: options.noCheck,
345
348
  fixConflicts: options.fixConflicts,
346
349
  noDOMLib: options.noDOMLib,
350
+ gnomeShellTypes: options.gnomeShellTypes,
347
351
  };
348
352
  if (configFile) {
349
353
  // environments
350
- if (isEqual(config.environments, Config.defaults.environments) && configFile.config.environments) {
351
- config.environments = configFile.config.environments;
354
+ if (isEqual(config.environments, Config.defaults.environments) && configFile.environments) {
355
+ config.environments = configFile.environments;
352
356
  }
353
357
  // buildType
354
- if (config.buildType === Config.options.buildType.default && configFile.config.buildType) {
355
- config.buildType = configFile.config.buildType;
358
+ if (config.buildType === Config.options.buildType.default && configFile.buildType) {
359
+ config.buildType = configFile.buildType;
356
360
  }
357
361
  // moduleType
358
- if (config.moduleType === Config.options.moduleType.default && configFile.config.moduleType) {
359
- config.moduleType = configFile.config.moduleType;
362
+ if (config.moduleType === Config.options.moduleType.default && configFile.moduleType) {
363
+ config.moduleType = configFile.moduleType;
360
364
  }
361
365
  // verbose
362
- if (config.verbose === Config.options.verbose.default && typeof configFile.config.verbose === 'boolean') {
363
- config.verbose = configFile.config.verbose;
366
+ if (config.verbose === Config.options.verbose.default && typeof configFile.verbose === 'boolean') {
367
+ config.verbose = configFile.verbose;
364
368
  }
365
369
  // ignoreVersionConflicts
366
370
  if (config.ignoreVersionConflicts === Config.options.ignoreVersionConflicts.default &&
367
- typeof configFile.config.ignoreVersionConflicts === 'boolean') {
368
- config.ignoreVersionConflicts = configFile.config.ignoreVersionConflicts;
371
+ typeof configFile.ignoreVersionConflicts === 'boolean') {
372
+ config.ignoreVersionConflicts = configFile.ignoreVersionConflicts;
369
373
  }
370
374
  // pretty
371
- if (config.pretty === Config.options.pretty.default && typeof configFile.config.pretty === 'boolean') {
372
- config.pretty = configFile.config.pretty;
375
+ if (config.pretty === Config.options.pretty.default && typeof configFile.pretty === 'boolean') {
376
+ config.pretty = configFile.pretty;
373
377
  }
374
378
  // print
375
- if (config.print === Config.options.print.default && typeof configFile.config.print === 'boolean') {
376
- config.print = configFile.config.print;
379
+ if (config.print === Config.options.print.default && typeof configFile.print === 'boolean') {
380
+ config.print = configFile.print;
377
381
  }
378
382
  // outdir
379
- if (config.outdir === Config.options.outdir.default && configFile.config.outdir) {
380
- config.outdir = config.print ? null : configFile.config.outdir;
383
+ if (config.outdir === Config.options.outdir.default && configFile.outdir) {
384
+ config.outdir = config.print ? null : configFile.outdir;
381
385
  }
382
386
  // girDirectories
383
- if (config.girDirectories === Config.options.girDirectories.default && configFile.config.girDirectories) {
384
- config.girDirectories = configFile.config.girDirectories;
387
+ if (config.girDirectories === Config.options.girDirectories.default && configFile.girDirectories) {
388
+ config.girDirectories = configFile.girDirectories;
385
389
  }
386
390
  // ignore
387
391
  if ((!config.ignore || config.ignore.length <= 0 || isEqual(config.ignore, Config.defaults.ignore)) &&
388
- configFile.config.ignore) {
389
- config.ignore = configFile.config.ignore;
392
+ configFile.ignore) {
393
+ config.ignore = configFile.ignore;
390
394
  }
391
395
  // modules
392
396
  if ((config.modules.length <= 0 || isEqual(config.modules, Config.defaults.modules)) &&
393
- configFile.config.modules) {
394
- config.modules = configFile.config.modules;
397
+ configFile.modules) {
398
+ config.modules = configFile.modules;
395
399
  }
396
400
  // useNamespace
397
401
  if (config.useNamespace === Config.options.useNamespace.default &&
398
- typeof configFile.config.useNamespace === 'boolean') {
399
- config.useNamespace = configFile.config.useNamespace;
402
+ typeof configFile.useNamespace === 'boolean') {
403
+ config.useNamespace = configFile.useNamespace;
400
404
  }
401
405
  // noComments
402
- if (config.noComments === Config.options.noComments.default &&
403
- typeof configFile.config.noComments === 'boolean') {
404
- config.noComments = configFile.config.noComments;
406
+ if (config.noComments === Config.options.noComments.default && typeof configFile.noComments === 'boolean') {
407
+ config.noComments = configFile.noComments;
405
408
  }
406
409
  // noDebugComments
407
410
  if (config.noDebugComments === Config.options.noDebugComments.default &&
408
- typeof configFile.config.noDebugComments === 'boolean') {
409
- config.noDebugComments = configFile.config.noDebugComments;
411
+ typeof configFile.noDebugComments === 'boolean') {
412
+ config.noDebugComments = configFile.noDebugComments;
410
413
  }
411
414
  // noCheck
412
- if (config.noCheck === Config.options.noCheck.default && typeof configFile.config.noCheck === 'boolean') {
413
- config.noCheck = configFile.config.noCheck;
415
+ if (config.noCheck === Config.options.noCheck.default && typeof configFile.noCheck === 'boolean') {
416
+ config.noCheck = configFile.noCheck;
414
417
  }
415
418
  // fixConflicts
416
419
  if (config.fixConflicts === Config.options.fixConflicts.default &&
417
- typeof configFile.config.fixConflicts === 'boolean') {
418
- config.fixConflicts = configFile.config.fixConflicts;
420
+ typeof configFile.fixConflicts === 'boolean') {
421
+ config.fixConflicts = configFile.fixConflicts;
419
422
  }
420
423
  // noDOMLib
421
- if (config.noDOMLib === Config.options.noDOMLib.default &&
422
- typeof configFile.config.noDOMLib === 'boolean') {
423
- config.noDOMLib = configFile.config.noDOMLib;
424
+ if (config.noDOMLib === Config.options.noDOMLib.default && typeof configFile.noDOMLib === 'boolean') {
425
+ config.noDOMLib = configFile.noDOMLib;
426
+ }
427
+ // gnomeShellTypes
428
+ if (config.gnomeShellTypes === Config.options.gnomeShellTypes.default &&
429
+ typeof configFile.gnomeShellTypes === 'boolean') {
430
+ config.gnomeShellTypes = configFile.gnomeShellTypes;
424
431
  }
425
432
  }
426
433
  return await this.validate(config);
package/lib/config.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -13,24 +13,42 @@ export declare class TemplateProcessor {
13
13
  protected log: Logger;
14
14
  constructor(data: ejs.Data | undefined, packageName: string, config: GenerateConfig);
15
15
  /**
16
- * Loads and renders a template and gets the rendered string back
16
+ * Loads and renders a template and gets the rendered templates back
17
17
  * @param templateFilename
18
18
  */
19
19
  load(templateFilename: string): Promise<string>;
20
+ /**
21
+ * Loads and renders all templates in a directory and gets the rendered templates back
22
+ * @param templateDirname
23
+ */
24
+ loadAll(templateDirname: string, fileExtension: string): Promise<{
25
+ [path: string]: string;
26
+ }>;
20
27
  /**
21
28
  * Loads an template, render the template and write the template to the filesystem
22
29
  * @param templateFilename
23
30
  * @param outputDir
24
31
  * @param outputFilename
25
32
  * @param append
26
- * @return The rendered (and if possible prettified) code string
33
+ * @return The rendered (and if possible prettified) template string
27
34
  */
28
35
  create(templateFilename: string, outputDir: string, outputFilename: string, append?: string): Promise<string>;
36
+ /**
37
+ * Loads all templates with file extension in dir, render the templates and write the template to the filesystem
38
+ * @param fileExtension
39
+ * @param templateDirname
40
+ * @param outputDir
41
+ * @param outputDirname
42
+ * @return The rendered (and if possible prettified) templates
43
+ */
44
+ createAll(fileExtension: string, templateDirname: string, outputDir: string, outputDirname: string, append?: string): Promise<{
45
+ [path: string]: string;
46
+ }>;
29
47
  protected write(content: string, outputDir: string, outputFilename: string): Promise<string>;
30
48
  protected render(templateString: string, additionalData?: Partial<ejs.Options>): Promise<string>;
31
49
  /**
32
- * Checks if the template file exists and returns the path if found
33
- * Tries first to load the file from the environment-specific template folder and otherwise looks for it in the general template folder
50
+ * Checks if the template file or directory exists and returns the path if found
51
+ * Tries first to load the file / directory from the environment-specific template folder and otherwise looks for it in the general template folder
34
52
  * @param templateFilename
35
53
  */
36
54
  exists(templateFilename: string): string | null;
@@ -42,5 +60,16 @@ export declare class TemplateProcessor {
42
60
  * @return The raw template content
43
61
  */
44
62
  protected read(templateFilename: string): Promise<string>;
63
+ /**
64
+ * Reads all template files from a directory and gets the raw strings back
65
+ * @param templateDirname
66
+ * @param fileExtension
67
+ * @return The raw template contents
68
+ * @throws Error if the template directory does not exist
69
+ * @throws Error if the template directory is empty
70
+ */
71
+ protected readAll(templateDirname: string, fileExtension: string): Promise<{
72
+ [path: string]: string;
73
+ }>;
45
74
  }
46
75
  export default TemplateProcessor;
@@ -2,7 +2,8 @@
2
2
  * The TemplateProcessor is used generate strings from templates files or template strings
3
3
  * For example, the signal methods are generated here
4
4
  */
5
- import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'fs';
5
+ import { existsSync } from 'fs';
6
+ import { readFile, writeFile, mkdir, readdir } from 'fs/promises';
6
7
  import Path from 'path';
7
8
  import ejs from 'ejs';
8
9
  import { Logger } from './logger.js';
@@ -31,46 +32,75 @@ export class TemplateProcessor {
31
32
  this.log = new Logger(config.environment, config.verbose, this.packageName);
32
33
  }
33
34
  /**
34
- * Loads and renders a template and gets the rendered string back
35
+ * Loads and renders a template and gets the rendered templates back
35
36
  * @param templateFilename
36
37
  */
37
38
  async load(templateFilename) {
38
39
  const fileContent = await this.read(templateFilename);
39
40
  return await this.render(fileContent);
40
41
  }
42
+ /**
43
+ * Loads and renders all templates in a directory and gets the rendered templates back
44
+ * @param templateDirname
45
+ */
46
+ async loadAll(templateDirname, fileExtension) {
47
+ const fileContents = await this.readAll(templateDirname, fileExtension);
48
+ for (const file of Object.keys(fileContents)) {
49
+ fileContents[file] = await this.render(fileContents[file]);
50
+ }
51
+ return fileContents;
52
+ }
41
53
  /**
42
54
  * Loads an template, render the template and write the template to the filesystem
43
55
  * @param templateFilename
44
56
  * @param outputDir
45
57
  * @param outputFilename
46
58
  * @param append
47
- * @return The rendered (and if possible prettified) code string
59
+ * @return The rendered (and if possible prettified) template string
48
60
  */
49
61
  async create(templateFilename, outputDir, outputFilename, append = '') {
50
- const fileContent = await this.load(templateFilename);
51
- const renderedCode = await this.render(fileContent);
62
+ const renderedTpl = await this.load(templateFilename);
52
63
  const destPath = getDestPath(this.config.environment, outputDir, outputFilename);
53
- const prettifiedCode = this.config.pretty ? this.prettifySource(renderedCode, destPath) : null;
54
- const code = (prettifiedCode || renderedCode) + append;
64
+ const prettifiedCode = this.config.pretty ? this.prettifySource(renderedTpl, destPath) : null;
65
+ const code = (prettifiedCode || renderedTpl) + append;
55
66
  await this.write(code, outputDir, outputFilename);
56
67
  return code;
57
68
  }
69
+ /**
70
+ * Loads all templates with file extension in dir, render the templates and write the template to the filesystem
71
+ * @param fileExtension
72
+ * @param templateDirname
73
+ * @param outputDir
74
+ * @param outputDirname
75
+ * @return The rendered (and if possible prettified) templates
76
+ */
77
+ async createAll(fileExtension, templateDirname, outputDir, outputDirname, append = '') {
78
+ const renderedTpls = await this.loadAll(templateDirname, fileExtension);
79
+ const result = {};
80
+ for (const filename of Object.keys(renderedTpls)) {
81
+ const destPath = getDestPath(this.config.environment, outputDir, outputDirname, filename);
82
+ const prettifiedCode = this.config.pretty ? this.prettifySource(renderedTpls[filename], destPath) : null;
83
+ result[destPath] = (prettifiedCode || renderedTpls[filename]) + append;
84
+ await this.write(result[destPath], outputDir, Path.join(outputDirname, filename));
85
+ }
86
+ return result;
87
+ }
58
88
  async write(content, outputDir, outputFilename) {
59
89
  const destPath = getDestPath(this.config.environment, outputDir, outputFilename);
60
90
  // write template result file
61
- mkdirSync(outputDir, { recursive: true });
62
- writeFileSync(destPath, content, { encoding: 'utf8', flag: 'w' });
91
+ await mkdir(Path.dirname(destPath), { recursive: true });
92
+ await writeFile(destPath, content, { encoding: 'utf8', flag: 'w' });
63
93
  return Promise.resolve(destPath);
64
94
  }
65
95
  async render(templateString, additionalData = {}) {
66
96
  try {
67
- const renderedCode = ejs.render(templateString, {
97
+ const renderedTpl = ejs.render(templateString, {
68
98
  async: true,
69
99
  ...this.config,
70
100
  ...this.data,
71
101
  ...additionalData,
72
102
  });
73
- return Promise.resolve(renderedCode);
103
+ return Promise.resolve(renderedTpl);
74
104
  }
75
105
  catch (error) {
76
106
  this.log.error('Error on render', error);
@@ -78,8 +108,8 @@ export class TemplateProcessor {
78
108
  }
79
109
  }
80
110
  /**
81
- * Checks if the template file exists and returns the path if found
82
- * Tries first to load the file from the environment-specific template folder and otherwise looks for it in the general template folder
111
+ * Checks if the template file or directory exists and returns the path if found
112
+ * Tries first to load the file / directory from the environment-specific template folder and otherwise looks for it in the general template folder
83
113
  * @param templateFilename
84
114
  */
85
115
  exists(templateFilename) {
@@ -118,7 +148,7 @@ export class TemplateProcessor {
118
148
  const filename = Path.basename(path);
119
149
  this.log.info(` Prettify ${filename}...`);
120
150
  try {
121
- const source = readFileSync(Path.resolve('.', path), 'utf8');
151
+ const source = await readFile(Path.resolve('.', path), 'utf8');
122
152
  prettyCode = this.prettifySource(source, path);
123
153
  }
124
154
  catch (error) {
@@ -145,10 +175,33 @@ export class TemplateProcessor {
145
175
  async read(templateFilename) {
146
176
  const path = this.exists(templateFilename);
147
177
  if (path) {
148
- return Promise.resolve(readFileSync(path, 'utf8'));
178
+ return await readFile(path, 'utf8');
149
179
  }
150
180
  throw new Error(`Template '${templateFilename}' not found'`);
151
181
  }
182
+ /**
183
+ * Reads all template files from a directory and gets the raw strings back
184
+ * @param templateDirname
185
+ * @param fileExtension
186
+ * @return The raw template contents
187
+ * @throws Error if the template directory does not exist
188
+ * @throws Error if the template directory is empty
189
+ */
190
+ async readAll(templateDirname, fileExtension) {
191
+ const path = this.exists(templateDirname);
192
+ if (path) {
193
+ const files = (await readdir(path)).filter((file) => file.endsWith(fileExtension));
194
+ if (files.length === 0) {
195
+ throw new Error(`Template directory '${templateDirname}' is empty'`);
196
+ }
197
+ const results = {};
198
+ for (const file of files) {
199
+ results[file] = await readFile(Path.join(path, file), 'utf8');
200
+ }
201
+ return results;
202
+ }
203
+ throw new Error(`Template directory '${templateDirname}' not found'`);
204
+ }
152
205
  }
153
206
  export default TemplateProcessor;
154
207
  //# sourceMappingURL=template-processor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"template-processor.js","sourceRoot":"","sources":["../src/template-processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template-processor.js","sourceRoot":"","sources":["../src/template-processor.ts"],"names":[],"mappings":"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"}