@grnsft/if 0.3.2 → 0.3.3-beta.0

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 (105) hide show
  1. package/.commitlintrc.js +3 -0
  2. package/.release-it.json +18 -0
  3. package/CONTRIBUTING.md +77 -4
  4. package/README.md +34 -26
  5. package/build/builtins/export-csv-raw.js +4 -4
  6. package/build/builtins/export-csv.js +5 -5
  7. package/build/builtins/export-log.js +26 -2
  8. package/build/builtins/export-yaml.js +3 -3
  9. package/build/config/config.d.ts +3 -3
  10. package/build/config/config.js +23 -27
  11. package/build/config/strings.d.ts +1 -0
  12. package/build/config/strings.js +8 -3
  13. package/build/index.js +23 -14
  14. package/build/lib/environment.d.ts +5 -0
  15. package/build/lib/environment.js +69 -0
  16. package/build/lib/exhaust.d.ts +2 -1
  17. package/build/lib/exhaust.js +11 -9
  18. package/build/lib/initialize.d.ts +2 -2
  19. package/build/lib/initialize.js +5 -5
  20. package/build/lib/load.d.ts +1 -29
  21. package/build/lib/load.js +2 -5
  22. package/build/types/environment.d.ts +18 -0
  23. package/build/types/environment.js +3 -0
  24. package/build/types/manifest.d.ts +1 -0
  25. package/build/types/manifest.js +1 -1
  26. package/build/types/process-args.d.ts +13 -1
  27. package/build/types/process-args.js +1 -1
  28. package/build/util/args.d.ts +3 -5
  29. package/build/util/args.js +14 -10
  30. package/build/util/errors.d.ts +1 -1
  31. package/build/util/errors.js +2 -3
  32. package/build/util/helpers.d.ts +6 -0
  33. package/build/util/helpers.js +9 -3
  34. package/build/util/os-checker.d.ts +7 -0
  35. package/build/util/os-checker.js +97 -0
  36. package/build/util/validations.d.ts +90 -4
  37. package/build/util/validations.js +14 -2
  38. package/github-processes.md +10 -0
  39. package/{examples/manifests/pipeline-demo-2.yml → manifests/bugs/aggregation-error-wrong-metric.yml} +8 -34
  40. package/manifests/bugs/azure-importer-ignoring-defaults.yml +61 -0
  41. package/manifests/bugs/azure-importer-incorrect-calculation.yml +56 -0
  42. package/manifests/bugs/initialize-error-no-config.yml +27 -0
  43. package/manifests/bugs/initialize-error-no-path.yml +28 -0
  44. package/manifests/bugs/initialize-error-no-plugins.yml +23 -0
  45. package/manifests/bugs/input-error-missing-duration.yml +21 -0
  46. package/manifests/bugs/pipeline-error-naming-mismatch.yml +28 -0
  47. package/manifests/bugs/pipeline-error-uninitialized-plugin.yml +29 -0
  48. package/{examples/manifests/boavizta-pipeline.yml → manifests/bugs/pipeline-ordering-error.yml} +7 -10
  49. package/{examples/manifests → manifests/examples}/basic.yml +3 -2
  50. package/{examples/manifests → manifests/examples}/generics.yml +2 -2
  51. package/{examples/manifests/asim-demo.yml → manifests/examples/mock-cpu-util-to-carbon.yml} +3 -7
  52. package/{examples/manifests → manifests/examples}/nesting.yml +3 -2
  53. package/{examples/manifests → manifests/examples}/pipeline-teads-sci.yml +1 -1
  54. package/{examples/manifests/pipeline-demo.yml → manifests/examples/pipeline-with-aggregate.yml} +2 -2
  55. package/{examples/manifests → manifests/examples}/pipeline-with-mocks.yml +3 -2
  56. package/manifests/features/aggregate-horizontal.yml +44 -0
  57. package/manifests/features/aggregate-vertical.yml +44 -0
  58. package/manifests/features/aggregate.yml +44 -0
  59. package/manifests/integrations/mock-obs-groupby.yml +39 -0
  60. package/manifests/integrations/mock-obs-time-sync.yml +65 -0
  61. package/manifests/plugins/cloud-metadata/failure-invalid-vendor.yaml +21 -0
  62. package/{examples/manifests/cloud-metadata.yml → manifests/plugins/cloud-metadata/success.yml} +2 -1
  63. package/manifests/plugins/coefficient/failure-invalid-config-input-param.yml +24 -0
  64. package/{examples/manifests/coefficient.yml → manifests/plugins/coefficient/success.yml} +2 -1
  65. package/manifests/plugins/divide/failure-invalid-config-denominator.yml +39 -0
  66. package/manifests/plugins/divide/success.yml +39 -0
  67. package/manifests/plugins/groupby/failure-invalid-config-group.yml +47 -0
  68. package/{examples/manifests/group-by.yml → manifests/plugins/groupby/success.yml} +3 -2
  69. package/manifests/plugins/mock-observations/failure-invalid-config-cpu-range.yml +34 -0
  70. package/{examples/manifests/mock-observation.yml → manifests/plugins/mock-observations/success.yml} +2 -1
  71. package/manifests/plugins/multiply/failure-input-parameter-is-missing.yml +24 -0
  72. package/{examples/manifests/multiply.yml → manifests/plugins/multiply/success.yml} +3 -2
  73. package/manifests/plugins/regex/failure-missing-input-param.yml +24 -0
  74. package/{examples/manifests/regex.yml → manifests/plugins/regex/success.yml} +3 -2
  75. package/manifests/plugins/sci/failure-invalid-config-value.yml +28 -0
  76. package/{examples/manifests/sci.yml → manifests/plugins/sci/success.yml} +3 -2
  77. package/manifests/plugins/sci-m/failure-invalid-default-emission-value.yml +24 -0
  78. package/{examples/manifests/sci-m.yml → manifests/plugins/sci-m/success.yml} +2 -1
  79. package/manifests/plugins/shell/failure-invalid-command.yml +21 -0
  80. package/{examples/manifests/shell.yml → manifests/plugins/shell/success.yml} +3 -2
  81. package/manifests/plugins/sum/failure-missing-input-param.yml +24 -0
  82. package/{examples/manifests/sum.yml → manifests/plugins/sum/success.yml} +3 -2
  83. package/manifests/plugins/tdp-finder/failure-missing-input-param.yml +18 -0
  84. package/{examples/manifests/tdp-finder.yml → manifests/plugins/tdp-finder/success.yml} +2 -1
  85. package/manifests/plugins/time-sync/failure-config-start-later-end.yml +34 -0
  86. package/{examples/manifests/time-sync.yml → manifests/plugins/time-sync/success.yml} +4 -2
  87. package/package.json +4 -2
  88. package/examples/manifests/azure-importer.yml +0 -24
  89. package/examples/manifests/basic-demo.yml +0 -70
  90. package/examples/manifests/boavizta-cloud.yml +0 -20
  91. package/examples/manifests/boavizta.yml +0 -26
  92. package/examples/manifests/ccf.yml +0 -20
  93. package/examples/manifests/cloud-metadata-teads.yml +0 -41
  94. package/examples/manifests/co2js.yml +0 -30
  95. package/examples/manifests/csv-export.yml +0 -34
  96. package/examples/manifests/e-mem.yml +0 -21
  97. package/examples/manifests/e-net.yml +0 -22
  98. package/examples/manifests/nesting-demo.yml +0 -89
  99. package/examples/manifests/pipeline-demo-1.yml +0 -85
  100. package/examples/manifests/pipeline-with-generics.yml +0 -152
  101. package/examples/manifests/sci-e.yml +0 -19
  102. package/examples/manifests/sci-o.yml +0 -26
  103. package/examples/manifests/teads-curve.yml +0 -20
  104. package/examples/manifests/watt-time.yml +0 -35
  105. /package/{examples/manifests/divide.yml → manifests/integrations/cloud-metadata-divide-boavizta.yml} +0 -0
