@grnsft/if 0.3.2 → 0.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.commitlintrc.js +3 -0
- package/.env +5 -0
- package/.release-it.json +18 -0
- package/CONTRIBUTING.md +77 -4
- package/README.md +34 -26
- package/build/builtins/export-csv-raw.js +4 -4
- package/build/builtins/export-csv.js +5 -5
- package/build/builtins/export-log.js +26 -2
- package/build/builtins/export-yaml.js +3 -3
- package/build/config/config.d.ts +3 -3
- package/build/config/config.js +23 -27
- package/build/config/strings.d.ts +1 -0
- package/build/config/strings.js +8 -3
- package/build/index.js +23 -14
- package/build/lib/environment.d.ts +5 -0
- package/build/lib/environment.js +69 -0
- package/build/lib/exhaust.d.ts +2 -1
- package/build/lib/exhaust.js +11 -9
- package/build/lib/initialize.d.ts +2 -2
- package/build/lib/initialize.js +5 -5
- package/build/lib/load.d.ts +1 -29
- package/build/lib/load.js +2 -5
- package/build/types/environment.d.ts +18 -0
- package/build/types/environment.js +3 -0
- package/build/types/manifest.d.ts +1 -0
- package/build/types/manifest.js +1 -1
- package/build/types/process-args.d.ts +13 -1
- package/build/types/process-args.js +1 -1
- package/build/util/args.d.ts +3 -5
- package/build/util/args.js +14 -10
- package/build/util/errors.d.ts +1 -1
- package/build/util/errors.js +2 -3
- package/build/util/helpers.d.ts +6 -0
- package/build/util/helpers.js +9 -3
- package/build/util/os-checker.d.ts +7 -0
- package/build/util/os-checker.js +97 -0
- package/build/util/validations.d.ts +90 -4
- package/build/util/validations.js +14 -2
- package/coverage/clover.xml +1590 -0
- package/coverage/coverage-final.json +50 -0
- package/coverage/lcov-report/base.css +224 -0
- package/coverage/lcov-report/block-navigation.js +87 -0
- package/coverage/lcov-report/builtins/coefficient/index.html +116 -0
- package/coverage/lcov-report/builtins/coefficient/index.ts.html +295 -0
- package/coverage/lcov-report/builtins/csv-lookup/index.html +116 -0
- package/coverage/lcov-report/builtins/csv-lookup/index.ts.html +832 -0
- package/coverage/lcov-report/builtins/divide/index.html +116 -0
- package/coverage/lcov-report/builtins/divide/index.ts.html +361 -0
- package/coverage/lcov-report/builtins/exponent/index.html +116 -0
- package/coverage/lcov-report/builtins/exponent/index.ts.html +355 -0
- package/coverage/lcov-report/builtins/export-csv-raw.ts.html +553 -0
- package/coverage/lcov-report/builtins/export-csv.ts.html +433 -0
- package/coverage/lcov-report/builtins/export-log.ts.html +145 -0
- package/coverage/lcov-report/builtins/export-yaml.ts.html +184 -0
- package/coverage/lcov-report/builtins/group-by.ts.html +364 -0
- package/coverage/lcov-report/builtins/index.html +206 -0
- package/coverage/lcov-report/builtins/index.ts.html +130 -0
- package/coverage/lcov-report/builtins/interpolation/index.html +131 -0
- package/coverage/lcov-report/builtins/interpolation/index.ts.html +670 -0
- package/coverage/lcov-report/builtins/interpolation/types.ts.html +100 -0
- package/coverage/lcov-report/builtins/mock-observations/helpers/common-generator.ts.html +181 -0
- package/coverage/lcov-report/builtins/mock-observations/helpers/index.html +131 -0
- package/coverage/lcov-report/builtins/mock-observations/helpers/rand-int-generator.ts.html +295 -0
- package/coverage/lcov-report/builtins/mock-observations/index.html +116 -0
- package/coverage/lcov-report/builtins/mock-observations/index.ts.html +613 -0
- package/coverage/lcov-report/builtins/multiply/index.html +116 -0
- package/coverage/lcov-report/builtins/multiply/index.ts.html +337 -0
- package/coverage/lcov-report/builtins/regex/index.html +116 -0
- package/coverage/lcov-report/builtins/regex/index.ts.html +379 -0
- package/coverage/lcov-report/builtins/sci/config.ts.html +205 -0
- package/coverage/lcov-report/builtins/sci/index.html +116 -0
- package/coverage/lcov-report/builtins/sci/index.ts.html +331 -0
- package/coverage/lcov-report/builtins/sci-embodied/index.html +116 -0
- package/coverage/lcov-report/builtins/sci-embodied/index.ts.html +481 -0
- package/coverage/lcov-report/builtins/shell/index.html +116 -0
- package/coverage/lcov-report/builtins/shell/index.ts.html +283 -0
- package/coverage/lcov-report/builtins/subtract/index.html +116 -0
- package/coverage/lcov-report/builtins/subtract/index.ts.html +373 -0
- package/coverage/lcov-report/builtins/sum/index.html +116 -0
- package/coverage/lcov-report/builtins/sum/index.ts.html +340 -0
- package/coverage/lcov-report/builtins/time-sync.ts.html +1459 -0
- package/coverage/lcov-report/config/config.ts.html +334 -0
- package/coverage/lcov-report/config/index.html +161 -0
- package/coverage/lcov-report/config/index.ts.html +94 -0
- package/coverage/lcov-report/config/params.ts.html +697 -0
- package/coverage/lcov-report/config/strings.ts.html +415 -0
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +386 -0
- package/coverage/lcov-report/lib/aggregate.ts.html +331 -0
- package/coverage/lcov-report/lib/compare.ts.html +283 -0
- package/coverage/lcov-report/lib/compute.ts.html +391 -0
- package/coverage/lcov-report/lib/environment.ts.html +343 -0
- package/coverage/lcov-report/lib/exhaust.ts.html +283 -0
- package/coverage/lcov-report/lib/index.html +221 -0
- package/coverage/lcov-report/lib/initialize.ts.html +388 -0
- package/coverage/lcov-report/lib/load.ts.html +268 -0
- package/coverage/lcov-report/lib/parameterize.ts.html +283 -0
- package/coverage/lcov-report/prettify.css +1 -0
- package/coverage/lcov-report/prettify.js +2 -0
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +196 -0
- package/coverage/lcov-report/types/aggregation.ts.html +94 -0
- package/coverage/lcov-report/types/index.html +146 -0
- package/coverage/lcov-report/types/interface.ts.html +181 -0
- package/coverage/lcov-report/types/parameters.ts.html +106 -0
- package/coverage/lcov-report/util/aggregation-helper.ts.html +286 -0
- package/coverage/lcov-report/util/args.ts.html +508 -0
- package/coverage/lcov-report/util/errors.ts.html +232 -0
- package/coverage/lcov-report/util/helpers.ts.html +613 -0
- package/coverage/lcov-report/util/index.html +266 -0
- package/coverage/lcov-report/util/json.ts.html +115 -0
- package/coverage/lcov-report/util/log-memoize.ts.html +145 -0
- package/coverage/lcov-report/util/logger.ts.html +151 -0
- package/coverage/lcov-report/util/os-checker.ts.html +421 -0
- package/coverage/lcov-report/util/plugin-storage.ts.html +199 -0
- package/coverage/lcov-report/util/validations.ts.html +526 -0
- package/coverage/lcov-report/util/yaml.ts.html +193 -0
- package/coverage/lcov.info +2811 -0
- package/github-processes.md +10 -0
- package/{examples/manifests/pipeline-demo-2.yml → manifests/bugs/aggregation-error-wrong-metric.yml} +8 -34
- package/manifests/bugs/azure-importer-ignoring-defaults.yml +61 -0
- package/manifests/bugs/azure-importer-incorrect-calculation.yml +56 -0
- package/manifests/bugs/initialize-error-no-config.yml +27 -0
- package/manifests/bugs/initialize-error-no-path.yml +28 -0
- package/manifests/bugs/initialize-error-no-plugins.yml +23 -0
- package/manifests/bugs/input-error-missing-duration.yml +21 -0
- package/manifests/bugs/pipeline-error-naming-mismatch.yml +28 -0
- package/manifests/bugs/pipeline-error-uninitialized-plugin.yml +29 -0
- package/{examples/manifests/boavizta-pipeline.yml → manifests/bugs/pipeline-ordering-error.yml} +7 -10
- package/{examples/manifests → manifests/examples}/basic.yml +3 -2
- package/{examples/manifests → manifests/examples}/generics.yml +2 -2
- package/{examples/manifests/asim-demo.yml → manifests/examples/mock-cpu-util-to-carbon.yml} +3 -7
- package/{examples/manifests → manifests/examples}/nesting.yml +3 -2
- package/{examples/manifests → manifests/examples}/pipeline-teads-sci.yml +1 -1
- package/{examples/manifests/pipeline-demo.yml → manifests/examples/pipeline-with-aggregate.yml} +2 -2
- package/{examples/manifests → manifests/examples}/pipeline-with-mocks.yml +3 -2
- package/manifests/features/aggregate-horizontal.yml +44 -0
- package/manifests/features/aggregate-vertical.yml +44 -0
- package/manifests/features/aggregate.yml +44 -0
- package/manifests/integrations/mock-obs-groupby.yml +39 -0
- package/manifests/integrations/mock-obs-time-sync.yml +65 -0
- package/manifests/plugins/cloud-metadata/failure-invalid-vendor.yaml +21 -0
- package/{examples/manifests/cloud-metadata.yml → manifests/plugins/cloud-metadata/success.yml} +2 -1
- package/manifests/plugins/coefficient/failure-invalid-config-input-param.yml +24 -0
- package/{examples/manifests/coefficient.yml → manifests/plugins/coefficient/success.yml} +2 -1
- package/manifests/plugins/divide/failure-invalid-config-denominator.yml +39 -0
- package/manifests/plugins/divide/success.yml +39 -0
- package/manifests/plugins/groupby/failure-invalid-config-group.yml +47 -0
- package/{examples/manifests/group-by.yml → manifests/plugins/groupby/success.yml} +3 -2
- package/manifests/plugins/mock-observations/failure-invalid-config-cpu-range.yml +34 -0
- package/{examples/manifests/mock-observation.yml → manifests/plugins/mock-observations/success.yml} +2 -1
- package/manifests/plugins/multiply/failure-input-parameter-is-missing.yml +24 -0
- package/{examples/manifests/multiply.yml → manifests/plugins/multiply/success.yml} +3 -2
- package/manifests/plugins/regex/failure-missing-input-param.yml +24 -0
- package/{examples/manifests/regex.yml → manifests/plugins/regex/success.yml} +3 -2
- package/manifests/plugins/sci/failure-invalid-config-value.yml +28 -0
- package/{examples/manifests/sci.yml → manifests/plugins/sci/success.yml} +3 -2
- package/manifests/plugins/sci-m/failure-invalid-default-emission-value.yml +24 -0
- package/{examples/manifests/sci-m.yml → manifests/plugins/sci-m/success.yml} +2 -1
- package/manifests/plugins/shell/failure-invalid-command.yml +21 -0
- package/{examples/manifests/shell.yml → manifests/plugins/shell/success.yml} +3 -2
- package/manifests/plugins/sum/failure-missing-input-param.yml +24 -0
- package/{examples/manifests/sum.yml → manifests/plugins/sum/success.yml} +3 -2
- package/manifests/plugins/tdp-finder/failure-missing-input-param.yml +18 -0
- package/{examples/manifests/tdp-finder.yml → manifests/plugins/tdp-finder/success.yml} +2 -1
- package/manifests/plugins/time-sync/failure-config-start-later-end.yml +34 -0
- package/{examples/manifests/time-sync.yml → manifests/plugins/time-sync/success.yml} +4 -2
- package/package.json +4 -2
- package/src/__tests__/integration/manifest/sci-e.yaml +23 -0
- package/examples/manifests/azure-importer.yml +0 -24
- package/examples/manifests/basic-demo.yml +0 -70
- package/examples/manifests/boavizta-cloud.yml +0 -20
- package/examples/manifests/boavizta.yml +0 -26
- package/examples/manifests/ccf.yml +0 -20
- package/examples/manifests/cloud-metadata-teads.yml +0 -41
- package/examples/manifests/co2js.yml +0 -30
- package/examples/manifests/csv-export.yml +0 -34
- package/examples/manifests/e-mem.yml +0 -21
- package/examples/manifests/e-net.yml +0 -22
- package/examples/manifests/nesting-demo.yml +0 -89
- package/examples/manifests/pipeline-demo-1.yml +0 -85
- package/examples/manifests/pipeline-with-generics.yml +0 -152
- package/examples/manifests/sci-e.yml +0 -19
- package/examples/manifests/sci-o.yml +0 -26
- package/examples/manifests/teads-curve.yml +0 -20
- package/examples/manifests/watt-time.yml +0 -35
- /package/{examples/manifests/divide.yml → manifests/integrations/cloud-metadata-divide-boavizta.yml} +0 -0
package/build/config/strings.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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,
|
|
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
|
|
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
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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.
|
|
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
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsK0NBQTBDO0FBQzFDLDJDQUFzQztBQUN0QyxtREFBb0Q7QUFDcEQsMkNBQXNDO0FBQ3RDLGlEQUE0QztBQUM1QyxxQ0FBZ0M7QUFDaEMscURBQWdEO0FBRWhELHNDQUFzQztBQUN0Qyw0Q0FBeUM7QUFDekMsMENBQXFDO0FBQ3JDLG9EQUFvRDtBQUVwRCxxQ0FBaUM7QUFFakMsTUFBTSxFQUFDLGtCQUFrQixFQUFDLEdBQUcsZ0JBQU8sQ0FBQztBQUVyQyxNQUFNLFlBQVksR0FBRyxLQUFLLElBQUksRUFBRTtJQUM5QixNQUFNLE9BQU8sR0FBRyxJQUFBLGdCQUFTLEdBQUUsQ0FBQztJQUU1QixlQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDaEMsTUFBTSxFQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFDLEdBQUcsT0FBTyxDQUFDO0lBRXRELE1BQU0sRUFBQyxXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsTUFBTSxJQUFBLFdBQUksRUFBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDbkUsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFBLCtCQUFpQixFQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRXpELElBQUk7UUFDRixNQUFNLEVBQUMsSUFBSSxFQUFFLEdBQUcsT0FBTyxFQUFDLEdBQUcsSUFBQSw4QkFBZ0IsRUFBQyxXQUFXLENBQUMsQ0FBQztRQUN6RCwyQkFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2pELE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBQSx1QkFBVSxFQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkUsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFBLGlCQUFPLEVBQUMsSUFBSSxFQUFFLEVBQUMsT0FBTyxFQUFFLGFBQWEsRUFBQyxDQUFDLENBQUM7UUFDbkUsTUFBTSxjQUFjLEdBQUcsSUFBQSxxQkFBUyxFQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEUsTUFBTSxJQUFBLGlCQUFPLEVBQUMsY0FBYyxFQUFFLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQztLQUN2RDtJQUFDLE9BQU8sS0FBSyxFQUFFO1FBQ2QsSUFBSSxLQUFLLFlBQVksS0FBSyxFQUFFO1lBQzFCLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztZQUN0QyxXQUFXLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDL0MsZUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwQixNQUFNLEVBQUMsSUFBSSxFQUFFLEdBQUcsT0FBTyxFQUFDLEdBQUcsV0FBVyxDQUFDO1lBRXZDLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxjQUFjLEVBQUU7Z0JBQ2pDLElBQUEsaUJBQU8sRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDO2FBQ3ZDO1NBQ0Y7S0FDRjtBQUNILENBQUMsQ0FBQztBQUVGLFlBQVksRUFBRSxDQUFDLEtBQUssQ0FBQyxtQkFBUyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5pbXBvcnQge2FnZ3JlZ2F0ZX0gZnJvbSAnLi9saWIvYWdncmVnYXRlJztcbmltcG9ydCB7Y29tcHV0ZX0gZnJvbSAnLi9saWIvY29tcHV0ZSc7XG5pbXBvcnQge2luamVjdEVudmlyb25tZW50fSBmcm9tICcuL2xpYi9lbnZpcm9ubWVudCc7XG5pbXBvcnQge2V4aGF1c3R9IGZyb20gJy4vbGliL2V4aGF1c3QnO1xuaW1wb3J0IHtpbml0aWFsaXplfSBmcm9tICcuL2xpYi9pbml0aWFsaXplJztcbmltcG9ydCB7bG9hZH0gZnJvbSAnLi9saWIvbG9hZCc7XG5pbXBvcnQge3BhcmFtZXRlcml6ZX0gZnJvbSAnLi9saWIvcGFyYW1ldGVyaXplJztcblxuaW1wb3J0IHtwYXJzZUFyZ3N9IGZyb20gJy4vdXRpbC9hcmdzJztcbmltcG9ydCB7YW5kSGFuZGxlfSBmcm9tICcuL3V0aWwvaGVscGVycyc7XG5pbXBvcnQge2xvZ2dlcn0gZnJvbSAnLi91dGlsL2xvZ2dlcic7XG5pbXBvcnQge3ZhbGlkYXRlTWFuaWZlc3R9IGZyb20gJy4vdXRpbC92YWxpZGF0aW9ucyc7XG5cbmltcG9ydCB7U1RSSU5HU30gZnJvbSAnLi9jb25maWcnO1xuXG5jb25zdCB7RElTQ0xBSU1FUl9NRVNTQUdFfSA9IFNUUklOR1M7XG5cbmNvbnN0IGltcGFjdEVuZ2luZSA9IGFzeW5jICgpID0+IHtcbiAgY29uc3Qgb3B0aW9ucyA9IHBhcnNlQXJncygpO1xuXG4gIGxvZ2dlci5pbmZvKERJU0NMQUlNRVJfTUVTU0FHRSk7XG4gIGNvbnN0IHtpbnB1dFBhdGgsIHBhcmFtUGF0aCwgb3V0cHV0T3B0aW9uc30gPSBvcHRpb25zO1xuXG4gIGNvbnN0IHtyYXdNYW5pZmVzdCwgcGFyYW1ldGVyc30gPSBhd2FpdCBsb2FkKGlucHV0UGF0aCwgcGFyYW1QYXRoKTtcbiAgY29uc3QgZW52TWFuaWZlc3QgPSBhd2FpdCBpbmplY3RFbnZpcm9ubWVudChyYXdNYW5pZmVzdCk7XG5cbiAgdHJ5IHtcbiAgICBjb25zdCB7dHJlZSwgLi4uY29udGV4dH0gPSB2YWxpZGF0ZU1hbmlmZXN0KGVudk1hbmlmZXN0KTtcbiAgICBwYXJhbWV0ZXJpemUuY29tYmluZShjb250ZXh0LnBhcmFtcywgcGFyYW1ldGVycyk7XG4gICAgY29uc3QgcGx1Z2luU3RvcmFnZSA9IGF3YWl0IGluaXRpYWxpemUoY29udGV4dC5pbml0aWFsaXplLnBsdWdpbnMpO1xuICAgIGNvbnN0IGNvbXB1dGVkVHJlZSA9IGF3YWl0IGNvbXB1dGUodHJlZSwge2NvbnRleHQsIHBsdWdpblN0b3JhZ2V9KTtcbiAgICBjb25zdCBhZ2dyZWdhdGVkVHJlZSA9IGFnZ3JlZ2F0ZShjb21wdXRlZFRyZWUsIGNvbnRleHQuYWdncmVnYXRpb24pO1xuICAgIGF3YWl0IGV4aGF1c3QoYWdncmVnYXRlZFRyZWUsIGNvbnRleHQsIG91dHB1dE9wdGlvbnMpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICBlbnZNYW5pZmVzdC5leGVjdXRpb24uc3RhdHVzID0gJ2ZhaWwnO1xuICAgICAgZW52TWFuaWZlc3QuZXhlY3V0aW9uLmVycm9yID0gZXJyb3IudG9TdHJpbmcoKTtcbiAgICAgIGxvZ2dlci5lcnJvcihlcnJvcik7XG4gICAgICBjb25zdCB7dHJlZSwgLi4uY29udGV4dH0gPSBlbnZNYW5pZmVzdDtcblxuICAgICAgaWYgKGVycm9yLm5hbWUgIT09ICdFeGhhdXN0RXJyb3InKSB7XG4gICAgICAgIGV4aGF1c3QodHJlZSwgY29udGV4dCwgb3V0cHV0T3B0aW9ucyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuXG5pbXBhY3RFbmdpbmUoKS5jYXRjaChhbmRIYW5kbGUpO1xuIl19
|
|
@@ -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
|
package/build/lib/exhaust.d.ts
CHANGED
|
@@ -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,
|
|
7
|
+
export declare const exhaust: (tree: any, context: Context, outputOptions: Options) => Promise<void>;
|
package/build/lib/exhaust.js
CHANGED
|
@@ -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 {
|
|
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
|
-
*
|
|
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
|
|
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,
|
|
38
|
+
const exhaust = async (tree, context, outputOptions) => {
|
|
41
39
|
const outputPlugins = context.initialize.outputs;
|
|
42
|
-
if (
|
|
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
|
-
|
|
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,
|
|
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`.`
|
|
4
|
+
* Registers all plugins from `manifest`.`initialize` property.
|
|
5
5
|
*/
|
|
6
|
-
export declare const
|
|
6
|
+
export declare const initialize: (plugins: GlobalPlugins) => Promise<PluginStorageInterface>;
|
package/build/lib/initialize.js
CHANGED
|
@@ -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.
|
|
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`.`
|
|
91
|
+
* Registers all plugins from `manifest`.`initialize` property.
|
|
92
92
|
*/
|
|
93
|
-
const
|
|
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.
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
101
|
+
exports.initialize = initialize;
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvaW5pdGlhbGl6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdDQUFpQztBQUVqQywyQ0FBc0M7QUFDdEMsMkNBQXNDO0FBQ3RDLHFEQUFnRDtBQUNoRCwyREFBcUQ7QUFFckQsc0NBQTBDO0FBTTFDLE1BQU0sRUFBQyx5QkFBeUIsRUFBRSxxQkFBcUIsRUFBQyxHQUFHLGVBQU0sQ0FBQztBQUVsRSxNQUFNLEVBQUMsV0FBVyxFQUFFLGFBQWEsRUFBQyxHQUFHLGVBQU0sQ0FBQztBQUM1QyxNQUFNLEVBQUMsY0FBYyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBQyxHQUMxRSxnQkFBTyxDQUFDO0FBRVY7O0dBRUc7QUFDSCxNQUFNLGdCQUFnQixHQUFHLEtBQUssRUFBRSxJQUFZLEVBQUUsRUFBRTtJQUM5QyxJQUFJO1FBQ0YsTUFBTSxNQUFNLEdBQUcseUJBQWEsSUFBSSx1Q0FBQyxDQUFDO1FBRWxDLE9BQU8sTUFBTSxDQUFDO0tBQ2Y7SUFBQyxPQUFPLEtBQUssRUFBRTtRQUNkLGVBQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEIsTUFBTSxJQUFJLHlCQUF5QixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7S0FDaEU7QUFDSCxDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0scUJBQXFCLEdBQUcsS0FBSyxFQUFFLE1BQWMsRUFBRSxJQUFZLEVBQUUsRUFBRTtJQUNuRSxNQUFNLFlBQVksR0FBRyxNQUFNLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWxELE9BQU8sWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzlCLENBQUMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsR0FBRyxDQUFDLE1BQWMsRUFBRSxJQUFZLEVBQUUsRUFBRTtJQUNsRCxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7UUFDdEIsSUFBSSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxTQUFTLGNBQWMsQ0FBQyxDQUFDO0tBQ3REO1NBQU07UUFDTCxJQUFJLElBQUksRUFBRSxVQUFVLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDakMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM5QixJQUFJLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDaEM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUNqQyxJQUFBLHlCQUFXLEVBQUMsZUFBTSxDQUFDLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ25EO0tBQ0Y7SUFFRCxPQUFPLHFCQUFxQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztBQUM3QyxDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sVUFBVSxHQUFHLEtBQUssRUFDdEIsZ0JBQStCLEVBQ0wsRUFBRTtJQUM1QixNQUFNLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFDLEdBQUcsZ0JBQWdCLENBQUM7SUFFdkUsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUNYLE1BQU0sSUFBSSxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztLQUNqRDtJQUVELElBQUksQ0FBQyxJQUFJLEVBQUU7UUFDVCxNQUFNLElBQUkscUJBQXFCLENBQUMsWUFBWSxDQUFDLENBQUM7S0FDL0M7SUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFFOUMsT0FBTyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDOUIsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSSxNQUFNLFVBQVUsR0FBRyxLQUFLLEVBQzdCLE9BQXNCLEVBQ1csRUFBRTtJQUNuQyxNQUFNLE9BQU8sR0FBRyxJQUFBLDhCQUFhLEdBQUUsQ0FBQztJQUVoQyxJQUFJLEtBQUssRUFBRSxNQUFNLFVBQVUsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ25ELE1BQU0sTUFBTSxHQUFHLE1BQU0sVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQ2pDO0lBRUQsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBWFcsUUFBQSxVQUFVLGNBV3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGhMaWIgPSByZXF1aXJlKCdwYXRoJyk7XG5cbmltcG9ydCB7RVJST1JTfSBmcm9tICcuLi91dGlsL2Vycm9ycyc7XG5pbXBvcnQge2xvZ2dlcn0gZnJvbSAnLi4vdXRpbC9sb2dnZXInO1xuaW1wb3J0IHttZW1vaXplZExvZ30gZnJvbSAnLi4vdXRpbC9sb2ctbWVtb2l6ZSc7XG5pbXBvcnQge3BsdWdpblN0b3JhZ2V9IGZyb20gJy4uL3V0aWwvcGx1Z2luLXN0b3JhZ2UnO1xuXG5pbXBvcnQge0NPTkZJRywgU1RSSU5HU30gZnJvbSAnLi4vY29uZmlnJztcblxuaW1wb3J0IHtQbHVnaW5JbnRlcmZhY2V9IGZyb20gJy4uL3R5cGVzL2ludGVyZmFjZSc7XG5pbXBvcnQge0dsb2JhbFBsdWdpbnMsIFBsdWdpbk9wdGlvbnN9IGZyb20gJy4uL3R5cGVzL21hbmlmZXN0JztcbmltcG9ydCB7UGx1Z2luU3RvcmFnZUludGVyZmFjZX0gZnJvbSAnLi4vdHlwZXMvcGx1Z2luLXN0b3JhZ2UnO1xuXG5jb25zdCB7TW9kdWxlSW5pdGlhbGl6YXRpb25FcnJvciwgUGx1Z2luQ3JlZGVudGlhbEVycm9yfSA9IEVSUk9SUztcblxuY29uc3Qge0dJVEhVQl9QQVRILCBOQVRJVkVfUExVR0lOfSA9IENPTkZJRztcbmNvbnN0IHtNSVNTSU5HX01FVEhPRCwgTUlTU0lOR19QQVRILCBOT1RfTkFUSVZFX1BMVUdJTiwgSU5WQUxJRF9NT0RVTEVfUEFUSH0gPVxuICBTVFJJTkdTO1xuXG4vKipcbiAqIEltcG9ydHMgbW9kdWxlIGJ5IGdpdmVuIGBwYXRoYC5cbiAqL1xuY29uc3QgaW1wb3J0TW9kdWxlRnJvbSA9IGFzeW5jIChwYXRoOiBzdHJpbmcpID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBtb2R1bGUgPSBhd2FpdCBpbXBvcnQocGF0aCk7XG5cbiAgICByZXR1cm4gbW9kdWxlO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGxvZ2dlci5lcnJvcihlcnJvcik7XG4gICAgdGhyb3cgbmV3IE1vZHVsZUluaXRpYWxpemF0aW9uRXJyb3IoSU5WQUxJRF9NT0RVTEVfUEFUSChwYXRoKSk7XG4gIH1cbn07XG5cbi8qKlxuICogSW1wb3J0cyBgbW9kdWxlYCBmcm9tIGdpdmVuIGBwYXRoYCwgdGhlbiBjaGVja3MgaWYgaXQncyBgTW9kZWxQbHVnaW5JbnRlcmZhY2VgIGV4dGVuc2lvbi5cbiAqL1xuY29uc3QgaW1wb3J0QW5kVmVyaWZ5TW9kdWxlID0gYXN5bmMgKG1ldGhvZDogc3RyaW5nLCBwYXRoOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgcGx1Z2luTW9kdWxlID0gYXdhaXQgaW1wb3J0TW9kdWxlRnJvbShwYXRoKTtcblxuICByZXR1cm4gcGx1Z2luTW9kdWxlW21ldGhvZF07XG59O1xuXG4vKipcbiAqIENoZWNrcyBpZiBwbHVnaW4gaXMgbWlzc2luZyB0aGVuIHJlamVjdHMgd2l0aCBlcnJvci5cbiAqIFRoZW4gY2hlY2tzIGlmIGBwYXRoYCBpcyBzdGFydGluZyB3aXRoIGdpdGh1YiwgdGhlbiBncmFicyB0aGUgcmVwb3NpdG9yeSBuYW1lLlxuICogSW1wb3J0cyBtb2R1bGUsIHRoZW4gY2hlY2tzIGlmIGl0J3MgYSB2YWxpZCBwbHVnaW4uXG4gKi9cbmNvbnN0IGhhbmRNb2R1bGUgPSAobWV0aG9kOiBzdHJpbmcsIHBhdGg6IHN0cmluZykgPT4ge1xuICBpZiAocGF0aCA9PT0gJ2J1aWx0aW4nKSB7XG4gICAgcGF0aCA9IHBhdGhMaWIubm9ybWFsaXplKGAke19fZGlybmFtZX0vLi4vYnVpbHRpbnNgKTtcbiAgfSBlbHNlIHtcbiAgICBpZiAocGF0aD8uc3RhcnRzV2l0aChHSVRIVUJfUEFUSCkpIHtcbiAgICAgIGNvbnN0IHBhcnRzID0gcGF0aC5zcGxpdCgnLycpO1xuICAgICAgcGF0aCA9IHBhcnRzW3BhcnRzLmxlbmd0aCAtIDFdO1xuICAgIH1cblxuICAgIGlmICghcGF0aC5pbmNsdWRlcyhOQVRJVkVfUExVR0lOKSkge1xuICAgICAgbWVtb2l6ZWRMb2cobG9nZ2VyLndhcm4sIE5PVF9OQVRJVkVfUExVR0lOKHBhdGgpKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gaW1wb3J0QW5kVmVyaWZ5TW9kdWxlKG1ldGhvZCwgcGF0aCk7XG59O1xuXG4vKipcbiAqIEluaXRpYWxpemVzIHBsdWdpbiB3aXRoIGdsb2JhbCBjb25maWcuXG4gKi9cbmNvbnN0IGluaXRQbHVnaW4gPSBhc3luYyAoXG4gIGluaXRQbHVnaW5QYXJhbXM6IFBsdWdpbk9wdGlvbnNcbik6IFByb21pc2U8UGx1Z2luSW50ZXJmYWNlPiA9PiB7XG4gIGNvbnN0IHttZXRob2QsIHBhdGgsICdnbG9iYWwtY29uZmlnJzogZ2xvYmFsQ29uZmlnfSA9IGluaXRQbHVnaW5QYXJhbXM7XG5cbiAgaWYgKCFtZXRob2QpIHtcbiAgICB0aHJvdyBuZXcgUGx1Z2luQ3JlZGVudGlhbEVycm9yKE1JU1NJTkdfTUVUSE9EKTtcbiAgfVxuXG4gIGlmICghcGF0aCkge1xuICAgIHRocm93IG5ldyBQbHVnaW5DcmVkZW50aWFsRXJyb3IoTUlTU0lOR19QQVRIKTtcbiAgfVxuXG4gIGNvbnN0IHBsdWdpbiA9IGF3YWl0IGhhbmRNb2R1bGUobWV0aG9kLCBwYXRoKTtcblxuICByZXR1cm4gcGx1Z2luKGdsb2JhbENvbmZpZyk7XG59O1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbGwgcGx1Z2lucyBmcm9tIGBtYW5pZmVzdGAuYGluaXRpYWxpemVgIHByb3BlcnR5LlxuICovXG5leHBvcnQgY29uc3QgaW5pdGlhbGl6ZSA9IGFzeW5jIChcbiAgcGx1Z2luczogR2xvYmFsUGx1Z2luc1xuKTogUHJvbWlzZTxQbHVnaW5TdG9yYWdlSW50ZXJmYWNlPiA9PiB7XG4gIGNvbnN0IHN0b3JhZ2UgPSBwbHVnaW5TdG9yYWdlKCk7XG5cbiAgZm9yIGF3YWl0IChjb25zdCBwbHVnaW5OYW1lIG9mIE9iamVjdC5rZXlzKHBsdWdpbnMpKSB7XG4gICAgY29uc3QgcGx1Z2luID0gYXdhaXQgaW5pdFBsdWdpbihwbHVnaW5zW3BsdWdpbk5hbWVdKTtcbiAgICBzdG9yYWdlLnNldChwbHVnaW5OYW1lLCBwbHVnaW4pO1xuICB9XG5cbiAgcmV0dXJuIHN0b3JhZ2U7XG59O1xuIl19
|
package/build/lib/load.d.ts
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
21
|
-
context,
|
|
18
|
+
rawManifest,
|
|
22
19
|
parameters,
|
|
23
20
|
};
|
|
24
21
|
};
|
|
25
22
|
exports.load = load;
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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];
|
package/build/types/manifest.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuaWZlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvbWFuaWZlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7en0gZnJvbSAnem9kJztcblxuaW1wb3J0IHttYW5pZmVzdFNjaGVtYX0gZnJvbSAnLi4vdXRpbC92YWxpZGF0aW9ucyc7XG5cbmV4cG9ydCB0eXBlIE1hbmlmZXN0ID0gei5pbmZlcjx0eXBlb2YgbWFuaWZlc3RTY2hlbWE+O1xuXG5leHBvcnQgdHlwZSBHbG9iYWxQbHVnaW5zID0gTWFuaWZlc3RbJ2luaXRpYWxpemUnXVsncGx1Z2lucyddO1xuXG5leHBvcnQgdHlwZSBQbHVnaW5PcHRpb25zID0gR2xvYmFsUGx1Z2luc1tzdHJpbmddO1xuXG5leHBvcnQgdHlwZSBBZ2dyZWdhdGlvblBhcmFtcyA9IE1hbmlmZXN0WydhZ2dyZWdhdGlvbiddO1xuZXhwb3J0IHR5cGUgQWdncmVnYXRpb25QYXJhbXNTdXJlID0gRXh0cmFjdDxNYW5pZmVzdFsnYWdncmVnYXRpb24nXSwge30+
|
|
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
|
-
|
|
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/
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1hcmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL3Byb2Nlc3MtYXJncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBNYW5pZmVzdFByb2Nlc3NBcmdzIHtcbiAgbWFuaWZlc3Q/OiBzdHJpbmc7XG4gIG91dHB1dD86IHN0cmluZztcbiAgJ292ZXJyaWRlLXBhcmFtcyc/OiBzdHJpbmc7XG4gIHN0ZG91dD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9ucyB7XG4gIG91dHB1dFBhdGg/OiBzdHJpbmc7XG4gIHN0ZG91dD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvY2Vzc0FyZ3NPdXRwdXRzIHtcbiAgaW5wdXRQYXRoOiBzdHJpbmc7XG4gIG91dHB1dE9wdGlvbnM6IHtcbiAgICBvdXRwdXRQYXRoPzogc3RyaW5nO1xuICAgIHN0ZG91dD86IGJvb2xlYW47XG4gIH07XG4gIHBhcmFtUGF0aD86IHN0cmluZztcbn1cbiJdfQ==
|
package/build/util/args.d.ts
CHANGED
|
@@ -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;
|
package/build/util/args.js
CHANGED
|
@@ -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 {
|
|
34
|
-
const { ARGS, HELP } =
|
|
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,
|
|
69
|
-
if (
|
|
70
|
-
|
|
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
|
-
|
|
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,
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL2FyZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBNkI7QUFDN0IsK0RBQTJDO0FBRTNDLGlDQUF5QztBQUN6QyxxQ0FBZ0M7QUFDaEMscUNBQWdDO0FBRWhDLHNDQUEwQztBQUkxQyxNQUFNLEVBQUMsYUFBYSxFQUFDLEdBQUcsZUFBTSxDQUFDO0FBRS9CLE1BQU0sRUFBQyxFQUFFLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFDcEIsTUFBTSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsR0FBRyxFQUFFLENBQUM7QUFFeEIsTUFBTSxFQUFDLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBQyxHQUFHLGdCQUFPLENBQUM7QUFFbkU7O0dBRUc7QUFDSCxNQUFNLDJCQUEyQixHQUFHLEdBQUcsRUFBRTtJQUN2QyxJQUFJO1FBQ0YsT0FBTyxJQUFBLDRCQUFLLEVBQXNCLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztLQUMvQztJQUFDLE9BQU8sS0FBSyxFQUFFO1FBQ2QsSUFBSSxLQUFLLFlBQVksS0FBSyxFQUFFO1lBQzFCLE1BQU0sSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3hDO1FBRUQsTUFBTSxLQUFLLENBQUM7S0FDYjtBQUNILENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLFFBQWdCLEVBQUUsRUFBRTtJQUMvQyxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUV6QyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDN0IsT0FBTyxRQUFRLENBQUM7S0FDakI7SUFFRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxrQkFBa0IsSUFBSSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0FBQzdELENBQUMsQ0FBQztBQUVGOzs7Ozs7O0dBT0c7QUFDSSxNQUFNLFNBQVMsR0FBRyxHQUF1QixFQUFFO0lBQ2hELE1BQU0sRUFDSixRQUFRLEVBQ1IsTUFBTSxFQUNOLGlCQUFpQixFQUFFLGNBQWMsRUFDakMsTUFBTSxHQUNQLEdBQUcsMkJBQTJCLEVBQUUsQ0FBQztJQUVsQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFO1FBQ3RCLGVBQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7S0FDeEI7SUFFRCxJQUFJLFFBQVEsRUFBRTtRQUNaLElBQUksSUFBQSx3QkFBaUIsRUFBQyxRQUFRLENBQUMsRUFBRTtZQUMvQixPQUFPO2dCQUNMLFNBQVMsRUFBRSxtQkFBbUIsQ0FBQyxRQUFRLENBQUM7Z0JBQ3hDLGFBQWEsRUFBRTtvQkFDYixHQUFHLENBQUMsTUFBTSxJQUFJLEVBQUMsVUFBVSxFQUFFLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxFQUFDLENBQUM7b0JBQ3hELEdBQUcsQ0FBQyxNQUFNLElBQUksRUFBQyxNQUFNLEVBQUMsQ0FBQztpQkFDeEI7Z0JBQ0QsR0FBRyxDQUFDLGNBQWMsSUFBSSxFQUFDLFNBQVMsRUFBRSxjQUFjLEVBQUMsQ0FBQzthQUNuRCxDQUFDO1NBQ0g7UUFFRCxNQUFNLElBQUksYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUM7S0FDM0M7SUFFRCxNQUFNLElBQUksYUFBYSxDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFDL0MsQ0FBQyxDQUFDO0FBNUJXLFFBQUEsU0FBUyxhQTRCcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHtwYXJzZX0gZnJvbSAndHMtY29tbWFuZC1saW5lLWFyZ3MnO1xuXG5pbXBvcnQge2NoZWNrSWZGaWxlSXNZYW1sfSBmcm9tICcuL3lhbWwnO1xuaW1wb3J0IHtFUlJPUlN9IGZyb20gJy4vZXJyb3JzJztcbmltcG9ydCB7bG9nZ2VyfSBmcm9tICcuL2xvZ2dlcic7XG5cbmltcG9ydCB7Q09ORklHLCBTVFJJTkdTfSBmcm9tICcuLi9jb25maWcnO1xuXG5pbXBvcnQge01hbmlmZXN0UHJvY2Vzc0FyZ3MsIFByb2Nlc3NBcmdzT3V0cHV0c30gZnJvbSAnLi4vdHlwZXMvcHJvY2Vzcy1hcmdzJztcblxuY29uc3Qge0NsaUlucHV0RXJyb3J9ID0gRVJST1JTO1xuXG5jb25zdCB7SUV9ID0gQ09ORklHO1xuY29uc3Qge0FSR1MsIEhFTFB9ID0gSUU7XG5cbmNvbnN0IHtGSUxFX0lTX05PVF9ZQU1MLCBNQU5JRkVTVF9JU19NSVNTSU5HLCBOT19PVVRQVVR9ID0gU1RSSU5HUztcblxuLyoqXG4gKiBWYWxpZGF0ZXMgcHJvY2VzcyBhcmd1bWVudHNcbiAqL1xuY29uc3QgdmFsaWRhdGVBbmRQYXJzZVByb2Nlc3NBcmdzID0gKCkgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBwYXJzZTxNYW5pZmVzdFByb2Nlc3NBcmdzPihBUkdTLCBIRUxQKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgdGhyb3cgbmV3IENsaUlucHV0RXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgfVxuXG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG5cbi8qKlxuICogUHJlcGVuZHMgcHJvY2VzcyBwYXRoIHRvIGdpdmVuIGBmaWxlUGF0aGAuXG4gKi9cbmNvbnN0IHByZXBlbmRGdWxsRmlsZVBhdGggPSAoZmlsZVBhdGg6IHN0cmluZykgPT4ge1xuICBjb25zdCBwcm9jZXNzUnVubmluZ1BhdGggPSBwcm9jZXNzLmN3ZCgpO1xuXG4gIGlmIChwYXRoLmlzQWJzb2x1dGUoZmlsZVBhdGgpKSB7XG4gICAgcmV0dXJuIGZpbGVQYXRoO1xuICB9XG5cbiAgcmV0dXJuIHBhdGgubm9ybWFsaXplKGAke3Byb2Nlc3NSdW5uaW5nUGF0aH0vJHtmaWxlUGF0aH1gKTtcbn07XG5cbi8qKlxuICogMS4gUGFyc2VzIHByb2Nlc3MgYXJndW1lbnRzIGxpa2UgYG1hbmlmZXN0YCwgYG91dHB1dGAsIGBvdmVycmlkZS1wYXJhbXNgIGFuZCBgaGVscGAuXG4gKiAyLiBDaGVja3MgaWYgYGhlbHBgIHBhcmFtIGlzIHByb3ZpZGVkLCB0aGVuIGxvZ3MgaGVscCBtZXNzYWdlIGFuZCBleGl0cy5cbiAqIDMuIElmIG91dHB1dCBwYXJhbXMgYXJlIG1pc3NpbmcsIHdhcm5zIHVzZXIgYWJvdXQgaXQuXG4gKiAzLiBPdGhlcndpc2UgY2hlY2tzIGlmIGBtYW5pZmVzdGAgcGFyYW0gaXMgdGhlcmUsIHRoZW4gcHJvY2Vzc2VzIHdpdGggY2hlY2tpbmcgaWYgaXQncyBhIHlhbWwgZmlsZS5cbiAqICAgIElmIGl0IGlzLCB0aGVuIHJldHVybnMgb2JqZWN0IGNvbnRhaW5pbmcgZnVsbCBwYXRoLlxuICogNC4gSWYgcGFyYW1zIGFyZSBtaXNzaW5nIG9yIGludmFsaWQsIHRoZW4gcmVqZWN0cyB3aXRoIGBDbGlJbnB1dEVycm9yYC5cbiAqL1xuZXhwb3J0IGNvbnN0IHBhcnNlQXJncyA9ICgpOiBQcm9jZXNzQXJnc091dHB1dHMgPT4ge1xuICBjb25zdCB7XG4gICAgbWFuaWZlc3QsXG4gICAgb3V0cHV0LFxuICAgICdvdmVycmlkZS1wYXJhbXMnOiBvdmVycmlkZVBhcmFtcyxcbiAgICBzdGRvdXQsXG4gIH0gPSB2YWxpZGF0ZUFuZFBhcnNlUHJvY2Vzc0FyZ3MoKTtcblxuICBpZiAoIW91dHB1dCAmJiAhc3Rkb3V0KSB7XG4gICAgbG9nZ2VyLndhcm4oTk9fT1VUUFVUKTtcbiAgfVxuXG4gIGlmIChtYW5pZmVzdCkge1xuICAgIGlmIChjaGVja0lmRmlsZUlzWWFtbChtYW5pZmVzdCkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlucHV0UGF0aDogcHJlcGVuZEZ1bGxGaWxlUGF0aChtYW5pZmVzdCksXG4gICAgICAgIG91dHB1dE9wdGlvbnM6IHtcbiAgICAgICAgICAuLi4ob3V0cHV0ICYmIHtvdXRwdXRQYXRoOiBwcmVwZW5kRnVsbEZpbGVQYXRoKG91dHB1dCl9KSxcbiAgICAgICAgICAuLi4oc3Rkb3V0ICYmIHtzdGRvdXR9KSxcbiAgICAgICAgfSxcbiAgICAgICAgLi4uKG92ZXJyaWRlUGFyYW1zICYmIHtwYXJhbVBhdGg6IG92ZXJyaWRlUGFyYW1zfSksXG4gICAgICB9O1xuICAgIH1cblxuICAgIHRocm93IG5ldyBDbGlJbnB1dEVycm9yKEZJTEVfSVNfTk9UX1lBTUwpO1xuICB9XG5cbiAgdGhyb3cgbmV3IENsaUlucHV0RXJyb3IoTUFOSUZFU1RfSVNfTUlTU0lORyk7XG59O1xuIl19
|
package/build/util/errors.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare const CUSTOM_ERRORS: readonly ["CliInputError", "
|
|
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
|
};
|