@grnsft/if 0.5.0 → 0.6.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.
- package/README.md +5 -17
- package/Refactor-migration-guide.md +110 -164
- package/build/common/config/index.d.ts +1 -0
- package/build/common/config/index.js +6 -0
- package/build/common/config/strings.d.ts +9 -0
- package/build/common/config/strings.js +17 -0
- package/build/common/lib/load.d.ts +6 -0
- package/build/common/lib/load.js +18 -0
- package/build/{types → common/types}/manifest.d.ts +4 -1
- package/build/common/types/manifest.js +3 -0
- package/build/common/util/debug-logger.js +115 -0
- package/build/common/util/fs.js +94 -0
- package/build/common/util/helpers.d.ts +15 -0
- package/build/common/util/helpers.js +80 -0
- package/build/{util → common/util}/logger.js +1 -1
- package/build/{util → common/util}/validations.d.ts +149 -47
- package/build/common/util/validations.js +141 -0
- package/build/common/util/yaml.js +59 -0
- package/build/if-check/config/config.d.ts +6 -0
- package/build/if-check/config/config.js +31 -0
- package/build/{config → if-check/config}/index.d.ts +0 -1
- package/build/if-check/config/index.js +8 -0
- package/build/if-check/config/strings.d.ts +11 -0
- package/build/if-check/config/strings.js +15 -0
- package/build/if-check/index.js +98 -0
- package/build/if-check/types/process-args.d.ts +4 -0
- package/build/if-check/types/process-args.js +3 -0
- package/build/if-check/util/args.d.ts +10 -0
- package/build/if-check/util/args.js +56 -0
- package/build/if-check/util/helpers.d.ts +4 -0
- package/build/if-check/util/helpers.js +18 -0
- package/build/if-check/util/npm.d.ts +4 -0
- package/build/if-check/util/npm.js +59 -0
- package/build/if-csv/config/config.d.ts +6 -0
- package/build/if-csv/config/config.js +36 -0
- package/build/if-csv/config/index.d.ts +2 -0
- package/build/if-csv/config/index.js +8 -0
- package/build/if-csv/config/strings.d.ts +3 -0
- package/build/if-csv/config/strings.js +7 -0
- package/build/if-csv/index.js +63 -0
- package/build/if-csv/types/csv.d.ts +7 -0
- package/build/if-csv/types/csv.js +3 -0
- package/build/if-csv/types/process-args.d.ts +5 -0
- package/build/if-csv/types/process-args.js +3 -0
- package/build/if-csv/util/args.d.ts +12 -0
- package/build/if-csv/util/args.js +47 -0
- package/build/if-csv/util/helpers.d.ts +9 -0
- package/build/if-csv/util/helpers.js +95 -0
- package/build/if-diff/config/config.d.ts +6 -0
- package/build/if-diff/config/config.js +31 -0
- package/build/if-diff/config/index.d.ts +2 -0
- package/build/if-diff/config/index.js +8 -0
- package/build/if-diff/config/strings.d.ts +6 -0
- package/build/if-diff/config/strings.js +10 -0
- package/build/if-diff/index.js +46 -0
- package/build/{lib → if-diff/lib}/compare.d.ts +1 -1
- package/build/if-diff/lib/compare.js +56 -0
- package/build/{lib → if-diff/lib}/load.d.ts +16 -18
- package/build/if-diff/lib/load.js +51 -0
- package/build/if-diff/types/args.js +3 -0
- package/build/if-diff/types/compare.js +3 -0
- package/build/if-diff/types/process-args.d.ts +4 -0
- package/build/if-diff/types/process-args.js +3 -0
- package/build/if-diff/util/args.d.ts +5 -0
- package/build/if-diff/util/args.js +51 -0
- package/build/if-diff/util/helpers.d.ts +13 -0
- package/build/if-diff/util/helpers.js +75 -0
- package/build/if-env/config/config.d.ts +6 -0
- package/build/if-env/config/config.js +37 -0
- package/build/if-env/config/index.d.ts +2 -0
- package/build/if-env/config/index.js +8 -0
- package/build/if-env/config/strings.d.ts +7 -0
- package/build/if-env/config/strings.js +11 -0
- package/build/if-env/index.js +40 -0
- package/build/if-env/types/if-env.js +3 -0
- package/build/if-env/types/npm.js +3 -0
- package/build/if-env/types/process-args.d.ts +5 -0
- package/build/if-env/types/process-args.js +3 -0
- package/build/if-env/util/args.d.ts +12 -0
- package/build/if-env/util/args.js +47 -0
- package/build/if-env/util/helpers.d.ts +20 -0
- package/build/if-env/util/helpers.js +94 -0
- package/build/{util → if-env/util}/npm.d.ts +0 -4
- package/build/if-env/util/npm.js +126 -0
- package/build/if-merge/config/config.d.ts +6 -0
- package/build/if-merge/config/config.js +43 -0
- package/build/if-merge/config/index.d.ts +2 -0
- package/build/if-merge/config/index.js +8 -0
- package/build/if-merge/config/strings.d.ts +5 -0
- package/build/if-merge/config/strings.js +9 -0
- package/build/if-merge/index.d.ts +2 -0
- package/build/if-merge/index.js +26 -0
- package/build/if-merge/types/process-args.d.ts +6 -0
- package/build/if-merge/types/process-args.js +3 -0
- package/build/if-merge/util/args.d.ts +9 -0
- package/build/if-merge/util/args.js +59 -0
- package/build/if-merge/util/helpers.d.ts +5 -0
- package/build/if-merge/util/helpers.js +83 -0
- package/build/if-run/builtins/coefficient/index.d.ts +2 -0
- package/build/if-run/builtins/coefficient/index.js +67 -0
- package/build/if-run/builtins/copy-param/index.d.ts +2 -0
- package/build/if-run/builtins/copy-param/index.js +70 -0
- package/build/if-run/builtins/csv-lookup/index.d.ts +2 -0
- package/build/if-run/builtins/csv-lookup/index.js +190 -0
- package/build/if-run/builtins/divide/index.d.ts +2 -0
- package/build/if-run/builtins/divide/index.js +80 -0
- package/build/if-run/builtins/exponent/index.d.ts +2 -0
- package/build/if-run/builtins/exponent/index.js +60 -0
- package/build/{builtins → if-run/builtins}/export-log.d.ts +1 -1
- package/build/{builtins → if-run/builtins}/export-log.js +1 -1
- package/build/{builtins → if-run/builtins}/export-yaml.d.ts +1 -1
- package/build/if-run/builtins/export-yaml.js +30 -0
- package/build/{builtins → if-run/builtins}/index.d.ts +2 -2
- package/build/{builtins → if-run/builtins}/index.js +6 -6
- package/build/if-run/builtins/interpolation/index.d.ts +2 -0
- package/build/if-run/builtins/interpolation/index.js +151 -0
- package/build/if-run/builtins/mock-observations/helpers/common-generator.js +29 -0
- package/build/if-run/builtins/mock-observations/helpers/rand-int-generator.js +48 -0
- package/build/if-run/builtins/mock-observations/index.d.ts +2 -0
- package/build/if-run/builtins/mock-observations/index.js +116 -0
- package/build/if-run/builtins/mock-observations/interfaces/index.js +3 -0
- package/build/if-run/builtins/multiply/index.d.ts +2 -0
- package/build/if-run/builtins/multiply/index.js +59 -0
- package/build/if-run/builtins/regex/index.d.ts +2 -0
- package/build/if-run/builtins/regex/index.js +76 -0
- package/build/if-run/builtins/sci/index.d.ts +2 -0
- package/build/if-run/builtins/sci/index.js +92 -0
- package/build/if-run/builtins/sci-embodied/index.d.ts +2 -0
- package/build/if-run/builtins/sci-embodied/index.js +156 -0
- package/build/if-run/builtins/shell/index.d.ts +2 -0
- package/build/if-run/builtins/shell/index.js +60 -0
- package/build/if-run/builtins/subtract/index.d.ts +2 -0
- package/build/if-run/builtins/subtract/index.js +61 -0
- package/build/if-run/builtins/sum/index.d.ts +2 -0
- package/build/if-run/builtins/sum/index.js +66 -0
- package/build/if-run/builtins/time-converter/config.js +44 -0
- package/build/if-run/builtins/time-converter/index.d.ts +2 -0
- package/build/if-run/builtins/time-converter/index.js +79 -0
- package/build/if-run/builtins/time-sync/index.d.ts +17 -0
- package/build/if-run/builtins/time-sync/index.js +339 -0
- package/build/if-run/config/config.d.ts +9 -0
- package/build/if-run/config/config.js +73 -0
- package/build/if-run/config/index.d.ts +2 -0
- package/build/if-run/config/index.js +8 -0
- package/build/{config → if-run/config}/strings.d.ts +28 -54
- package/build/if-run/config/strings.js +76 -0
- package/build/if-run/index.d.ts +2 -0
- package/build/if-run/index.js +63 -0
- package/build/if-run/lib/aggregate.d.ts +15 -0
- package/build/if-run/lib/aggregate.js +123 -0
- package/build/if-run/lib/compute.js +142 -0
- package/build/{lib → if-run/lib}/environment.d.ts +1 -1
- package/build/if-run/lib/environment.js +75 -0
- package/build/{lib → if-run/lib}/exhaust.d.ts +1 -1
- package/build/if-run/lib/exhaust.js +27 -0
- package/build/if-run/lib/explain.d.ts +9 -0
- package/build/if-run/lib/explain.js +43 -0
- package/build/if-run/lib/initialize.d.ts +6 -0
- package/build/if-run/lib/initialize.js +109 -0
- package/build/if-run/lib/regroup.d.ts +5 -0
- package/build/if-run/lib/regroup.js +64 -0
- package/build/if-run/types/aggregation.d.ts +5 -0
- package/build/if-run/types/aggregation.js +6 -0
- package/build/{types → if-run/types}/compute.d.ts +12 -8
- package/build/if-run/types/compute.js +3 -0
- package/build/if-run/types/environment.js +3 -0
- package/build/{types → if-run/types}/exhaust-plugin-interface.d.ts +1 -1
- package/build/if-run/types/exhaust-plugin-interface.js +3 -0
- package/build/if-run/types/explain.d.ts +10 -0
- package/build/if-run/types/explain.js +3 -0
- package/build/if-run/types/interface.d.ts +3 -0
- package/build/if-run/types/interface.js +6 -0
- package/build/if-run/types/plugin-storage.js +3 -0
- package/build/if-run/types/process-args.d.ts +25 -0
- package/build/if-run/types/process-args.js +3 -0
- package/build/if-run/types/time-sync.js +3 -0
- package/build/{util → if-run/util}/aggregation-helper.d.ts +2 -1
- package/build/if-run/util/aggregation-helper.js +47 -0
- package/build/if-run/util/args.d.ts +9 -0
- package/build/if-run/util/args.js +60 -0
- package/build/if-run/util/helpers.d.ts +14 -0
- package/build/if-run/util/helpers.js +57 -0
- package/build/if-run/util/log-memoize.js +19 -0
- package/build/if-run/util/os-checker.js +97 -0
- package/build/{util → if-run/util}/plugin-storage.d.ts +1 -1
- package/build/if-run/util/plugin-storage.js +34 -0
- package/jest.config.js +2 -6
- package/manifests/examples/builtins/coefficient/failure-invalid-config-input-param.yml +2 -2
- package/manifests/examples/builtins/coefficient/failure-output-param-is-null.yaml +3 -3
- package/manifests/examples/builtins/coefficient/success.yml +2 -2
- package/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-invalid-instance-type.yaml +3 -3
- package/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-invalid-vendor.yaml +3 -3
- package/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-missing-cloud-vendor.yml +3 -3
- package/manifests/examples/builtins/csv-lookup/cloud-metadata/success.yml +3 -3
- package/manifests/examples/builtins/csv-lookup/region-metadata/failure-missing-column.yml +3 -3
- package/manifests/examples/builtins/csv-lookup/region-metadata/failure-missing-output.yml +3 -3
- package/manifests/examples/builtins/csv-lookup/region-metadata/success-renaming.yml +4 -4
- package/manifests/examples/builtins/csv-lookup/region-metadata/success.yml +3 -3
- package/manifests/examples/builtins/csv-lookup/tdp-finder/failure-missing-input-param.yml +2 -2
- package/manifests/examples/builtins/csv-lookup/tdp-finder/failure-unsupported-physical-processor.yml +2 -2
- package/manifests/examples/builtins/csv-lookup/tdp-finder/success.yml +2 -2
- package/manifests/examples/builtins/divide/failure-denominator-equal-zero.yml +4 -4
- package/manifests/examples/builtins/divide/failure-invalid-config-denominator.yml +5 -5
- package/manifests/examples/builtins/divide/failure-missing-numerator.yml +4 -4
- package/manifests/examples/builtins/divide/success.yml +4 -6
- package/manifests/examples/builtins/exponent/success.yml +5 -7
- package/manifests/examples/builtins/interpolation/interpolation.yml +2 -2
- package/manifests/examples/builtins/interpolation/success.yml +2 -1
- package/manifests/examples/builtins/mock-observations/failure-invalid-config-cpu-range.yml +2 -2
- package/manifests/examples/builtins/mock-observations/failure-invalid-memory-utilization-range.yml +2 -2
- package/manifests/examples/builtins/mock-observations/failure-missing-timestamp-from-param.yml +2 -2
- package/manifests/examples/builtins/mock-observations/success.yml +2 -2
- package/manifests/examples/builtins/multiply/failure-input-parameter-is-missing.yml +2 -4
- package/manifests/examples/builtins/multiply/success-with-multiple-inputs.yml +2 -4
- package/manifests/examples/builtins/multiply/success.yml +3 -4
- package/manifests/examples/builtins/regex/failure-missing-input-param.yml +2 -4
- package/manifests/examples/builtins/regex/failure-not-matching-with-regex.yml +2 -4
- package/manifests/examples/builtins/regex/success.yml +2 -4
- package/manifests/examples/builtins/sci/failure-invalid-config-value.yml +2 -2
- package/manifests/examples/builtins/sci/failure-missing-input-param.yml +3 -2
- package/manifests/examples/builtins/sci/success.yml +2 -3
- package/manifests/examples/builtins/sci-embodied/failure-invalid-default-emission-value.yml +3 -3
- package/manifests/examples/builtins/sci-embodied/failure-missing-expected-lifespan.yml +2 -2
- package/manifests/examples/builtins/sci-embodied/success.yml +2 -2
- package/manifests/examples/builtins/shell/failure-invalid-command.yml +2 -2
- package/manifests/examples/builtins/shell/success.yml +2 -1
- package/manifests/examples/builtins/subtract/success.yml +6 -8
- package/manifests/examples/builtins/sum/failure-missing-input-param.yml +2 -4
- package/manifests/examples/builtins/sum/failure-missing-output-param.yml +3 -5
- package/manifests/examples/builtins/sum/success.yml +2 -4
- package/manifests/examples/builtins/time-converter/success.yaml +24 -0
- package/manifests/examples/builtins/time-sync/failure-config-start-later-end.yml +3 -3
- package/manifests/examples/builtins/time-sync/failure-missing-global-config.yml +3 -3
- package/manifests/examples/builtins/time-sync/success.yml +2 -2
- package/manifests/examples/{builtins/groupby/failure-invalid-config-group.yml → features/regroup/failure-invalid-regroup.yml} +4 -11
- package/manifests/examples/{builtins/groupby → features/regroup}/failure-missing-cloud-instance-type.yml +5 -12
- package/manifests/examples/{builtins/groupby → features/regroup}/success.yml +4 -11
- package/manifests/examples/pipelines/generics.yml +12 -13
- package/manifests/examples/pipelines/instance-metadata.yml +4 -5
- package/manifests/examples/pipelines/nesting.yml +157 -50
- package/manifests/examples/pipelines/outputs-if-diff/pipeline-with-aggregate.yaml +997 -0
- package/manifests/examples/pipelines/outputs-if-diff/pipeline-with-mocks.yaml +1059 -0
- package/manifests/examples/pipelines/pipeline-teads-sci.yml +11 -11
- package/manifests/examples/pipelines/pipeline-with-aggregate.yml +114 -37
- package/manifests/examples/pipelines/pipeline-with-mocks.yml +193 -103
- package/manifests/examples/pipelines/scenario-1.yml +34 -0
- package/manifests/examples/pipelines/scenario-2.yml +52 -0
- package/manifests/examples/pipelines/scenario-3.yml +86 -0
- package/manifests/examples/pipelines/scenario-4.yml +46 -0
- package/manifests/examples/pipelines/scenario-5.yml +46 -0
- package/manifests/examples/pipelines/sci.yml +15 -17
- package/manifests/examples/pipelines/teads-curve.yml +7 -6
- package/manifests/examples/pipelines/zeros.yml +15 -16
- package/manifests/outputs/bugs/aggregation-error-wrong-metric.yaml +51 -59
- package/manifests/outputs/bugs/input-error-missing-duration.yaml +14 -16
- package/manifests/outputs/bugs/mock-observations-failure-duration-is-zero.yaml +14 -16
- package/manifests/outputs/bugs/pipeline-error-naming-mismatch.yaml +14 -16
- package/manifests/outputs/bugs/pipeline-error-uninitialized-plugin.yaml +15 -17
- package/manifests/outputs/bugs/pipeline-ordering-error.yaml +23 -26
- package/manifests/outputs/bugs/sci-embodied-missing-resources-total.yaml +13 -14
- package/manifests/outputs/{plugins → builtins}/coefficient/failure-invalid-config-input-param.yaml +13 -17
- package/manifests/outputs/{plugins → builtins}/coefficient/failure-output-param-is-null.yaml +13 -17
- package/manifests/outputs/{plugins → builtins}/coefficient/success.yaml +11 -16
- package/manifests/outputs/builtins/csv-lookup/cloud-metadata/failure-invalid-instance-type.yaml +76 -0
- package/manifests/outputs/{plugins → builtins}/csv-lookup/cloud-metadata/failure-missing-cloud-vendor.yaml +16 -19
- package/manifests/outputs/{plugins → builtins}/csv-lookup/cloud-metadata/success.yaml +16 -19
- package/manifests/outputs/{plugins → builtins}/csv-lookup/region-metadata/failure-missing-column.yaml +14 -15
- package/manifests/outputs/{plugins → builtins}/csv-lookup/region-metadata/failure-missing-output.yaml +13 -15
- package/manifests/outputs/{plugins → builtins}/csv-lookup/region-metadata/success-renaming.yaml +13 -15
- package/manifests/outputs/{plugins → builtins}/csv-lookup/region-metadata/success.yaml +14 -16
- package/manifests/outputs/{plugins → builtins}/csv-lookup/tdp-finder/failure-missing-input-param.yaml +13 -16
- package/manifests/outputs/{plugins → builtins}/csv-lookup/tdp-finder/failure-unsupported-physical-processor.yaml +13 -15
- package/manifests/outputs/{plugins → builtins}/csv-lookup/tdp-finder/success.yaml +13 -15
- package/manifests/outputs/{plugins → builtins}/divide/failure-invalid-config-denominator.yaml +13 -17
- package/manifests/outputs/{plugins → builtins}/divide/failure-missing-numerator.yaml +13 -15
- package/manifests/outputs/{plugins → builtins}/divide/success-denominator-equal-zero.yaml +14 -18
- package/manifests/outputs/{plugins → builtins}/divide/success.yaml +14 -18
- package/manifests/outputs/{plugins → builtins}/exponent/success.yaml +13 -17
- package/manifests/outputs/{plugins → builtins}/interpolation/interpolation.yaml +14 -16
- package/manifests/outputs/{plugins → builtins}/interpolation/success.yaml +14 -16
- package/manifests/outputs/{plugins → builtins}/mock-observations/failure-invalid-config-cpu-range.yaml +13 -15
- package/manifests/outputs/{plugins → builtins}/mock-observations/failure-invalid-memory-utilization-range.yaml +13 -15
- package/manifests/outputs/{plugins → builtins}/mock-observations/failure-missing-timestamp-from-param.yaml +13 -15
- package/manifests/outputs/builtins/mock-observations/success.yaml +358 -0
- package/manifests/outputs/{plugins → builtins}/multiply/failure-input-parameter-is-missing.yaml +13 -17
- package/manifests/outputs/{plugins → builtins}/multiply/success-with-multiple-inputs.yaml +13 -17
- package/manifests/outputs/{plugins → builtins}/multiply/success.yaml +13 -17
- package/manifests/outputs/{plugins → builtins}/regex/failure-missing-input-param.yaml +13 -17
- package/manifests/outputs/{plugins → builtins}/regex/success.yaml +14 -19
- package/manifests/outputs/{plugins → builtins}/sci/failure-invalid-config-value.yaml +14 -16
- package/manifests/outputs/{plugins → builtins}/sci/failure-missing-input-param.yaml +13 -15
- package/manifests/outputs/{plugins/sci/success.yml.yaml → builtins/sci/success.yaml} +13 -16
- package/manifests/outputs/{plugins → builtins}/sci-embodied/failure-invalid-default-emission-value.yaml +13 -15
- package/manifests/outputs/{plugins → builtins}/sci-embodied/failure-missing-expected-lifespan.yaml +13 -15
- package/manifests/outputs/{plugins → builtins}/sci-embodied/success.yaml +13 -15
- package/manifests/outputs/{plugins → builtins}/shell/failure-invalid-command.yaml +14 -16
- package/manifests/outputs/{plugins → builtins}/shell/success.yaml +14 -16
- package/manifests/outputs/{plugins → builtins}/subtract/success.yaml +13 -17
- package/manifests/outputs/{plugins → builtins}/sum/failure-missing-input-param.yaml +13 -17
- package/manifests/outputs/{plugins → builtins}/sum/failure-missing-output-param.yaml +13 -17
- package/manifests/outputs/{plugins → builtins}/sum/success.yaml +13 -17
- package/manifests/outputs/{plugins → builtins}/time-sync/failure-config-start-later-end.yaml +20 -23
- package/manifests/outputs/{plugins → builtins}/time-sync/success.yaml +38 -35
- package/manifests/outputs/features/aggregate-failure-invalid-metrics.yaml +17 -18
- package/manifests/outputs/features/aggregate-failure-missing-metric-in-inputs.yaml +17 -18
- package/manifests/outputs/features/aggregate-horizontal.yaml +27 -23
- package/manifests/outputs/features/aggregate-vertical.yaml +33 -29
- package/manifests/outputs/features/aggregate.yaml +33 -29
- package/manifests/outputs/{plugins/groupby/failure-invalid-config-group.yaml → features/failure-invalid-regroup.yaml} +16 -25
- package/manifests/outputs/{plugins/groupby → features}/failure-missing-cloud-instance-type.yaml +16 -25
- package/manifests/outputs/pipelines/cloud-metadata-divide.yaml +14 -18
- package/manifests/outputs/pipelines/generics.yaml +239 -0
- package/manifests/outputs/pipelines/instance-metadata.yaml +98 -0
- package/manifests/outputs/pipelines/mock-obs-time-sync.yaml +246 -147
- package/manifests/outputs/pipelines/nesting.yaml +1799 -0
- package/manifests/outputs/pipelines/pipeline-teads-sci.yaml +276 -0
- package/manifests/outputs/pipelines/sci.yaml +297 -0
- package/manifests/outputs/pipelines/teads-curve.yaml +188 -0
- package/manifests/outputs/pipelines/zeros.yaml +198 -0
- package/package.json +17 -16
- package/src/__mocks__/mock-manifest.yaml +2 -3
- package/src/{config → if-env/config}/env-template.yml +2 -3
- package/src/{builtins → if-run/builtins}/coefficient/README.md +31 -9
- package/src/{builtins → if-run/builtins}/copy-param/README.md +30 -11
- package/src/{builtins → if-run/builtins}/csv-lookup/README.md +32 -20
- package/src/{builtins → if-run/builtins}/divide/README.md +21 -8
- package/src/{builtins → if-run/builtins}/exponent/README.md +19 -8
- package/src/{builtins → if-run/builtins}/interpolation/README.md +21 -6
- package/src/{builtins → if-run/builtins}/mock-observations/README.md +18 -4
- package/src/{builtins → if-run/builtins}/multiply/README.md +20 -8
- package/src/{builtins → if-run/builtins}/regex/README.md +19 -9
- package/src/{builtins → if-run/builtins}/sci/README.md +19 -9
- package/src/{builtins → if-run/builtins}/sci-embodied/README.md +17 -5
- package/src/{builtins → if-run/builtins}/shell/README.md +19 -7
- package/src/{builtins → if-run/builtins}/subtract/README.md +17 -6
- package/src/{builtins → if-run/builtins}/sum/README.md +34 -8
- package/src/if-run/builtins/time-converter/README.md +136 -0
- package/src/if-run/builtins/time-sync/README.md +267 -0
- package/build/builtins/coefficient/index.d.ts +0 -2
- package/build/builtins/coefficient/index.js +0 -65
- package/build/builtins/copy-param/index.d.ts +0 -2
- package/build/builtins/copy-param/index.js +0 -68
- package/build/builtins/csv-lookup/index.d.ts +0 -2
- package/build/builtins/csv-lookup/index.js +0 -188
- package/build/builtins/divide/index.d.ts +0 -2
- package/build/builtins/divide/index.js +0 -78
- package/build/builtins/exponent/index.d.ts +0 -2
- package/build/builtins/exponent/index.js +0 -58
- package/build/builtins/export-csv-raw.d.ts +0 -4
- package/build/builtins/export-csv-raw.js +0 -132
- package/build/builtins/export-csv.d.ts +0 -10
- package/build/builtins/export-csv.js +0 -96
- package/build/builtins/export-yaml.js +0 -30
- package/build/builtins/group-by.d.ts +0 -5
- package/build/builtins/group-by.js +0 -71
- package/build/builtins/interpolation/index.d.ts +0 -2
- package/build/builtins/interpolation/index.js +0 -148
- package/build/builtins/mock-observations/helpers/common-generator.js +0 -29
- package/build/builtins/mock-observations/helpers/rand-int-generator.js +0 -48
- package/build/builtins/mock-observations/index.d.ts +0 -2
- package/build/builtins/mock-observations/index.js +0 -114
- package/build/builtins/mock-observations/interfaces/index.js +0 -3
- package/build/builtins/multiply/index.d.ts +0 -2
- package/build/builtins/multiply/index.js +0 -57
- package/build/builtins/regex/index.d.ts +0 -2
- package/build/builtins/regex/index.js +0 -74
- package/build/builtins/sci/config.js +0 -44
- package/build/builtins/sci/index.d.ts +0 -2
- package/build/builtins/sci/index.js +0 -70
- package/build/builtins/sci-embodied/index.d.ts +0 -2
- package/build/builtins/sci-embodied/index.js +0 -114
- package/build/builtins/shell/index.d.ts +0 -2
- package/build/builtins/shell/index.js +0 -58
- package/build/builtins/subtract/index.d.ts +0 -2
- package/build/builtins/subtract/index.js +0 -59
- package/build/builtins/sum/index.d.ts +0 -2
- package/build/builtins/sum/index.js +0 -64
- package/build/builtins/time-sync.d.ts +0 -2
- package/build/builtins/time-sync.js +0 -300
- package/build/check.js +0 -95
- package/build/config/config.d.ts +0 -29
- package/build/config/config.js +0 -147
- package/build/config/index.js +0 -10
- package/build/config/params.d.ts +0 -2
- package/build/config/params.js +0 -196
- package/build/config/strings.js +0 -105
- package/build/diff.js +0 -46
- package/build/env.js +0 -38
- package/build/index.js +0 -48
- package/build/lib/aggregate.d.ts +0 -6
- package/build/lib/aggregate.js +0 -77
- package/build/lib/compare.js +0 -56
- package/build/lib/compute.js +0 -91
- package/build/lib/environment.js +0 -75
- package/build/lib/exhaust.js +0 -53
- package/build/lib/initialize.d.ts +0 -6
- package/build/lib/initialize.js +0 -101
- package/build/lib/load.js +0 -70
- package/build/lib/parameterize.d.ts +0 -6
- package/build/lib/parameterize.js +0 -55
- package/build/types/aggregation.d.ts +0 -2
- package/build/types/aggregation.js +0 -5
- package/build/types/compute.js +0 -3
- package/build/types/environment.js +0 -3
- package/build/types/exhaust-plugin-interface.js +0 -3
- package/build/types/if-env.js +0 -3
- package/build/types/interface.d.ts +0 -4
- package/build/types/interface.js +0 -8
- package/build/types/lib/compare.js +0 -3
- package/build/types/manifest.js +0 -3
- package/build/types/npm.js +0 -3
- package/build/types/parameters.d.ts +0 -5
- package/build/types/parameters.js +0 -5
- package/build/types/plugin-storage.js +0 -3
- package/build/types/process-args.d.ts +0 -33
- package/build/types/process-args.js +0 -3
- package/build/types/time-sync.js +0 -3
- package/build/types/util/args.js +0 -3
- package/build/util/aggregation-helper.js +0 -55
- package/build/util/args.d.ts +0 -37
- package/build/util/args.js +0 -205
- package/build/util/debug-logger.js +0 -118
- package/build/util/fs.js +0 -94
- package/build/util/helpers.d.ts +0 -57
- package/build/util/helpers.js +0 -251
- package/build/util/json.d.ts +0 -4
- package/build/util/json.js +0 -36
- package/build/util/log-memoize.js +0 -19
- package/build/util/npm.js +0 -152
- package/build/util/os-checker.js +0 -97
- package/build/util/plugin-storage.js +0 -34
- package/build/util/validations.js +0 -124
- package/build/util/yaml.js +0 -59
- package/manifests/outputs/bugs/initialize-error-no-config.yaml +0 -78
- package/manifests/outputs/bugs/initialize-error-no-path.yaml +0 -91
- package/manifests/outputs/bugs/initialize-error-no-plugins.yaml +0 -74
- package/manifests/outputs/divide.yaml +0 -93
- package/manifests/outputs/pipelines/mock-obs-group-by-cloud-meta.yaml +0 -645
- package/manifests/outputs/pipelines/mock-obs-groupby.yaml +0 -178
- package/manifests/outputs/plugins/csv-lookup/cloud-metadata/failure-invalid-instance-type.yaml +0 -27
- package/manifests/outputs/plugins/csv-lookup/cloud-metadata/failure-invalid-vendor.yaml +0 -27
- package/manifests/outputs/plugins/groupby/success.yaml +0 -101
- package/manifests/outputs/plugins/mock-observations/success.yaml +0 -220
- package/manifests/outputs/plugins/regex/failure-not-matching-with-regex.yaml +0 -76
- package/manifests/outputs/plugins/time-sync/failure-missing-global-config.yaml +0 -78
- package/src/__tests__/integration/templates/integration.yaml +0 -16
- package/src/builtins/README.md +0 -848
- /package/build/{util → common/util}/debug-logger.d.ts +0 -0
- /package/build/{util → common/util}/fs.d.ts +0 -0
- /package/build/{util → common/util}/logger.d.ts +0 -0
- /package/build/{util → common/util}/yaml.d.ts +0 -0
- /package/build/{index.d.ts → if-check/index.d.ts} +0 -0
- /package/build/{check.d.ts → if-csv/index.d.ts} +0 -0
- /package/build/{diff.d.ts → if-diff/index.d.ts} +0 -0
- /package/build/{types/util → if-diff/types}/args.d.ts +0 -0
- /package/build/{types/lib → if-diff/types}/compare.d.ts +0 -0
- /package/build/{env.d.ts → if-env/index.d.ts} +0 -0
- /package/build/{types → if-env/types}/if-env.d.ts +0 -0
- /package/build/{types → if-env/types}/npm.d.ts +0 -0
- /package/build/{builtins → if-run/builtins}/mock-observations/helpers/common-generator.d.ts +0 -0
- /package/build/{builtins → if-run/builtins}/mock-observations/helpers/rand-int-generator.d.ts +0 -0
- /package/build/{builtins → if-run/builtins}/mock-observations/interfaces/index.d.ts +0 -0
- /package/build/{builtins/sci → if-run/builtins/time-converter}/config.d.ts +0 -0
- /package/build/{lib → if-run/lib}/compute.d.ts +0 -0
- /package/build/{types → if-run/types}/environment.d.ts +0 -0
- /package/build/{types → if-run/types}/plugin-storage.d.ts +0 -0
- /package/build/{types → if-run/types}/time-sync.d.ts +0 -0
- /package/build/{util → if-run/util}/log-memoize.d.ts +0 -0
- /package/build/{util → if-run/util}/os-checker.d.ts +0 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CONFIG = void 0;
|
|
4
|
+
const config_1 = require("../../common/config");
|
|
5
|
+
const { DISCLAIMER_MESSAGE } = config_1.STRINGS;
|
|
6
|
+
exports.CONFIG = {
|
|
7
|
+
ARGS: {
|
|
8
|
+
manifest: {
|
|
9
|
+
type: String,
|
|
10
|
+
optional: true,
|
|
11
|
+
alias: 'm',
|
|
12
|
+
description: '[path to the manifest file]',
|
|
13
|
+
},
|
|
14
|
+
output: {
|
|
15
|
+
type: String,
|
|
16
|
+
optional: true,
|
|
17
|
+
alias: 'o',
|
|
18
|
+
description: '[path to the csv output file]',
|
|
19
|
+
},
|
|
20
|
+
params: {
|
|
21
|
+
type: String,
|
|
22
|
+
alias: 'p',
|
|
23
|
+
description: '[parameter to export]',
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
HELP: {
|
|
27
|
+
helpArg: 'help',
|
|
28
|
+
headerContentSections: [
|
|
29
|
+
{ header: 'Impact Framework', content: 'IF-Csv Helpful keywords:' },
|
|
30
|
+
],
|
|
31
|
+
footerContentSections: [
|
|
32
|
+
{ header: 'Green Software Foundation', content: DISCLAIMER_MESSAGE },
|
|
33
|
+
],
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lmLWNzdi9jb25maWcvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLGdEQUE0QztBQUk1QyxNQUFNLEVBQUMsa0JBQWtCLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBRXhCLFFBQUEsTUFBTSxHQUFHO0lBQ3BCLElBQUksRUFBRTtRQUNKLFFBQVEsRUFBRTtZQUNSLElBQUksRUFBRSxNQUFNO1lBQ1osUUFBUSxFQUFFLElBQUk7WUFDZCxLQUFLLEVBQUUsR0FBRztZQUNWLFdBQVcsRUFBRSw2QkFBNkI7U0FDM0M7UUFDRCxNQUFNLEVBQUU7WUFDTixJQUFJLEVBQUUsTUFBTTtZQUNaLFFBQVEsRUFBRSxJQUFJO1lBQ2QsS0FBSyxFQUFFLEdBQUc7WUFDVixXQUFXLEVBQUUsK0JBQStCO1NBQzdDO1FBQ0QsTUFBTSxFQUFFO1lBQ04sSUFBSSxFQUFFLE1BQU07WUFDWixLQUFLLEVBQUUsR0FBRztZQUNWLFdBQVcsRUFBRSx1QkFBdUI7U0FDckM7S0FDMkI7SUFDOUIsSUFBSSxFQUFFO1FBQ0osT0FBTyxFQUFFLE1BQU07UUFDZixxQkFBcUIsRUFBRTtZQUNyQixFQUFDLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUM7U0FDbEU7UUFDRCxxQkFBcUIsRUFBRTtZQUNyQixFQUFDLE1BQU0sRUFBRSwyQkFBMkIsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUM7U0FDbkU7S0FDbUI7Q0FDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXJndW1lbnRDb25maWcsIFBhcnNlT3B0aW9uc30gZnJvbSAndHMtY29tbWFuZC1saW5lLWFyZ3MnO1xuXG5pbXBvcnQge1NUUklOR1N9IGZyb20gJy4uLy4uL2NvbW1vbi9jb25maWcnO1xuXG5pbXBvcnQge0lGQ3N2QXJnc30gZnJvbSAnLi4vdHlwZXMvcHJvY2Vzcy1hcmdzJztcblxuY29uc3Qge0RJU0NMQUlNRVJfTUVTU0FHRX0gPSBTVFJJTkdTO1xuXG5leHBvcnQgY29uc3QgQ09ORklHID0ge1xuICBBUkdTOiB7XG4gICAgbWFuaWZlc3Q6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgYWxpYXM6ICdtJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnW3BhdGggdG8gdGhlIG1hbmlmZXN0IGZpbGVdJyxcbiAgICB9LFxuICAgIG91dHB1dDoge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICBhbGlhczogJ28nLFxuICAgICAgZGVzY3JpcHRpb246ICdbcGF0aCB0byB0aGUgY3N2IG91dHB1dCBmaWxlXScsXG4gICAgfSxcbiAgICBwYXJhbXM6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGFsaWFzOiAncCcsXG4gICAgICBkZXNjcmlwdGlvbjogJ1twYXJhbWV0ZXIgdG8gZXhwb3J0XScsXG4gICAgfSxcbiAgfSBhcyBBcmd1bWVudENvbmZpZzxJRkNzdkFyZ3M+LFxuICBIRUxQOiB7XG4gICAgaGVscEFyZzogJ2hlbHAnLFxuICAgIGhlYWRlckNvbnRlbnRTZWN0aW9uczogW1xuICAgICAge2hlYWRlcjogJ0ltcGFjdCBGcmFtZXdvcmsnLCBjb250ZW50OiAnSUYtQ3N2IEhlbHBmdWwga2V5d29yZHM6J30sXG4gICAgXSxcbiAgICBmb290ZXJDb250ZW50U2VjdGlvbnM6IFtcbiAgICAgIHtoZWFkZXI6ICdHcmVlbiBTb2Z0d2FyZSBGb3VuZGF0aW9uJywgY29udGVudDogRElTQ0xBSU1FUl9NRVNTQUdFfSxcbiAgICBdLFxuICB9IGFzIFBhcnNlT3B0aW9uczxhbnk+LFxufTtcbiJdfQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.STRINGS = exports.CONFIG = void 0;
|
|
4
|
+
var config_1 = require("./config");
|
|
5
|
+
Object.defineProperty(exports, "CONFIG", { enumerable: true, get: function () { return config_1.CONFIG; } });
|
|
6
|
+
var strings_1 = require("./strings");
|
|
7
|
+
Object.defineProperty(exports, "STRINGS", { enumerable: true, get: function () { return strings_1.STRINGS; } });
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWYtY3N2L2NvbmZpZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBZ0M7QUFBeEIsZ0dBQUEsTUFBTSxPQUFBO0FBQ2QscUNBQWtDO0FBQTFCLGtHQUFBLE9BQU8sT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7Q09ORklHfSBmcm9tICcuL2NvbmZpZyc7XG5leHBvcnQge1NUUklOR1N9IGZyb20gJy4vc3RyaW5ncyc7XG4iXX0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.STRINGS = void 0;
|
|
4
|
+
exports.STRINGS = {
|
|
5
|
+
FAILURE_MESSAGE_OUTPUTS: 'Manifest outputs are not available!',
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1jc3YvY29uZmlnL3N0cmluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxPQUFPLEdBQUc7SUFDckIsdUJBQXVCLEVBQUUscUNBQXFDO0NBQy9ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgU1RSSU5HUyA9IHtcbiAgRkFJTFVSRV9NRVNTQUdFX09VVFBVVFM6ICdNYW5pZmVzdCBvdXRwdXRzIGFyZSBub3QgYXZhaWxhYmxlIScsXG59O1xuIl19
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
20
|
+
if (mod && mod.__esModule) return mod;
|
|
21
|
+
var result = {};
|
|
22
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
23
|
+
__setModuleDefault(result, mod);
|
|
24
|
+
return result;
|
|
25
|
+
};
|
|
26
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
+
/* eslint-disable no-process-exit */
|
|
28
|
+
const YAML = __importStar(require("js-yaml"));
|
|
29
|
+
const helpers_1 = require("../common/util/helpers");
|
|
30
|
+
const debug_logger_1 = require("../common/util/debug-logger");
|
|
31
|
+
const logger_1 = require("../common/util/logger");
|
|
32
|
+
const helpers_2 = require("./util/helpers");
|
|
33
|
+
const args_1 = require("./util/args");
|
|
34
|
+
const IfCsv = async () => {
|
|
35
|
+
// Call this function with false parameter to prevent log debug messages.
|
|
36
|
+
debug_logger_1.debugLogger.overrideConsoleMethods(false);
|
|
37
|
+
const pipedManifest = await (0, helpers_1.parseManifestFromStdin)();
|
|
38
|
+
const { manifest, output, params } = await (0, args_1.parseIfCsvArgs)();
|
|
39
|
+
const resolvedManifest = manifest || pipedManifest;
|
|
40
|
+
if (resolvedManifest) {
|
|
41
|
+
const manifestData = pipedManifest
|
|
42
|
+
? (await YAML.load(pipedManifest))
|
|
43
|
+
: await (0, helpers_2.getManifestData)(manifest);
|
|
44
|
+
const options = {
|
|
45
|
+
tree: manifestData.tree,
|
|
46
|
+
context: manifestData,
|
|
47
|
+
outputPath: output,
|
|
48
|
+
params,
|
|
49
|
+
};
|
|
50
|
+
const result = await (0, helpers_2.generateCsv)(options);
|
|
51
|
+
if (!output && result) {
|
|
52
|
+
console.log(result);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
process.exit(0);
|
|
56
|
+
};
|
|
57
|
+
IfCsv().catch(error => {
|
|
58
|
+
if (error instanceof Error) {
|
|
59
|
+
logger_1.logger.error(error);
|
|
60
|
+
process.exit(2);
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaWYtY3N2L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0Esb0NBQW9DO0FBQ3BDLDhDQUFnQztBQUVoQyxvREFBOEQ7QUFDOUQsOERBQXdEO0FBRXhELGtEQUE2QztBQUU3Qyw0Q0FBNEQ7QUFDNUQsc0NBQTJDO0FBRzNDLE1BQU0sS0FBSyxHQUFHLEtBQUssSUFBSSxFQUFFO0lBQ3ZCLHlFQUF5RTtJQUN6RSwwQkFBVyxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTFDLE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBQSxnQ0FBc0IsR0FBRSxDQUFDO0lBQ3JELE1BQU0sRUFBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBQyxHQUFHLE1BQU0sSUFBQSxxQkFBYyxHQUFFLENBQUM7SUFDMUQsTUFBTSxnQkFBZ0IsR0FBRyxRQUFRLElBQUksYUFBYSxDQUFDO0lBRW5ELElBQUksZ0JBQWdCLEVBQUU7UUFDcEIsTUFBTSxZQUFZLEdBQUcsYUFBYTtZQUNoQyxDQUFDLENBQUUsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYyxDQUFDLENBQWM7WUFDakQsQ0FBQyxDQUFDLE1BQU0sSUFBQSx5QkFBZSxFQUFDLFFBQVMsQ0FBQyxDQUFDO1FBRXJDLE1BQU0sT0FBTyxHQUFlO1lBQzFCLElBQUksRUFBRSxZQUFZLENBQUMsSUFBSTtZQUN2QixPQUFPLEVBQUUsWUFBWTtZQUNyQixVQUFVLEVBQUUsTUFBTTtZQUNsQixNQUFNO1NBQ1AsQ0FBQztRQUNGLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBQSxxQkFBVyxFQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTFDLElBQUksQ0FBQyxNQUFNLElBQUksTUFBTSxFQUFFO1lBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDckI7S0FDRjtJQUVELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEIsQ0FBQyxDQUFDO0FBRUYsS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO0lBQ3BCLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRTtRQUMxQixlQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDakI7QUFDSCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcbi8qIGVzbGludC1kaXNhYmxlIG5vLXByb2Nlc3MtZXhpdCAqL1xuaW1wb3J0ICogYXMgWUFNTCBmcm9tICdqcy15YW1sJztcblxuaW1wb3J0IHtwYXJzZU1hbmlmZXN0RnJvbVN0ZGlufSBmcm9tICcuLi9jb21tb24vdXRpbC9oZWxwZXJzJztcbmltcG9ydCB7ZGVidWdMb2dnZXJ9IGZyb20gJy4uL2NvbW1vbi91dGlsL2RlYnVnLWxvZ2dlcic7XG5pbXBvcnQge01hbmlmZXN0fSBmcm9tICcuLi9jb21tb24vdHlwZXMvbWFuaWZlc3QnO1xuaW1wb3J0IHtsb2dnZXJ9IGZyb20gJy4uL2NvbW1vbi91dGlsL2xvZ2dlcic7XG5cbmltcG9ydCB7Z2VuZXJhdGVDc3YsIGdldE1hbmlmZXN0RGF0YX0gZnJvbSAnLi91dGlsL2hlbHBlcnMnO1xuaW1wb3J0IHtwYXJzZUlmQ3N2QXJnc30gZnJvbSAnLi91dGlsL2FyZ3MnO1xuaW1wb3J0IHtDc3ZPcHRpb25zfSBmcm9tICcuL3R5cGVzL2Nzdic7XG5cbmNvbnN0IElmQ3N2ID0gYXN5bmMgKCkgPT4ge1xuICAvLyBDYWxsIHRoaXMgZnVuY3Rpb24gd2l0aCBmYWxzZSBwYXJhbWV0ZXIgdG8gcHJldmVudCBsb2cgZGVidWcgbWVzc2FnZXMuXG4gIGRlYnVnTG9nZ2VyLm92ZXJyaWRlQ29uc29sZU1ldGhvZHMoZmFsc2UpO1xuXG4gIGNvbnN0IHBpcGVkTWFuaWZlc3QgPSBhd2FpdCBwYXJzZU1hbmlmZXN0RnJvbVN0ZGluKCk7XG4gIGNvbnN0IHttYW5pZmVzdCwgb3V0cHV0LCBwYXJhbXN9ID0gYXdhaXQgcGFyc2VJZkNzdkFyZ3MoKTtcbiAgY29uc3QgcmVzb2x2ZWRNYW5pZmVzdCA9IG1hbmlmZXN0IHx8IHBpcGVkTWFuaWZlc3Q7XG5cbiAgaWYgKHJlc29sdmVkTWFuaWZlc3QpIHtcbiAgICBjb25zdCBtYW5pZmVzdERhdGEgPSBwaXBlZE1hbmlmZXN0XG4gICAgICA/ICgoYXdhaXQgWUFNTC5sb2FkKHBpcGVkTWFuaWZlc3QhKSkgYXMgTWFuaWZlc3QpXG4gICAgICA6IGF3YWl0IGdldE1hbmlmZXN0RGF0YShtYW5pZmVzdCEpO1xuXG4gICAgY29uc3Qgb3B0aW9uczogQ3N2T3B0aW9ucyA9IHtcbiAgICAgIHRyZWU6IG1hbmlmZXN0RGF0YS50cmVlLFxuICAgICAgY29udGV4dDogbWFuaWZlc3REYXRhLFxuICAgICAgb3V0cHV0UGF0aDogb3V0cHV0LFxuICAgICAgcGFyYW1zLFxuICAgIH07XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZ2VuZXJhdGVDc3Yob3B0aW9ucyk7XG5cbiAgICBpZiAoIW91dHB1dCAmJiByZXN1bHQpIHtcbiAgICAgIGNvbnNvbGUubG9nKHJlc3VsdCk7XG4gICAgfVxuICB9XG5cbiAgcHJvY2Vzcy5leGl0KDApO1xufTtcblxuSWZDc3YoKS5jYXRjaChlcnJvciA9PiB7XG4gIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgbG9nZ2VyLmVycm9yKGVycm9yKTtcbiAgICBwcm9jZXNzLmV4aXQoMik7XG4gIH1cbn0pO1xuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3N2LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lmLWNzdi90eXBlcy9jc3YudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29udGV4dH0gZnJvbSAnLi4vLi4vY29tbW9uL3R5cGVzL21hbmlmZXN0JztcblxuZXhwb3J0IHR5cGUgQ3N2T3B0aW9ucyA9IHtcbiAgdHJlZTogYW55O1xuICBjb250ZXh0OiBDb250ZXh0O1xuICBvdXRwdXRQYXRoPzogc3RyaW5nO1xuICBwYXJhbXM6IHN0cmluZztcbn07XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1hcmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lmLWNzdi90eXBlcy9wcm9jZXNzLWFyZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSUZDc3ZBcmdzIHtcbiAgbWFuaWZlc3Q/OiBzdHJpbmc7XG4gIG91dHB1dD86IHN0cmluZztcbiAgcGFyYW1zOiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Checks for `manifest` and `params` flags to be present.
|
|
3
|
+
*/
|
|
4
|
+
export declare const parseIfCsvArgs: () => Promise<{
|
|
5
|
+
manifest: string;
|
|
6
|
+
output: string | undefined;
|
|
7
|
+
params: string;
|
|
8
|
+
} | {
|
|
9
|
+
output: string | undefined;
|
|
10
|
+
params: string;
|
|
11
|
+
manifest?: undefined;
|
|
12
|
+
}>;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseIfCsvArgs = void 0;
|
|
4
|
+
const ts_command_line_args_1 = require("ts-command-line-args");
|
|
5
|
+
const utils_1 = require("@grnsft/if-core/utils");
|
|
6
|
+
const yaml_1 = require("../../common/util/yaml");
|
|
7
|
+
const helpers_1 = require("../../common/util/helpers");
|
|
8
|
+
const config_1 = require("../config");
|
|
9
|
+
const config_2 = require("../../common/config");
|
|
10
|
+
const fs_1 = require("../../common/util/fs");
|
|
11
|
+
const { ParseCliParamsError, CliSourceFileError } = utils_1.ERRORS;
|
|
12
|
+
const { ARGS, HELP } = config_1.CONFIG;
|
|
13
|
+
const { SOURCE_IS_NOT_YAML, MANIFEST_NOT_FOUND } = config_2.STRINGS;
|
|
14
|
+
/**
|
|
15
|
+
* Parses `if-csv` process arguments.
|
|
16
|
+
*/
|
|
17
|
+
const validateAndParseIfCsvArgs = () => {
|
|
18
|
+
try {
|
|
19
|
+
return (0, ts_command_line_args_1.parse)(ARGS, HELP);
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
if (error instanceof Error) {
|
|
23
|
+
throw new ParseCliParamsError(error.message);
|
|
24
|
+
}
|
|
25
|
+
throw error;
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Checks for `manifest` and `params` flags to be present.
|
|
30
|
+
*/
|
|
31
|
+
const parseIfCsvArgs = async () => {
|
|
32
|
+
const { manifest, output, params } = validateAndParseIfCsvArgs();
|
|
33
|
+
if (manifest) {
|
|
34
|
+
const response = (0, helpers_1.prependFullFilePath)(manifest);
|
|
35
|
+
const isManifestFileExists = await (0, fs_1.isFileExists)(response);
|
|
36
|
+
if (!isManifestFileExists) {
|
|
37
|
+
throw new ParseCliParamsError(MANIFEST_NOT_FOUND);
|
|
38
|
+
}
|
|
39
|
+
if ((0, yaml_1.checkIfFileIsYaml)(manifest)) {
|
|
40
|
+
return { manifest, output, params };
|
|
41
|
+
}
|
|
42
|
+
throw new CliSourceFileError(SOURCE_IS_NOT_YAML);
|
|
43
|
+
}
|
|
44
|
+
return { output, params };
|
|
45
|
+
};
|
|
46
|
+
exports.parseIfCsvArgs = parseIfCsvArgs;
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1jc3YvdXRpbC9hcmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtEQUEyQztBQUMzQyxpREFBNkM7QUFFN0MsaURBQXlEO0FBQ3pELHVEQUE4RDtBQUU5RCxzQ0FBaUM7QUFDakMsZ0RBQThEO0FBRzlELDZDQUFrRDtBQUVsRCxNQUFNLEVBQUMsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUMsR0FBRyxjQUFNLENBQUM7QUFFekQsTUFBTSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFDNUIsTUFBTSxFQUFDLGtCQUFrQixFQUFFLGtCQUFrQixFQUFDLEdBQUcsZ0JBQWMsQ0FBQztBQUVoRTs7R0FFRztBQUNILE1BQU0seUJBQXlCLEdBQUcsR0FBRyxFQUFFO0lBQ3JDLElBQUk7UUFDRixPQUFPLElBQUEsNEJBQUssRUFBWSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDckM7SUFBQyxPQUFPLEtBQUssRUFBRTtRQUNkLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRTtZQUMxQixNQUFNLElBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzlDO1FBRUQsTUFBTSxLQUFLLENBQUM7S0FDYjtBQUNILENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0ksTUFBTSxjQUFjLEdBQUcsS0FBSyxJQUFJLEVBQUU7SUFDdkMsTUFBTSxFQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFDLEdBQUcseUJBQXlCLEVBQUUsQ0FBQztJQUUvRCxJQUFJLFFBQVEsRUFBRTtRQUNaLE1BQU0sUUFBUSxHQUFHLElBQUEsNkJBQW1CLEVBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0MsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLElBQUEsaUJBQVksRUFBQyxRQUFRLENBQUMsQ0FBQztRQUUxRCxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDekIsTUFBTSxJQUFJLG1CQUFtQixDQUFDLGtCQUFrQixDQUFDLENBQUM7U0FDbkQ7UUFFRCxJQUFJLElBQUEsd0JBQWlCLEVBQUMsUUFBUSxDQUFDLEVBQUU7WUFDL0IsT0FBTyxFQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFDLENBQUM7U0FDbkM7UUFFRCxNQUFNLElBQUksa0JBQWtCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztLQUNsRDtJQUVELE9BQU8sRUFBQyxNQUFNLEVBQUUsTUFBTSxFQUFDLENBQUM7QUFDMUIsQ0FBQyxDQUFDO0FBbkJXLFFBQUEsY0FBYyxrQkFtQnpCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtwYXJzZX0gZnJvbSAndHMtY29tbWFuZC1saW5lLWFyZ3MnO1xuaW1wb3J0IHtFUlJPUlN9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS91dGlscyc7XG5cbmltcG9ydCB7Y2hlY2tJZkZpbGVJc1lhbWx9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL3lhbWwnO1xuaW1wb3J0IHtwcmVwZW5kRnVsbEZpbGVQYXRofSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC9oZWxwZXJzJztcblxuaW1wb3J0IHtDT05GSUd9IGZyb20gJy4uL2NvbmZpZyc7XG5pbXBvcnQge1NUUklOR1MgYXMgQ09NTU9OX1NUUklOR1N9IGZyb20gJy4uLy4uL2NvbW1vbi9jb25maWcnO1xuXG5pbXBvcnQge0lGQ3N2QXJnc30gZnJvbSAnLi4vdHlwZXMvcHJvY2Vzcy1hcmdzJztcbmltcG9ydCB7aXNGaWxlRXhpc3RzfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC9mcyc7XG5cbmNvbnN0IHtQYXJzZUNsaVBhcmFtc0Vycm9yLCBDbGlTb3VyY2VGaWxlRXJyb3J9ID0gRVJST1JTO1xuXG5jb25zdCB7QVJHUywgSEVMUH0gPSBDT05GSUc7XG5jb25zdCB7U09VUkNFX0lTX05PVF9ZQU1MLCBNQU5JRkVTVF9OT1RfRk9VTkR9ID0gQ09NTU9OX1NUUklOR1M7XG5cbi8qKlxuICogUGFyc2VzIGBpZi1jc3ZgIHByb2Nlc3MgYXJndW1lbnRzLlxuICovXG5jb25zdCB2YWxpZGF0ZUFuZFBhcnNlSWZDc3ZBcmdzID0gKCkgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBwYXJzZTxJRkNzdkFyZ3M+KEFSR1MsIEhFTFApO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2VDbGlQYXJhbXNFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICB9XG5cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuLyoqXG4gKiBDaGVja3MgZm9yIGBtYW5pZmVzdGAgYW5kIGBwYXJhbXNgIGZsYWdzIHRvIGJlIHByZXNlbnQuXG4gKi9cbmV4cG9ydCBjb25zdCBwYXJzZUlmQ3N2QXJncyA9IGFzeW5jICgpID0+IHtcbiAgY29uc3Qge21hbmlmZXN0LCBvdXRwdXQsIHBhcmFtc30gPSB2YWxpZGF0ZUFuZFBhcnNlSWZDc3ZBcmdzKCk7XG5cbiAgaWYgKG1hbmlmZXN0KSB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBwcmVwZW5kRnVsbEZpbGVQYXRoKG1hbmlmZXN0KTtcbiAgICBjb25zdCBpc01hbmlmZXN0RmlsZUV4aXN0cyA9IGF3YWl0IGlzRmlsZUV4aXN0cyhyZXNwb25zZSk7XG5cbiAgICBpZiAoIWlzTWFuaWZlc3RGaWxlRXhpc3RzKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2VDbGlQYXJhbXNFcnJvcihNQU5JRkVTVF9OT1RfRk9VTkQpO1xuICAgIH1cblxuICAgIGlmIChjaGVja0lmRmlsZUlzWWFtbChtYW5pZmVzdCkpIHtcbiAgICAgIHJldHVybiB7bWFuaWZlc3QsIG91dHB1dCwgcGFyYW1zfTtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgQ2xpU291cmNlRmlsZUVycm9yKFNPVVJDRV9JU19OT1RfWUFNTCk7XG4gIH1cblxuICByZXR1cm4ge291dHB1dCwgcGFyYW1zfTtcbn07XG4iXX0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { CsvOptions } from '../types/csv';
|
|
2
|
+
/**
|
|
3
|
+
* Gets the manifest data if `outputs` is present in it.
|
|
4
|
+
*/
|
|
5
|
+
export declare const getManifestData: (manifest: string) => Promise<any>;
|
|
6
|
+
/**
|
|
7
|
+
* Generates a CSV file based on the provided tree structure, context, output path, and params.
|
|
8
|
+
*/
|
|
9
|
+
export declare const generateCsv: (options: CsvOptions) => Promise<string | void>;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.generateCsv = exports.getManifestData = void 0;
|
|
27
|
+
const fs = __importStar(require("fs/promises"));
|
|
28
|
+
const sync_1 = require("csv-stringify/sync");
|
|
29
|
+
const utils_1 = require("@grnsft/if-core/utils");
|
|
30
|
+
const load_1 = require("../../common/lib/load");
|
|
31
|
+
const config_1 = require("../config");
|
|
32
|
+
const { FAILURE_MESSAGE_OUTPUTS } = config_1.STRINGS;
|
|
33
|
+
const { ManifestValidationError } = utils_1.ERRORS;
|
|
34
|
+
/**
|
|
35
|
+
* Gets the manifest data if `outputs` is present in it.
|
|
36
|
+
*/
|
|
37
|
+
const getManifestData = async (manifest) => {
|
|
38
|
+
const { rawManifest } = await (0, load_1.load)(manifest);
|
|
39
|
+
const { children } = rawManifest.tree;
|
|
40
|
+
if (children?.child?.outputs || children?.['child-0']?.outputs) {
|
|
41
|
+
return rawManifest;
|
|
42
|
+
}
|
|
43
|
+
throw new ManifestValidationError(FAILURE_MESSAGE_OUTPUTS);
|
|
44
|
+
};
|
|
45
|
+
exports.getManifestData = getManifestData;
|
|
46
|
+
/**
|
|
47
|
+
* Generates a CSV file based on the provided tree structure, context, output path, and params.
|
|
48
|
+
*/
|
|
49
|
+
const generateCsv = async (options) => {
|
|
50
|
+
const { tree, context, outputPath, params } = options;
|
|
51
|
+
const columns = ['Path'];
|
|
52
|
+
const matrix = [columns];
|
|
53
|
+
const aggregationIsEnabled = !!context.aggregation;
|
|
54
|
+
const traverseTree = (node, params, path = 'tree') => {
|
|
55
|
+
if (node.aggregated) {
|
|
56
|
+
if (path === 'tree') {
|
|
57
|
+
columns.push('Aggregated');
|
|
58
|
+
}
|
|
59
|
+
matrix.push([`${path}.${params}`, node.aggregated[params]]);
|
|
60
|
+
}
|
|
61
|
+
if (node.outputs) {
|
|
62
|
+
node.outputs.forEach((output) => {
|
|
63
|
+
const { timestamp } = output;
|
|
64
|
+
if (!columns.includes(timestamp)) {
|
|
65
|
+
columns.push(timestamp);
|
|
66
|
+
}
|
|
67
|
+
const lastRow = matrix[matrix.length - 1];
|
|
68
|
+
if (aggregationIsEnabled) {
|
|
69
|
+
lastRow.push(output[params]);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
if (matrix.length === 1 || lastRow.length === columns.length) {
|
|
73
|
+
matrix.push([`${path}.${params}`, output[params]]);
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
lastRow.push(output[params]);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
if (node.children) {
|
|
82
|
+
Object.keys(node.children).forEach(childKey => {
|
|
83
|
+
traverseTree(node.children[childKey], params, `${path}.children.${childKey}`);
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
traverseTree(tree, params);
|
|
88
|
+
const csvString = (0, sync_1.stringify)(matrix, { columns });
|
|
89
|
+
if (!outputPath) {
|
|
90
|
+
return csvString;
|
|
91
|
+
}
|
|
92
|
+
return await fs.writeFile(`${outputPath}.csv`, csvString);
|
|
93
|
+
};
|
|
94
|
+
exports.generateCsv = generateCsv;
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1jc3YvdXRpbC9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZ0RBQWtDO0FBQ2xDLDZDQUE2QztBQUU3QyxpREFBNkM7QUFFN0MsZ0RBQTJDO0FBRzNDLHNDQUFrQztBQUVsQyxNQUFNLEVBQUMsdUJBQXVCLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBQzFDLE1BQU0sRUFBQyx1QkFBdUIsRUFBQyxHQUFHLGNBQU0sQ0FBQztBQUV6Qzs7R0FFRztBQUNJLE1BQU0sZUFBZSxHQUFHLEtBQUssRUFBRSxRQUFnQixFQUFFLEVBQUU7SUFDeEQsTUFBTSxFQUFDLFdBQVcsRUFBQyxHQUFHLE1BQU0sSUFBQSxXQUFJLEVBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0MsTUFBTSxFQUFDLFFBQVEsRUFBQyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUM7SUFFcEMsSUFBSSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sSUFBSSxRQUFRLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLEVBQUU7UUFDOUQsT0FBTyxXQUFXLENBQUM7S0FDcEI7SUFFRCxNQUFNLElBQUksdUJBQXVCLENBQUMsdUJBQXVCLENBQUMsQ0FBQztBQUM3RCxDQUFDLENBQUM7QUFUVyxRQUFBLGVBQWUsbUJBUzFCO0FBRUY7O0dBRUc7QUFDSSxNQUFNLFdBQVcsR0FBRyxLQUFLLEVBQUUsT0FBbUIsRUFBRSxFQUFFO0lBQ3ZELE1BQU0sRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUMsR0FBRyxPQUFPLENBQUM7SUFDcEQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6QixNQUFNLE1BQU0sR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pCLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7SUFFbkQsTUFBTSxZQUFZLEdBQUcsQ0FBQyxJQUFTLEVBQUUsTUFBYyxFQUFFLElBQUksR0FBRyxNQUFNLEVBQUUsRUFBRTtRQUNoRSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxJQUFJLEtBQUssTUFBTSxFQUFFO2dCQUNuQixPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQzVCO1lBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxJQUFJLE1BQU0sRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzdEO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBb0IsRUFBRSxFQUFFO2dCQUM1QyxNQUFNLEVBQUMsU0FBUyxFQUFDLEdBQUcsTUFBTSxDQUFDO2dCQUUzQixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRTtvQkFDaEMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztpQkFDekI7Z0JBRUQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBRTFDLElBQUksb0JBQW9CLEVBQUU7b0JBQ3hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7aUJBQzlCO3FCQUFNO29CQUNMLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxPQUFPLENBQUMsTUFBTSxFQUFFO3dCQUM1RCxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLElBQUksTUFBTSxFQUFFLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztxQkFDcEQ7eUJBQU07d0JBQ0wsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztxQkFDOUI7aUJBQ0Y7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDNUMsWUFBWSxDQUNWLElBQUksQ0FBQyxRQUFTLENBQUMsUUFBUSxDQUFDLEVBQ3hCLE1BQU0sRUFDTixHQUFHLElBQUksYUFBYSxRQUFRLEVBQUUsQ0FDL0IsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDLENBQUM7SUFFRixZQUFZLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRTNCLE1BQU0sU0FBUyxHQUFHLElBQUEsZ0JBQVMsRUFBQyxNQUFNLEVBQUUsRUFBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDO0lBRS9DLElBQUksQ0FBQyxVQUFVLEVBQUU7UUFDZixPQUFPLFNBQVMsQ0FBQztLQUNsQjtJQUVELE9BQU8sTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsVUFBVSxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFDNUQsQ0FBQyxDQUFDO0FBeERXLFFBQUEsV0FBVyxlQXdEdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcy9wcm9taXNlcyc7XG5pbXBvcnQge3N0cmluZ2lmeX0gZnJvbSAnY3N2LXN0cmluZ2lmeS9zeW5jJztcbmltcG9ydCB7UGx1Z2luUGFyYW1zfSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvdHlwZXMnO1xuaW1wb3J0IHtFUlJPUlN9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS91dGlscyc7XG5cbmltcG9ydCB7bG9hZH0gZnJvbSAnLi4vLi4vY29tbW9uL2xpYi9sb2FkJztcblxuaW1wb3J0IHtDc3ZPcHRpb25zfSBmcm9tICcuLi90eXBlcy9jc3YnO1xuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuLi9jb25maWcnO1xuXG5jb25zdCB7RkFJTFVSRV9NRVNTQUdFX09VVFBVVFN9ID0gU1RSSU5HUztcbmNvbnN0IHtNYW5pZmVzdFZhbGlkYXRpb25FcnJvcn0gPSBFUlJPUlM7XG5cbi8qKlxuICogR2V0cyB0aGUgbWFuaWZlc3QgZGF0YSBpZiBgb3V0cHV0c2AgaXMgcHJlc2VudCBpbiBpdC5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldE1hbmlmZXN0RGF0YSA9IGFzeW5jIChtYW5pZmVzdDogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IHtyYXdNYW5pZmVzdH0gPSBhd2FpdCBsb2FkKG1hbmlmZXN0KTtcbiAgY29uc3Qge2NoaWxkcmVufSA9IHJhd01hbmlmZXN0LnRyZWU7XG5cbiAgaWYgKGNoaWxkcmVuPy5jaGlsZD8ub3V0cHV0cyB8fCBjaGlsZHJlbj8uWydjaGlsZC0wJ10/Lm91dHB1dHMpIHtcbiAgICByZXR1cm4gcmF3TWFuaWZlc3Q7XG4gIH1cblxuICB0aHJvdyBuZXcgTWFuaWZlc3RWYWxpZGF0aW9uRXJyb3IoRkFJTFVSRV9NRVNTQUdFX09VVFBVVFMpO1xufTtcblxuLyoqXG4gKiBHZW5lcmF0ZXMgYSBDU1YgZmlsZSBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgdHJlZSBzdHJ1Y3R1cmUsIGNvbnRleHQsIG91dHB1dCBwYXRoLCBhbmQgcGFyYW1zLlxuICovXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVDc3YgPSBhc3luYyAob3B0aW9uczogQ3N2T3B0aW9ucykgPT4ge1xuICBjb25zdCB7dHJlZSwgY29udGV4dCwgb3V0cHV0UGF0aCwgcGFyYW1zfSA9IG9wdGlvbnM7XG4gIGNvbnN0IGNvbHVtbnMgPSBbJ1BhdGgnXTtcbiAgY29uc3QgbWF0cml4ID0gW2NvbHVtbnNdO1xuICBjb25zdCBhZ2dyZWdhdGlvbklzRW5hYmxlZCA9ICEhY29udGV4dC5hZ2dyZWdhdGlvbjtcblxuICBjb25zdCB0cmF2ZXJzZVRyZWUgPSAobm9kZTogYW55LCBwYXJhbXM6IHN0cmluZywgcGF0aCA9ICd0cmVlJykgPT4ge1xuICAgIGlmIChub2RlLmFnZ3JlZ2F0ZWQpIHtcbiAgICAgIGlmIChwYXRoID09PSAndHJlZScpIHtcbiAgICAgICAgY29sdW1ucy5wdXNoKCdBZ2dyZWdhdGVkJyk7XG4gICAgICB9XG4gICAgICBtYXRyaXgucHVzaChbYCR7cGF0aH0uJHtwYXJhbXN9YCwgbm9kZS5hZ2dyZWdhdGVkW3BhcmFtc11dKTtcbiAgICB9XG5cbiAgICBpZiAobm9kZS5vdXRwdXRzKSB7XG4gICAgICBub2RlLm91dHB1dHMuZm9yRWFjaCgob3V0cHV0OiBQbHVnaW5QYXJhbXMpID0+IHtcbiAgICAgICAgY29uc3Qge3RpbWVzdGFtcH0gPSBvdXRwdXQ7XG5cbiAgICAgICAgaWYgKCFjb2x1bW5zLmluY2x1ZGVzKHRpbWVzdGFtcCkpIHtcbiAgICAgICAgICBjb2x1bW5zLnB1c2godGltZXN0YW1wKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGxhc3RSb3cgPSBtYXRyaXhbbWF0cml4Lmxlbmd0aCAtIDFdO1xuXG4gICAgICAgIGlmIChhZ2dyZWdhdGlvbklzRW5hYmxlZCkge1xuICAgICAgICAgIGxhc3RSb3cucHVzaChvdXRwdXRbcGFyYW1zXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKG1hdHJpeC5sZW5ndGggPT09IDEgfHwgbGFzdFJvdy5sZW5ndGggPT09IGNvbHVtbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICBtYXRyaXgucHVzaChbYCR7cGF0aH0uJHtwYXJhbXN9YCwgb3V0cHV0W3BhcmFtc11dKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbGFzdFJvdy5wdXNoKG91dHB1dFtwYXJhbXNdKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChub2RlLmNoaWxkcmVuKSB7XG4gICAgICBPYmplY3Qua2V5cyhub2RlLmNoaWxkcmVuKS5mb3JFYWNoKGNoaWxkS2V5ID0+IHtcbiAgICAgICAgdHJhdmVyc2VUcmVlKFxuICAgICAgICAgIG5vZGUuY2hpbGRyZW4hW2NoaWxkS2V5XSxcbiAgICAgICAgICBwYXJhbXMsXG4gICAgICAgICAgYCR7cGF0aH0uY2hpbGRyZW4uJHtjaGlsZEtleX1gXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgdHJhdmVyc2VUcmVlKHRyZWUsIHBhcmFtcyk7XG5cbiAgY29uc3QgY3N2U3RyaW5nID0gc3RyaW5naWZ5KG1hdHJpeCwge2NvbHVtbnN9KTtcblxuICBpZiAoIW91dHB1dFBhdGgpIHtcbiAgICByZXR1cm4gY3N2U3RyaW5nO1xuICB9XG5cbiAgcmV0dXJuIGF3YWl0IGZzLndyaXRlRmlsZShgJHtvdXRwdXRQYXRofS5jc3ZgLCBjc3ZTdHJpbmcpO1xufTtcbiJdfQ==
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CONFIG = void 0;
|
|
4
|
+
const config_1 = require("../../common/config");
|
|
5
|
+
const { DISCLAIMER_MESSAGE } = config_1.STRINGS;
|
|
6
|
+
exports.CONFIG = {
|
|
7
|
+
ARGS: {
|
|
8
|
+
source: {
|
|
9
|
+
type: String,
|
|
10
|
+
optional: true,
|
|
11
|
+
alias: 's',
|
|
12
|
+
description: '[path to the source file]',
|
|
13
|
+
},
|
|
14
|
+
target: {
|
|
15
|
+
type: String,
|
|
16
|
+
optional: false,
|
|
17
|
+
alias: 't',
|
|
18
|
+
description: '[path to the target file',
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
HELP: {
|
|
22
|
+
helpArg: 'help',
|
|
23
|
+
headerContentSections: [
|
|
24
|
+
{ header: 'Impact Framework', content: 'IF-Diff Helpful keywords:' },
|
|
25
|
+
],
|
|
26
|
+
footerContentSections: [
|
|
27
|
+
{ header: 'Green Software Foundation', content: DISCLAIMER_MESSAGE },
|
|
28
|
+
],
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lmLWRpZmYvY29uZmlnL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxnREFBNEM7QUFJNUMsTUFBTSxFQUFDLGtCQUFrQixFQUFDLEdBQUcsZ0JBQU8sQ0FBQztBQUV4QixRQUFBLE1BQU0sR0FBRztJQUNwQixJQUFJLEVBQUU7UUFDSixNQUFNLEVBQUU7WUFDTixJQUFJLEVBQUUsTUFBTTtZQUNaLFFBQVEsRUFBRSxJQUFJO1lBQ2QsS0FBSyxFQUFFLEdBQUc7WUFDVixXQUFXLEVBQUUsMkJBQTJCO1NBQ3pDO1FBQ0QsTUFBTSxFQUFFO1lBQ04sSUFBSSxFQUFFLE1BQU07WUFDWixRQUFRLEVBQUUsS0FBSztZQUNmLEtBQUssRUFBRSxHQUFHO1lBQ1YsV0FBVyxFQUFFLDBCQUEwQjtTQUN4QztLQUM0QjtJQUMvQixJQUFJLEVBQUU7UUFDSixPQUFPLEVBQUUsTUFBTTtRQUNmLHFCQUFxQixFQUFFO1lBQ3JCLEVBQUMsTUFBTSxFQUFFLGtCQUFrQixFQUFFLE9BQU8sRUFBRSwyQkFBMkIsRUFBQztTQUNuRTtRQUNELHFCQUFxQixFQUFFO1lBQ3JCLEVBQUMsTUFBTSxFQUFFLDJCQUEyQixFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBQztTQUNuRTtLQUNtQjtDQUN2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBcmd1bWVudENvbmZpZywgUGFyc2VPcHRpb25zfSBmcm9tICd0cy1jb21tYW5kLWxpbmUtYXJncyc7XG5cbmltcG9ydCB7U1RSSU5HU30gZnJvbSAnLi4vLi4vY29tbW9uL2NvbmZpZyc7XG5cbmltcG9ydCB7SUZEaWZmQXJnc30gZnJvbSAnLi4vdHlwZXMvcHJvY2Vzcy1hcmdzJztcblxuY29uc3Qge0RJU0NMQUlNRVJfTUVTU0FHRX0gPSBTVFJJTkdTO1xuXG5leHBvcnQgY29uc3QgQ09ORklHID0ge1xuICBBUkdTOiB7XG4gICAgc291cmNlOiB7XG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgIGFsaWFzOiAncycsXG4gICAgICBkZXNjcmlwdGlvbjogJ1twYXRoIHRvIHRoZSBzb3VyY2UgZmlsZV0nLFxuICAgIH0sXG4gICAgdGFyZ2V0OiB7XG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBvcHRpb25hbDogZmFsc2UsXG4gICAgICBhbGlhczogJ3QnLFxuICAgICAgZGVzY3JpcHRpb246ICdbcGF0aCB0byB0aGUgdGFyZ2V0IGZpbGUnLFxuICAgIH0sXG4gIH0gYXMgQXJndW1lbnRDb25maWc8SUZEaWZmQXJncz4sXG4gIEhFTFA6IHtcbiAgICBoZWxwQXJnOiAnaGVscCcsXG4gICAgaGVhZGVyQ29udGVudFNlY3Rpb25zOiBbXG4gICAgICB7aGVhZGVyOiAnSW1wYWN0IEZyYW1ld29yaycsIGNvbnRlbnQ6ICdJRi1EaWZmIEhlbHBmdWwga2V5d29yZHM6J30sXG4gICAgXSxcbiAgICBmb290ZXJDb250ZW50U2VjdGlvbnM6IFtcbiAgICAgIHtoZWFkZXI6ICdHcmVlbiBTb2Z0d2FyZSBGb3VuZGF0aW9uJywgY29udGVudDogRElTQ0xBSU1FUl9NRVNTQUdFfSxcbiAgICBdLFxuICB9IGFzIFBhcnNlT3B0aW9uczxhbnk+LFxufTtcbiJdfQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.STRINGS = exports.CONFIG = void 0;
|
|
4
|
+
var config_1 = require("./config");
|
|
5
|
+
Object.defineProperty(exports, "CONFIG", { enumerable: true, get: function () { return config_1.CONFIG; } });
|
|
6
|
+
var strings_1 = require("./strings");
|
|
7
|
+
Object.defineProperty(exports, "STRINGS", { enumerable: true, get: function () { return strings_1.STRINGS; } });
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWYtZGlmZi9jb25maWcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQWdDO0FBQXhCLGdHQUFBLE1BQU0sT0FBQTtBQUNkLHFDQUFrQztBQUExQixrR0FBQSxPQUFPLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge0NPTkZJR30gZnJvbSAnLi9jb25maWcnO1xuZXhwb3J0IHtTVFJJTkdTfSBmcm9tICcuL3N0cmluZ3MnO1xuIl19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.STRINGS = void 0;
|
|
4
|
+
exports.STRINGS = {
|
|
5
|
+
INVALID_TARGET: 'Target is invalid.',
|
|
6
|
+
INVALID_SOURCE: 'Source is invalid.',
|
|
7
|
+
FAILURE_MESSAGE: 'Files do not match!',
|
|
8
|
+
SUCCESS_MESSAGE: 'Files match!',
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1kaWZmL2NvbmZpZy9zdHJpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFhLFFBQUEsT0FBTyxHQUFHO0lBQ3JCLGNBQWMsRUFBRSxvQkFBb0I7SUFDcEMsY0FBYyxFQUFFLG9CQUFvQjtJQUNwQyxlQUFlLEVBQUUscUJBQXFCO0lBQ3RDLGVBQWUsRUFBRSxjQUFjO0NBQ2hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgU1RSSU5HUyA9IHtcbiAgSU5WQUxJRF9UQVJHRVQ6ICdUYXJnZXQgaXMgaW52YWxpZC4nLFxuICBJTlZBTElEX1NPVVJDRTogJ1NvdXJjZSBpcyBpbnZhbGlkLicsXG4gIEZBSUxVUkVfTUVTU0FHRTogJ0ZpbGVzIGRvIG5vdCBtYXRjaCEnLFxuICBTVUNDRVNTX01FU1NBR0U6ICdGaWxlcyBtYXRjaCEnLFxufTtcbiJdfQ==
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
/* eslint-disable no-process-exit */
|
|
5
|
+
const load_1 = require("./lib/load");
|
|
6
|
+
const compare_1 = require("./lib/compare");
|
|
7
|
+
const args_1 = require("./util/args");
|
|
8
|
+
const helpers_1 = require("./util/helpers");
|
|
9
|
+
const helpers_2 = require("../common/util/helpers");
|
|
10
|
+
const validations_1 = require("../common/util/validations");
|
|
11
|
+
const logger_1 = require("../common/util/logger");
|
|
12
|
+
const debug_logger_1 = require("../common/util/debug-logger");
|
|
13
|
+
const config_1 = require("./config");
|
|
14
|
+
const { FAILURE_MESSAGE, SUCCESS_MESSAGE } = config_1.STRINGS;
|
|
15
|
+
const IfDiff = async () => {
|
|
16
|
+
const pipedSourceManifest = await (0, helpers_2.parseManifestFromStdin)();
|
|
17
|
+
const { sourcePath, targetPath } = (0, args_1.parseIfDiffArgs)();
|
|
18
|
+
// Call this function with false parameter to prevent log debug messages.
|
|
19
|
+
debug_logger_1.debugLogger.overrideConsoleMethods(false);
|
|
20
|
+
const { rawSourceManifest, rawTargetManifest } = await (0, load_1.loadIfDiffFiles)({
|
|
21
|
+
targetPath,
|
|
22
|
+
sourcePath,
|
|
23
|
+
pipedSourceManifest,
|
|
24
|
+
});
|
|
25
|
+
const [sourceManifest, targetManifest] = [
|
|
26
|
+
rawSourceManifest,
|
|
27
|
+
rawTargetManifest,
|
|
28
|
+
].map(validations_1.validateManifest);
|
|
29
|
+
const result = (0, compare_1.compare)(sourceManifest, targetManifest);
|
|
30
|
+
if (Object.keys(result).length) {
|
|
31
|
+
(0, helpers_1.formatNotMatchingLog)({
|
|
32
|
+
message: FAILURE_MESSAGE,
|
|
33
|
+
...result,
|
|
34
|
+
});
|
|
35
|
+
process.exit(1);
|
|
36
|
+
}
|
|
37
|
+
console.log(SUCCESS_MESSAGE);
|
|
38
|
+
process.exit(0);
|
|
39
|
+
};
|
|
40
|
+
IfDiff().catch(error => {
|
|
41
|
+
if (error instanceof Error) {
|
|
42
|
+
logger_1.logger.error(error);
|
|
43
|
+
process.exit(2);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaWYtZGlmZi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxvQ0FBb0M7QUFDcEMscUNBQTJDO0FBQzNDLDJDQUFzQztBQUV0QyxzQ0FBNEM7QUFDNUMsNENBQW9EO0FBQ3BELG9EQUE4RDtBQUM5RCw0REFBNEQ7QUFFNUQsa0RBQTZDO0FBQzdDLDhEQUF3RDtBQUV4RCxxQ0FBaUM7QUFFakMsTUFBTSxFQUFDLGVBQWUsRUFBRSxlQUFlLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBRW5ELE1BQU0sTUFBTSxHQUFHLEtBQUssSUFBSSxFQUFFO0lBQ3hCLE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxJQUFBLGdDQUFzQixHQUFFLENBQUM7SUFDM0QsTUFBTSxFQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUMsR0FBRyxJQUFBLHNCQUFlLEdBQUUsQ0FBQztJQUVuRCx5RUFBeUU7SUFDekUsMEJBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUUxQyxNQUFNLEVBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUMsR0FBRyxNQUFNLElBQUEsc0JBQWUsRUFBQztRQUNuRSxVQUFVO1FBQ1YsVUFBVTtRQUNWLG1CQUFtQjtLQUNwQixDQUFDLENBQUM7SUFDSCxNQUFNLENBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxHQUFHO1FBQ3ZDLGlCQUFpQjtRQUNqQixpQkFBaUI7S0FDbEIsQ0FBQyxHQUFHLENBQUMsOEJBQWdCLENBQUMsQ0FBQztJQUN4QixNQUFNLE1BQU0sR0FBRyxJQUFBLGlCQUFPLEVBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBRXZELElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUU7UUFDOUIsSUFBQSw4QkFBb0IsRUFBQztZQUNuQixPQUFPLEVBQUUsZUFBZTtZQUN4QixHQUFHLE1BQU07U0FDVixDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ2pCO0lBRUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUM3QixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQztBQUVGLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtJQUNyQixJQUFJLEtBQUssWUFBWSxLQUFLLEVBQUU7UUFDMUIsZUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ2pCO0FBQ0gsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1wcm9jZXNzLWV4aXQgKi9cbmltcG9ydCB7bG9hZElmRGlmZkZpbGVzfSBmcm9tICcuL2xpYi9sb2FkJztcbmltcG9ydCB7Y29tcGFyZX0gZnJvbSAnLi9saWIvY29tcGFyZSc7XG5cbmltcG9ydCB7cGFyc2VJZkRpZmZBcmdzfSBmcm9tICcuL3V0aWwvYXJncyc7XG5pbXBvcnQge2Zvcm1hdE5vdE1hdGNoaW5nTG9nfSBmcm9tICcuL3V0aWwvaGVscGVycyc7XG5pbXBvcnQge3BhcnNlTWFuaWZlc3RGcm9tU3RkaW59IGZyb20gJy4uL2NvbW1vbi91dGlsL2hlbHBlcnMnO1xuaW1wb3J0IHt2YWxpZGF0ZU1hbmlmZXN0fSBmcm9tICcuLi9jb21tb24vdXRpbC92YWxpZGF0aW9ucyc7XG5cbmltcG9ydCB7bG9nZ2VyfSBmcm9tICcuLi9jb21tb24vdXRpbC9sb2dnZXInO1xuaW1wb3J0IHtkZWJ1Z0xvZ2dlcn0gZnJvbSAnLi4vY29tbW9uL3V0aWwvZGVidWctbG9nZ2VyJztcblxuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuL2NvbmZpZyc7XG5cbmNvbnN0IHtGQUlMVVJFX01FU1NBR0UsIFNVQ0NFU1NfTUVTU0FHRX0gPSBTVFJJTkdTO1xuXG5jb25zdCBJZkRpZmYgPSBhc3luYyAoKSA9PiB7XG4gIGNvbnN0IHBpcGVkU291cmNlTWFuaWZlc3QgPSBhd2FpdCBwYXJzZU1hbmlmZXN0RnJvbVN0ZGluKCk7XG4gIGNvbnN0IHtzb3VyY2VQYXRoLCB0YXJnZXRQYXRofSA9IHBhcnNlSWZEaWZmQXJncygpO1xuXG4gIC8vIENhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIGZhbHNlIHBhcmFtZXRlciB0byBwcmV2ZW50IGxvZyBkZWJ1ZyBtZXNzYWdlcy5cbiAgZGVidWdMb2dnZXIub3ZlcnJpZGVDb25zb2xlTWV0aG9kcyhmYWxzZSk7XG5cbiAgY29uc3Qge3Jhd1NvdXJjZU1hbmlmZXN0LCByYXdUYXJnZXRNYW5pZmVzdH0gPSBhd2FpdCBsb2FkSWZEaWZmRmlsZXMoe1xuICAgIHRhcmdldFBhdGgsXG4gICAgc291cmNlUGF0aCxcbiAgICBwaXBlZFNvdXJjZU1hbmlmZXN0LFxuICB9KTtcbiAgY29uc3QgW3NvdXJjZU1hbmlmZXN0LCB0YXJnZXRNYW5pZmVzdF0gPSBbXG4gICAgcmF3U291cmNlTWFuaWZlc3QsXG4gICAgcmF3VGFyZ2V0TWFuaWZlc3QsXG4gIF0ubWFwKHZhbGlkYXRlTWFuaWZlc3QpO1xuICBjb25zdCByZXN1bHQgPSBjb21wYXJlKHNvdXJjZU1hbmlmZXN0LCB0YXJnZXRNYW5pZmVzdCk7XG5cbiAgaWYgKE9iamVjdC5rZXlzKHJlc3VsdCkubGVuZ3RoKSB7XG4gICAgZm9ybWF0Tm90TWF0Y2hpbmdMb2coe1xuICAgICAgbWVzc2FnZTogRkFJTFVSRV9NRVNTQUdFLFxuICAgICAgLi4ucmVzdWx0LFxuICAgIH0pO1xuXG4gICAgcHJvY2Vzcy5leGl0KDEpO1xuICB9XG5cbiAgY29uc29sZS5sb2coU1VDQ0VTU19NRVNTQUdFKTtcbiAgcHJvY2Vzcy5leGl0KDApO1xufTtcblxuSWZEaWZmKCkuY2F0Y2goZXJyb3IgPT4ge1xuICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgIGxvZ2dlci5lcnJvcihlcnJvcik7XG4gICAgcHJvY2Vzcy5leGl0KDIpO1xuICB9XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.compare = void 0;
|
|
4
|
+
const helpers_1 = require("../util/helpers");
|
|
5
|
+
/**
|
|
6
|
+
* 1. If objects are not of the same type or are primitive types, compares directly.
|
|
7
|
+
* 2. Gets the keys from both objects.
|
|
8
|
+
* 3. If both are arrays, checks their elements.
|
|
9
|
+
* 4. Checks for keys present in both objects.
|
|
10
|
+
* If key is `execution`, omit unnecessary params.
|
|
11
|
+
* 5. If all keys are checked and no differences are found, return empty object.
|
|
12
|
+
*/
|
|
13
|
+
const compare = (source, target, path = '') => {
|
|
14
|
+
if ((0, helpers_1.oneIsPrimitive)(source, target)) {
|
|
15
|
+
return (0, helpers_1.checkIfEqual)(source, target)
|
|
16
|
+
? {}
|
|
17
|
+
: {
|
|
18
|
+
path,
|
|
19
|
+
source,
|
|
20
|
+
target,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
const keys1 = Object.keys(source);
|
|
24
|
+
const keys2 = Object.keys(target);
|
|
25
|
+
const allKeys = new Set([...keys1, ...keys2]);
|
|
26
|
+
if (path === '') {
|
|
27
|
+
allKeys.delete('name');
|
|
28
|
+
allKeys.delete('description');
|
|
29
|
+
allKeys.delete('tags');
|
|
30
|
+
}
|
|
31
|
+
if (path === 'initialize') {
|
|
32
|
+
allKeys.delete('outputs');
|
|
33
|
+
}
|
|
34
|
+
if (path === 'execution') {
|
|
35
|
+
const whitelist = ['status', 'error'];
|
|
36
|
+
allKeys.forEach(value => {
|
|
37
|
+
if (!whitelist.includes(value)) {
|
|
38
|
+
allKeys.delete(value);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
if (Array.isArray(source) && Array.isArray(target)) {
|
|
43
|
+
source.forEach((_record, i) => {
|
|
44
|
+
(0, exports.compare)(source[i], target[i], path ? `${path}[${i}]` : `${i}`);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
for (const key of allKeys) {
|
|
48
|
+
const result = (0, exports.compare)(source[key], target[key], path ? `${path}.${key}` : key);
|
|
49
|
+
if (Object.keys(result).length) {
|
|
50
|
+
return result;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return {};
|
|
54
|
+
};
|
|
55
|
+
exports.compare = compare;
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1kaWZmL2xpYi9jb21wYXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUE2RDtBQUk3RDs7Ozs7OztHQU9HO0FBQ0ksTUFBTSxPQUFPLEdBQUcsQ0FBQyxNQUFXLEVBQUUsTUFBVyxFQUFFLElBQUksR0FBRyxFQUFFLEVBQWMsRUFBRTtJQUN6RSxJQUFJLElBQUEsd0JBQWMsRUFBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEVBQUU7UUFDbEMsT0FBTyxJQUFBLHNCQUFZLEVBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQztZQUNqQyxDQUFDLENBQUMsRUFBRTtZQUNKLENBQUMsQ0FBQztnQkFDRSxJQUFJO2dCQUNKLE1BQU07Z0JBQ04sTUFBTTthQUNQLENBQUM7S0FDUDtJQUVELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVsQyxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUU5QyxJQUFJLElBQUksS0FBSyxFQUFFLEVBQUU7UUFDZixPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZCLE9BQU8sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUN4QjtJQUVELElBQUksSUFBSSxLQUFLLFlBQVksRUFBRTtRQUN6QixPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0tBQzNCO0lBRUQsSUFBSSxJQUFJLEtBQUssV0FBVyxFQUFFO1FBQ3hCLE1BQU0sU0FBUyxHQUFHLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzlCLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDdkI7UUFDSCxDQUFDLENBQUMsQ0FBQztLQUNKO0lBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDbEQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUM1QixJQUFBLGVBQU8sRUFBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNqRSxDQUFDLENBQUMsQ0FBQztLQUNKO0lBRUQsS0FBSyxNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUU7UUFDekIsTUFBTSxNQUFNLEdBQUcsSUFBQSxlQUFPLEVBQ3BCLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFDWCxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQ1gsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUM5QixDQUFDO1FBRUYsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRTtZQUM5QixPQUFPLE1BQU0sQ0FBQztTQUNmO0tBQ0Y7SUFFRCxPQUFPLEVBQUUsQ0FBQztBQUNaLENBQUMsQ0FBQztBQXREVyxRQUFBLE9BQU8sV0FzRGxCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjaGVja0lmRXF1YWwsIG9uZUlzUHJpbWl0aXZlfSBmcm9tICcuLi91dGlsL2hlbHBlcnMnO1xuXG5pbXBvcnQge0RpZmZlcmVuY2V9IGZyb20gJy4uL3R5cGVzL2NvbXBhcmUnO1xuXG4vKipcbiAqIDEuIElmIG9iamVjdHMgYXJlIG5vdCBvZiB0aGUgc2FtZSB0eXBlIG9yIGFyZSBwcmltaXRpdmUgdHlwZXMsIGNvbXBhcmVzIGRpcmVjdGx5LlxuICogMi4gR2V0cyB0aGUga2V5cyBmcm9tIGJvdGggb2JqZWN0cy5cbiAqIDMuIElmIGJvdGggYXJlIGFycmF5cywgY2hlY2tzIHRoZWlyIGVsZW1lbnRzLlxuICogNC4gQ2hlY2tzIGZvciBrZXlzIHByZXNlbnQgaW4gYm90aCBvYmplY3RzLlxuICogICAgSWYga2V5IGlzIGBleGVjdXRpb25gLCBvbWl0IHVubmVjZXNzYXJ5IHBhcmFtcy5cbiAqIDUuIElmIGFsbCBrZXlzIGFyZSBjaGVja2VkIGFuZCBubyBkaWZmZXJlbmNlcyBhcmUgZm91bmQsIHJldHVybiBlbXB0eSBvYmplY3QuXG4gKi9cbmV4cG9ydCBjb25zdCBjb21wYXJlID0gKHNvdXJjZTogYW55LCB0YXJnZXQ6IGFueSwgcGF0aCA9ICcnKTogRGlmZmVyZW5jZSA9PiB7XG4gIGlmIChvbmVJc1ByaW1pdGl2ZShzb3VyY2UsIHRhcmdldCkpIHtcbiAgICByZXR1cm4gY2hlY2tJZkVxdWFsKHNvdXJjZSwgdGFyZ2V0KVxuICAgICAgPyB7fVxuICAgICAgOiB7XG4gICAgICAgICAgcGF0aCxcbiAgICAgICAgICBzb3VyY2UsXG4gICAgICAgICAgdGFyZ2V0LFxuICAgICAgICB9O1xuICB9XG5cbiAgY29uc3Qga2V5czEgPSBPYmplY3Qua2V5cyhzb3VyY2UpO1xuICBjb25zdCBrZXlzMiA9IE9iamVjdC5rZXlzKHRhcmdldCk7XG5cbiAgY29uc3QgYWxsS2V5cyA9IG5ldyBTZXQoWy4uLmtleXMxLCAuLi5rZXlzMl0pO1xuXG4gIGlmIChwYXRoID09PSAnJykge1xuICAgIGFsbEtleXMuZGVsZXRlKCduYW1lJyk7XG4gICAgYWxsS2V5cy5kZWxldGUoJ2Rlc2NyaXB0aW9uJyk7XG4gICAgYWxsS2V5cy5kZWxldGUoJ3RhZ3MnKTtcbiAgfVxuXG4gIGlmIChwYXRoID09PSAnaW5pdGlhbGl6ZScpIHtcbiAgICBhbGxLZXlzLmRlbGV0ZSgnb3V0cHV0cycpO1xuICB9XG5cbiAgaWYgKHBhdGggPT09ICdleGVjdXRpb24nKSB7XG4gICAgY29uc3Qgd2hpdGVsaXN0ID0gWydzdGF0dXMnLCAnZXJyb3InXTtcbiAgICBhbGxLZXlzLmZvckVhY2godmFsdWUgPT4ge1xuICAgICAgaWYgKCF3aGl0ZWxpc3QuaW5jbHVkZXModmFsdWUpKSB7XG4gICAgICAgIGFsbEtleXMuZGVsZXRlKHZhbHVlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGlmIChBcnJheS5pc0FycmF5KHNvdXJjZSkgJiYgQXJyYXkuaXNBcnJheSh0YXJnZXQpKSB7XG4gICAgc291cmNlLmZvckVhY2goKF9yZWNvcmQsIGkpID0+IHtcbiAgICAgIGNvbXBhcmUoc291cmNlW2ldLCB0YXJnZXRbaV0sIHBhdGggPyBgJHtwYXRofVske2l9XWAgOiBgJHtpfWApO1xuICAgIH0pO1xuICB9XG5cbiAgZm9yIChjb25zdCBrZXkgb2YgYWxsS2V5cykge1xuICAgIGNvbnN0IHJlc3VsdCA9IGNvbXBhcmUoXG4gICAgICBzb3VyY2Vba2V5XSxcbiAgICAgIHRhcmdldFtrZXldLFxuICAgICAgcGF0aCA/IGAke3BhdGh9LiR7a2V5fWAgOiBrZXlcbiAgICApO1xuXG4gICAgaWYgKE9iamVjdC5rZXlzKHJlc3VsdCkubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7fTtcbn07XG4iXX0=
|
|
@@ -1,13 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { LoadDiffParams } from '../types/util/args';
|
|
3
|
-
/**
|
|
4
|
-
* Parses manifest file as an object. Checks if parameter file is passed via CLI, then loads it too.
|
|
5
|
-
* Returns context, tree and parameters (either the default one, or from CLI).
|
|
6
|
-
*/
|
|
7
|
-
export declare const load: (inputPath: string, paramPath?: string) => Promise<{
|
|
8
|
-
rawManifest: any;
|
|
9
|
-
parameters: Parameters;
|
|
10
|
-
}>;
|
|
1
|
+
import { LoadDiffParams } from '../types/args';
|
|
11
2
|
/**
|
|
12
3
|
* Loads files to compare. As a source file checks if data is piped and then decides which one to take.
|
|
13
4
|
*/
|
|
@@ -20,8 +11,19 @@ export declare const loadIfDiffFiles: (params: LoadDiffParams) => Promise<{
|
|
|
20
11
|
path: string;
|
|
21
12
|
method: string;
|
|
22
13
|
'global-config'?: Record<string, any> | undefined;
|
|
23
|
-
|
|
24
|
-
|
|
14
|
+
'parameter-metadata'?: {
|
|
15
|
+
inputs?: Record<string, {
|
|
16
|
+
unit: string;
|
|
17
|
+
description: string;
|
|
18
|
+
'aggregation-method': string;
|
|
19
|
+
}> | null | undefined;
|
|
20
|
+
outputs?: Record<string, {
|
|
21
|
+
unit: string;
|
|
22
|
+
description: string;
|
|
23
|
+
'aggregation-method': string;
|
|
24
|
+
}> | null | undefined;
|
|
25
|
+
} | undefined;
|
|
26
|
+
} | undefined>;
|
|
25
27
|
};
|
|
26
28
|
tree: Record<string, any>;
|
|
27
29
|
description?: string | null | undefined;
|
|
@@ -30,16 +32,12 @@ export declare const loadIfDiffFiles: (params: LoadDiffParams) => Promise<{
|
|
|
30
32
|
complexity?: string | null | undefined;
|
|
31
33
|
category?: string | null | undefined;
|
|
32
34
|
} | null | undefined;
|
|
35
|
+
explainer?: boolean | undefined;
|
|
36
|
+
explain?: Record<string, any> | undefined;
|
|
33
37
|
aggregation?: {
|
|
34
38
|
type: "horizontal" | "vertical" | "both";
|
|
35
39
|
metrics: string[];
|
|
36
40
|
} | null | undefined;
|
|
37
|
-
params?: {
|
|
38
|
-
name: string;
|
|
39
|
-
description: string;
|
|
40
|
-
aggregation: "sum" | "none" | "avg";
|
|
41
|
-
unit: string;
|
|
42
|
-
}[] | null | undefined;
|
|
43
41
|
execution?: {
|
|
44
42
|
status: string;
|
|
45
43
|
command?: string | undefined;
|