@@ -9,12 +9,12 @@ exports.STRINGS = {
9
9
  UNSUPPORTED_PLUGIN: "Plugin interface doesn't implement 'execute' or 'metadata' methods.",
10
10
  OVERRIDE_WARNING: '\n**WARNING**: You are overriding the IF default parameters file. Please be extremely careful of unintended side-effects in your plugin pipeline!\n',
11
11
  DISCLAIMER_MESSAGE: `
12
- [!important] Incubation Project
12
+ Incubation Project
13
13
 
14
14
  This project is an incubation project being run inside the Green Software Foundation; as such, we DON’T recommend using it in any critical use case.
15
15
  Incubation projects are experimental, offer no support guarantee, have minimal governance and process, and may be retired at any moment. This project may one day graduate, in which case this disclaimer will be removed.`,
16
16
  NOT_NATIVE_PLUGIN: (path) => `
17
- [!important] You are using plugin ${path} which is not part of the Impact Framework standard library. You should do your own research to ensure the plugins are up to date and accurate. They may not be actively maintained.`,
17
+ You are using plugin ${path} which is not part of the Impact Framework standard library. You should do your own research to ensure the plugins are up to date and accurate. They may not be actively maintained.`,
18
18
  SOMETHING_WRONG: 'Something wrong with cli arguments. Please check docs.',
19
19
  ISSUE_TEMPLATE: `
20
20
  Impact Framework is an alpha release from the Green Software Foundation and is released to capture early feedback. If you'd like to offer some feedback, please use this issue template:
@@ -33,5 +33,10 @@ https://github.com/Green-Software-Foundation/if/issues/new?assignees=&labels=fee
33
33
  INVALID_EXHAUST_PLUGIN: (pluginName) => `Invalid exhaust plugin: ${pluginName}.`,
34
34
  UNKNOWN_PARAM: (name) => `Unknown parameter: ${name}. Using 'sum' aggregation method.`,
35
35
  NOT_INITALIZED_PLUGIN: (name) => `Not initalized plugin: ${name}. Check if ${name} is in 'manifest.initalize.plugins'.`,
36
+ NO_OUTPUT: `
37
+ You have not selected an output method. To see your output data, you can choose from:
38
+ --stdout: this will print your output data to the console
39
+ --output <savepath>: this will save your output data to the given filepath (do not provide file extension)
40
+ Note that for the '--output' option you also need to define the output type in your manifest file. See https://if.greensoftware.foundation/major-concepts/manifest-file#initialize`,
36
41
  };
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvc3RyaW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFYSxRQUFBLE9BQU8sR0FBRztJQUNyQixnQkFBZ0IsRUFBRSwwQ0FBMEM7SUFDNUQsbUJBQW1CLEVBQUUsc0JBQXNCO0lBQzNDLGNBQWMsRUFBRSwwQ0FBMEM7SUFDMUQsWUFBWSxFQUFFLHdDQUF3QztJQUN0RCxrQkFBa0IsRUFDaEIscUVBQXFFO0lBQ3ZFLGdCQUFnQixFQUNkLHFKQUFxSjtJQUN2SixrQkFBa0IsRUFBRTs7OzsyTkFJcU07SUFDek4saUJBQWlCLEVBQUUsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUNsQztvQ0FDZ0MsSUFBSSxzTEFBc0w7SUFDNU4sZUFBZSxFQUFFLHdEQUF3RDtJQUN6RSxjQUFjLEVBQUU7O3VJQUVxSDtJQUNySSxtQkFBbUIsRUFBRSxDQUFDLElBQVksRUFBRSxFQUFFLENBQ3BDLHFCQUFxQixJQUFJLDRCQUE0QjtJQUN2RCwwQkFBMEIsRUFBRSxvQ0FBb0M7SUFDaEUsc0JBQXNCLEVBQ3BCLDZEQUE2RDtJQUMvRCxxQkFBcUIsRUFBRSxzQkFBc0I7SUFDN0MsZ0JBQWdCLEVBQUUsQ0FBQyxXQUFtQixFQUFFLEVBQUUsQ0FDeEMsdUJBQXVCLFdBQVcsRUFBRTtJQUN0Qyx5QkFBeUIsRUFBRSxDQUFDLEtBQWMsRUFBRSxHQUFZLEVBQUUsRUFBRSxDQUMxRCx1QkFDRSxLQUFLLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUNyRCxFQUFFO0lBQ0osMkJBQTJCLEVBQUUsaUNBQWlDO0lBQzlELDBCQUEwQixFQUFFLENBQUMsTUFBYyxFQUFFLEVBQUUsQ0FDN0MseUNBQXlDLE1BQU0sMEJBQTBCO0lBQzNFLGNBQWMsRUFBRSxDQUFDLE1BQWMsRUFBRSxLQUFhLEVBQUUsRUFBRSxDQUNoRCxzQkFBc0IsTUFBTSwyQkFBMkIsS0FBSyxJQUFJO0lBQ2xFLGdCQUFnQixFQUFFLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsSUFBSSxHQUFHO0lBQzVELGtCQUFrQixFQUFFLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQy9DLGdEQUFnRCxLQUFLLENBQUMsSUFBSSxHQUFHO0lBQy9ELHNCQUFzQixFQUFFLENBQUMsVUFBa0IsRUFBRSxFQUFFLENBQzdDLDJCQUEyQixVQUFVLEdBQUc7SUFDMUMsYUFBYSxFQUFFLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FDOUIsc0JBQXNCLElBQUksbUNBQW1DO0lBQy9ELHFCQUFxQixFQUFFLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FDdEMsMEJBQTBCLElBQUksY0FBYyxJQUFJLHNDQUFzQztDQUN6RixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNYW5pZmVzdFBhcmFtZXRlcn0gZnJvbSAnLi4vdHlwZXMvbWFuaWZlc3QnO1xuXG5leHBvcnQgY29uc3QgU1RSSU5HUyA9IHtcbiAgRklMRV9JU19OT1RfWUFNTDogJ1Byb3ZpZGVkIG1hbmlmZXN0IGlzIG5vdCBpbiB5YW1sIGZvcm1hdC4nLFxuICBNQU5JRkVTVF9JU19NSVNTSU5HOiAnTWFuaWZlc3QgaXMgbWlzc2luZy4nLFxuICBNSVNTSU5HX01FVEhPRDogXCJJbml0YWxpemF0aW9uIHBhcmFtICdtZXRob2QnIGlzIG1pc3NpbmcuXCIsXG4gIE1JU1NJTkdfUEFUSDogXCJJbml0YWxpemF0aW9uIHBhcmFtICdwYXRoJyBpcyBtaXNzaW5nLlwiLFxuICBVTlNVUFBPUlRFRF9QTFVHSU46XG4gICAgXCJQbHVnaW4gaW50ZXJmYWNlIGRvZXNuJ3QgaW1wbGVtZW50ICdleGVjdXRlJyBvciAnbWV0YWRhdGEnIG1ldGhvZHMuXCIsXG4gIE9WRVJSSURFX1dBUk5JTkc6XG4gICAgJ1xcbioqV0FSTklORyoqOiBZb3UgYXJlIG92ZXJyaWRpbmcgdGhlIElGIGRlZmF1bHQgcGFyYW1ldGVycyBmaWxlLiBQbGVhc2UgYmUgZXh0cmVtZWx5IGNhcmVmdWwgb2YgdW5pbnRlbmRlZCBzaWRlLWVmZmVjdHMgaW4geW91ciBwbHVnaW4gcGlwZWxpbmUhXFxuJyxcbiAgRElTQ0xBSU1FUl9NRVNTQUdFOiBgXG5bIWltcG9ydGFudF0gSW5jdWJhdGlvbiBQcm9qZWN0XG5cblRoaXMgcHJvamVjdCBpcyBhbiBpbmN1YmF0aW9uIHByb2plY3QgYmVpbmcgcnVuIGluc2lkZSB0aGUgR3JlZW4gU29mdHdhcmUgRm91bmRhdGlvbjsgYXMgc3VjaCwgd2UgRE9O4oCZVCByZWNvbW1lbmQgdXNpbmcgaXQgaW4gYW55IGNyaXRpY2FsIHVzZSBjYXNlLiBcbkluY3ViYXRpb24gcHJvamVjdHMgYXJlIGV4cGVyaW1lbnRhbCwgb2ZmZXIgbm8gc3VwcG9ydCBndWFyYW50ZWUsIGhhdmUgbWluaW1hbCBnb3Zlcm5hbmNlIGFuZCBwcm9jZXNzLCBhbmQgbWF5IGJlIHJldGlyZWQgYXQgYW55IG1vbWVudC4gVGhpcyBwcm9qZWN0IG1heSBvbmUgZGF5IGdyYWR1YXRlLCBpbiB3aGljaCBjYXNlIHRoaXMgZGlzY2xhaW1lciB3aWxsIGJlIHJlbW92ZWQuYCxcbiAgTk9UX05BVElWRV9QTFVHSU46IChwYXRoOiBzdHJpbmcpID0+XG4gICAgYFxuWyFpbXBvcnRhbnRdIFlvdSBhcmUgdXNpbmcgcGx1Z2luICR7cGF0aH0gd2hpY2ggaXMgbm90IHBhcnQgb2YgdGhlIEltcGFjdCBGcmFtZXdvcmsgc3RhbmRhcmQgbGlicmFyeS4gWW91IHNob3VsZCBkbyB5b3VyIG93biByZXNlYXJjaCB0byBlbnN1cmUgdGhlIHBsdWdpbnMgYXJlIHVwIHRvIGRhdGUgYW5kIGFjY3VyYXRlLiBUaGV5IG1heSBub3QgYmUgYWN0aXZlbHkgbWFpbnRhaW5lZC5gLFxuICBTT01FVEhJTkdfV1JPTkc6ICdTb21ldGhpbmcgd3Jvbmcgd2l0aCBjbGkgYXJndW1lbnRzLiBQbGVhc2UgY2hlY2sgZG9jcy4nLFxuICBJU1NVRV9URU1QTEFURTogYFxuSW1wYWN0IEZyYW1ld29yayBpcyBhbiBhbHBoYSByZWxlYXNlIGZyb20gdGhlIEdyZWVuIFNvZnR3YXJlIEZvdW5kYXRpb24gYW5kIGlzIHJlbGVhc2VkIHRvIGNhcHR1cmUgZWFybHkgZmVlZGJhY2suIElmIHlvdSdkIGxpa2UgdG8gb2ZmZXIgc29tZSBmZWVkYmFjaywgcGxlYXNlIHVzZSB0aGlzIGlzc3VlIHRlbXBsYXRlOiBcbmh0dHBzOi8vZ2l0aHViLmNvbS9HcmVlbi1Tb2Z0d2FyZS1Gb3VuZGF0aW9uL2lmL2lzc3Vlcy9uZXc/YXNzaWduZWVzPSZsYWJlbHM9ZmVlZGJhY2smcHJvamVjdHM9JnRlbXBsYXRlPWZlZWRiYWNrLm1kJnRpdGxlPUZlZWRiYWNrKy0rYCxcbiAgSU5WQUxJRF9NT0RVTEVfUEFUSDogKHBhdGg6IHN0cmluZykgPT5cbiAgICBgUHJvdmlkZWQgbW9kdWxlOiAnJHtwYXRofScgaXMgaW52YWxpZCBvciBub3QgZm91bmQuYCxcbiAgSU5WQUxJRF9USU1FX05PUk1BTElaQVRJT046ICdTdGFydCB0aW1lIG9yIGVuZCB0aW1lIGlzIG1pc3NpbmcuJyxcbiAgVU5FWFBFQ1RFRF9USU1FX0NPTkZJRzpcbiAgICAnVW5leHBlY3RlZCBub2RlLWxldmVsIGNvbmZpZyBwcm92aWRlZCBmb3IgdGltZS1zeW5jIHBsdWdpbi4nLFxuICBJTlZBTElEX1RJTUVfSU5URVJWQUw6ICdJbnRlcnZhbCBpcyBtaXNzaW5nLicsXG4gIEFWT0lESU5HX1BBRERJTkc6IChkZXNjcmlwdGlvbjogc3RyaW5nKSA9PlxuICAgIGBBdm9pZGluZyBwYWRkaW5nIGF0ICR7ZGVzY3JpcHRpb259YCxcbiAgQVZPSURJTkdfUEFERElOR19CWV9FREdFUzogKHN0YXJ0OiBib29sZWFuLCBlbmQ6IGJvb2xlYW4pID0+XG4gICAgYEF2b2lkaW5nIHBhZGRpbmcgYXQgJHtcbiAgICAgIHN0YXJ0ICYmIGVuZCA/ICdzdGFydCBhbmQgZW5kJyA6IHN0YXJ0ID8gJ3N0YXJ0JyA6ICdlbmQnXG4gICAgfWAsXG4gIElOVkFMSURfT0JTRVJWQVRJT05fT1ZFUkxBUDogJ09ic2VydmF0aW9uIHRpbWVzdGFtcHMgb3ZlcmxhcC4nLFxuICBJTlZBTElEX0FHR1JFR0FUSU9OX01FVEhPRDogKG1ldHJpYzogc3RyaW5nKSA9PlxuICAgIGBBZ2dyZWdhdGlvbiBpcyBub3QgcG9zc2libGUgZm9yIGdpdmVuICR7bWV0cmljfSBzaW5jZSBtZXRob2QgaXMgJ25vbmUnLmAsXG4gIE1FVFJJQ19NSVNTSU5HOiAobWV0cmljOiBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+XG4gICAgYEFnZ3JlZ2F0aW9uIG1ldHJpYyAke21ldHJpY30gaXMgbm90IGZvdW5kIGluIGlucHV0c1ske2luZGV4fV0uYCxcbiAgSU5WQUxJRF9HUk9VUF9CWTogKHR5cGU6IHN0cmluZykgPT4gYEludmFsaWQgZ3JvdXAgJHt0eXBlfS5gLFxuICBSRUpFQ1RJTkdfT1ZFUlJJREU6IChwYXJhbTogTWFuaWZlc3RQYXJhbWV0ZXIpID0+XG4gICAgYFJlamVjdGluZyBvdmVycmlkaW5nIG9mIGNhbm9uaWNhbCBwYXJhbWV0ZXI6ICR7cGFyYW0ubmFtZX0uYCxcbiAgSU5WQUxJRF9FWEhBVVNUX1BMVUdJTjogKHBsdWdpbk5hbWU6IHN0cmluZykgPT5cbiAgICBgSW52YWxpZCBleGhhdXN0IHBsdWdpbjogJHtwbHVnaW5OYW1lfS5gLFxuICBVTktOT1dOX1BBUkFNOiAobmFtZTogc3RyaW5nKSA9PlxuICAgIGBVbmtub3duIHBhcmFtZXRlcjogJHtuYW1lfS4gVXNpbmcgJ3N1bScgYWdncmVnYXRpb24gbWV0aG9kLmAsXG4gIE5PVF9JTklUQUxJWkVEX1BMVUdJTjogKG5hbWU6IHN0cmluZykgPT5cbiAgICBgTm90IGluaXRhbGl6ZWQgcGx1Z2luOiAke25hbWV9LiBDaGVjayBpZiAke25hbWV9IGlzIGluICdtYW5pZmVzdC5pbml0YWxpemUucGx1Z2lucycuYCxcbn07XG4iXX0=
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvc3RyaW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFYSxRQUFBLE9BQU8sR0FBRztJQUNyQixnQkFBZ0IsRUFBRSwwQ0FBMEM7SUFDNUQsbUJBQW1CLEVBQUUsc0JBQXNCO0lBQzNDLGNBQWMsRUFBRSwwQ0FBMEM7SUFDMUQsWUFBWSxFQUFFLHdDQUF3QztJQUN0RCxrQkFBa0IsRUFDaEIscUVBQXFFO0lBQ3ZFLGdCQUFnQixFQUNkLHFKQUFxSjtJQUN2SixrQkFBa0IsRUFBRTs7OzsyTkFJcU07SUFDek4saUJBQWlCLEVBQUUsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUNsQzt1QkFDbUIsSUFBSSxzTEFBc0w7SUFDL00sZUFBZSxFQUFFLHdEQUF3RDtJQUN6RSxjQUFjLEVBQUU7O3VJQUVxSDtJQUNySSxtQkFBbUIsRUFBRSxDQUFDLElBQVksRUFBRSxFQUFFLENBQ3BDLHFCQUFxQixJQUFJLDRCQUE0QjtJQUN2RCwwQkFBMEIsRUFBRSxvQ0FBb0M7SUFDaEUsc0JBQXNCLEVBQ3BCLDZEQUE2RDtJQUMvRCxxQkFBcUIsRUFBRSxzQkFBc0I7SUFDN0MsZ0JBQWdCLEVBQUUsQ0FBQyxXQUFtQixFQUFFLEVBQUUsQ0FDeEMsdUJBQXVCLFdBQVcsRUFBRTtJQUN0Qyx5QkFBeUIsRUFBRSxDQUFDLEtBQWMsRUFBRSxHQUFZLEVBQUUsRUFBRSxDQUMxRCx1QkFDRSxLQUFLLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUNyRCxFQUFFO0lBQ0osMkJBQTJCLEVBQUUsaUNBQWlDO0lBQzlELDBCQUEwQixFQUFFLENBQUMsTUFBYyxFQUFFLEVBQUUsQ0FDN0MseUNBQXlDLE1BQU0sMEJBQTBCO0lBQzNFLGNBQWMsRUFBRSxDQUFDLE1BQWMsRUFBRSxLQUFhLEVBQUUsRUFBRSxDQUNoRCxzQkFBc0IsTUFBTSwyQkFBMkIsS0FBSyxJQUFJO0lBQ2xFLGdCQUFnQixFQUFFLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsSUFBSSxHQUFHO0lBQzVELGtCQUFrQixFQUFFLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQy9DLGdEQUFnRCxLQUFLLENBQUMsSUFBSSxHQUFHO0lBQy9ELHNCQUFzQixFQUFFLENBQUMsVUFBa0IsRUFBRSxFQUFFLENBQzdDLDJCQUEyQixVQUFVLEdBQUc7SUFDMUMsYUFBYSxFQUFFLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FDOUIsc0JBQXNCLElBQUksbUNBQW1DO0lBQy9ELHFCQUFxQixFQUFFLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FDdEMsMEJBQTBCLElBQUksY0FBYyxJQUFJLHNDQUFzQztJQUN4RixTQUFTLEVBQUU7Ozs7bUxBSXNLO0NBQ2xMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01hbmlmZXN0UGFyYW1ldGVyfSBmcm9tICcuLi90eXBlcy9tYW5pZmVzdCc7XG5cbmV4cG9ydCBjb25zdCBTVFJJTkdTID0ge1xuICBGSUxFX0lTX05PVF9ZQU1MOiAnUHJvdmlkZWQgbWFuaWZlc3QgaXMgbm90IGluIHlhbWwgZm9ybWF0LicsXG4gIE1BTklGRVNUX0lTX01JU1NJTkc6ICdNYW5pZmVzdCBpcyBtaXNzaW5nLicsXG4gIE1JU1NJTkdfTUVUSE9EOiBcIkluaXRhbGl6YXRpb24gcGFyYW0gJ21ldGhvZCcgaXMgbWlzc2luZy5cIixcbiAgTUlTU0lOR19QQVRIOiBcIkluaXRhbGl6YXRpb24gcGFyYW0gJ3BhdGgnIGlzIG1pc3NpbmcuXCIsXG4gIFVOU1VQUE9SVEVEX1BMVUdJTjpcbiAgICBcIlBsdWdpbiBpbnRlcmZhY2UgZG9lc24ndCBpbXBsZW1lbnQgJ2V4ZWN1dGUnIG9yICdtZXRhZGF0YScgbWV0aG9kcy5cIixcbiAgT1ZFUlJJREVfV0FSTklORzpcbiAgICAnXFxuKipXQVJOSU5HKio6IFlvdSBhcmUgb3ZlcnJpZGluZyB0aGUgSUYgZGVmYXVsdCBwYXJhbWV0ZXJzIGZpbGUuIFBsZWFzZSBiZSBleHRyZW1lbHkgY2FyZWZ1bCBvZiB1bmludGVuZGVkIHNpZGUtZWZmZWN0cyBpbiB5b3VyIHBsdWdpbiBwaXBlbGluZSFcXG4nLFxuICBESVNDTEFJTUVSX01FU1NBR0U6IGBcbkluY3ViYXRpb24gUHJvamVjdFxuXG5UaGlzIHByb2plY3QgaXMgYW4gaW5jdWJhdGlvbiBwcm9qZWN0IGJlaW5nIHJ1biBpbnNpZGUgdGhlIEdyZWVuIFNvZnR3YXJlIEZvdW5kYXRpb247IGFzIHN1Y2gsIHdlIERPTuKAmVQgcmVjb21tZW5kIHVzaW5nIGl0IGluIGFueSBjcml0aWNhbCB1c2UgY2FzZS4gXG5JbmN1YmF0aW9uIHByb2plY3RzIGFyZSBleHBlcmltZW50YWwsIG9mZmVyIG5vIHN1cHBvcnQgZ3VhcmFudGVlLCBoYXZlIG1pbmltYWwgZ292ZXJuYW5jZSBhbmQgcHJvY2VzcywgYW5kIG1heSBiZSByZXRpcmVkIGF0IGFueSBtb21lbnQuIFRoaXMgcHJvamVjdCBtYXkgb25lIGRheSBncmFkdWF0ZSwgaW4gd2hpY2ggY2FzZSB0aGlzIGRpc2NsYWltZXIgd2lsbCBiZSByZW1vdmVkLmAsXG4gIE5PVF9OQVRJVkVfUExVR0lOOiAocGF0aDogc3RyaW5nKSA9PlxuICAgIGBcbllvdSBhcmUgdXNpbmcgcGx1Z2luICR7cGF0aH0gd2hpY2ggaXMgbm90IHBhcnQgb2YgdGhlIEltcGFjdCBGcmFtZXdvcmsgc3RhbmRhcmQgbGlicmFyeS4gWW91IHNob3VsZCBkbyB5b3VyIG93biByZXNlYXJjaCB0byBlbnN1cmUgdGhlIHBsdWdpbnMgYXJlIHVwIHRvIGRhdGUgYW5kIGFjY3VyYXRlLiBUaGV5IG1heSBub3QgYmUgYWN0aXZlbHkgbWFpbnRhaW5lZC5gLFxuICBTT01FVEhJTkdfV1JPTkc6ICdTb21ldGhpbmcgd3Jvbmcgd2l0aCBjbGkgYXJndW1lbnRzLiBQbGVhc2UgY2hlY2sgZG9jcy4nLFxuICBJU1NVRV9URU1QTEFURTogYFxuSW1wYWN0IEZyYW1ld29yayBpcyBhbiBhbHBoYSByZWxlYXNlIGZyb20gdGhlIEdyZWVuIFNvZnR3YXJlIEZvdW5kYXRpb24gYW5kIGlzIHJlbGVhc2VkIHRvIGNhcHR1cmUgZWFybHkgZmVlZGJhY2suIElmIHlvdSdkIGxpa2UgdG8gb2ZmZXIgc29tZSBmZWVkYmFjaywgcGxlYXNlIHVzZSB0aGlzIGlzc3VlIHRlbXBsYXRlOiBcbmh0dHBzOi8vZ2l0aHViLmNvbS9HcmVlbi1Tb2Z0d2FyZS1Gb3VuZGF0aW9uL2lmL2lzc3Vlcy9uZXc/YXNzaWduZWVzPSZsYWJlbHM9ZmVlZGJhY2smcHJvamVjdHM9JnRlbXBsYXRlPWZlZWRiYWNrLm1kJnRpdGxlPUZlZWRiYWNrKy0rYCxcbiAgSU5WQUxJRF9NT0RVTEVfUEFUSDogKHBhdGg6IHN0cmluZykgPT5cbiAgICBgUHJvdmlkZWQgbW9kdWxlOiAnJHtwYXRofScgaXMgaW52YWxpZCBvciBub3QgZm91bmQuYCxcbiAgSU5WQUxJRF9USU1FX05PUk1BTElaQVRJT046ICdTdGFydCB0aW1lIG9yIGVuZCB0aW1lIGlzIG1pc3NpbmcuJyxcbiAgVU5FWFBFQ1RFRF9USU1FX0NPTkZJRzpcbiAgICAnVW5leHBlY3RlZCBub2RlLWxldmVsIGNvbmZpZyBwcm92aWRlZCBmb3IgdGltZS1zeW5jIHBsdWdpbi4nLFxuICBJTlZBTElEX1RJTUVfSU5URVJWQUw6ICdJbnRlcnZhbCBpcyBtaXNzaW5nLicsXG4gIEFWT0lESU5HX1BBRERJTkc6IChkZXNjcmlwdGlvbjogc3RyaW5nKSA9PlxuICAgIGBBdm9pZGluZyBwYWRkaW5nIGF0ICR7ZGVzY3JpcHRpb259YCxcbiAgQVZPSURJTkdfUEFERElOR19CWV9FREdFUzogKHN0YXJ0OiBib29sZWFuLCBlbmQ6IGJvb2xlYW4pID0+XG4gICAgYEF2b2lkaW5nIHBhZGRpbmcgYXQgJHtcbiAgICAgIHN0YXJ0ICYmIGVuZCA/ICdzdGFydCBhbmQgZW5kJyA6IHN0YXJ0ID8gJ3N0YXJ0JyA6ICdlbmQnXG4gICAgfWAsXG4gIElOVkFMSURfT0JTRVJWQVRJT05fT1ZFUkxBUDogJ09ic2VydmF0aW9uIHRpbWVzdGFtcHMgb3ZlcmxhcC4nLFxuICBJTlZBTElEX0FHR1JFR0FUSU9OX01FVEhPRDogKG1ldHJpYzogc3RyaW5nKSA9PlxuICAgIGBBZ2dyZWdhdGlvbiBpcyBub3QgcG9zc2libGUgZm9yIGdpdmVuICR7bWV0cmljfSBzaW5jZSBtZXRob2QgaXMgJ25vbmUnLmAsXG4gIE1FVFJJQ19NSVNTSU5HOiAobWV0cmljOiBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+XG4gICAgYEFnZ3JlZ2F0aW9uIG1ldHJpYyAke21ldHJpY30gaXMgbm90IGZvdW5kIGluIGlucHV0c1ske2luZGV4fV0uYCxcbiAgSU5WQUxJRF9HUk9VUF9CWTogKHR5cGU6IHN0cmluZykgPT4gYEludmFsaWQgZ3JvdXAgJHt0eXBlfS5gLFxuICBSRUpFQ1RJTkdfT1ZFUlJJREU6IChwYXJhbTogTWFuaWZlc3RQYXJhbWV0ZXIpID0+XG4gICAgYFJlamVjdGluZyBvdmVycmlkaW5nIG9mIGNhbm9uaWNhbCBwYXJhbWV0ZXI6ICR7cGFyYW0ubmFtZX0uYCxcbiAgSU5WQUxJRF9FWEhBVVNUX1BMVUdJTjogKHBsdWdpbk5hbWU6IHN0cmluZykgPT5cbiAgICBgSW52YWxpZCBleGhhdXN0IHBsdWdpbjogJHtwbHVnaW5OYW1lfS5gLFxuICBVTktOT1dOX1BBUkFNOiAobmFtZTogc3RyaW5nKSA9PlxuICAgIGBVbmtub3duIHBhcmFtZXRlcjogJHtuYW1lfS4gVXNpbmcgJ3N1bScgYWdncmVnYXRpb24gbWV0aG9kLmAsXG4gIE5PVF9JTklUQUxJWkVEX1BMVUdJTjogKG5hbWU6IHN0cmluZykgPT5cbiAgICBgTm90IGluaXRhbGl6ZWQgcGx1Z2luOiAke25hbWV9LiBDaGVjayBpZiAke25hbWV9IGlzIGluICdtYW5pZmVzdC5pbml0YWxpemUucGx1Z2lucycuYCxcbiAgTk9fT1VUUFVUOiBgXG5Zb3UgaGF2ZSBub3Qgc2VsZWN0ZWQgYW4gb3V0cHV0IG1ldGhvZC4gVG8gc2VlIHlvdXIgb3V0cHV0IGRhdGEsIHlvdSBjYW4gY2hvb3NlIGZyb206XG4tLXN0ZG91dDogdGhpcyB3aWxsIHByaW50IHlvdXIgb3V0cHV0IGRhdGEgdG8gdGhlIGNvbnNvbGVcbi0tb3V0cHV0IDxzYXZlcGF0aD46IHRoaXMgd2lsbCBzYXZlIHlvdXIgb3V0cHV0IGRhdGEgdG8gdGhlIGdpdmVuIGZpbGVwYXRoIChkbyBub3QgcHJvdmlkZSBmaWxlIGV4dGVuc2lvbilcbk5vdGUgdGhhdCBmb3IgdGhlICctLW91dHB1dCcgb3B0aW9uIHlvdSBhbHNvIG5lZWQgdG8gZGVmaW5lIHRoZSBvdXRwdXQgdHlwZSBpbiB5b3VyIG1hbmlmZXN0IGZpbGUuIFNlZSBodHRwczovL2lmLmdyZWVuc29mdHdhcmUuZm91bmRhdGlvbi9tYWpvci1jb25jZXB0cy9tYW5pZmVzdC1maWxlI2luaXRpYWxpemVgLFxufTtcbiJdfQ==
package/build/index.js CHANGED
@@ -3,33 +3,42 @@
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  const aggregate_1 = require("./lib/aggregate");
5
5
  const compute_1 = require("./lib/compute");
6
+ const environment_1 = require("./lib/environment");
6
7
  const exhaust_1 = require("./lib/exhaust");
7
8
  const initialize_1 = require("./lib/initialize");
8
9
  const load_1 = require("./lib/load");
9
10
  const parameterize_1 = require("./lib/parameterize");
10
11
  const args_1 = require("./util/args");
11
- const errors_1 = require("./util/errors");
12
12
  const helpers_1 = require("./util/helpers");
13
13
  const logger_1 = require("./util/logger");
14
+ const validations_1 = require("./util/validations");
14
15
  const config_1 = require("./config");
15
- const packageJson = require('../package.json');
16
- const { CliInputError } = errors_1.ERRORS;
17
- const { DISCLAIMER_MESSAGE, SOMETHING_WRONG } = config_1.STRINGS;
16
+ const { DISCLAIMER_MESSAGE } = config_1.STRINGS;
18
17
  const impactEngine = async () => {
19
- logger_1.logger.info(DISCLAIMER_MESSAGE);
20
18
  const options = (0, args_1.parseArgs)();
21
- if (options) {
22
- const { inputPath, outputPath, paramPath } = options;
23
- const { tree, context, parameters } = await (0, load_1.load)(inputPath, paramPath);
19
+ logger_1.logger.info(DISCLAIMER_MESSAGE);
20
+ const { inputPath, paramPath, outputOptions } = options;
21
+ const { rawManifest, parameters } = await (0, load_1.load)(inputPath, paramPath);
22
+ const envManifest = await (0, environment_1.injectEnvironment)(rawManifest);
23
+ try {
24
+ const { tree, ...context } = (0, validations_1.validateManifest)(envManifest);
24
25
  parameterize_1.parameterize.combine(context.params, parameters);
25
- const pluginStorage = await (0, initialize_1.initalize)(context.initialize.plugins);
26
+ const pluginStorage = await (0, initialize_1.initialize)(context.initialize.plugins);
26
27
  const computedTree = await (0, compute_1.compute)(tree, { context, pluginStorage });
27
28
  const aggregatedTree = (0, aggregate_1.aggregate)(computedTree, context.aggregation);
28
- context['if-version'] = packageJson.version;
29
- (0, exhaust_1.exhaust)(aggregatedTree, context, outputPath);
30
- return;
29
+ await (0, exhaust_1.exhaust)(aggregatedTree, context, outputOptions);
30
+ }
31
+ catch (error) {
32
+ if (error instanceof Error) {
33
+ envManifest.execution.status = 'fail';
34
+ envManifest.execution.error = error.toString();
35
+ logger_1.logger.error(error);
36
+ const { tree, ...context } = envManifest;
37
+ if (error.name !== 'ExhaustError') {
38
+ (0, exhaust_1.exhaust)(tree, context, outputOptions);
39
+ }
40
+ }
31
41
  }
32
- return Promise.reject(new CliInputError(SOMETHING_WRONG));
33
42
  };
34
43
  impactEngine().catch(helpers_1.andHandle);
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsK0NBQTBDO0FBQzFDLDJDQUFzQztBQUN0QywyQ0FBc0M7QUFDdEMsaURBQTJDO0FBQzNDLHFDQUFnQztBQUNoQyxxREFBZ0Q7QUFFaEQsc0NBQXNDO0FBQ3RDLDBDQUFxQztBQUNyQyw0Q0FBeUM7QUFDekMsMENBQXFDO0FBRXJDLHFDQUFpQztBQUVqQyxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUUvQyxNQUFNLEVBQUMsYUFBYSxFQUFDLEdBQUcsZUFBTSxDQUFDO0FBRS9CLE1BQU0sRUFBQyxrQkFBa0IsRUFBRSxlQUFlLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBRXRELE1BQU0sWUFBWSxHQUFHLEtBQUssSUFBSSxFQUFFO0lBQzlCLGVBQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNoQyxNQUFNLE9BQU8sR0FBRyxJQUFBLGdCQUFTLEdBQUUsQ0FBQztJQUU1QixJQUFJLE9BQU8sRUFBRTtRQUNYLE1BQU0sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBQyxHQUFHLE9BQU8sQ0FBQztRQUVuRCxNQUFNLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUMsR0FBRyxNQUFNLElBQUEsV0FBSSxFQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNyRSwyQkFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2pELE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBQSxzQkFBUyxFQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEUsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFBLGlCQUFPLEVBQUMsSUFBSSxFQUFFLEVBQUMsT0FBTyxFQUFFLGFBQWEsRUFBQyxDQUFDLENBQUM7UUFDbkUsTUFBTSxjQUFjLEdBQUcsSUFBQSxxQkFBUyxFQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEUsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFDNUMsSUFBQSxpQkFBTyxFQUFDLGNBQWMsRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFN0MsT0FBTztLQUNSO0lBRUQsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7QUFDNUQsQ0FBQyxDQUFDO0FBRUYsWUFBWSxFQUFFLENBQUMsS0FBSyxDQUFDLG1CQUFTLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcbmltcG9ydCB7YWdncmVnYXRlfSBmcm9tICcuL2xpYi9hZ2dyZWdhdGUnO1xuaW1wb3J0IHtjb21wdXRlfSBmcm9tICcuL2xpYi9jb21wdXRlJztcbmltcG9ydCB7ZXhoYXVzdH0gZnJvbSAnLi9saWIvZXhoYXVzdCc7XG5pbXBvcnQge2luaXRhbGl6ZX0gZnJvbSAnLi9saWIvaW5pdGlhbGl6ZSc7XG5pbXBvcnQge2xvYWR9IGZyb20gJy4vbGliL2xvYWQnO1xuaW1wb3J0IHtwYXJhbWV0ZXJpemV9IGZyb20gJy4vbGliL3BhcmFtZXRlcml6ZSc7XG5cbmltcG9ydCB7cGFyc2VBcmdzfSBmcm9tICcuL3V0aWwvYXJncyc7XG5pbXBvcnQge0VSUk9SU30gZnJvbSAnLi91dGlsL2Vycm9ycyc7XG5pbXBvcnQge2FuZEhhbmRsZX0gZnJvbSAnLi91dGlsL2hlbHBlcnMnO1xuaW1wb3J0IHtsb2dnZXJ9IGZyb20gJy4vdXRpbC9sb2dnZXInO1xuXG5pbXBvcnQge1NUUklOR1N9IGZyb20gJy4vY29uZmlnJztcblxuY29uc3QgcGFja2FnZUpzb24gPSByZXF1aXJlKCcuLi9wYWNrYWdlLmpzb24nKTtcblxuY29uc3Qge0NsaUlucHV0RXJyb3J9ID0gRVJST1JTO1xuXG5jb25zdCB7RElTQ0xBSU1FUl9NRVNTQUdFLCBTT01FVEhJTkdfV1JPTkd9ID0gU1RSSU5HUztcblxuY29uc3QgaW1wYWN0RW5naW5lID0gYXN5bmMgKCkgPT4ge1xuICBsb2dnZXIuaW5mbyhESVNDTEFJTUVSX01FU1NBR0UpO1xuICBjb25zdCBvcHRpb25zID0gcGFyc2VBcmdzKCk7XG5cbiAgaWYgKG9wdGlvbnMpIHtcbiAgICBjb25zdCB7aW5wdXRQYXRoLCBvdXRwdXRQYXRoLCBwYXJhbVBhdGh9ID0gb3B0aW9ucztcblxuICAgIGNvbnN0IHt0cmVlLCBjb250ZXh0LCBwYXJhbWV0ZXJzfSA9IGF3YWl0IGxvYWQoaW5wdXRQYXRoLCBwYXJhbVBhdGgpO1xuICAgIHBhcmFtZXRlcml6ZS5jb21iaW5lKGNvbnRleHQucGFyYW1zLCBwYXJhbWV0ZXJzKTtcbiAgICBjb25zdCBwbHVnaW5TdG9yYWdlID0gYXdhaXQgaW5pdGFsaXplKGNvbnRleHQuaW5pdGlhbGl6ZS5wbHVnaW5zKTtcbiAgICBjb25zdCBjb21wdXRlZFRyZWUgPSBhd2FpdCBjb21wdXRlKHRyZWUsIHtjb250ZXh0LCBwbHVnaW5TdG9yYWdlfSk7XG4gICAgY29uc3QgYWdncmVnYXRlZFRyZWUgPSBhZ2dyZWdhdGUoY29tcHV0ZWRUcmVlLCBjb250ZXh0LmFnZ3JlZ2F0aW9uKTtcbiAgICBjb250ZXh0WydpZi12ZXJzaW9uJ10gPSBwYWNrYWdlSnNvbi52ZXJzaW9uO1xuICAgIGV4aGF1c3QoYWdncmVnYXRlZFRyZWUsIGNvbnRleHQsIG91dHB1dFBhdGgpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBDbGlJbnB1dEVycm9yKFNPTUVUSElOR19XUk9ORykpO1xufTtcblxuaW1wYWN0RW5naW5lKCkuY2F0Y2goYW5kSGFuZGxlKTtcbiJdfQ==
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsK0NBQTBDO0FBQzFDLDJDQUFzQztBQUN0QyxtREFBb0Q7QUFDcEQsMkNBQXNDO0FBQ3RDLGlEQUE0QztBQUM1QyxxQ0FBZ0M7QUFDaEMscURBQWdEO0FBRWhELHNDQUFzQztBQUN0Qyw0Q0FBeUM7QUFDekMsMENBQXFDO0FBQ3JDLG9EQUFvRDtBQUVwRCxxQ0FBaUM7QUFFakMsTUFBTSxFQUFDLGtCQUFrQixFQUFDLEdBQUcsZ0JBQU8sQ0FBQztBQUVyQyxNQUFNLFlBQVksR0FBRyxLQUFLLElBQUksRUFBRTtJQUM5QixNQUFNLE9BQU8sR0FBRyxJQUFBLGdCQUFTLEdBQUUsQ0FBQztJQUU1QixlQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDaEMsTUFBTSxFQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFDLEdBQUcsT0FBTyxDQUFDO0lBRXRELE1BQU0sRUFBQyxXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsTUFBTSxJQUFBLFdBQUksRUFBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDbkUsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFBLCtCQUFpQixFQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRXpELElBQUk7UUFDRixNQUFNLEVBQUMsSUFBSSxFQUFFLEdBQUcsT0FBTyxFQUFDLEdBQUcsSUFBQSw4QkFBZ0IsRUFBQyxXQUFXLENBQUMsQ0FBQztRQUN6RCwyQkFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2pELE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBQSx1QkFBVSxFQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkUsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFBLGlCQUFPLEVBQUMsSUFBSSxFQUFFLEVBQUMsT0FBTyxFQUFFLGFBQWEsRUFBQyxDQUFDLENBQUM7UUFDbkUsTUFBTSxjQUFjLEdBQUcsSUFBQSxxQkFBUyxFQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEUsTUFBTSxJQUFBLGlCQUFPLEVBQUMsY0FBYyxFQUFFLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQztLQUN2RDtJQUFDLE9BQU8sS0FBSyxFQUFFO1FBQ2QsSUFBSSxLQUFLLFlBQVksS0FBSyxFQUFFO1lBQzFCLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztZQUN0QyxXQUFXLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDL0MsZUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwQixNQUFNLEVBQUMsSUFBSSxFQUFFLEdBQUcsT0FBTyxFQUFDLEdBQUcsV0FBVyxDQUFDO1lBRXZDLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxjQUFjLEVBQUU7Z0JBQ2pDLElBQUEsaUJBQU8sRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDO2FBQ3ZDO1NBQ0Y7S0FDRjtBQUNILENBQUMsQ0FBQztBQUVGLFlBQVksRUFBRSxDQUFDLEtBQUssQ0FBQyxtQkFBUyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5pbXBvcnQge2FnZ3JlZ2F0ZX0gZnJvbSAnLi9saWIvYWdncmVnYXRlJztcbmltcG9ydCB7Y29tcHV0ZX0gZnJvbSAnLi9saWIvY29tcHV0ZSc7XG5pbXBvcnQge2luamVjdEVudmlyb25tZW50fSBmcm9tICcuL2xpYi9lbnZpcm9ubWVudCc7XG5pbXBvcnQge2V4aGF1c3R9IGZyb20gJy4vbGliL2V4aGF1c3QnO1xuaW1wb3J0IHtpbml0aWFsaXplfSBmcm9tICcuL2xpYi9pbml0aWFsaXplJztcbmltcG9ydCB7bG9hZH0gZnJvbSAnLi9saWIvbG9hZCc7XG5pbXBvcnQge3BhcmFtZXRlcml6ZX0gZnJvbSAnLi9saWIvcGFyYW1ldGVyaXplJztcblxuaW1wb3J0IHtwYXJzZUFyZ3N9IGZyb20gJy4vdXRpbC9hcmdzJztcbmltcG9ydCB7YW5kSGFuZGxlfSBmcm9tICcuL3V0aWwvaGVscGVycyc7XG5pbXBvcnQge2xvZ2dlcn0gZnJvbSAnLi91dGlsL2xvZ2dlcic7XG5pbXBvcnQge3ZhbGlkYXRlTWFuaWZlc3R9IGZyb20gJy4vdXRpbC92YWxpZGF0aW9ucyc7XG5cbmltcG9ydCB7U1RSSU5HU30gZnJvbSAnLi9jb25maWcnO1xuXG5jb25zdCB7RElTQ0xBSU1FUl9NRVNTQUdFfSA9IFNUUklOR1M7XG5cbmNvbnN0IGltcGFjdEVuZ2luZSA9IGFzeW5jICgpID0+IHtcbiAgY29uc3Qgb3B0aW9ucyA9IHBhcnNlQXJncygpO1xuXG4gIGxvZ2dlci5pbmZvKERJU0NMQUlNRVJfTUVTU0FHRSk7XG4gIGNvbnN0IHtpbnB1dFBhdGgsIHBhcmFtUGF0aCwgb3V0cHV0T3B0aW9uc30gPSBvcHRpb25zO1xuXG4gIGNvbnN0IHtyYXdNYW5pZmVzdCwgcGFyYW1ldGVyc30gPSBhd2FpdCBsb2FkKGlucHV0UGF0aCwgcGFyYW1QYXRoKTtcbiAgY29uc3QgZW52TWFuaWZlc3QgPSBhd2FpdCBpbmplY3RFbnZpcm9ubWVudChyYXdNYW5pZmVzdCk7XG5cbiAgdHJ5IHtcbiAgICBjb25zdCB7dHJlZSwgLi4uY29udGV4dH0gPSB2YWxpZGF0ZU1hbmlmZXN0KGVudk1hbmlmZXN0KTtcbiAgICBwYXJhbWV0ZXJpemUuY29tYmluZShjb250ZXh0LnBhcmFtcywgcGFyYW1ldGVycyk7XG4gICAgY29uc3QgcGx1Z2luU3RvcmFnZSA9IGF3YWl0IGluaXRpYWxpemUoY29udGV4dC5pbml0aWFsaXplLnBsdWdpbnMpO1xuICAgIGNvbnN0IGNvbXB1dGVkVHJlZSA9IGF3YWl0IGNvbXB1dGUodHJlZSwge2NvbnRleHQsIHBsdWdpblN0b3JhZ2V9KTtcbiAgICBjb25zdCBhZ2dyZWdhdGVkVHJlZSA9IGFnZ3JlZ2F0ZShjb21wdXRlZFRyZWUsIGNvbnRleHQuYWdncmVnYXRpb24pO1xuICAgIGF3YWl0IGV4aGF1c3QoYWdncmVnYXRlZFRyZWUsIGNvbnRleHQsIG91dHB1dE9wdGlvbnMpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICBlbnZNYW5pZmVzdC5leGVjdXRpb24uc3RhdHVzID0gJ2ZhaWwnO1xuICAgICAgZW52TWFuaWZlc3QuZXhlY3V0aW9uLmVycm9yID0gZXJyb3IudG9TdHJpbmcoKTtcbiAgICAgIGxvZ2dlci5lcnJvcihlcnJvcik7XG4gICAgICBjb25zdCB7dHJlZSwgLi4uY29udGV4dH0gPSBlbnZNYW5pZmVzdDtcblxuICAgICAgaWYgKGVycm9yLm5hbWUgIT09ICdFeGhhdXN0RXJyb3InKSB7XG4gICAgICAgIGV4aGF1c3QodHJlZSwgY29udGV4dCwgb3V0cHV0T3B0aW9ucyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuXG5pbXBhY3RFbmdpbmUoKS5jYXRjaChhbmRIYW5kbGUpO1xuIl19
@@ -0,0 +1,5 @@
1
+ import { Manifest } from '../types/manifest';
2
+ /**
3
+ * Injects execution information (command, environment) to existing manifest.
4
+ */
5
+ export declare const injectEnvironment: (manifest: Manifest) => Promise<Manifest>;
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.injectEnvironment = void 0;
4
+ const luxon_1 = require("luxon");
5
+ const helpers_1 = require("../util/helpers");
6
+ const os_checker_1 = require("../util/os-checker");
7
+ const packageJson = require('../../package.json');
8
+ /**
9
+ * 1. Gets the high-resolution real time when the application starts.
10
+ * 2. Converts the high-resolution time to milliseconds.
11
+ * 3. Gets the current DateTime.
12
+ * 4. Subtracts the milliseconds from the current DateTime.
13
+ */
14
+ const getProcessStartingTimestamp = () => {
15
+ const startTime = process.hrtime();
16
+ const [seconds, nanoseconds] = process.hrtime(startTime);
17
+ const milliseconds = seconds * 1000 + nanoseconds / 1e6;
18
+ const currentDateTime = luxon_1.DateTime.local();
19
+ const applicationStartDateTime = currentDateTime.minus({
20
+ milliseconds: milliseconds,
21
+ });
22
+ return applicationStartDateTime.toUTC().toString();
23
+ };
24
+ /**
25
+ * Goes through the dependencies, converts them into oneliner.
26
+ */
27
+ const flattenDependencies = (dependencies) => dependencies.map(dependency => {
28
+ const [packageName, versionInfo] = dependency;
29
+ const { version, extraneous, resolved } = versionInfo;
30
+ const ifExtraneous = extraneous ? ` extraneous -> ${resolved}` : '';
31
+ const ifFromGithub = resolved && resolved.startsWith('git') ? ` (${resolved})` : '';
32
+ const formattedString = `${packageName}@${version}${ifExtraneous || ifFromGithub}`;
33
+ return formattedString;
34
+ });
35
+ /**
36
+ * 1. Runs `npm list --json`.
37
+ * 2. Parses json data and converts to list.
38
+ */
39
+ const listDependencies = async () => {
40
+ const { stdout } = await (0, helpers_1.execPromise)('npm list --json');
41
+ const npmListResponse = JSON.parse(stdout);
42
+ const dependencies = Object.entries(npmListResponse.dependencies);
43
+ return flattenDependencies(dependencies);
44
+ };
45
+ /**
46
+ * Injects execution information (command, environment) to existing manifest.
47
+ */
48
+ const injectEnvironment = async (manifest) => {
49
+ const dependencies = await listDependencies();
50
+ const info = await (0, os_checker_1.osInfo)();
51
+ const dateTime = `${getProcessStartingTimestamp()} (UTC)`;
52
+ return {
53
+ ...manifest,
54
+ execution: {
55
+ status: 'success',
56
+ command: process.argv.join(' '),
57
+ environment: {
58
+ 'if-version': packageJson.version,
59
+ os: info.os,
60
+ 'os-version': info['os-version'],
61
+ 'node-version': process.versions.node,
62
+ 'date-time': dateTime,
63
+ dependencies,
64
+ },
65
+ },
66
+ };
67
+ };
68
+ exports.injectEnvironment = injectEnvironment;
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2Vudmlyb25tZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlDQUErQjtBQUUvQiw2Q0FBNEM7QUFJNUMsbURBQTBDO0FBRTFDLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0FBRWxEOzs7OztHQUtHO0FBQ0gsTUFBTSwyQkFBMkIsR0FBRyxHQUFHLEVBQUU7SUFDdkMsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBRW5DLE1BQU0sQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN6RCxNQUFNLFlBQVksR0FBRyxPQUFPLEdBQUcsSUFBSSxHQUFHLFdBQVcsR0FBRyxHQUFHLENBQUM7SUFFeEQsTUFBTSxlQUFlLEdBQUcsZ0JBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUV6QyxNQUFNLHdCQUF3QixHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUM7UUFDckQsWUFBWSxFQUFFLFlBQVk7S0FDM0IsQ0FBQyxDQUFDO0lBRUgsT0FBTyx3QkFBd0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUNyRCxDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxZQUEyQyxFQUFFLEVBQUUsQ0FDMUUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRTtJQUM1QixNQUFNLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxHQUFHLFVBQVUsQ0FBQztJQUM5QyxNQUFNLEVBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUMsR0FBRyxXQUFXLENBQUM7SUFDcEQsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNwRSxNQUFNLFlBQVksR0FDaEIsUUFBUSxJQUFJLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNqRSxNQUFNLGVBQWUsR0FBRyxHQUFHLFdBQVcsSUFBSSxPQUFPLEdBQy9DLFlBQVksSUFBSSxZQUNsQixFQUFFLENBQUM7SUFFSCxPQUFPLGVBQWUsQ0FBQztBQUN6QixDQUFDLENBQUMsQ0FBQztBQUVMOzs7R0FHRztBQUNILE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxJQUFJLEVBQUU7SUFDbEMsTUFBTSxFQUFDLE1BQU0sRUFBQyxHQUFHLE1BQU0sSUFBQSxxQkFBVyxFQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDdEQsTUFBTSxlQUFlLEdBQW9CLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUQsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFbEUsT0FBTyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUMzQyxDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNJLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxFQUNwQyxRQUFrQixFQUNDLEVBQUU7SUFDckIsTUFBTSxZQUFZLEdBQUcsTUFBTSxnQkFBZ0IsRUFBRSxDQUFDO0lBQzlDLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBQSxtQkFBTSxHQUFFLENBQUM7SUFDNUIsTUFBTSxRQUFRLEdBQUcsR0FBRywyQkFBMkIsRUFBRSxRQUFRLENBQUM7SUFFMUQsT0FBTztRQUNMLEdBQUcsUUFBUTtRQUNYLFNBQVMsRUFBRTtZQUNULE1BQU0sRUFBRSxTQUFTO1lBQ2pCLE9BQU8sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDL0IsV0FBVyxFQUFFO2dCQUNYLFlBQVksRUFBRSxXQUFXLENBQUMsT0FBTztnQkFDakMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO2dCQUNYLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDO2dCQUNoQyxjQUFjLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJO2dCQUNyQyxXQUFXLEVBQUUsUUFBUTtnQkFDckIsWUFBWTthQUNiO1NBQ0Y7S0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBdEJXLFFBQUEsaUJBQWlCLHFCQXNCNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RhdGVUaW1lfSBmcm9tICdsdXhvbic7XG5cbmltcG9ydCB7ZXhlY1Byb21pc2V9IGZyb20gJy4uL3V0aWwvaGVscGVycyc7XG5cbmltcG9ydCB7TWFuaWZlc3R9IGZyb20gJy4uL3R5cGVzL21hbmlmZXN0JztcbmltcG9ydCB7TnBtTGlzdFJlc3BvbnNlLCBQYWNrYWdlRGVwZW5kZW5jeX0gZnJvbSAnLi4vdHlwZXMvZW52aXJvbm1lbnQnO1xuaW1wb3J0IHtvc0luZm99IGZyb20gJy4uL3V0aWwvb3MtY2hlY2tlcic7XG5cbmNvbnN0IHBhY2thZ2VKc29uID0gcmVxdWlyZSgnLi4vLi4vcGFja2FnZS5qc29uJyk7XG5cbi8qKlxuICogMS4gR2V0cyB0aGUgaGlnaC1yZXNvbHV0aW9uIHJlYWwgdGltZSB3aGVuIHRoZSBhcHBsaWNhdGlvbiBzdGFydHMuXG4gKiAyLiBDb252ZXJ0cyB0aGUgaGlnaC1yZXNvbHV0aW9uIHRpbWUgdG8gbWlsbGlzZWNvbmRzLlxuICogMy4gR2V0cyB0aGUgY3VycmVudCBEYXRlVGltZS5cbiAqIDQuIFN1YnRyYWN0cyB0aGUgbWlsbGlzZWNvbmRzIGZyb20gdGhlIGN1cnJlbnQgRGF0ZVRpbWUuXG4gKi9cbmNvbnN0IGdldFByb2Nlc3NTdGFydGluZ1RpbWVzdGFtcCA9ICgpID0+IHtcbiAgY29uc3Qgc3RhcnRUaW1lID0gcHJvY2Vzcy5ocnRpbWUoKTtcblxuICBjb25zdCBbc2Vjb25kcywgbmFub3NlY29uZHNdID0gcHJvY2Vzcy5ocnRpbWUoc3RhcnRUaW1lKTtcbiAgY29uc3QgbWlsbGlzZWNvbmRzID0gc2Vjb25kcyAqIDEwMDAgKyBuYW5vc2Vjb25kcyAvIDFlNjtcblxuICBjb25zdCBjdXJyZW50RGF0ZVRpbWUgPSBEYXRlVGltZS5sb2NhbCgpO1xuXG4gIGNvbnN0IGFwcGxpY2F0aW9uU3RhcnREYXRlVGltZSA9IGN1cnJlbnREYXRlVGltZS5taW51cyh7XG4gICAgbWlsbGlzZWNvbmRzOiBtaWxsaXNlY29uZHMsXG4gIH0pO1xuXG4gIHJldHVybiBhcHBsaWNhdGlvblN0YXJ0RGF0ZVRpbWUudG9VVEMoKS50b1N0cmluZygpO1xufTtcblxuLyoqXG4gKiBHb2VzIHRocm91Z2ggdGhlIGRlcGVuZGVuY2llcywgY29udmVydHMgdGhlbSBpbnRvIG9uZWxpbmVyLlxuICovXG5jb25zdCBmbGF0dGVuRGVwZW5kZW5jaWVzID0gKGRlcGVuZGVuY2llczogW3N0cmluZywgUGFja2FnZURlcGVuZGVuY3ldW10pID0+XG4gIGRlcGVuZGVuY2llcy5tYXAoZGVwZW5kZW5jeSA9PiB7XG4gICAgY29uc3QgW3BhY2thZ2VOYW1lLCB2ZXJzaW9uSW5mb10gPSBkZXBlbmRlbmN5O1xuICAgIGNvbnN0IHt2ZXJzaW9uLCBleHRyYW5lb3VzLCByZXNvbHZlZH0gPSB2ZXJzaW9uSW5mbztcbiAgICBjb25zdCBpZkV4dHJhbmVvdXMgPSBleHRyYW5lb3VzID8gYCBleHRyYW5lb3VzIC0+ICR7cmVzb2x2ZWR9YCA6ICcnO1xuICAgIGNvbnN0IGlmRnJvbUdpdGh1YiA9XG4gICAgICByZXNvbHZlZCAmJiByZXNvbHZlZC5zdGFydHNXaXRoKCdnaXQnKSA/IGAgKCR7cmVzb2x2ZWR9KWAgOiAnJztcbiAgICBjb25zdCBmb3JtYXR0ZWRTdHJpbmcgPSBgJHtwYWNrYWdlTmFtZX1AJHt2ZXJzaW9ufSR7XG4gICAgICBpZkV4dHJhbmVvdXMgfHwgaWZGcm9tR2l0aHViXG4gICAgfWA7XG5cbiAgICByZXR1cm4gZm9ybWF0dGVkU3RyaW5nO1xuICB9KTtcblxuLyoqXG4gKiAxLiBSdW5zIGBucG0gbGlzdCAtLWpzb25gLlxuICogMi4gUGFyc2VzIGpzb24gZGF0YSBhbmQgY29udmVydHMgdG8gbGlzdC5cbiAqL1xuY29uc3QgbGlzdERlcGVuZGVuY2llcyA9IGFzeW5jICgpID0+IHtcbiAgY29uc3Qge3N0ZG91dH0gPSBhd2FpdCBleGVjUHJvbWlzZSgnbnBtIGxpc3QgLS1qc29uJyk7XG4gIGNvbnN0IG5wbUxpc3RSZXNwb25zZTogTnBtTGlzdFJlc3BvbnNlID0gSlNPTi5wYXJzZShzdGRvdXQpO1xuICBjb25zdCBkZXBlbmRlbmNpZXMgPSBPYmplY3QuZW50cmllcyhucG1MaXN0UmVzcG9uc2UuZGVwZW5kZW5jaWVzKTtcblxuICByZXR1cm4gZmxhdHRlbkRlcGVuZGVuY2llcyhkZXBlbmRlbmNpZXMpO1xufTtcblxuLyoqXG4gKiBJbmplY3RzIGV4ZWN1dGlvbiBpbmZvcm1hdGlvbiAoY29tbWFuZCwgZW52aXJvbm1lbnQpIHRvIGV4aXN0aW5nIG1hbmlmZXN0LlxuICovXG5leHBvcnQgY29uc3QgaW5qZWN0RW52aXJvbm1lbnQgPSBhc3luYyAoXG4gIG1hbmlmZXN0OiBNYW5pZmVzdFxuKTogUHJvbWlzZTxNYW5pZmVzdD4gPT4ge1xuICBjb25zdCBkZXBlbmRlbmNpZXMgPSBhd2FpdCBsaXN0RGVwZW5kZW5jaWVzKCk7XG4gIGNvbnN0IGluZm8gPSBhd2FpdCBvc0luZm8oKTtcbiAgY29uc3QgZGF0ZVRpbWUgPSBgJHtnZXRQcm9jZXNzU3RhcnRpbmdUaW1lc3RhbXAoKX0gKFVUQylgO1xuXG4gIHJldHVybiB7XG4gICAgLi4ubWFuaWZlc3QsXG4gICAgZXhlY3V0aW9uOiB7XG4gICAgICBzdGF0dXM6ICdzdWNjZXNzJyxcbiAgICAgIGNvbW1hbmQ6IHByb2Nlc3MuYXJndi5qb2luKCcgJyksXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICAnaWYtdmVyc2lvbic6IHBhY2thZ2VKc29uLnZlcnNpb24sXG4gICAgICAgIG9zOiBpbmZvLm9zLFxuICAgICAgICAnb3MtdmVyc2lvbic6IGluZm9bJ29zLXZlcnNpb24nXSxcbiAgICAgICAgJ25vZGUtdmVyc2lvbic6IHByb2Nlc3MudmVyc2lvbnMubm9kZSxcbiAgICAgICAgJ2RhdGUtdGltZSc6IGRhdGVUaW1lLFxuICAgICAgICBkZXBlbmRlbmNpZXMsXG4gICAgICB9LFxuICAgIH0sXG4gIH07XG59O1xuIl19
@@ -1,6 +1,7 @@
1
1
  import { Context } from '../types/manifest';
2
+ import { Options } from '../types/process-args';
2
3
  /**
3
4
  * Output manager - Exhaust.
4
5
  * Grabs output plugins from context, executes every.
5
6
  */
6
- export declare const exhaust: (tree: any, context: Context, outputPath?: string) => void;
7
+ export declare const exhaust: (tree: any, context: Context, outputOptions: Options) => Promise<void>;
@@ -10,14 +10,14 @@ const export_log_1 = require("../builtins/export-log");
10
10
  const export_yaml_1 = require("../builtins/export-yaml");
11
11
  const errors_1 = require("../util/errors");
12
12
  const config_1 = require("../config");
13
- const { ModuleInitializationError } = errors_1.ERRORS;
13
+ const { ExhaustError } = errors_1.ERRORS;
14
14
  const { INVALID_EXHAUST_PLUGIN } = config_1.STRINGS;
15
15
  /**
16
16
  * Initialize exhaust plugins based on the provided config
17
17
  */
18
18
  const initializeExhaustPlugins = (plugins) => plugins.map(initializeExhaustPlugin);
19
19
  /**
20
- * factory method for exhaust plugins
20
+ * Factory method for exhaust plugins.
21
21
  */
22
22
  const initializeExhaustPlugin = (name) => {
23
23
  switch (name) {
@@ -27,24 +27,26 @@ const initializeExhaustPlugin = (name) => {
27
27
  return (0, export_csv_1.ExportCSV)();
28
28
  case 'csv-raw':
29
29
  return (0, export_csv_raw_1.ExportCSVRaw)();
30
- case 'log':
31
- return (0, export_log_1.ExportLog)();
32
30
  default:
33
- throw new ModuleInitializationError(INVALID_EXHAUST_PLUGIN(name));
31
+ throw new ExhaustError(INVALID_EXHAUST_PLUGIN(name));
34
32
  }
35
33
  };
36
34
  /**
37
35
  * Output manager - Exhaust.
38
36
  * Grabs output plugins from context, executes every.
39
37
  */
40
- const exhaust = (tree, context, outputPath) => {
38
+ const exhaust = async (tree, context, outputOptions) => {
41
39
  const outputPlugins = context.initialize.outputs;
42
- if (!outputPlugins) {
40
+ if (outputOptions.stdout) {
43
41
  (0, export_log_1.ExportLog)().execute(tree, context);
42
+ }
43
+ if (!outputPlugins) {
44
44
  return;
45
45
  }
46
46
  const exhaustPlugins = initializeExhaustPlugins(outputPlugins);
47
- exhaustPlugins.forEach(plugin => plugin.execute(tree, context, outputPath));
47
+ for await (const plugin of exhaustPlugins) {
48
+ await plugin.execute(tree, context, outputOptions.outputPath);
49
+ }
48
50
  };
49
51
  exports.exhaust = exhaust;
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhoYXVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvZXhoYXVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7R0FFRztBQUNILHVEQUFpRDtBQUNqRCwrREFBd0Q7QUFDeEQsdURBQWlEO0FBQ2pELHlEQUFtRDtBQUVuRCwyQ0FBc0M7QUFFdEMsc0NBQWtDO0FBS2xDLE1BQU0sRUFBQyx5QkFBeUIsRUFBQyxHQUFHLGVBQU0sQ0FBQztBQUMzQyxNQUFNLEVBQUMsc0JBQXNCLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBRXpDOztHQUVHO0FBQ0gsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLE9BQWlCLEVBQUUsRUFBRSxDQUNyRCxPQUFPLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUM7QUFFdkM7O0dBRUc7QUFDSCxNQUFNLHVCQUF1QixHQUFHLENBQUMsSUFBWSxFQUEwQixFQUFFO0lBQ3ZFLFFBQVEsSUFBSSxFQUFFO1FBQ1osS0FBSyxNQUFNO1lBQ1QsT0FBTyxJQUFBLHdCQUFVLEdBQUUsQ0FBQztRQUN0QixLQUFLLEtBQUs7WUFDUixPQUFPLElBQUEsc0JBQVMsR0FBRSxDQUFDO1FBQ3JCLEtBQUssU0FBUztZQUNaLE9BQU8sSUFBQSw2QkFBWSxHQUFFLENBQUM7UUFDeEIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxJQUFBLHNCQUFTLEdBQUUsQ0FBQztRQUNyQjtZQUNFLE1BQU0sSUFBSSx5QkFBeUIsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0tBQ3JFO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0ksTUFBTSxPQUFPLEdBQUcsQ0FBQyxJQUFTLEVBQUUsT0FBZ0IsRUFBRSxVQUFtQixFQUFFLEVBQUU7SUFDMUUsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7SUFFakQsSUFBSSxDQUFDLGFBQWEsRUFBRTtRQUNsQixJQUFBLHNCQUFTLEdBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRW5DLE9BQU87S0FDUjtJQUVELE1BQU0sY0FBYyxHQUFHLHdCQUF3QixDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQy9ELGNBQWMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztBQUM5RSxDQUFDLENBQUM7QUFYVyxRQUFBLE9BQU8sV0FXbEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEB0b2RvIFRoaXMgaXMgdGVtcG9yYXJ5IHNvbHV0aW9uLCB3aWxsIGJlIHJlZmFjdG9yZWQgdG8gc3VwcG9ydCBkeW5hbWljIHBsdWdpbnMuXG4gKi9cbmltcG9ydCB7RXhwb3J0Q1NWfSBmcm9tICcuLi9idWlsdGlucy9leHBvcnQtY3N2JztcbmltcG9ydCB7RXhwb3J0Q1NWUmF3fSBmcm9tICcuLi9idWlsdGlucy9leHBvcnQtY3N2LXJhdyc7XG5pbXBvcnQge0V4cG9ydExvZ30gZnJvbSAnLi4vYnVpbHRpbnMvZXhwb3J0LWxvZyc7XG5pbXBvcnQge0V4cG9ydFlhbWx9IGZyb20gJy4uL2J1aWx0aW5zL2V4cG9ydC15YW1sJztcblxuaW1wb3J0IHtFUlJPUlN9IGZyb20gJy4uL3V0aWwvZXJyb3JzJztcblxuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuLi9jb25maWcnO1xuXG5pbXBvcnQge0V4aGF1c3RQbHVnaW5JbnRlcmZhY2V9IGZyb20gJy4uL3R5cGVzL2V4aGF1c3QtcGx1Z2luLWludGVyZmFjZSc7XG5pbXBvcnQge0NvbnRleHR9IGZyb20gJy4uL3R5cGVzL21hbmlmZXN0JztcblxuY29uc3Qge01vZHVsZUluaXRpYWxpemF0aW9uRXJyb3J9ID0gRVJST1JTO1xuY29uc3Qge0lOVkFMSURfRVhIQVVTVF9QTFVHSU59ID0gU1RSSU5HUztcblxuLyoqXG4gKiBJbml0aWFsaXplIGV4aGF1c3QgcGx1Z2lucyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgY29uZmlnXG4gKi9cbmNvbnN0IGluaXRpYWxpemVFeGhhdXN0UGx1Z2lucyA9IChwbHVnaW5zOiBzdHJpbmdbXSkgPT5cbiAgcGx1Z2lucy5tYXAoaW5pdGlhbGl6ZUV4aGF1c3RQbHVnaW4pO1xuXG4vKipcbiAqIGZhY3RvcnkgbWV0aG9kIGZvciBleGhhdXN0IHBsdWdpbnNcbiAqL1xuY29uc3QgaW5pdGlhbGl6ZUV4aGF1c3RQbHVnaW4gPSAobmFtZTogc3RyaW5nKTogRXhoYXVzdFBsdWdpbkludGVyZmFjZSA9PiB7XG4gIHN3aXRjaCAobmFtZSkge1xuICAgIGNhc2UgJ3lhbWwnOlxuICAgICAgcmV0dXJuIEV4cG9ydFlhbWwoKTtcbiAgICBjYXNlICdjc3YnOlxuICAgICAgcmV0dXJuIEV4cG9ydENTVigpO1xuICAgIGNhc2UgJ2Nzdi1yYXcnOlxuICAgICAgcmV0dXJuIEV4cG9ydENTVlJhdygpO1xuICAgIGNhc2UgJ2xvZyc6XG4gICAgICByZXR1cm4gRXhwb3J0TG9nKCk7XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBNb2R1bGVJbml0aWFsaXphdGlvbkVycm9yKElOVkFMSURfRVhIQVVTVF9QTFVHSU4obmFtZSkpO1xuICB9XG59O1xuXG4vKipcbiAqIE91dHB1dCBtYW5hZ2VyIC0gRXhoYXVzdC5cbiAqIEdyYWJzIG91dHB1dCBwbHVnaW5zIGZyb20gY29udGV4dCwgZXhlY3V0ZXMgZXZlcnkuXG4gKi9cbmV4cG9ydCBjb25zdCBleGhhdXN0ID0gKHRyZWU6IGFueSwgY29udGV4dDogQ29udGV4dCwgb3V0cHV0UGF0aD86IHN0cmluZykgPT4ge1xuICBjb25zdCBvdXRwdXRQbHVnaW5zID0gY29udGV4dC5pbml0aWFsaXplLm91dHB1dHM7XG5cbiAgaWYgKCFvdXRwdXRQbHVnaW5zKSB7XG4gICAgRXhwb3J0TG9nKCkuZXhlY3V0ZSh0cmVlLCBjb250ZXh0KTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGV4aGF1c3RQbHVnaW5zID0gaW5pdGlhbGl6ZUV4aGF1c3RQbHVnaW5zKG91dHB1dFBsdWdpbnMpO1xuICBleGhhdXN0UGx1Z2lucy5mb3JFYWNoKHBsdWdpbiA9PiBwbHVnaW4uZXhlY3V0ZSh0cmVlLCBjb250ZXh0LCBvdXRwdXRQYXRoKSk7XG59O1xuIl19
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhoYXVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvZXhoYXVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7R0FFRztBQUNILHVEQUFpRDtBQUNqRCwrREFBd0Q7QUFDeEQsdURBQWlEO0FBQ2pELHlEQUFtRDtBQUVuRCwyQ0FBc0M7QUFFdEMsc0NBQWtDO0FBTWxDLE1BQU0sRUFBQyxZQUFZLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFDOUIsTUFBTSxFQUFDLHNCQUFzQixFQUFDLEdBQUcsZ0JBQU8sQ0FBQztBQUV6Qzs7R0FFRztBQUNILE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxPQUFpQixFQUFFLEVBQUUsQ0FDckQsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBRXZDOztHQUVHO0FBQ0gsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLElBQVksRUFBMEIsRUFBRTtJQUN2RSxRQUFRLElBQUksRUFBRTtRQUNaLEtBQUssTUFBTTtZQUNULE9BQU8sSUFBQSx3QkFBVSxHQUFFLENBQUM7UUFDdEIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxJQUFBLHNCQUFTLEdBQUUsQ0FBQztRQUNyQixLQUFLLFNBQVM7WUFDWixPQUFPLElBQUEsNkJBQVksR0FBRSxDQUFDO1FBQ3hCO1lBQ0UsTUFBTSxJQUFJLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0tBQ3hEO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0ksTUFBTSxPQUFPLEdBQUcsS0FBSyxFQUMxQixJQUFTLEVBQ1QsT0FBZ0IsRUFDaEIsYUFBc0IsRUFDdEIsRUFBRTtJQUNGLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO0lBRWpELElBQUksYUFBYSxDQUFDLE1BQU0sRUFBRTtRQUN4QixJQUFBLHNCQUFTLEdBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0tBQ3BDO0lBRUQsSUFBSSxDQUFDLGFBQWEsRUFBRTtRQUNsQixPQUFPO0tBQ1I7SUFFRCxNQUFNLGNBQWMsR0FBRyx3QkFBd0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUUvRCxJQUFJLEtBQUssRUFBRSxNQUFNLE1BQU0sSUFBSSxjQUFjLEVBQUU7UUFDekMsTUFBTSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBQy9EO0FBQ0gsQ0FBQyxDQUFDO0FBcEJXLFFBQUEsT0FBTyxXQW9CbEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEB0b2RvIFRoaXMgaXMgdGVtcG9yYXJ5IHNvbHV0aW9uLCB3aWxsIGJlIHJlZmFjdG9yZWQgdG8gc3VwcG9ydCBkeW5hbWljIHBsdWdpbnMuXG4gKi9cbmltcG9ydCB7RXhwb3J0Q1NWfSBmcm9tICcuLi9idWlsdGlucy9leHBvcnQtY3N2JztcbmltcG9ydCB7RXhwb3J0Q1NWUmF3fSBmcm9tICcuLi9idWlsdGlucy9leHBvcnQtY3N2LXJhdyc7XG5pbXBvcnQge0V4cG9ydExvZ30gZnJvbSAnLi4vYnVpbHRpbnMvZXhwb3J0LWxvZyc7XG5pbXBvcnQge0V4cG9ydFlhbWx9IGZyb20gJy4uL2J1aWx0aW5zL2V4cG9ydC15YW1sJztcblxuaW1wb3J0IHtFUlJPUlN9IGZyb20gJy4uL3V0aWwvZXJyb3JzJztcblxuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuLi9jb25maWcnO1xuXG5pbXBvcnQge0V4aGF1c3RQbHVnaW5JbnRlcmZhY2V9IGZyb20gJy4uL3R5cGVzL2V4aGF1c3QtcGx1Z2luLWludGVyZmFjZSc7XG5pbXBvcnQge0NvbnRleHR9IGZyb20gJy4uL3R5cGVzL21hbmlmZXN0JztcbmltcG9ydCB7T3B0aW9uc30gZnJvbSAnLi4vdHlwZXMvcHJvY2Vzcy1hcmdzJztcblxuY29uc3Qge0V4aGF1c3RFcnJvcn0gPSBFUlJPUlM7XG5jb25zdCB7SU5WQUxJRF9FWEhBVVNUX1BMVUdJTn0gPSBTVFJJTkdTO1xuXG4vKipcbiAqIEluaXRpYWxpemUgZXhoYXVzdCBwbHVnaW5zIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBjb25maWdcbiAqL1xuY29uc3QgaW5pdGlhbGl6ZUV4aGF1c3RQbHVnaW5zID0gKHBsdWdpbnM6IHN0cmluZ1tdKSA9PlxuICBwbHVnaW5zLm1hcChpbml0aWFsaXplRXhoYXVzdFBsdWdpbik7XG5cbi8qKlxuICogRmFjdG9yeSBtZXRob2QgZm9yIGV4aGF1c3QgcGx1Z2lucy5cbiAqL1xuY29uc3QgaW5pdGlhbGl6ZUV4aGF1c3RQbHVnaW4gPSAobmFtZTogc3RyaW5nKTogRXhoYXVzdFBsdWdpbkludGVyZmFjZSA9PiB7XG4gIHN3aXRjaCAobmFtZSkge1xuICAgIGNhc2UgJ3lhbWwnOlxuICAgICAgcmV0dXJuIEV4cG9ydFlhbWwoKTtcbiAgICBjYXNlICdjc3YnOlxuICAgICAgcmV0dXJuIEV4cG9ydENTVigpO1xuICAgIGNhc2UgJ2Nzdi1yYXcnOlxuICAgICAgcmV0dXJuIEV4cG9ydENTVlJhdygpO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXhoYXVzdEVycm9yKElOVkFMSURfRVhIQVVTVF9QTFVHSU4obmFtZSkpO1xuICB9XG59O1xuXG4vKipcbiAqIE91dHB1dCBtYW5hZ2VyIC0gRXhoYXVzdC5cbiAqIEdyYWJzIG91dHB1dCBwbHVnaW5zIGZyb20gY29udGV4dCwgZXhlY3V0ZXMgZXZlcnkuXG4gKi9cbmV4cG9ydCBjb25zdCBleGhhdXN0ID0gYXN5bmMgKFxuICB0cmVlOiBhbnksXG4gIGNvbnRleHQ6IENvbnRleHQsXG4gIG91dHB1dE9wdGlvbnM6IE9wdGlvbnNcbikgPT4ge1xuICBjb25zdCBvdXRwdXRQbHVnaW5zID0gY29udGV4dC5pbml0aWFsaXplLm91dHB1dHM7XG5cbiAgaWYgKG91dHB1dE9wdGlvbnMuc3Rkb3V0KSB7XG4gICAgRXhwb3J0TG9nKCkuZXhlY3V0ZSh0cmVlLCBjb250ZXh0KTtcbiAgfVxuXG4gIGlmICghb3V0cHV0UGx1Z2lucykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGV4aGF1c3RQbHVnaW5zID0gaW5pdGlhbGl6ZUV4aGF1c3RQbHVnaW5zKG91dHB1dFBsdWdpbnMpO1xuXG4gIGZvciBhd2FpdCAoY29uc3QgcGx1Z2luIG9mIGV4aGF1c3RQbHVnaW5zKSB7XG4gICAgYXdhaXQgcGx1Z2luLmV4ZWN1dGUodHJlZSwgY29udGV4dCwgb3V0cHV0T3B0aW9ucy5vdXRwdXRQYXRoKTtcbiAgfVxufTtcbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { GlobalPlugins } from '../types/manifest';
2
2
  import { PluginStorageInterface } from '../types/plugin-storage';
3
3
  /**
4
- * Registers all plugins from `manifest`.`initalize` property.
4
+ * Registers all plugins from `manifest`.`initialize` property.
5
5
  */
6
- export declare const initalize: (plugins: GlobalPlugins) => Promise<PluginStorageInterface>;
6
+ export declare const initialize: (plugins: GlobalPlugins) => Promise<PluginStorageInterface>;
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.initalize = void 0;
26
+ exports.initialize = void 0;
27
27
  const pathLib = require("path");
28
28
  const errors_1 = require("../util/errors");
29
29
  const logger_1 = require("../util/logger");
@@ -88,9 +88,9 @@ const initPlugin = async (initPluginParams) => {
88
88
  return plugin(globalConfig);
89
89
  };
90
90
  /**
91
- * Registers all plugins from `manifest`.`initalize` property.
91
+ * Registers all plugins from `manifest`.`initialize` property.
92
92
  */
93
- const initalize = async (plugins) => {
93
+ const initialize = async (plugins) => {
94
94
  const storage = (0, plugin_storage_1.pluginStorage)();
95
95
  for await (const pluginName of Object.keys(plugins)) {
96
96
  const plugin = await initPlugin(plugins[pluginName]);
@@ -98,5 +98,5 @@ const initalize = async (plugins) => {
98
98
  }
99
99
  return storage;
100
100
  };
101
- exports.initalize = initalize;
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvaW5pdGlhbGl6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdDQUFpQztBQUVqQywyQ0FBc0M7QUFDdEMsMkNBQXNDO0FBQ3RDLHFEQUFnRDtBQUNoRCwyREFBcUQ7QUFFckQsc0NBQTBDO0FBTTFDLE1BQU0sRUFBQyx5QkFBeUIsRUFBRSxxQkFBcUIsRUFBQyxHQUFHLGVBQU0sQ0FBQztBQUVsRSxNQUFNLEVBQUMsV0FBVyxFQUFFLGFBQWEsRUFBQyxHQUFHLGVBQU0sQ0FBQztBQUM1QyxNQUFNLEVBQUMsY0FBYyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBQyxHQUMxRSxnQkFBTyxDQUFDO0FBRVY7O0dBRUc7QUFDSCxNQUFNLGdCQUFnQixHQUFHLEtBQUssRUFBRSxJQUFZLEVBQUUsRUFBRTtJQUM5QyxJQUFJO1FBQ0YsTUFBTSxNQUFNLEdBQUcseUJBQWEsSUFBSSx1Q0FBQyxDQUFDO1FBRWxDLE9BQU8sTUFBTSxDQUFDO0tBQ2Y7SUFBQyxPQUFPLEtBQUssRUFBRTtRQUNkLGVBQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEIsTUFBTSxJQUFJLHlCQUF5QixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7S0FDaEU7QUFDSCxDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0scUJBQXFCLEdBQUcsS0FBSyxFQUFFLE1BQWMsRUFBRSxJQUFZLEVBQUUsRUFBRTtJQUNuRSxNQUFNLFlBQVksR0FBRyxNQUFNLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWxELE9BQU8sWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzlCLENBQUMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsR0FBRyxDQUFDLE1BQWMsRUFBRSxJQUFZLEVBQUUsRUFBRTtJQUNsRCxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7UUFDdEIsSUFBSSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxTQUFTLGNBQWMsQ0FBQyxDQUFDO0tBQ3REO1NBQU07UUFDTCxJQUFJLElBQUksRUFBRSxVQUFVLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDakMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM5QixJQUFJLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDaEM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUNqQyxJQUFBLHlCQUFXLEVBQUMsZUFBTSxDQUFDLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ25EO0tBQ0Y7SUFFRCxPQUFPLHFCQUFxQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztBQUM3QyxDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sVUFBVSxHQUFHLEtBQUssRUFDdEIsZ0JBQStCLEVBQ0wsRUFBRTtJQUM1QixNQUFNLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFDLEdBQUcsZ0JBQWdCLENBQUM7SUFFdkUsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUNYLE1BQU0sSUFBSSxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztLQUNqRDtJQUVELElBQUksQ0FBQyxJQUFJLEVBQUU7UUFDVCxNQUFNLElBQUkscUJBQXFCLENBQUMsWUFBWSxDQUFDLENBQUM7S0FDL0M7SUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFFOUMsT0FBTyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDOUIsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSSxNQUFNLFNBQVMsR0FBRyxLQUFLLEVBQzVCLE9BQXNCLEVBQ1csRUFBRTtJQUNuQyxNQUFNLE9BQU8sR0FBRyxJQUFBLDhCQUFhLEdBQUUsQ0FBQztJQUVoQyxJQUFJLEtBQUssRUFBRSxNQUFNLFVBQVUsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ25ELE1BQU0sTUFBTSxHQUFHLE1BQU0sVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQ2pDO0lBRUQsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBWFcsUUFBQSxTQUFTLGFBV3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGhMaWIgPSByZXF1aXJlKCdwYXRoJyk7XG5cbmltcG9ydCB7RVJST1JTfSBmcm9tICcuLi91dGlsL2Vycm9ycyc7XG5pbXBvcnQge2xvZ2dlcn0gZnJvbSAnLi4vdXRpbC9sb2dnZXInO1xuaW1wb3J0IHttZW1vaXplZExvZ30gZnJvbSAnLi4vdXRpbC9sb2ctbWVtb2l6ZSc7XG5pbXBvcnQge3BsdWdpblN0b3JhZ2V9IGZyb20gJy4uL3V0aWwvcGx1Z2luLXN0b3JhZ2UnO1xuXG5pbXBvcnQge0NPTkZJRywgU1RSSU5HU30gZnJvbSAnLi4vY29uZmlnJztcblxuaW1wb3J0IHtQbHVnaW5JbnRlcmZhY2V9IGZyb20gJy4uL3R5cGVzL2ludGVyZmFjZSc7XG5pbXBvcnQge0dsb2JhbFBsdWdpbnMsIFBsdWdpbk9wdGlvbnN9IGZyb20gJy4uL3R5cGVzL21hbmlmZXN0JztcbmltcG9ydCB7UGx1Z2luU3RvcmFnZUludGVyZmFjZX0gZnJvbSAnLi4vdHlwZXMvcGx1Z2luLXN0b3JhZ2UnO1xuXG5jb25zdCB7TW9kdWxlSW5pdGlhbGl6YXRpb25FcnJvciwgUGx1Z2luQ3JlZGVudGlhbEVycm9yfSA9IEVSUk9SUztcblxuY29uc3Qge0dJVEhVQl9QQVRILCBOQVRJVkVfUExVR0lOfSA9IENPTkZJRztcbmNvbnN0IHtNSVNTSU5HX01FVEhPRCwgTUlTU0lOR19QQVRILCBOT1RfTkFUSVZFX1BMVUdJTiwgSU5WQUxJRF9NT0RVTEVfUEFUSH0gPVxuICBTVFJJTkdTO1xuXG4vKipcbiAqIEltcG9ydHMgbW9kdWxlIGJ5IGdpdmVuIGBwYXRoYC5cbiAqL1xuY29uc3QgaW1wb3J0TW9kdWxlRnJvbSA9IGFzeW5jIChwYXRoOiBzdHJpbmcpID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBtb2R1bGUgPSBhd2FpdCBpbXBvcnQocGF0aCk7XG5cbiAgICByZXR1cm4gbW9kdWxlO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGxvZ2dlci5lcnJvcihlcnJvcik7XG4gICAgdGhyb3cgbmV3IE1vZHVsZUluaXRpYWxpemF0aW9uRXJyb3IoSU5WQUxJRF9NT0RVTEVfUEFUSChwYXRoKSk7XG4gIH1cbn07XG5cbi8qKlxuICogSW1wb3J0cyBgbW9kdWxlYCBmcm9tIGdpdmVuIGBwYXRoYCwgdGhlbiBjaGVja3MgaWYgaXQncyBgTW9kZWxQbHVnaW5JbnRlcmZhY2VgIGV4dGVuc2lvbi5cbiAqL1xuY29uc3QgaW1wb3J0QW5kVmVyaWZ5TW9kdWxlID0gYXN5bmMgKG1ldGhvZDogc3RyaW5nLCBwYXRoOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgcGx1Z2luTW9kdWxlID0gYXdhaXQgaW1wb3J0TW9kdWxlRnJvbShwYXRoKTtcblxuICByZXR1cm4gcGx1Z2luTW9kdWxlW21ldGhvZF07XG59O1xuXG4vKipcbiAqIENoZWNrcyBpZiBwbHVnaW4gaXMgbWlzc2luZyB0aGVuIHJlamVjdHMgd2l0aCBlcnJvci5cbiAqIFRoZW4gY2hlY2tzIGlmIGBwYXRoYCBpcyBzdGFydGluZyB3aXRoIGdpdGh1YiwgdGhlbiBncmFicyB0aGUgcmVwb3NpdG9yeSBuYW1lLlxuICogSW1wb3J0cyBtb2R1bGUsIHRoZW4gY2hlY2tzIGlmIGl0J3MgYSB2YWxpZCBwbHVnaW4uXG4gKi9cbmNvbnN0IGhhbmRNb2R1bGUgPSAobWV0aG9kOiBzdHJpbmcsIHBhdGg6IHN0cmluZykgPT4ge1xuICBpZiAocGF0aCA9PT0gJ2J1aWx0aW4nKSB7XG4gICAgcGF0aCA9IHBhdGhMaWIubm9ybWFsaXplKGAke19fZGlybmFtZX0vLi4vYnVpbHRpbnNgKTtcbiAgfSBlbHNlIHtcbiAgICBpZiAocGF0aD8uc3RhcnRzV2l0aChHSVRIVUJfUEFUSCkpIHtcbiAgICAgIGNvbnN0IHBhcnRzID0gcGF0aC5zcGxpdCgnLycpO1xuICAgICAgcGF0aCA9IHBhcnRzW3BhcnRzLmxlbmd0aCAtIDFdO1xuICAgIH1cblxuICAgIGlmICghcGF0aC5pbmNsdWRlcyhOQVRJVkVfUExVR0lOKSkge1xuICAgICAgbWVtb2l6ZWRMb2cobG9nZ2VyLndhcm4sIE5PVF9OQVRJVkVfUExVR0lOKHBhdGgpKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gaW1wb3J0QW5kVmVyaWZ5TW9kdWxlKG1ldGhvZCwgcGF0aCk7XG59O1xuXG4vKipcbiAqIEluaXRpYWxpemVzIHBsdWdpbiB3aXRoIGdsb2JhbCBjb25maWcuXG4gKi9cbmNvbnN0IGluaXRQbHVnaW4gPSBhc3luYyAoXG4gIGluaXRQbHVnaW5QYXJhbXM6IFBsdWdpbk9wdGlvbnNcbik6IFByb21pc2U8UGx1Z2luSW50ZXJmYWNlPiA9PiB7XG4gIGNvbnN0IHttZXRob2QsIHBhdGgsICdnbG9iYWwtY29uZmlnJzogZ2xvYmFsQ29uZmlnfSA9IGluaXRQbHVnaW5QYXJhbXM7XG5cbiAgaWYgKCFtZXRob2QpIHtcbiAgICB0aHJvdyBuZXcgUGx1Z2luQ3JlZGVudGlhbEVycm9yKE1JU1NJTkdfTUVUSE9EKTtcbiAgfVxuXG4gIGlmICghcGF0aCkge1xuICAgIHRocm93IG5ldyBQbHVnaW5DcmVkZW50aWFsRXJyb3IoTUlTU0lOR19QQVRIKTtcbiAgfVxuXG4gIGNvbnN0IHBsdWdpbiA9IGF3YWl0IGhhbmRNb2R1bGUobWV0aG9kLCBwYXRoKTtcblxuICByZXR1cm4gcGx1Z2luKGdsb2JhbENvbmZpZyk7XG59O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbGwgcGx1Z2lucyBmcm9tIGBtYW5pZmVzdGAuYGluaXRhbGl6ZWAgcHJvcGVydHkuXG4gKi9cbmV4cG9ydCBjb25zdCBpbml0YWxpemUgPSBhc3luYyAoXG4gIHBsdWdpbnM6IEdsb2JhbFBsdWdpbnNcbik6IFByb21pc2U8UGx1Z2luU3RvcmFnZUludGVyZmFjZT4gPT4ge1xuICBjb25zdCBzdG9yYWdlID0gcGx1Z2luU3RvcmFnZSgpO1xuXG4gIGZvciBhd2FpdCAoY29uc3QgcGx1Z2luTmFtZSBvZiBPYmplY3Qua2V5cyhwbHVnaW5zKSkge1xuICAgIGNvbnN0IHBsdWdpbiA9IGF3YWl0IGluaXRQbHVnaW4ocGx1Z2luc1twbHVnaW5OYW1lXSk7XG4gICAgc3RvcmFnZS5zZXQocGx1Z2luTmFtZSwgcGx1Z2luKTtcbiAgfVxuXG4gIHJldHVybiBzdG9yYWdlO1xufTtcbiJdfQ==
101
+ exports.initialize = initialize;
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvaW5pdGlhbGl6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdDQUFpQztBQUVqQywyQ0FBc0M7QUFDdEMsMkNBQXNDO0FBQ3RDLHFEQUFnRDtBQUNoRCwyREFBcUQ7QUFFckQsc0NBQTBDO0FBTTFDLE1BQU0sRUFBQyx5QkFBeUIsRUFBRSxxQkFBcUIsRUFBQyxHQUFHLGVBQU0sQ0FBQztBQUVsRSxNQUFNLEVBQUMsV0FBVyxFQUFFLGFBQWEsRUFBQyxHQUFHLGVBQU0sQ0FBQztBQUM1QyxNQUFNLEVBQUMsY0FBYyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBQyxHQUMxRSxnQkFBTyxDQUFDO0FBRVY7O0dBRUc7QUFDSCxNQUFNLGdCQUFnQixHQUFHLEtBQUssRUFBRSxJQUFZLEVBQUUsRUFBRTtJQUM5QyxJQUFJO1FBQ0YsTUFBTSxNQUFNLEdBQUcseUJBQWEsSUFBSSx1Q0FBQyxDQUFDO1FBRWxDLE9BQU8sTUFBTSxDQUFDO0tBQ2Y7SUFBQyxPQUFPLEtBQUssRUFBRTtRQUNkLGVBQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEIsTUFBTSxJQUFJLHlCQUF5QixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7S0FDaEU7QUFDSCxDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0scUJBQXFCLEdBQUcsS0FBSyxFQUFFLE1BQWMsRUFBRSxJQUFZLEVBQUUsRUFBRTtJQUNuRSxNQUFNLFlBQVksR0FBRyxNQUFNLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWxELE9BQU8sWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzlCLENBQUMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsR0FBRyxDQUFDLE1BQWMsRUFBRSxJQUFZLEVBQUUsRUFBRTtJQUNsRCxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7UUFDdEIsSUFBSSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxTQUFTLGNBQWMsQ0FBQyxDQUFDO0tBQ3REO1NBQU07UUFDTCxJQUFJLElBQUksRUFBRSxVQUFVLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDakMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM5QixJQUFJLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDaEM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUNqQyxJQUFBLHlCQUFXLEVBQUMsZUFBTSxDQUFDLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ25EO0tBQ0Y7SUFFRCxPQUFPLHFCQUFxQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztBQUM3QyxDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sVUFBVSxHQUFHLEtBQUssRUFDdEIsZ0JBQStCLEVBQ0wsRUFBRTtJQUM1QixNQUFNLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFDLEdBQUcsZ0JBQWdCLENBQUM7SUFFdkUsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUNYLE1BQU0sSUFBSSxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztLQUNqRDtJQUVELElBQUksQ0FBQyxJQUFJLEVBQUU7UUFDVCxNQUFNLElBQUkscUJBQXFCLENBQUMsWUFBWSxDQUFDLENBQUM7S0FDL0M7SUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFFOUMsT0FBTyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDOUIsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSSxNQUFNLFVBQVUsR0FBRyxLQUFLLEVBQzdCLE9BQXNCLEVBQ1csRUFBRTtJQUNuQyxNQUFNLE9BQU8sR0FBRyxJQUFBLDhCQUFhLEdBQUUsQ0FBQztJQUVoQyxJQUFJLEtBQUssRUFBRSxNQUFNLFVBQVUsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ25ELE1BQU0sTUFBTSxHQUFHLE1BQU0sVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQ2pDO0lBRUQsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBWFcsUUFBQSxVQUFVLGNBV3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGhMaWIgPSByZXF1aXJlKCdwYXRoJyk7XG5cbmltcG9ydCB7RVJST1JTfSBmcm9tICcuLi91dGlsL2Vycm9ycyc7XG5pbXBvcnQge2xvZ2dlcn0gZnJvbSAnLi4vdXRpbC9sb2dnZXInO1xuaW1wb3J0IHttZW1vaXplZExvZ30gZnJvbSAnLi4vdXRpbC9sb2ctbWVtb2l6ZSc7XG5pbXBvcnQge3BsdWdpblN0b3JhZ2V9IGZyb20gJy4uL3V0aWwvcGx1Z2luLXN0b3JhZ2UnO1xuXG5pbXBvcnQge0NPTkZJRywgU1RSSU5HU30gZnJvbSAnLi4vY29uZmlnJztcblxuaW1wb3J0IHtQbHVnaW5JbnRlcmZhY2V9IGZyb20gJy4uL3R5cGVzL2ludGVyZmFjZSc7XG5pbXBvcnQge0dsb2JhbFBsdWdpbnMsIFBsdWdpbk9wdGlvbnN9IGZyb20gJy4uL3R5cGVzL21hbmlmZXN0JztcbmltcG9ydCB7UGx1Z2luU3RvcmFnZUludGVyZmFjZX0gZnJvbSAnLi4vdHlwZXMvcGx1Z2luLXN0b3JhZ2UnO1xuXG5jb25zdCB7TW9kdWxlSW5pdGlhbGl6YXRpb25FcnJvciwgUGx1Z2luQ3JlZGVudGlhbEVycm9yfSA9IEVSUk9SUztcblxuY29uc3Qge0dJVEhVQl9QQVRILCBOQVRJVkVfUExVR0lOfSA9IENPTkZJRztcbmNvbnN0IHtNSVNTSU5HX01FVEhPRCwgTUlTU0lOR19QQVRILCBOT1RfTkFUSVZFX1BMVUdJTiwgSU5WQUxJRF9NT0RVTEVfUEFUSH0gPVxuICBTVFJJTkdTO1xuXG4vKipcbiAqIEltcG9ydHMgbW9kdWxlIGJ5IGdpdmVuIGBwYXRoYC5cbiAqL1xuY29uc3QgaW1wb3J0TW9kdWxlRnJvbSA9IGFzeW5jIChwYXRoOiBzdHJpbmcpID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBtb2R1bGUgPSBhd2FpdCBpbXBvcnQocGF0aCk7XG5cbiAgICByZXR1cm4gbW9kdWxlO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGxvZ2dlci5lcnJvcihlcnJvcik7XG4gICAgdGhyb3cgbmV3IE1vZHVsZUluaXRpYWxpemF0aW9uRXJyb3IoSU5WQUxJRF9NT0RVTEVfUEFUSChwYXRoKSk7XG4gIH1cbn07XG5cbi8qKlxuICogSW1wb3J0cyBgbW9kdWxlYCBmcm9tIGdpdmVuIGBwYXRoYCwgdGhlbiBjaGVja3MgaWYgaXQncyBgTW9kZWxQbHVnaW5JbnRlcmZhY2VgIGV4dGVuc2lvbi5cbiAqL1xuY29uc3QgaW1wb3J0QW5kVmVyaWZ5TW9kdWxlID0gYXN5bmMgKG1ldGhvZDogc3RyaW5nLCBwYXRoOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgcGx1Z2luTW9kdWxlID0gYXdhaXQgaW1wb3J0TW9kdWxlRnJvbShwYXRoKTtcblxuICByZXR1cm4gcGx1Z2luTW9kdWxlW21ldGhvZF07XG59O1xuXG4vKipcbiAqIENoZWNrcyBpZiBwbHVnaW4gaXMgbWlzc2luZyB0aGVuIHJlamVjdHMgd2l0aCBlcnJvci5cbiAqIFRoZW4gY2hlY2tzIGlmIGBwYXRoYCBpcyBzdGFydGluZyB3aXRoIGdpdGh1YiwgdGhlbiBncmFicyB0aGUgcmVwb3NpdG9yeSBuYW1lLlxuICogSW1wb3J0cyBtb2R1bGUsIHRoZW4gY2hlY2tzIGlmIGl0J3MgYSB2YWxpZCBwbHVnaW4uXG4gKi9cbmNvbnN0IGhhbmRNb2R1bGUgPSAobWV0aG9kOiBzdHJpbmcsIHBhdGg6IHN0cmluZykgPT4ge1xuICBpZiAocGF0aCA9PT0gJ2J1aWx0aW4nKSB7XG4gICAgcGF0aCA9IHBhdGhMaWIubm9ybWFsaXplKGAke19fZGlybmFtZX0vLi4vYnVpbHRpbnNgKTtcbiAgfSBlbHNlIHtcbiAgICBpZiAocGF0aD8uc3RhcnRzV2l0aChHSVRIVUJfUEFUSCkpIHtcbiAgICAgIGNvbnN0IHBhcnRzID0gcGF0aC5zcGxpdCgnLycpO1xuICAgICAgcGF0aCA9IHBhcnRzW3BhcnRzLmxlbmd0aCAtIDFdO1xuICAgIH1cblxuICAgIGlmICghcGF0aC5pbmNsdWRlcyhOQVRJVkVfUExVR0lOKSkge1xuICAgICAgbWVtb2l6ZWRMb2cobG9nZ2VyLndhcm4sIE5PVF9OQVRJVkVfUExVR0lOKHBhdGgpKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gaW1wb3J0QW5kVmVyaWZ5TW9kdWxlKG1ldGhvZCwgcGF0aCk7XG59O1xuXG4vKipcbiAqIEluaXRpYWxpemVzIHBsdWdpbiB3aXRoIGdsb2JhbCBjb25maWcuXG4gKi9cbmNvbnN0IGluaXRQbHVnaW4gPSBhc3luYyAoXG4gIGluaXRQbHVnaW5QYXJhbXM6IFBsdWdpbk9wdGlvbnNcbik6IFByb21pc2U8UGx1Z2luSW50ZXJmYWNlPiA9PiB7XG4gIGNvbnN0IHttZXRob2QsIHBhdGgsICdnbG9iYWwtY29uZmlnJzogZ2xvYmFsQ29uZmlnfSA9IGluaXRQbHVnaW5QYXJhbXM7XG5cbiAgaWYgKCFtZXRob2QpIHtcbiAgICB0aHJvdyBuZXcgUGx1Z2luQ3JlZGVudGlhbEVycm9yKE1JU1NJTkdfTUVUSE9EKTtcbiAgfVxuXG4gIGlmICghcGF0aCkge1xuICAgIHRocm93IG5ldyBQbHVnaW5DcmVkZW50aWFsRXJyb3IoTUlTU0lOR19QQVRIKTtcbiAgfVxuXG4gIGNvbnN0IHBsdWdpbiA9IGF3YWl0IGhhbmRNb2R1bGUobWV0aG9kLCBwYXRoKTtcblxuICByZXR1cm4gcGx1Z2luKGdsb2JhbENvbmZpZyk7XG59O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbGwgcGx1Z2lucyBmcm9tIGBtYW5pZmVzdGAuYGluaXRpYWxpemVgIHByb3BlcnR5LlxuICovXG5leHBvcnQgY29uc3QgaW5pdGlhbGl6ZSA9IGFzeW5jIChcbiAgcGx1Z2luczogR2xvYmFsUGx1Z2luc1xuKTogUHJvbWlzZTxQbHVnaW5TdG9yYWdlSW50ZXJmYWNlPiA9PiB7XG4gIGNvbnN0IHN0b3JhZ2UgPSBwbHVnaW5TdG9yYWdlKCk7XG5cbiAgZm9yIGF3YWl0IChjb25zdCBwbHVnaW5OYW1lIG9mIE9iamVjdC5rZXlzKHBsdWdpbnMpKSB7XG4gICAgY29uc3QgcGx1Z2luID0gYXdhaXQgaW5pdFBsdWdpbihwbHVnaW5zW3BsdWdpbk5hbWVdKTtcbiAgICBzdG9yYWdlLnNldChwbHVnaW5OYW1lLCBwbHVnaW4pO1xuICB9XG5cbiAgcmV0dXJuIHN0b3JhZ2U7XG59O1xuIl19
@@ -4,34 +4,6 @@ import { Parameters } from '../types/parameters';
4
4
  * Returns context, tree and parameters (either the default one, or from CLI).
5
5
  */
6
6
  export declare const load: (inputPath: string, paramPath?: string) => Promise<{
7
- tree: Record<string, any>;
8
- context: {
9
- name: string;
10
- initialize: {
11
- plugins: Record<string, {
12
- path: string;
13
- method: string;
14
- 'global-config'?: Record<string, any> | undefined;
15
- }>;
16
- outputs?: string[] | undefined;
17
- };
18
- description?: string | null | undefined;
19
- tags?: {
20
- kind?: string | null | undefined;
21
- complexity?: string | null | undefined;
22
- category?: string | null | undefined;
23
- } | null | undefined;
24
- aggregation?: {
25
- type: "horizontal" | "vertical" | "both";
26
- metrics: string[];
27
- } | null | undefined;
28
- params?: {
29
- name: string;
30
- description: string;
31
- aggregation: "sum" | "none" | "avg";
32
- unit: string;
33
- }[] | null | undefined;
34
- 'if-version'?: string | null | undefined;
35
- };
7
+ rawManifest: any;
36
8
  parameters: Parameters;
37
9
  }>;
package/build/lib/load.js CHANGED
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.load = void 0;
4
- const validations_1 = require("../util/validations");
5
4
  const yaml_1 = require("../util/yaml");
6
5
  const json_1 = require("../util/json");
7
6
  const config_1 = require("../config");
@@ -11,16 +10,14 @@ const config_1 = require("../config");
11
10
  */
12
11
  const load = async (inputPath, paramPath) => {
13
12
  const rawManifest = await (0, yaml_1.openYamlFileAsObject)(inputPath);
14
- const { tree, ...context } = (0, validations_1.validateManifest)(rawManifest);
15
13
  const parametersFromCli = paramPath &&
16
14
  (await (0, json_1.readAndParseJson)(paramPath)); /** @todo validate json */
17
15
  const parameters = parametersFromCli ||
18
16
  config_1.PARAMETERS; /** @todo PARAMETERS should be specified in parameterize only */
19
17
  return {
20
- tree,
21
- context,
18
+ rawManifest,
22
19
  parameters,
23
20
  };
24
21
  };
25
22
  exports.load = load;
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvbG9hZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBcUQ7QUFDckQsdUNBQWtEO0FBQ2xELHVDQUE4QztBQUU5QyxzQ0FBcUM7QUFHckM7OztHQUdHO0FBQ0ksTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUFFLFNBQWlCLEVBQUUsU0FBa0IsRUFBRSxFQUFFO0lBQ2xFLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBQSwyQkFBb0IsRUFBTSxTQUFTLENBQUMsQ0FBQztJQUMvRCxNQUFNLEVBQUMsSUFBSSxFQUFFLEdBQUcsT0FBTyxFQUFDLEdBQUcsSUFBQSw4QkFBZ0IsRUFBQyxXQUFXLENBQUMsQ0FBQztJQUN6RCxNQUFNLGlCQUFpQixHQUNyQixTQUFTO1FBQ1QsQ0FBQyxNQUFNLElBQUEsdUJBQWdCLEVBQWEsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLDBCQUEwQjtJQUM3RSxNQUFNLFVBQVUsR0FDZCxpQkFBaUI7UUFDakIsbUJBQVUsQ0FBQyxDQUFDLGdFQUFnRTtJQUU5RSxPQUFPO1FBQ0wsSUFBSTtRQUNKLE9BQU87UUFDUCxVQUFVO0tBQ1gsQ0FBQztBQUNKLENBQUMsQ0FBQztBQWZXLFFBQUEsSUFBSSxRQWVmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt2YWxpZGF0ZU1hbmlmZXN0fSBmcm9tICcuLi91dGlsL3ZhbGlkYXRpb25zJztcbmltcG9ydCB7b3BlbllhbWxGaWxlQXNPYmplY3R9IGZyb20gJy4uL3V0aWwveWFtbCc7XG5pbXBvcnQge3JlYWRBbmRQYXJzZUpzb259IGZyb20gJy4uL3V0aWwvanNvbic7XG5cbmltcG9ydCB7UEFSQU1FVEVSU30gZnJvbSAnLi4vY29uZmlnJztcbmltcG9ydCB7UGFyYW1ldGVyc30gZnJvbSAnLi4vdHlwZXMvcGFyYW1ldGVycyc7XG5cbi8qKlxuICogUGFyc2VzIG1hbmlmZXN0IGZpbGUgYXMgYW4gb2JqZWN0LiBDaGVja3MgaWYgcGFyYW1ldGVyIGZpbGUgaXMgcGFzc2VkIHZpYSBDTEksIHRoZW4gbG9hZHMgaXQgdG9vLlxuICogUmV0dXJucyBjb250ZXh0LCB0cmVlIGFuZCBwYXJhbWV0ZXJzIChlaXRoZXIgdGhlIGRlZmF1bHQgb25lLCBvciBmcm9tIENMSSkuXG4gKi9cbmV4cG9ydCBjb25zdCBsb2FkID0gYXN5bmMgKGlucHV0UGF0aDogc3RyaW5nLCBwYXJhbVBhdGg/OiBzdHJpbmcpID0+IHtcbiAgY29uc3QgcmF3TWFuaWZlc3QgPSBhd2FpdCBvcGVuWWFtbEZpbGVBc09iamVjdDxhbnk+KGlucHV0UGF0aCk7XG4gIGNvbnN0IHt0cmVlLCAuLi5jb250ZXh0fSA9IHZhbGlkYXRlTWFuaWZlc3QocmF3TWFuaWZlc3QpO1xuICBjb25zdCBwYXJhbWV0ZXJzRnJvbUNsaSA9XG4gICAgcGFyYW1QYXRoICYmXG4gICAgKGF3YWl0IHJlYWRBbmRQYXJzZUpzb248UGFyYW1ldGVycz4ocGFyYW1QYXRoKSk7IC8qKiBAdG9kbyB2YWxpZGF0ZSBqc29uICovXG4gIGNvbnN0IHBhcmFtZXRlcnMgPVxuICAgIHBhcmFtZXRlcnNGcm9tQ2xpIHx8XG4gICAgUEFSQU1FVEVSUzsgLyoqIEB0b2RvIFBBUkFNRVRFUlMgc2hvdWxkIGJlIHNwZWNpZmllZCBpbiBwYXJhbWV0ZXJpemUgb25seSAqL1xuXG4gIHJldHVybiB7XG4gICAgdHJlZSxcbiAgICBjb250ZXh0LFxuICAgIHBhcmFtZXRlcnMsXG4gIH07XG59O1xuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvbG9hZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1Q0FBa0Q7QUFDbEQsdUNBQThDO0FBRTlDLHNDQUFxQztBQUdyQzs7O0dBR0c7QUFDSSxNQUFNLElBQUksR0FBRyxLQUFLLEVBQUUsU0FBaUIsRUFBRSxTQUFrQixFQUFFLEVBQUU7SUFDbEUsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFBLDJCQUFvQixFQUFNLFNBQVMsQ0FBQyxDQUFDO0lBQy9ELE1BQU0saUJBQWlCLEdBQ3JCLFNBQVM7UUFDVCxDQUFDLE1BQU0sSUFBQSx1QkFBZ0IsRUFBYSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsMEJBQTBCO0lBQzdFLE1BQU0sVUFBVSxHQUNkLGlCQUFpQjtRQUNqQixtQkFBVSxDQUFDLENBQUMsZ0VBQWdFO0lBRTlFLE9BQU87UUFDTCxXQUFXO1FBQ1gsVUFBVTtLQUNYLENBQUM7QUFDSixDQUFDLENBQUM7QUFiVyxRQUFBLElBQUksUUFhZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7b3BlbllhbWxGaWxlQXNPYmplY3R9IGZyb20gJy4uL3V0aWwveWFtbCc7XG5pbXBvcnQge3JlYWRBbmRQYXJzZUpzb259IGZyb20gJy4uL3V0aWwvanNvbic7XG5cbmltcG9ydCB7UEFSQU1FVEVSU30gZnJvbSAnLi4vY29uZmlnJztcbmltcG9ydCB7UGFyYW1ldGVyc30gZnJvbSAnLi4vdHlwZXMvcGFyYW1ldGVycyc7XG5cbi8qKlxuICogUGFyc2VzIG1hbmlmZXN0IGZpbGUgYXMgYW4gb2JqZWN0LiBDaGVja3MgaWYgcGFyYW1ldGVyIGZpbGUgaXMgcGFzc2VkIHZpYSBDTEksIHRoZW4gbG9hZHMgaXQgdG9vLlxuICogUmV0dXJucyBjb250ZXh0LCB0cmVlIGFuZCBwYXJhbWV0ZXJzIChlaXRoZXIgdGhlIGRlZmF1bHQgb25lLCBvciBmcm9tIENMSSkuXG4gKi9cbmV4cG9ydCBjb25zdCBsb2FkID0gYXN5bmMgKGlucHV0UGF0aDogc3RyaW5nLCBwYXJhbVBhdGg/OiBzdHJpbmcpID0+IHtcbiAgY29uc3QgcmF3TWFuaWZlc3QgPSBhd2FpdCBvcGVuWWFtbEZpbGVBc09iamVjdDxhbnk+KGlucHV0UGF0aCk7XG4gIGNvbnN0IHBhcmFtZXRlcnNGcm9tQ2xpID1cbiAgICBwYXJhbVBhdGggJiZcbiAgICAoYXdhaXQgcmVhZEFuZFBhcnNlSnNvbjxQYXJhbWV0ZXJzPihwYXJhbVBhdGgpKTsgLyoqIEB0b2RvIHZhbGlkYXRlIGpzb24gKi9cbiAgY29uc3QgcGFyYW1ldGVycyA9XG4gICAgcGFyYW1ldGVyc0Zyb21DbGkgfHxcbiAgICBQQVJBTUVURVJTOyAvKiogQHRvZG8gUEFSQU1FVEVSUyBzaG91bGQgYmUgc3BlY2lmaWVkIGluIHBhcmFtZXRlcml6ZSBvbmx5ICovXG5cbiAgcmV0dXJuIHtcbiAgICByYXdNYW5pZmVzdCxcbiAgICBwYXJhbWV0ZXJzLFxuICB9O1xufTtcbiJdfQ==
@@ -0,0 +1,18 @@
1
+ export type PackageDependency = {
2
+ version: string;
3
+ resolved?: string;
4
+ overridden: boolean;
5
+ extraneous?: boolean;
6
+ };
7
+ type PackageProblem = {
8
+ extraneous: string;
9
+ };
10
+ export type NpmListResponse = {
11
+ version: string;
12
+ name: string;
13
+ problems?: PackageProblem[];
14
+ dependencies: {
15
+ [key: string]: PackageDependency;
16
+ };
17
+ };
18
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvZW52aXJvbm1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFBhY2thZ2VEZXBlbmRlbmN5ID0ge1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIHJlc29sdmVkPzogc3RyaW5nO1xuICBvdmVycmlkZGVuOiBib29sZWFuO1xuICBleHRyYW5lb3VzPzogYm9vbGVhbjtcbn07XG5cbnR5cGUgUGFja2FnZVByb2JsZW0gPSB7XG4gIGV4dHJhbmVvdXM6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIE5wbUxpc3RSZXNwb25zZSA9IHtcbiAgdmVyc2lvbjogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHByb2JsZW1zPzogUGFja2FnZVByb2JsZW1bXTtcbiAgZGVwZW5kZW5jaWVzOiB7XG4gICAgW2tleTogc3RyaW5nXTogUGFja2FnZURlcGVuZGVuY3k7XG4gIH07XG59O1xuIl19
@@ -6,4 +6,5 @@ export type PluginOptions = GlobalPlugins[string];
6
6
  export type AggregationParams = Manifest['aggregation'];
7
7
  export type AggregationParamsSure = Extract<Manifest['aggregation'], {}>;
8
8
  export type Context = Omit<Manifest, 'tree'>;
9
+ export type ContextWithExec = Omit<Manifest, 'tree'>;
9
10
  export type ManifestParameter = Extract<Manifest['params'], {}>[number];
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuaWZlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvbWFuaWZlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7en0gZnJvbSAnem9kJztcblxuaW1wb3J0IHttYW5pZmVzdFNjaGVtYX0gZnJvbSAnLi4vdXRpbC92YWxpZGF0aW9ucyc7XG5cbmV4cG9ydCB0eXBlIE1hbmlmZXN0ID0gei5pbmZlcjx0eXBlb2YgbWFuaWZlc3RTY2hlbWE+O1xuXG5leHBvcnQgdHlwZSBHbG9iYWxQbHVnaW5zID0gTWFuaWZlc3RbJ2luaXRpYWxpemUnXVsncGx1Z2lucyddO1xuXG5leHBvcnQgdHlwZSBQbHVnaW5PcHRpb25zID0gR2xvYmFsUGx1Z2luc1tzdHJpbmddO1xuXG5leHBvcnQgdHlwZSBBZ2dyZWdhdGlvblBhcmFtcyA9IE1hbmlmZXN0WydhZ2dyZWdhdGlvbiddO1xuZXhwb3J0IHR5cGUgQWdncmVnYXRpb25QYXJhbXNTdXJlID0gRXh0cmFjdDxNYW5pZmVzdFsnYWdncmVnYXRpb24nXSwge30+O1xuXG5leHBvcnQgdHlwZSBDb250ZXh0ID0gT21pdDxNYW5pZmVzdCwgJ3RyZWUnPjtcblxuZXhwb3J0IHR5cGUgTWFuaWZlc3RQYXJhbWV0ZXIgPSBFeHRyYWN0PE1hbmlmZXN0WydwYXJhbXMnXSwge30+W251bWJlcl07XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuaWZlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvbWFuaWZlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7en0gZnJvbSAnem9kJztcblxuaW1wb3J0IHttYW5pZmVzdFNjaGVtYX0gZnJvbSAnLi4vdXRpbC92YWxpZGF0aW9ucyc7XG5cbmV4cG9ydCB0eXBlIE1hbmlmZXN0ID0gei5pbmZlcjx0eXBlb2YgbWFuaWZlc3RTY2hlbWE+O1xuXG5leHBvcnQgdHlwZSBHbG9iYWxQbHVnaW5zID0gTWFuaWZlc3RbJ2luaXRpYWxpemUnXVsncGx1Z2lucyddO1xuXG5leHBvcnQgdHlwZSBQbHVnaW5PcHRpb25zID0gR2xvYmFsUGx1Z2luc1tzdHJpbmddO1xuXG5leHBvcnQgdHlwZSBBZ2dyZWdhdGlvblBhcmFtcyA9IE1hbmlmZXN0WydhZ2dyZWdhdGlvbiddO1xuZXhwb3J0IHR5cGUgQWdncmVnYXRpb25QYXJhbXNTdXJlID0gRXh0cmFjdDxNYW5pZmVzdFsnYWdncmVnYXRpb24nXSwge30+O1xuXG5leHBvcnQgdHlwZSBDb250ZXh0ID0gT21pdDxNYW5pZmVzdCwgJ3RyZWUnPjtcblxuZXhwb3J0IHR5cGUgQ29udGV4dFdpdGhFeGVjID0gT21pdDxNYW5pZmVzdCwgJ3RyZWUnPjtcblxuZXhwb3J0IHR5cGUgTWFuaWZlc3RQYXJhbWV0ZXIgPSBFeHRyYWN0PE1hbmlmZXN0WydwYXJhbXMnXSwge30+W251bWJlcl07XG4iXX0=
@@ -2,5 +2,17 @@ export interface ManifestProcessArgs {
2
2
  manifest?: string;
3
3
  output?: string;
4
4
  'override-params'?: string;
5
- help?: boolean;
5
+ stdout?: boolean;
6
+ }
7
+ export interface Options {
8
+ outputPath?: string;
9
+ stdout?: boolean;
10
+ }
11
+ export interface ProcessArgsOutputs {
12
+ inputPath: string;
13
+ outputOptions: {
14
+ outputPath?: string;
15
+ stdout?: boolean;
16
+ };
17
+ paramPath?: string;
6
18
  }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1hcmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL3Byb2Nlc3MtYXJncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBNYW5pZmVzdFByb2Nlc3NBcmdzIHtcbiAgbWFuaWZlc3Q/OiBzdHJpbmc7XG4gIG91dHB1dD86IHN0cmluZztcbiAgJ292ZXJyaWRlLXBhcmFtcyc/OiBzdHJpbmc7XG4gIGhlbHA/OiBib29sZWFuO1xufVxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1hcmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL3Byb2Nlc3MtYXJncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBNYW5pZmVzdFByb2Nlc3NBcmdzIHtcbiAgbWFuaWZlc3Q/OiBzdHJpbmc7XG4gIG91dHB1dD86IHN0cmluZztcbiAgJ292ZXJyaWRlLXBhcmFtcyc/OiBzdHJpbmc7XG4gIHN0ZG91dD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9ucyB7XG4gIG91dHB1dFBhdGg/OiBzdHJpbmc7XG4gIHN0ZG91dD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvY2Vzc0FyZ3NPdXRwdXRzIHtcbiAgaW5wdXRQYXRoOiBzdHJpbmc7XG4gIG91dHB1dE9wdGlvbnM6IHtcbiAgICBvdXRwdXRQYXRoPzogc3RyaW5nO1xuICAgIHN0ZG91dD86IGJvb2xlYW47XG4gIH07XG4gIHBhcmFtUGF0aD86IHN0cmluZztcbn1cbiJdfQ==
@@ -1,12 +1,10 @@
1
+ import { ProcessArgsOutputs } from '../types/process-args';
1
2
  /**
2
3
  * 1. Parses process arguments like `manifest`, `output`, `override-params` and `help`.
3
4
  * 2. Checks if `help` param is provided, then logs help message and exits.
5
+ * 3. If output params are missing, warns user about it.
4
6
  * 3. Otherwise checks if `manifest` param is there, then processes with checking if it's a yaml file.
5
7
  * If it is, then returns object containing full path.
6
8
  * 4. If params are missing or invalid, then rejects with `CliInputError`.
7
9
  */
8
- export declare const parseArgs: () => {
9
- paramPath?: string | undefined;
10
- outputPath?: string | undefined;
11
- inputPath: string;
12
- } | undefined;
10
+ export declare const parseArgs: () => ProcessArgsOutputs;
@@ -28,17 +28,18 @@ const path = __importStar(require("path"));
28
28
  const ts_command_line_args_1 = require("ts-command-line-args");
29
29
  const yaml_1 = require("./yaml");
30
30
  const errors_1 = require("./errors");
31
+ const logger_1 = require("./logger");
31
32
  const config_1 = require("../config");
32
33
  const { CliInputError } = errors_1.ERRORS;
33
- const { impact } = config_1.CONFIG;
34
- const { ARGS, HELP } = impact;
35
- const { FILE_IS_NOT_YAML, MANIFEST_IS_MISSING } = config_1.STRINGS;
34
+ const { IE } = config_1.CONFIG;
35
+ const { ARGS, HELP } = IE;
36
+ const { FILE_IS_NOT_YAML, MANIFEST_IS_MISSING, NO_OUTPUT } = config_1.STRINGS;
36
37
  /**
37
38
  * Validates process arguments
38
39
  */
39
40
  const validateAndParseProcessArgs = () => {
40
41
  try {
41
- return (0, ts_command_line_args_1.parse)(ARGS);
42
+ return (0, ts_command_line_args_1.parse)(ARGS, HELP);
42
43
  }
43
44
  catch (error) {
44
45
  if (error instanceof Error) {
@@ -60,21 +61,24 @@ const prependFullFilePath = (filePath) => {
60
61
  /**
61
62
  * 1. Parses process arguments like `manifest`, `output`, `override-params` and `help`.
62
63
  * 2. Checks if `help` param is provided, then logs help message and exits.
64
+ * 3. If output params are missing, warns user about it.
63
65
  * 3. Otherwise checks if `manifest` param is there, then processes with checking if it's a yaml file.
64
66
  * If it is, then returns object containing full path.
65
67
  * 4. If params are missing or invalid, then rejects with `CliInputError`.
66
68
  */
67
69
  const parseArgs = () => {
68
- const { manifest, output, 'override-params': overrideParams, help, } = validateAndParseProcessArgs();
69
- if (help) {
70
- console.info(HELP);
71
- return;
70
+ const { manifest, output, 'override-params': overrideParams, stdout, } = validateAndParseProcessArgs();
71
+ if (!output && !stdout) {
72
+ logger_1.logger.warn(NO_OUTPUT);
72
73
  }
73
74
  if (manifest) {
74
75
  if ((0, yaml_1.checkIfFileIsYaml)(manifest)) {
75
76
  return {
76
77
  inputPath: prependFullFilePath(manifest),
77
- ...(output && { outputPath: prependFullFilePath(output) }),
78
+ outputOptions: {
79
+ ...(output && { outputPath: prependFullFilePath(output) }),
80
+ ...(stdout && { stdout }),
81
+ },
78
82
  ...(overrideParams && { paramPath: overrideParams }),
79
83
  };
80
84
  }
@@ -83,4 +87,4 @@ const parseArgs = () => {
83
87
  throw new CliInputError(MANIFEST_IS_MISSING);
84
88
  };
85
89
  exports.parseArgs = parseArgs;
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL2FyZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBNkI7QUFDN0IsK0RBQTJDO0FBRTNDLGlDQUF5QztBQUN6QyxxQ0FBZ0M7QUFFaEMsc0NBQTBDO0FBSTFDLE1BQU0sRUFBQyxhQUFhLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFFL0IsTUFBTSxFQUFDLE1BQU0sRUFBQyxHQUFHLGVBQU0sQ0FBQztBQUN4QixNQUFNLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBQyxHQUFHLE1BQU0sQ0FBQztBQUU1QixNQUFNLEVBQUMsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBRXhEOztHQUVHO0FBQ0gsTUFBTSwyQkFBMkIsR0FBRyxHQUFHLEVBQUU7SUFDdkMsSUFBSTtRQUNGLE9BQU8sSUFBQSw0QkFBSyxFQUFzQixJQUFJLENBQUMsQ0FBQztLQUN6QztJQUFDLE9BQU8sS0FBSyxFQUFFO1FBQ2QsSUFBSSxLQUFLLFlBQVksS0FBSyxFQUFFO1lBQzFCLE1BQU0sSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3hDO1FBRUQsTUFBTSxLQUFLLENBQUM7S0FDYjtBQUNILENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLFFBQWdCLEVBQUUsRUFBRTtJQUMvQyxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUV6QyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDN0IsT0FBTyxRQUFRLENBQUM7S0FDakI7SUFFRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxrQkFBa0IsSUFBSSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0FBQzdELENBQUMsQ0FBQztBQUVGOzs7Ozs7R0FNRztBQUNJLE1BQU0sU0FBUyxHQUFHLEdBQUcsRUFBRTtJQUM1QixNQUFNLEVBQ0osUUFBUSxFQUNSLE1BQU0sRUFDTixpQkFBaUIsRUFBRSxjQUFjLEVBQ2pDLElBQUksR0FDTCxHQUFHLDJCQUEyQixFQUFFLENBQUM7SUFFbEMsSUFBSSxJQUFJLEVBQUU7UUFDUixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25CLE9BQU87S0FDUjtJQUVELElBQUksUUFBUSxFQUFFO1FBQ1osSUFBSSxJQUFBLHdCQUFpQixFQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQy9CLE9BQU87Z0JBQ0wsU0FBUyxFQUFFLG1CQUFtQixDQUFDLFFBQVEsQ0FBQztnQkFDeEMsR0FBRyxDQUFDLE1BQU0sSUFBSSxFQUFDLFVBQVUsRUFBRSxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsRUFBQyxDQUFDO2dCQUN4RCxHQUFHLENBQUMsY0FBYyxJQUFJLEVBQUMsU0FBUyxFQUFFLGNBQWMsRUFBQyxDQUFDO2FBQ25ELENBQUM7U0FDSDtRQUVELE1BQU0sSUFBSSxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztLQUMzQztJQUVELE1BQU0sSUFBSSxhQUFhLENBQUMsbUJBQW1CLENBQUMsQ0FBQztBQUMvQyxDQUFDLENBQUM7QUExQlcsUUFBQSxTQUFTLGFBMEJwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQge3BhcnNlfSBmcm9tICd0cy1jb21tYW5kLWxpbmUtYXJncyc7XG5cbmltcG9ydCB7Y2hlY2tJZkZpbGVJc1lhbWx9IGZyb20gJy4veWFtbCc7XG5pbXBvcnQge0VSUk9SU30gZnJvbSAnLi9lcnJvcnMnO1xuXG5pbXBvcnQge0NPTkZJRywgU1RSSU5HU30gZnJvbSAnLi4vY29uZmlnJztcblxuaW1wb3J0IHtNYW5pZmVzdFByb2Nlc3NBcmdzfSBmcm9tICcuLi90eXBlcy9wcm9jZXNzLWFyZ3MnO1xuXG5jb25zdCB7Q2xpSW5wdXRFcnJvcn0gPSBFUlJPUlM7XG5cbmNvbnN0IHtpbXBhY3R9ID0gQ09ORklHO1xuY29uc3Qge0FSR1MsIEhFTFB9ID0gaW1wYWN0O1xuXG5jb25zdCB7RklMRV9JU19OT1RfWUFNTCwgTUFOSUZFU1RfSVNfTUlTU0lOR30gPSBTVFJJTkdTO1xuXG4vKipcbiAqIFZhbGlkYXRlcyBwcm9jZXNzIGFyZ3VtZW50c1xuICovXG5jb25zdCB2YWxpZGF0ZUFuZFBhcnNlUHJvY2Vzc0FyZ3MgPSAoKSA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHBhcnNlPE1hbmlmZXN0UHJvY2Vzc0FyZ3M+KEFSR1MpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgQ2xpSW5wdXRFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICB9XG5cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuLyoqXG4gKiBQcmVwZW5kcyBwcm9jZXNzIHBhdGggdG8gZ2l2ZW4gYGZpbGVQYXRoYC5cbiAqL1xuY29uc3QgcHJlcGVuZEZ1bGxGaWxlUGF0aCA9IChmaWxlUGF0aDogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IHByb2Nlc3NSdW5uaW5nUGF0aCA9IHByb2Nlc3MuY3dkKCk7XG5cbiAgaWYgKHBhdGguaXNBYnNvbHV0ZShmaWxlUGF0aCkpIHtcbiAgICByZXR1cm4gZmlsZVBhdGg7XG4gIH1cblxuICByZXR1cm4gcGF0aC5ub3JtYWxpemUoYCR7cHJvY2Vzc1J1bm5pbmdQYXRofS8ke2ZpbGVQYXRofWApO1xufTtcblxuLyoqXG4gKiAxLiBQYXJzZXMgcHJvY2VzcyBhcmd1bWVudHMgbGlrZSBgbWFuaWZlc3RgLCBgb3V0cHV0YCwgYG92ZXJyaWRlLXBhcmFtc2AgYW5kIGBoZWxwYC5cbiAqIDIuIENoZWNrcyBpZiBgaGVscGAgcGFyYW0gaXMgcHJvdmlkZWQsIHRoZW4gbG9ncyBoZWxwIG1lc3NhZ2UgYW5kIGV4aXRzLlxuICogMy4gT3RoZXJ3aXNlIGNoZWNrcyBpZiBgbWFuaWZlc3RgIHBhcmFtIGlzIHRoZXJlLCB0aGVuIHByb2Nlc3NlcyB3aXRoIGNoZWNraW5nIGlmIGl0J3MgYSB5YW1sIGZpbGUuXG4gKiAgICBJZiBpdCBpcywgdGhlbiByZXR1cm5zIG9iamVjdCBjb250YWluaW5nIGZ1bGwgcGF0aC5cbiAqIDQuIElmIHBhcmFtcyBhcmUgbWlzc2luZyBvciBpbnZhbGlkLCB0aGVuIHJlamVjdHMgd2l0aCBgQ2xpSW5wdXRFcnJvcmAuXG4gKi9cbmV4cG9ydCBjb25zdCBwYXJzZUFyZ3MgPSAoKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBtYW5pZmVzdCxcbiAgICBvdXRwdXQsXG4gICAgJ292ZXJyaWRlLXBhcmFtcyc6IG92ZXJyaWRlUGFyYW1zLFxuICAgIGhlbHAsXG4gIH0gPSB2YWxpZGF0ZUFuZFBhcnNlUHJvY2Vzc0FyZ3MoKTtcblxuICBpZiAoaGVscCkge1xuICAgIGNvbnNvbGUuaW5mbyhIRUxQKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAobWFuaWZlc3QpIHtcbiAgICBpZiAoY2hlY2tJZkZpbGVJc1lhbWwobWFuaWZlc3QpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpbnB1dFBhdGg6IHByZXBlbmRGdWxsRmlsZVBhdGgobWFuaWZlc3QpLFxuICAgICAgICAuLi4ob3V0cHV0ICYmIHtvdXRwdXRQYXRoOiBwcmVwZW5kRnVsbEZpbGVQYXRoKG91dHB1dCl9KSxcbiAgICAgICAgLi4uKG92ZXJyaWRlUGFyYW1zICYmIHtwYXJhbVBhdGg6IG92ZXJyaWRlUGFyYW1zfSksXG4gICAgICB9O1xuICAgIH1cblxuICAgIHRocm93IG5ldyBDbGlJbnB1dEVycm9yKEZJTEVfSVNfTk9UX1lBTUwpO1xuICB9XG5cbiAgdGhyb3cgbmV3IENsaUlucHV0RXJyb3IoTUFOSUZFU1RfSVNfTUlTU0lORyk7XG59O1xuIl19
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL2FyZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBNkI7QUFDN0IsK0RBQTJDO0FBRTNDLGlDQUF5QztBQUN6QyxxQ0FBZ0M7QUFDaEMscUNBQWdDO0FBRWhDLHNDQUEwQztBQUkxQyxNQUFNLEVBQUMsYUFBYSxFQUFDLEdBQUcsZUFBTSxDQUFDO0FBRS9CLE1BQU0sRUFBQyxFQUFFLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFDcEIsTUFBTSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsR0FBRyxFQUFFLENBQUM7QUFFeEIsTUFBTSxFQUFDLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBQyxHQUFHLGdCQUFPLENBQUM7QUFFbkU7O0dBRUc7QUFDSCxNQUFNLDJCQUEyQixHQUFHLEdBQUcsRUFBRTtJQUN2QyxJQUFJO1FBQ0YsT0FBTyxJQUFBLDRCQUFLLEVBQXNCLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztLQUMvQztJQUFDLE9BQU8sS0FBSyxFQUFFO1FBQ2QsSUFBSSxLQUFLLFlBQVksS0FBSyxFQUFFO1lBQzFCLE1BQU0sSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3hDO1FBRUQsTUFBTSxLQUFLLENBQUM7S0FDYjtBQUNILENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLFFBQWdCLEVBQUUsRUFBRTtJQUMvQyxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUV6QyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDN0IsT0FBTyxRQUFRLENBQUM7S0FDakI7SUFFRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxrQkFBa0IsSUFBSSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0FBQzdELENBQUMsQ0FBQztBQUVGOzs7Ozs7O0dBT0c7QUFDSSxNQUFNLFNBQVMsR0FBRyxHQUF1QixFQUFFO0lBQ2hELE1BQU0sRUFDSixRQUFRLEVBQ1IsTUFBTSxFQUNOLGlCQUFpQixFQUFFLGNBQWMsRUFDakMsTUFBTSxHQUNQLEdBQUcsMkJBQTJCLEVBQUUsQ0FBQztJQUVsQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFO1FBQ3RCLGVBQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7S0FDeEI7SUFFRCxJQUFJLFFBQVEsRUFBRTtRQUNaLElBQUksSUFBQSx3QkFBaUIsRUFBQyxRQUFRLENBQUMsRUFBRTtZQUMvQixPQUFPO2dCQUNMLFNBQVMsRUFBRSxtQkFBbUIsQ0FBQyxRQUFRLENBQUM7Z0JBQ3hDLGFBQWEsRUFBRTtvQkFDYixHQUFHLENBQUMsTUFBTSxJQUFJLEVBQUMsVUFBVSxFQUFFLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxFQUFDLENBQUM7b0JBQ3hELEdBQUcsQ0FBQyxNQUFNLElBQUksRUFBQyxNQUFNLEVBQUMsQ0FBQztpQkFDeEI7Z0JBQ0QsR0FBRyxDQUFDLGNBQWMsSUFBSSxFQUFDLFNBQVMsRUFBRSxjQUFjLEVBQUMsQ0FBQzthQUNuRCxDQUFDO1NBQ0g7UUFFRCxNQUFNLElBQUksYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUM7S0FDM0M7SUFFRCxNQUFNLElBQUksYUFBYSxDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFDL0MsQ0FBQyxDQUFDO0FBNUJXLFFBQUEsU0FBUyxhQTRCcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHtwYXJzZX0gZnJvbSAndHMtY29tbWFuZC1saW5lLWFyZ3MnO1xuXG5pbXBvcnQge2NoZWNrSWZGaWxlSXNZYW1sfSBmcm9tICcuL3lhbWwnO1xuaW1wb3J0IHtFUlJPUlN9IGZyb20gJy4vZXJyb3JzJztcbmltcG9ydCB7bG9nZ2VyfSBmcm9tICcuL2xvZ2dlcic7XG5cbmltcG9ydCB7Q09ORklHLCBTVFJJTkdTfSBmcm9tICcuLi9jb25maWcnO1xuXG5pbXBvcnQge01hbmlmZXN0UHJvY2Vzc0FyZ3MsIFByb2Nlc3NBcmdzT3V0cHV0c30gZnJvbSAnLi4vdHlwZXMvcHJvY2Vzcy1hcmdzJztcblxuY29uc3Qge0NsaUlucHV0RXJyb3J9ID0gRVJST1JTO1xuXG5jb25zdCB7SUV9ID0gQ09ORklHO1xuY29uc3Qge0FSR1MsIEhFTFB9ID0gSUU7XG5cbmNvbnN0IHtGSUxFX0lTX05PVF9ZQU1MLCBNQU5JRkVTVF9JU19NSVNTSU5HLCBOT19PVVRQVVR9ID0gU1RSSU5HUztcblxuLyoqXG4gKiBWYWxpZGF0ZXMgcHJvY2VzcyBhcmd1bWVudHNcbiAqL1xuY29uc3QgdmFsaWRhdGVBbmRQYXJzZVByb2Nlc3NBcmdzID0gKCkgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBwYXJzZTxNYW5pZmVzdFByb2Nlc3NBcmdzPihBUkdTLCBIRUxQKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgdGhyb3cgbmV3IENsaUlucHV0RXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgfVxuXG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG5cbi8qKlxuICogUHJlcGVuZHMgcHJvY2VzcyBwYXRoIHRvIGdpdmVuIGBmaWxlUGF0aGAuXG4gKi9cbmNvbnN0IHByZXBlbmRGdWxsRmlsZVBhdGggPSAoZmlsZVBhdGg6IHN0cmluZykgPT4ge1xuICBjb25zdCBwcm9jZXNzUnVubmluZ1BhdGggPSBwcm9jZXNzLmN3ZCgpO1xuXG4gIGlmIChwYXRoLmlzQWJzb2x1dGUoZmlsZVBhdGgpKSB7XG4gICAgcmV0dXJuIGZpbGVQYXRoO1xuICB9XG5cbiAgcmV0dXJuIHBhdGgubm9ybWFsaXplKGAke3Byb2Nlc3NSdW5uaW5nUGF0aH0vJHtmaWxlUGF0aH1gKTtcbn07XG5cbi8qKlxuICogMS4gUGFyc2VzIHByb2Nlc3MgYXJndW1lbnRzIGxpa2UgYG1hbmlmZXN0YCwgYG91dHB1dGAsIGBvdmVycmlkZS1wYXJhbXNgIGFuZCBgaGVscGAuXG4gKiAyLiBDaGVja3MgaWYgYGhlbHBgIHBhcmFtIGlzIHByb3ZpZGVkLCB0aGVuIGxvZ3MgaGVscCBtZXNzYWdlIGFuZCBleGl0cy5cbiAqIDMuIElmIG91dHB1dCBwYXJhbXMgYXJlIG1pc3NpbmcsIHdhcm5zIHVzZXIgYWJvdXQgaXQuXG4gKiAzLiBPdGhlcndpc2UgY2hlY2tzIGlmIGBtYW5pZmVzdGAgcGFyYW0gaXMgdGhlcmUsIHRoZW4gcHJvY2Vzc2VzIHdpdGggY2hlY2tpbmcgaWYgaXQncyBhIHlhbWwgZmlsZS5cbiAqICAgIElmIGl0IGlzLCB0aGVuIHJldHVybnMgb2JqZWN0IGNvbnRhaW5pbmcgZnVsbCBwYXRoLlxuICogNC4gSWYgcGFyYW1zIGFyZSBtaXNzaW5nIG9yIGludmFsaWQsIHRoZW4gcmVqZWN0cyB3aXRoIGBDbGlJbnB1dEVycm9yYC5cbiAqL1xuZXhwb3J0IGNvbnN0IHBhcnNlQXJncyA9ICgpOiBQcm9jZXNzQXJnc091dHB1dHMgPT4ge1xuICBjb25zdCB7XG4gICAgbWFuaWZlc3QsXG4gICAgb3V0cHV0LFxuICAgICdvdmVycmlkZS1wYXJhbXMnOiBvdmVycmlkZVBhcmFtcyxcbiAgICBzdGRvdXQsXG4gIH0gPSB2YWxpZGF0ZUFuZFBhcnNlUHJvY2Vzc0FyZ3MoKTtcblxuICBpZiAoIW91dHB1dCAmJiAhc3Rkb3V0KSB7XG4gICAgbG9nZ2VyLndhcm4oTk9fT1VUUFVUKTtcbiAgfVxuXG4gIGlmIChtYW5pZmVzdCkge1xuICAgIGlmIChjaGVja0lmRmlsZUlzWWFtbChtYW5pZmVzdCkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlucHV0UGF0aDogcHJlcGVuZEZ1bGxGaWxlUGF0aChtYW5pZmVzdCksXG4gICAgICAgIG91dHB1dE9wdGlvbnM6IHtcbiAgICAgICAgICAuLi4ob3V0cHV0ICYmIHtvdXRwdXRQYXRoOiBwcmVwZW5kRnVsbEZpbGVQYXRoKG91dHB1dCl9KSxcbiAgICAgICAgICAuLi4oc3Rkb3V0ICYmIHtzdGRvdXR9KSxcbiAgICAgICAgfSxcbiAgICAgICAgLi4uKG92ZXJyaWRlUGFyYW1zICYmIHtwYXJhbVBhdGg6IG92ZXJyaWRlUGFyYW1zfSksXG4gICAgICB9O1xuICAgIH1cblxuICAgIHRocm93IG5ldyBDbGlJbnB1dEVycm9yKEZJTEVfSVNfTk9UX1lBTUwpO1xuICB9XG5cbiAgdGhyb3cgbmV3IENsaUlucHV0RXJyb3IoTUFOSUZFU1RfSVNfTUlTU0lORyk7XG59O1xuIl19
@@ -1,4 +1,4 @@
1
- declare const CUSTOM_ERRORS: readonly ["CliInputError", "FileNotFoundError", "MakeDirectoryError", "ManifestValidationError", "ModuleInitializationError", "InputValidationError", "InvalidAggregationParamsError", "InvalidGroupingError", "PluginCredentialError", "PluginInitalizationError", "WriteFileError"];
1
+ declare const CUSTOM_ERRORS: readonly ["CliInputError", "ExhaustError", "ManifestValidationError", "ModuleInitializationError", "InputValidationError", "InvalidAggregationParamsError", "InvalidGroupingError", "PluginCredentialError", "PluginInitalizationError", "WriteFileError"];
2
2
  type CustomErrors = {
3
3
  [K in (typeof CUSTOM_ERRORS)[number]]: ErrorConstructor;
4
4
  };