@grnsft/if 0.5.0 → 0.6.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +8 -0
- package/build/common/config/strings.js +16 -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 +12 -0
- package/build/if-check/config/strings.js +16 -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 +37 -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 +4 -0
- package/build/if-csv/config/strings.js +8 -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 +51 -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-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 +1 -2
- package/build/{builtins → if-run/builtins}/index.js +4 -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/config.js +44 -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-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 +136 -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-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 +15 -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-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 → if-run/builtins}/sci/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
package/build/config/config.js
DELETED
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CONFIG = void 0;
|
|
4
|
-
const strings_1 = require("./strings");
|
|
5
|
-
const { DISCLAIMER_MESSAGE } = strings_1.STRINGS;
|
|
6
|
-
exports.CONFIG = {
|
|
7
|
-
IE: {
|
|
8
|
-
ARGS: {
|
|
9
|
-
manifest: {
|
|
10
|
-
type: String,
|
|
11
|
-
optional: true,
|
|
12
|
-
alias: 'm',
|
|
13
|
-
description: '[path to the input file]',
|
|
14
|
-
},
|
|
15
|
-
output: {
|
|
16
|
-
type: String,
|
|
17
|
-
optional: true,
|
|
18
|
-
alias: 'o',
|
|
19
|
-
description: '[path to the output file]',
|
|
20
|
-
},
|
|
21
|
-
'override-params': {
|
|
22
|
-
type: String,
|
|
23
|
-
optional: true,
|
|
24
|
-
alias: 'p',
|
|
25
|
-
description: '[path to a parameter file that overrides our defaults]',
|
|
26
|
-
},
|
|
27
|
-
stdout: {
|
|
28
|
-
type: Boolean,
|
|
29
|
-
optional: true,
|
|
30
|
-
alias: 's',
|
|
31
|
-
description: '[prints out to the console]',
|
|
32
|
-
},
|
|
33
|
-
help: {
|
|
34
|
-
type: Boolean,
|
|
35
|
-
optional: true,
|
|
36
|
-
alias: 'h',
|
|
37
|
-
description: '[prints out the above help instruction]',
|
|
38
|
-
},
|
|
39
|
-
debug: {
|
|
40
|
-
type: Boolean,
|
|
41
|
-
optional: true,
|
|
42
|
-
alias: 'd',
|
|
43
|
-
description: '[prints out debug logs to the console]',
|
|
44
|
-
},
|
|
45
|
-
},
|
|
46
|
-
HELP: {
|
|
47
|
-
helpArg: 'help',
|
|
48
|
-
headerContentSections: [
|
|
49
|
-
{ header: 'Impact Framework', content: 'Helpful keywords:' },
|
|
50
|
-
],
|
|
51
|
-
footerContentSections: [
|
|
52
|
-
{ header: 'Green Software Foundation', content: DISCLAIMER_MESSAGE },
|
|
53
|
-
],
|
|
54
|
-
},
|
|
55
|
-
},
|
|
56
|
-
IF_DIFF: {
|
|
57
|
-
ARGS: {
|
|
58
|
-
source: {
|
|
59
|
-
type: String,
|
|
60
|
-
optional: true,
|
|
61
|
-
alias: 's',
|
|
62
|
-
description: '[path to the source file]',
|
|
63
|
-
},
|
|
64
|
-
target: {
|
|
65
|
-
type: String,
|
|
66
|
-
optional: false,
|
|
67
|
-
alias: 't',
|
|
68
|
-
description: '[path to the target file',
|
|
69
|
-
},
|
|
70
|
-
},
|
|
71
|
-
HELP: {
|
|
72
|
-
helpArg: 'help',
|
|
73
|
-
headerContentSections: [
|
|
74
|
-
{ header: 'Impact Framework', content: 'IF-Diff Helpful keywords:' },
|
|
75
|
-
],
|
|
76
|
-
footerContentSections: [
|
|
77
|
-
{ header: 'Green Software Foundation', content: DISCLAIMER_MESSAGE },
|
|
78
|
-
],
|
|
79
|
-
},
|
|
80
|
-
SUCCESS_MESSAGE: 'Files match!',
|
|
81
|
-
FAILURE_MESSAGE: 'Files do not match!',
|
|
82
|
-
},
|
|
83
|
-
IF_ENV: {
|
|
84
|
-
ARGS: {
|
|
85
|
-
manifest: {
|
|
86
|
-
type: String,
|
|
87
|
-
optional: true,
|
|
88
|
-
alias: 'm',
|
|
89
|
-
description: '[path to the manifest file]',
|
|
90
|
-
},
|
|
91
|
-
install: {
|
|
92
|
-
type: Boolean,
|
|
93
|
-
optional: true,
|
|
94
|
-
alias: 'i',
|
|
95
|
-
description: '[command to install package.json]',
|
|
96
|
-
},
|
|
97
|
-
cwd: {
|
|
98
|
-
type: Boolean,
|
|
99
|
-
optional: true,
|
|
100
|
-
alias: 'c',
|
|
101
|
-
description: '[command to generate the package.json in the command working directory]',
|
|
102
|
-
},
|
|
103
|
-
},
|
|
104
|
-
HELP: {
|
|
105
|
-
helpArg: 'help',
|
|
106
|
-
headerContentSections: [
|
|
107
|
-
{ header: 'Impact Framework', content: 'IF-Env Helpful keywords:' },
|
|
108
|
-
],
|
|
109
|
-
footerContentSections: [
|
|
110
|
-
{ header: 'Green Software Foundation', content: DISCLAIMER_MESSAGE },
|
|
111
|
-
],
|
|
112
|
-
},
|
|
113
|
-
SUCCESS_MESSAGE: 'The environment is successfully setup!',
|
|
114
|
-
FAILURE_MESSAGE: 'Faied to create the environment!',
|
|
115
|
-
FAILURE_MESSAGE_TEMPLATE: 'Faied to create the environment with the template manifest!',
|
|
116
|
-
FAILURE_MESSAGE_DEPENDENCIES: 'Manifest dependencies are not available!',
|
|
117
|
-
},
|
|
118
|
-
IF_CHECK: {
|
|
119
|
-
ARGS: {
|
|
120
|
-
manifest: {
|
|
121
|
-
type: String,
|
|
122
|
-
optional: true,
|
|
123
|
-
alias: 'm',
|
|
124
|
-
description: '[path to the manifest file]',
|
|
125
|
-
},
|
|
126
|
-
directory: {
|
|
127
|
-
type: String,
|
|
128
|
-
optional: true,
|
|
129
|
-
alias: 'd',
|
|
130
|
-
description: '[path to the manifests directory]',
|
|
131
|
-
},
|
|
132
|
-
},
|
|
133
|
-
HELP: {
|
|
134
|
-
helpArg: 'help',
|
|
135
|
-
headerContentSections: [
|
|
136
|
-
{ header: 'Impact Framework', content: 'IF-Check Helpful keywords:' },
|
|
137
|
-
],
|
|
138
|
-
footerContentSections: [
|
|
139
|
-
{ header: 'Green Software Foundation', content: DISCLAIMER_MESSAGE },
|
|
140
|
-
],
|
|
141
|
-
},
|
|
142
|
-
},
|
|
143
|
-
GITHUB_PATH: 'https://github.com',
|
|
144
|
-
NATIVE_PLUGIN: 'if-plugins',
|
|
145
|
-
AGGREGATION_ADDITIONAL_PARAMS: ['timestamp', 'duration'],
|
|
146
|
-
};
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsdUNBQWtDO0FBU2xDLE1BQU0sRUFBQyxrQkFBa0IsRUFBQyxHQUFHLGlCQUFPLENBQUM7QUFFeEIsUUFBQSxNQUFNLEdBQUc7SUFDcEIsRUFBRSxFQUFFO1FBQ0YsSUFBSSxFQUFFO1lBQ0osUUFBUSxFQUFFO2dCQUNSLElBQUksRUFBRSxNQUFNO2dCQUNaLFFBQVEsRUFBRSxJQUFJO2dCQUNkLEtBQUssRUFBRSxHQUFHO2dCQUNWLFdBQVcsRUFBRSwwQkFBMEI7YUFDeEM7WUFDRCxNQUFNLEVBQUU7Z0JBQ04sSUFBSSxFQUFFLE1BQU07Z0JBQ1osUUFBUSxFQUFFLElBQUk7Z0JBQ2QsS0FBSyxFQUFFLEdBQUc7Z0JBQ1YsV0FBVyxFQUFFLDJCQUEyQjthQUN6QztZQUNELGlCQUFpQixFQUFFO2dCQUNqQixJQUFJLEVBQUUsTUFBTTtnQkFDWixRQUFRLEVBQUUsSUFBSTtnQkFDZCxLQUFLLEVBQUUsR0FBRztnQkFDVixXQUFXLEVBQUUsd0RBQXdEO2FBQ3RFO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLElBQUksRUFBRSxPQUFPO2dCQUNiLFFBQVEsRUFBRSxJQUFJO2dCQUNkLEtBQUssRUFBRSxHQUFHO2dCQUNWLFdBQVcsRUFBRSw2QkFBNkI7YUFDM0M7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLE9BQU87Z0JBQ2IsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsS0FBSyxFQUFFLEdBQUc7Z0JBQ1YsV0FBVyxFQUFFLHlDQUF5QzthQUN2RDtZQUNELEtBQUssRUFBRTtnQkFDTCxJQUFJLEVBQUUsT0FBTztnQkFDYixRQUFRLEVBQUUsSUFBSTtnQkFDZCxLQUFLLEVBQUUsR0FBRztnQkFDVixXQUFXLEVBQUUsd0NBQXdDO2FBQ3REO1NBQ3dCO1FBQzNCLElBQUksRUFBRTtZQUNKLE9BQU8s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LFdBQVcsRUFBRSxvQkFBb0I7SUFDakMsYUFBYSxFQUFFLFlBQVk7SUFDM0IsNkJBQTZCLEVBQUUsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDO0NBQ3pELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FyZ3VtZW50Q29uZmlnLCBQYXJzZU9wdGlvbnN9IGZyb20gJ3RzLWNvbW1hbmQtbGluZS1hcmdzJztcblxuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuL3N0cmluZ3MnO1xuXG5pbXBvcnQge1xuICBJRkRpZmZBcmdzLFxuICBJRUFyZ3MsXG4gIElGRW52QXJncyxcbiAgSUZDaGVja0FyZ3MsXG59IGZyb20gJy4uL3R5cGVzL3Byb2Nlc3MtYXJncyc7XG5cbmNvbnN0IHtESVNDTEFJTUVSX01FU1NBR0V9ID0gU1RSSU5HUztcblxuZXhwb3J0IGNvbnN0IENPTkZJRyA9IHtcbiAgSUU6IHtcbiAgICBBUkdTOiB7XG4gICAgICBtYW5pZmVzdDoge1xuICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICBhbGlhczogJ20nLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1twYXRoIHRvIHRoZSBpbnB1dCBmaWxlXScsXG4gICAgICB9LFxuICAgICAgb3V0cHV0OiB7XG4gICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICAgIGFsaWFzOiAnbycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnW3BhdGggdG8gdGhlIG91dHB1dCBmaWxlXScsXG4gICAgICB9LFxuICAgICAgJ292ZXJyaWRlLXBhcmFtcyc6IHtcbiAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgYWxpYXM6ICdwJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdbcGF0aCB0byBhIHBhcmFtZXRlciBmaWxlIHRoYXQgb3ZlcnJpZGVzIG91ciBkZWZhdWx0c10nLFxuICAgICAgfSxcbiAgICAgIHN0ZG91dDoge1xuICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgYWxpYXM6ICdzJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdbcHJpbnRzIG91dCB0byB0aGUgY29uc29sZV0nLFxuICAgICAgfSxcbiAgICAgIGhlbHA6IHtcbiAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICAgIGFsaWFzOiAnaCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnW3ByaW50cyBvdXQgdGhlIGFib3ZlIGhlbHAgaW5zdHJ1Y3Rpb25dJyxcbiAgICAgIH0sXG4gICAgICBkZWJ1Zzoge1xuICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgYWxpYXM6ICdkJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdbcHJpbnRzIG91dCBkZWJ1ZyBsb2dzIHRvIHRoZSBjb25zb2xlXScsXG4gICAgICB9LFxuICAgIH0gYXMgQXJndW1lbnRDb25maWc8SUVBcmdzPixcbiAgICBIRUxQOiB7XG4gICAgICBoZWxwQXJnOiAnaGVscCcsXG4gICAgICBoZWFkZXJDb250ZW50U2VjdGlvbnM6IFtcbiAgICAgICAge2hlYWRlcjogJ0ltcGFjdCBGcmFtZXdvcmsnLCBjb250ZW50OiAnSGVscGZ1bCBrZXl3b3JkczonfSxcbiAgICAgIF0sXG4gICAgICBmb290ZXJDb250ZW50U2VjdGlvbnM6IFtcbiAgICAgICAge2hlYWRlcjogJ0dyZWVuIFNvZnR3YXJlIEZvdW5kYXRpb24nLCBjb250ZW50OiBESVNDTEFJTUVSX01FU1NBR0V9LFxuICAgICAgXSxcbiAgICB9IGFzIFBhcnNlT3B0aW9uczxhbnk+LFxuICB9LFxuICBJRl9ESUZGOiB7XG4gICAgQVJHUzoge1xuICAgICAgc291cmNlOiB7XG4gICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICAgIGFsaWFzOiAncycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnW3BhdGggdG8gdGhlIHNvdXJjZSBmaWxlXScsXG4gICAgICB9LFxuICAgICAgdGFyZ2V0OiB7XG4gICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgb3B0aW9uYWw6IGZhbHNlLFxuICAgICAgICBhbGlhczogJ3QnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1twYXRoIHRvIHRoZSB0YXJnZXQgZmlsZScsXG4gICAgICB9LFxuICAgIH0gYXMgQXJndW1lbnRDb25maWc8SUZEaWZmQXJncz4sXG4gICAgSEVMUDoge1xuICAgICAgaGVscEFyZzogJ2hlbHAnLFxuICAgICAgaGVhZGVyQ29udGVudFNlY3Rpb25zOiBbXG4gICAgICAgIHtoZWFkZXI6ICdJbXBhY3QgRnJhbWV3b3JrJywgY29udGVudDogJ0lGLURpZmYgSGVscGZ1bCBrZXl3b3JkczonfSxcbiAgICAgIF0sXG4gICAgICBmb290ZXJDb250ZW50U2VjdGlvbnM6IFtcbiAgICAgICAge2hlYWRlcjogJ0dyZWVuIFNvZnR3YXJlIEZvdW5kYXRpb24nLCBjb250ZW50OiBESVNDTEFJTUVSX01FU1NBR0V9LFxuICAgICAgXSxcbiAgICB9IGFzIFBhcnNlT3B0aW9uczxhbnk+LFxuICAgIFNVQ0NFU1NfTUVTU0FHRTogJ0ZpbGVzIG1hdGNoIScsXG4gICAgRkFJTFVSRV9NRVNTQUdFOiAnRmlsZXMgZG8gbm90IG1hdGNoIScsXG4gIH0sXG4gIElGX0VOVjoge1xuICAgIEFSR1M6IHtcbiAgICAgIG1hbmlmZXN0OiB7XG4gICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICAgIGFsaWFzOiAnbScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnW3BhdGggdG8gdGhlIG1hbmlmZXN0IGZpbGVdJyxcbiAgICAgIH0sXG4gICAgICBpbnN0YWxsOiB7XG4gICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICBhbGlhczogJ2knLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1tjb21tYW5kIHRvIGluc3RhbGwgcGFja2FnZS5qc29uXScsXG4gICAgICB9LFxuICAgICAgY3dkOiB7XG4gICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICBhbGlhczogJ2MnLFxuICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAnW2NvbW1hbmQgdG8gZ2VuZXJhdGUgdGhlIHBhY2thZ2UuanNvbiBpbiB0aGUgY29tbWFuZCB3b3JraW5nIGRpcmVjdG9yeV0nLFxuICAgICAgfSxcbiAgICB9IGFzIEFyZ3VtZW50Q29uZmlnPElGRW52QXJncz4sXG4gICAgSEVMUDoge1xuICAgICAgaGVscEFyZzogJ2hlbHAnLFxuICAgICAgaGVhZGVyQ29udGVudFNlY3Rpb25zOiBbXG4gICAgICAgIHtoZWFkZXI6ICdJbXBhY3QgRnJhbWV3b3JrJywgY29udGVudDogJ0lGLUVudiBIZWxwZnVsIGtleXdvcmRzOid9LFxuICAgICAgXSxcbiAgICAgIGZvb3RlckNvbnRlbnRTZWN0aW9uczogW1xuICAgICAgICB7aGVhZGVyOiAnR3JlZW4gU29mdHdhcmUgRm91bmRhdGlvbicsIGNvbnRlbnQ6IERJU0NMQUlNRVJfTUVTU0FHRX0sXG4gICAgICBdLFxuICAgIH0gYXMgUGFyc2VPcHRpb25zPGFueT4sXG4gICAgU1VDQ0VTU19NRVNTQUdFOiAnVGhlIGVudmlyb25tZW50IGlzIHN1Y2Nlc3NmdWxseSBzZXR1cCEnLFxuICAgIEZBSUxVUkVfTUVTU0FHRTogJ0ZhaWVkIHRvIGNyZWF0ZSB0aGUgZW52aXJvbm1lbnQhJyxcbiAgICBGQUlMVVJFX01FU1NBR0VfVEVNUExBVEU6XG4gICAgICAnRmFpZWQgdG8gY3JlYXRlIHRoZSBlbnZpcm9ubWVudCB3aXRoIHRoZSB0ZW1wbGF0ZSBtYW5pZmVzdCEnLFxuICAgIEZBSUxVUkVfTUVTU0FHRV9ERVBFTkRFTkNJRVM6ICdNYW5pZmVzdCBkZXBlbmRlbmNpZXMgYXJlIG5vdCBhdmFpbGFibGUhJyxcbiAgfSxcbiAgSUZfQ0hFQ0s6IHtcbiAgICBBUkdTOiB7XG4gICAgICBtYW5pZmVzdDoge1xuICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICBhbGlhczogJ20nLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1twYXRoIHRvIHRoZSBtYW5pZmVzdCBmaWxlXScsXG4gICAgICB9LFxuICAgICAgZGlyZWN0b3J5OiB7XG4gICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICAgIGFsaWFzOiAnZCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnW3BhdGggdG8gdGhlIG1hbmlmZXN0cyBkaXJlY3RvcnldJyxcbiAgICAgIH0sXG4gICAgfSBhcyBBcmd1bWVudENvbmZpZzxJRkNoZWNrQXJncz4sXG4gICAgSEVMUDoge1xuICAgICAgaGVscEFyZzogJ2hlbHAnLFxuICAgICAgaGVhZGVyQ29udGVudFNlY3Rpb25zOiBbXG4gICAgICAgIHtoZWFkZXI6ICdJbXBhY3QgRnJhbWV3b3JrJywgY29udGVudDogJ0lGLUNoZWNrIEhlbHBmdWwga2V5d29yZHM6J30sXG4gICAgICBdLFxuICAgICAgZm9vdGVyQ29udGVudFNlY3Rpb25zOiBbXG4gICAgICAgIHtoZWFkZXI6ICdHcmVlbiBTb2Z0d2FyZSBGb3VuZGF0aW9uJywgY29udGVudDogRElTQ0xBSU1FUl9NRVNTQUdFfSxcbiAgICAgIF0sXG4gICAgfSBhcyBQYXJzZU9wdGlvbnM8YW55PixcbiAgfSxcbiAgR0lUSFVCX1BBVEg6ICdodHRwczovL2dpdGh1Yi5jb20nLFxuICBOQVRJVkVfUExVR0lOOiAnaWYtcGx1Z2lucycsXG4gIEFHR1JFR0FUSU9OX0FERElUSU9OQUxfUEFSQU1TOiBbJ3RpbWVzdGFtcCcsICdkdXJhdGlvbiddLFxufTtcbiJdfQ==
|
package/build/config/index.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PARAMETERS = 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
|
-
var params_1 = require("./params");
|
|
9
|
-
Object.defineProperty(exports, "PARAMETERS", { enumerable: true, get: function () { return params_1.PARAMETERS; } });
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFnQztBQUF4QixnR0FBQSxNQUFNLE9BQUE7QUFDZCxxQ0FBa0M7QUFBMUIsa0dBQUEsT0FBTyxPQUFBO0FBQ2YsbUNBQW9DO0FBQTVCLG9HQUFBLFVBQVUsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7Q09ORklHfSBmcm9tICcuL2NvbmZpZyc7XG5leHBvcnQge1NUUklOR1N9IGZyb20gJy4vc3RyaW5ncyc7XG5leHBvcnQge1BBUkFNRVRFUlN9IGZyb20gJy4vcGFyYW1zJztcbiJdfQ==
|
package/build/config/params.d.ts
DELETED
package/build/config/params.js
DELETED
|
@@ -1,196 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PARAMETERS = void 0;
|
|
4
|
-
exports.PARAMETERS = {
|
|
5
|
-
carbon: {
|
|
6
|
-
description: 'an amount of carbon emitted into the atmosphere',
|
|
7
|
-
unit: 'gCO2e',
|
|
8
|
-
aggregation: 'sum',
|
|
9
|
-
},
|
|
10
|
-
'cpu/number-cores': {
|
|
11
|
-
description: 'number of cores available',
|
|
12
|
-
unit: 'cores',
|
|
13
|
-
aggregation: 'none',
|
|
14
|
-
},
|
|
15
|
-
'cpu/utilization': {
|
|
16
|
-
description: 'refers to CPU utilization.',
|
|
17
|
-
unit: 'percentage',
|
|
18
|
-
aggregation: 'avg',
|
|
19
|
-
},
|
|
20
|
-
'disk-io': {
|
|
21
|
-
description: 'refers to GB of data written/read from disk',
|
|
22
|
-
unit: 'GB',
|
|
23
|
-
aggregation: 'sum',
|
|
24
|
-
},
|
|
25
|
-
duration: {
|
|
26
|
-
description: 'refers to the duration of the input',
|
|
27
|
-
unit: 'seconds',
|
|
28
|
-
aggregation: 'sum',
|
|
29
|
-
},
|
|
30
|
-
energy: {
|
|
31
|
-
description: 'amount of energy utilised by the component',
|
|
32
|
-
unit: 'kWh',
|
|
33
|
-
aggregation: 'sum',
|
|
34
|
-
},
|
|
35
|
-
'cpu/energy': {
|
|
36
|
-
description: 'Energy consumed by the CPU of the component',
|
|
37
|
-
unit: 'kWh',
|
|
38
|
-
aggregation: 'sum',
|
|
39
|
-
},
|
|
40
|
-
'device/expected-lifespan': {
|
|
41
|
-
description: 'Total Expected Lifespan of the Component in Seconds',
|
|
42
|
-
unit: 'seconds',
|
|
43
|
-
aggregation: 'sum',
|
|
44
|
-
},
|
|
45
|
-
'memory/energy': {
|
|
46
|
-
description: 'Energy consumed by the Memory of the component',
|
|
47
|
-
unit: 'kWh',
|
|
48
|
-
aggregation: 'sum',
|
|
49
|
-
},
|
|
50
|
-
'carbon-embodied': {
|
|
51
|
-
description: 'Embodied Emissions of the component',
|
|
52
|
-
unit: 'gCO2e',
|
|
53
|
-
aggregation: 'sum',
|
|
54
|
-
},
|
|
55
|
-
'network/energy': {
|
|
56
|
-
description: 'Energy consumed by the Network of the component',
|
|
57
|
-
unit: 'kWh',
|
|
58
|
-
aggregation: 'sum',
|
|
59
|
-
},
|
|
60
|
-
'functional-unit': {
|
|
61
|
-
description: 'the name of the functional unit in which the final SCI value should be expressed, e.g. requests, users',
|
|
62
|
-
unit: 'none',
|
|
63
|
-
aggregation: 'sum',
|
|
64
|
-
},
|
|
65
|
-
'gpu-util': {
|
|
66
|
-
description: 'refers to CPU utilization.',
|
|
67
|
-
unit: 'percentage',
|
|
68
|
-
aggregation: 'avg',
|
|
69
|
-
},
|
|
70
|
-
'grid/carbon-intensity': {
|
|
71
|
-
description: 'Carbon intensity for the grid',
|
|
72
|
-
unit: 'gCO2eq/kWh',
|
|
73
|
-
aggregation: 'avg',
|
|
74
|
-
},
|
|
75
|
-
'cloud/instance-type': {
|
|
76
|
-
description: 'Type of Cloud Instance name used in the cloud provider APIs',
|
|
77
|
-
unit: 'None',
|
|
78
|
-
aggregation: 'none',
|
|
79
|
-
},
|
|
80
|
-
geolocation: {
|
|
81
|
-
description: 'Geographic location of provider as string (for watt-time model it is provided as latitude and longitude, comma separated, in decimal degrees)',
|
|
82
|
-
unit: 'None (decimal degrees for watt-time model)',
|
|
83
|
-
aggregation: 'none',
|
|
84
|
-
},
|
|
85
|
-
'carbon-operational': {
|
|
86
|
-
description: 'Operational Emissions of the component',
|
|
87
|
-
unit: 'gCO2e',
|
|
88
|
-
aggregation: 'sum',
|
|
89
|
-
},
|
|
90
|
-
'cpu/name': {
|
|
91
|
-
description: 'Name of the physical processor',
|
|
92
|
-
unit: 'None',
|
|
93
|
-
aggregation: 'none',
|
|
94
|
-
},
|
|
95
|
-
'cloud/region': {
|
|
96
|
-
description: 'region cloud instance runs in',
|
|
97
|
-
unit: 'None',
|
|
98
|
-
aggregation: 'none',
|
|
99
|
-
},
|
|
100
|
-
'cloud/vendor': {
|
|
101
|
-
description: 'Name of the cloud service provider in the ccf model. Can be aws, gcp or azure',
|
|
102
|
-
unit: 'None',
|
|
103
|
-
aggregation: 'none',
|
|
104
|
-
},
|
|
105
|
-
name: {
|
|
106
|
-
description: 'arbitrary name parameter.',
|
|
107
|
-
unit: 'None',
|
|
108
|
-
aggregation: 'none',
|
|
109
|
-
},
|
|
110
|
-
'ram-alloc': {
|
|
111
|
-
description: 'refers to GB of memory allocated.',
|
|
112
|
-
unit: 'GB',
|
|
113
|
-
aggregation: 'avg',
|
|
114
|
-
},
|
|
115
|
-
'ram-util': {
|
|
116
|
-
description: 'refers to percentage of memory utilized.',
|
|
117
|
-
unit: 'percentage',
|
|
118
|
-
aggregation: 'avg',
|
|
119
|
-
},
|
|
120
|
-
'resources-reserved': {
|
|
121
|
-
description: 'resources reserved for an application',
|
|
122
|
-
unit: 'count',
|
|
123
|
-
aggregation: 'none',
|
|
124
|
-
},
|
|
125
|
-
'cpu/thermal-design-power': {
|
|
126
|
-
description: 'thermal design power for a processor',
|
|
127
|
-
unit: 'kwh',
|
|
128
|
-
aggregation: 'avg',
|
|
129
|
-
},
|
|
130
|
-
'device/emissions-embodied': {
|
|
131
|
-
description: 'total embodied emissions of some component',
|
|
132
|
-
unit: 'gCO2e',
|
|
133
|
-
aggregation: 'sum',
|
|
134
|
-
},
|
|
135
|
-
timestamp: {
|
|
136
|
-
description: 'refers to the time of occurrence of the input',
|
|
137
|
-
unit: 'RFC3339',
|
|
138
|
-
aggregation: 'none',
|
|
139
|
-
},
|
|
140
|
-
'time-reserved': {
|
|
141
|
-
description: 'time reserved for a component',
|
|
142
|
-
unit: 'seconds',
|
|
143
|
-
aggregation: 'avg',
|
|
144
|
-
},
|
|
145
|
-
'resources-total': {
|
|
146
|
-
description: 'total resources available',
|
|
147
|
-
unit: 'count',
|
|
148
|
-
aggregation: 'none',
|
|
149
|
-
},
|
|
150
|
-
'vcpus-allocated': {
|
|
151
|
-
description: 'number of vcpus allocated to particular resource',
|
|
152
|
-
unit: 'count',
|
|
153
|
-
aggregation: 'none',
|
|
154
|
-
},
|
|
155
|
-
'vcpus-total': {
|
|
156
|
-
description: 'total number of vcpus available on a particular resource',
|
|
157
|
-
unit: 'count',
|
|
158
|
-
aggregation: 'none',
|
|
159
|
-
},
|
|
160
|
-
'memory-available': {
|
|
161
|
-
description: 'total amount of memory available on a particular resource',
|
|
162
|
-
unit: 'GB',
|
|
163
|
-
aggregation: 'none',
|
|
164
|
-
},
|
|
165
|
-
'physical-processor': {
|
|
166
|
-
description: 'name of the physical processor being used in a specific instance type',
|
|
167
|
-
unit: 'None',
|
|
168
|
-
aggregation: 'none',
|
|
169
|
-
},
|
|
170
|
-
'cloud/region-cfe': {
|
|
171
|
-
description: 'cloud region name in cfe format',
|
|
172
|
-
unit: 'None',
|
|
173
|
-
aggregation: 'none',
|
|
174
|
-
},
|
|
175
|
-
'cloud/region-em-zone-id': {
|
|
176
|
-
description: 'cloud region name in electricity maps format',
|
|
177
|
-
unit: 'None',
|
|
178
|
-
aggregation: 'none',
|
|
179
|
-
},
|
|
180
|
-
'cloud/region-wt-id': {
|
|
181
|
-
description: 'cloud region name in watt-time format',
|
|
182
|
-
unit: 'None',
|
|
183
|
-
aggregation: 'none',
|
|
184
|
-
},
|
|
185
|
-
'cloud/region-location': {
|
|
186
|
-
description: 'cloud region name in our IF format',
|
|
187
|
-
unit: 'None',
|
|
188
|
-
aggregation: 'none',
|
|
189
|
-
},
|
|
190
|
-
'cloud/region-geolocation': {
|
|
191
|
-
description: 'location expressed as decimal coordinates (lat/lon)',
|
|
192
|
-
unit: 'decimal degrees',
|
|
193
|
-
aggregation: 'none',
|
|
194
|
-
},
|
|
195
|
-
};
|
|
196
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9wYXJhbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRWEsUUFBQSxVQUFVLEdBQWU7SUFDcEMsTUFBTSxFQUFFO1FBQ04sV0FBVyxFQUFFLGlEQUFpRDtRQUM5RCxJQUFJLEVBQUUsT0FBTztRQUNiLFdBQVcsRUFBRSxLQUFLO0tBQ25CO0lBQ0Qsa0JBQWtCLEVBQUU7UUFDbEIsV0FBVyxFQUFFLDJCQUEyQjtRQUN4QyxJQUFJLEVBQUUsT0FBTztRQUNiLFdBQVcsRUFBRSxNQUFNO0tBQ3BCO0lBQ0QsaUJBQWlCLEVBQUU7UUFDakIsV0FBVyxFQUFFLDRCQUE0QjtRQUN6QyxJQUFJLEVBQUUsWUFBWTtRQUNsQixXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELFNBQVMsRUFBRTtRQUNULFdBQVcsRUFBRSw2Q0FBNkM7UUFDMUQsSUFBSSxFQUFFLElBQUk7UUFDVixXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELFFBQVEsRUFBRTtRQUNSLFdBQVcsRUFBRSxxQ0FBcUM7UUFDbEQsSUFBSSxFQUFFLFNBQVM7UUFDZixXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELE1BQU0sRUFBRTtRQUNOLFdBQVcsRUFBRSw0Q0FBNEM7UUFDekQsSUFBSSxFQUFFLEtBQUs7UUFDWCxXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELFlBQVksRUFBRTtRQUNaLFdBQVcsRUFBRSw2Q0FBNkM7UUFDMUQsSUFBSSxFQUFFLEtBQUs7UUFDWCxXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELDBCQUEwQixFQUFFO1FBQzFCLFdBQVcsRUFBRSxxREFBcUQ7UUFDbEUsSUFBSSxFQUFFLFNBQVM7UUFDZixXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELGVBQWUsRUFBRTtRQUNmLFdBQVcsRUFBRSxnREFBZ0Q7UUFDN0QsSUFBSSxFQUFFLEtBQUs7UUFDWCxXQUFXLEVBQUUsS0FBSztLQUNu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QUNwQjtJQUNELGFBQWEsRUFBRTtRQUNiLFdBQVcsRUFBRSwwREFBMEQ7UUFDdkUsSUFBSSxFQUFFLE9BQU87UUFDYixXQUFXLEVBQUUsTUFBTTtLQUNwQjtJQUNELGtCQUFrQixFQUFFO1FBQ2xCLFdBQVcsRUFBRSwyREFBMkQ7UUFDeEUsSUFBSSxFQUFFLElBQUk7UUFDVixXQUFXLEVBQUUsTUFBTTtLQUNwQjtJQUNELG9CQUFvQixFQUFFO1FBQ3BCLFdBQVcsRUFDVCx1RUFBdUU7UUFDekUsSUFBSSxFQUFFLE1BQU07UUFDWixXQUFXLEVBQUUsTUFBTTtLQUNwQjtJQUNELGtCQUFrQixFQUFFO1FBQ2xCLFdBQVcsRUFBRSxpQ0FBaUM7UUFDOUMsSUFBSSxFQUFFLE1BQU07UUFDWixXQUFXLEVBQUUsTUFBTTtLQUNwQjtJQUNELHlCQUF5QixFQUFFO1FBQ3pCLFdBQVcsRUFBRSw4Q0FBOEM7UUFDM0QsSUFBSSxFQUFFLE1BQU07UUFDWixXQUFXLEVBQUUsTUFBTTtLQUNwQjtJQUNELG9CQUFvQixFQUFFO1FBQ3BCLFdBQVcsRUFBRSx1Q0FBdUM7UUFDcEQsSUFBSSxFQUFFLE1BQU07UUFDWixXQUFXLEVBQUUsTUFBTTtLQUNwQjtJQUNELHVCQUF1QixFQUFFO1FBQ3ZCLFdBQVcsRUFBRSxvQ0FBb0M7UUFDakQsSUFBSSxFQUFFLE1BQU07UUFDWixXQUFXLEVBQUUsTUFBTTtLQUNwQjtJQUNELDBCQUEwQixFQUFFO1FBQzFCLFdBQVcsRUFBRSxxREFBcUQ7UUFDbEUsSUFBSSxFQUFFLGlCQUFpQjtRQUN2QixXQUFXLEVBQUUsTUFBTTtLQUNwQjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BhcmFtZXRlcnN9IGZyb20gJy4uL3R5cGVzL3BhcmFtZXRlcnMnO1xuXG5leHBvcnQgY29uc3QgUEFSQU1FVEVSUzogUGFyYW1ldGVycyA9IHtcbiAgY2FyYm9uOiB7XG4gICAgZGVzY3JpcHRpb246ICdhbiBhbW91bnQgb2YgY2FyYm9uIGVtaXR0ZWQgaW50byB0aGUgYXRtb3NwaGVyZScsXG4gICAgdW5pdDogJ2dDTzJlJyxcbiAgICBhZ2dyZWdhdGlvbjogJ3N1bScsXG4gIH0sXG4gICdjcHUvbnVtYmVyLWNvcmVzJzoge1xuICAgIGRlc2NyaXB0aW9uOiAnbnVtYmVyIG9mIGNvcmVzIGF2YWlsYWJsZScsXG4gICAgdW5pdDogJ2NvcmVzJyxcbiAgICBhZ2dyZWdhdGlvbjogJ25vbmUnLFxuICB9LFxuICAnY3B1L3V0aWxpemF0aW9uJzoge1xuICAgIGRlc2NyaXB0aW9uOiAncmVmZXJzIHRvIENQVSB1dGlsaXphdGlvbi4nLFxuICAgIHVuaXQ6ICdwZXJjZW50YWdlJyxcbiAgICBhZ2dyZWdhdGlvbjogJ2F2ZycsXG4gIH0sXG4gICdkaXNrLWlvJzoge1xuICAgIGRlc2NyaXB0aW9uOiAncmVmZXJzIHRvIEdCIG9mIGRhdGEgd3JpdHRlbi9yZWFkIGZyb20gZGlzaycsXG4gICAgdW5pdDogJ0dCJyxcbiAgICBhZ2dyZWdhdGlvbjogJ3N1bScsXG4gIH0sXG4gIGR1cmF0aW9uOiB7XG4gICAgZGVzY3JpcHRpb246ICdyZWZlcnMgdG8gdGhlIGR1cmF0aW9uIG9mIHRoZSBpbnB1dCcsXG4gICAgdW5pdDogJ3NlY29uZHMnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnc3VtJyxcbiAgfSxcbiAgZW5lcmd5OiB7XG4gICAgZGVzY3JpcHRpb246ICdhbW91bnQgb2YgZW5lcmd5IHV0aWxpc2VkIGJ5IHRoZSBjb21wb25lbnQnLFxuICAgIHVuaXQ6ICdrV2gnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnc3VtJyxcbiAgfSxcbiAgJ2NwdS9lbmVyZ3knOiB7XG4gICAgZGVzY3JpcHRpb246ICdFbmVyZ3kgY29uc3VtZWQgYnkgdGhlIENQVSBvZiB0aGUgY29tcG9uZW50JyxcbiAgICB1bml0OiAna1doJyxcbiAgICBhZ2dyZWdhdGlvbjogJ3N1bScsXG4gIH0sXG4gICdkZXZpY2UvZXhwZWN0ZWQtbGlmZXNwYW4nOiB7XG4gICAgZGVzY3JpcHRpb246ICdUb3RhbCBFeHBlY3RlZCBMaWZlc3BhbiBvZiB0aGUgQ29tcG9uZW50IGluIFNlY29uZHMnLFxuICAgIHVuaXQ6ICdzZWNvbmRzJyxcbiAgICBhZ2dyZWdhdGlvbjogJ3N1bScsXG4gIH0sXG4gICdtZW1vcnkvZW5lcmd5Jzoge1xuICAgIGRlc2NyaXB0aW9uOiAnRW5lcmd5IGNvbnN1bWVkIGJ5IHRoZSBNZW1vcnkgb2YgdGhlIGNvbXBvbmVudCcsXG4gICAgdW5pdDogJ2tXaCcsXG4gICAgYWdncmVnYXRpb246ICdzdW0nLFxuICB9LFxuICAnY2FyYm9uLWVtYm9kaWVkJzoge1xuICAgIGRlc2NyaXB0aW9uOiAnRW1ib2RpZWQgRW1pc3Npb25zIG9mIHRoZSBjb21wb25lbnQnLFxuICAgIHVuaXQ6ICdnQ08yZScsXG4gICAgYWdncmVnYXRpb246ICdzdW0nLFxuICB9LFxuICAnbmV0d29yay9lbmVyZ3knOiB7XG4gICAgZGVzY3JpcHRpb246ICdFbmVyZ3kgY29uc3VtZWQgYnkgdGhlIE5ldHdvcmsgb2YgdGhlIGNvbXBvbmVudCcsXG4gICAgdW5pdDogJ2tXaCcsXG4gICAgYWdncmVnYXRpb246ICdzdW0nLFxuICB9LFxuICAnZnVuY3Rpb25hbC11bml0Jzoge1xuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgJ3RoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbmFsIHVuaXQgaW4gd2hpY2ggdGhlIGZpbmFsIFNDSSB2YWx1ZSBzaG91bGQgYmUgZXhwcmVzc2VkLCBlLmcuIHJlcXVlc3RzLCB1c2VycycsXG4gICAgdW5pdDogJ25vbmUnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnc3VtJyxcbiAgfSxcbiAgJ2dwdS11dGlsJzoge1xuICAgIGRlc2NyaXB0aW9uOiAncmVmZXJzIHRvIENQVSB1dGlsaXphdGlvbi4nLFxuICAgIHVuaXQ6ICdwZXJjZW50YWdlJyxcbiAgICBhZ2dyZWdhdGlvbjogJ2F2ZycsXG4gIH0sXG4gICdncmlkL2NhcmJvbi1pbnRlbnNpdHknOiB7XG4gICAgZGVzY3JpcHRpb246ICdDYXJib24gaW50ZW5zaXR5IGZvciB0aGUgZ3JpZCcsXG4gICAgdW5pdDogJ2dDTzJlcS9rV2gnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnYXZnJyxcbiAgfSxcbiAgJ2Nsb3VkL2luc3RhbmNlLXR5cGUnOiB7XG4gICAgZGVzY3JpcHRpb246ICdUeXBlIG9mIENsb3VkIEluc3RhbmNlIG5hbWUgdXNlZCBpbiB0aGUgY2xvdWQgcHJvdmlkZXIgQVBJcycsXG4gICAgdW5pdDogJ05vbmUnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnbm9uZScsXG4gIH0sXG4gIGdlb2xvY2F0aW9uOiB7XG4gICAgZGVzY3JpcHRpb246XG4gICAgICAnR2VvZ3JhcGhpYyBsb2NhdGlvbiBvZiBwcm92aWRlciBhcyBzdHJpbmcgKGZvciB3YXR0LXRpbWUgbW9kZWwgaXQgaXMgcHJvdmlkZWQgYXMgbGF0aXR1ZGUgYW5kIGxvbmdpdHVkZSwgY29tbWEgc2VwYXJhdGVkLCBpbiBkZWNpbWFsIGRlZ3JlZXMpJyxcbiAgICB1bml0OiAnTm9uZSAoZGVjaW1hbCBkZWdyZWVzIGZvciB3YXR0LXRpbWUgbW9kZWwpJyxcbiAgICBhZ2dyZWdhdGlvbjogJ25vbmUnLFxuICB9LFxuICAnY2FyYm9uLW9wZXJhdGlvbmFsJzoge1xuICAgIGRlc2NyaXB0aW9uOiAnT3BlcmF0aW9uYWwgRW1pc3Npb25zIG9mIHRoZSBjb21wb25lbnQnLFxuICAgIHVuaXQ6ICdnQ08yZScsXG4gICAgYWdncmVnYXRpb246ICdzdW0nLFxuICB9LFxuICAnY3B1L25hbWUnOiB7XG4gICAgZGVzY3JpcHRpb246ICdOYW1lIG9mIHRoZSBwaHlzaWNhbCBwcm9jZXNzb3InLFxuICAgIHVuaXQ6ICdOb25lJyxcbiAgICBhZ2dyZWdhdGlvbjogJ25vbmUnLFxuICB9LFxuICAnY2xvdWQvcmVnaW9uJzoge1xuICAgIGRlc2NyaXB0aW9uOiAncmVnaW9uIGNsb3VkIGluc3RhbmNlIHJ1bnMgaW4nLFxuICAgIHVuaXQ6ICdOb25lJyxcbiAgICBhZ2dyZWdhdGlvbjogJ25vbmUnLFxuICB9LFxuICAnY2xvdWQvdmVuZG9yJzoge1xuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgJ05hbWUgb2YgdGhlIGNsb3VkIHNlcnZpY2UgcHJvdmlkZXIgaW4gdGhlIGNjZiBtb2RlbC4gQ2FuIGJlIGF3cywgZ2NwIG9yIGF6dXJlJyxcbiAgICB1bml0OiAnTm9uZScsXG4gICAgYWdncmVnYXRpb246ICdub25lJyxcbiAgfSxcbiAgbmFtZToge1xuICAgIGRlc2NyaXB0aW9uOiAnYXJiaXRyYXJ5IG5hbWUgcGFyYW1ldGVyLicsXG4gICAgdW5pdDogJ05vbmUnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnbm9uZScsXG4gIH0sXG4gICdyYW0tYWxsb2MnOiB7XG4gICAgZGVzY3JpcHRpb246ICdyZWZlcnMgdG8gR0Igb2YgbWVtb3J5IGFsbG9jYXRlZC4nLFxuICAgIHVuaXQ6ICdHQicsXG4gICAgYWdncmVnYXRpb246ICdhdmcnLFxuICB9LFxuICAncmFtLXV0aWwnOiB7XG4gICAgZGVzY3JpcHRpb246ICdyZWZlcnMgdG8gcGVyY2VudGFnZSBvZiBtZW1vcnkgdXRpbGl6ZWQuJyxcbiAgICB1bml0OiAncGVyY2VudGFnZScsXG4gICAgYWdncmVnYXRpb246ICdhdmcnLFxuICB9LFxuICAncmVzb3VyY2VzLXJlc2VydmVkJzoge1xuICAgIGRlc2NyaXB0aW9uOiAncmVzb3VyY2VzIHJlc2VydmVkIGZvciBhbiBhcHBsaWNhdGlvbicsXG4gICAgdW5pdDogJ2NvdW50JyxcbiAgICBhZ2dyZWdhdGlvbjogJ25vbmUnLFxuICB9LFxuICAnY3B1L3RoZXJtYWwtZGVzaWduLXBvd2VyJzoge1xuICAgIGRlc2NyaXB0aW9uOiAndGhlcm1hbCBkZXNpZ24gcG93ZXIgZm9yIGEgcHJvY2Vzc29yJyxcbiAgICB1bml0OiAna3doJyxcbiAgICBhZ2dyZWdhdGlvbjogJ2F2ZycsXG4gIH0sXG4gICdkZXZpY2UvZW1pc3Npb25zLWVtYm9kaWVkJzoge1xuICAgIGRlc2NyaXB0aW9uOiAndG90YWwgZW1ib2RpZWQgZW1pc3Npb25zIG9mIHNvbWUgY29tcG9uZW50JyxcbiAgICB1bml0OiAnZ0NPMmUnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnc3VtJyxcbiAgfSxcbiAgdGltZXN0YW1wOiB7XG4gICAgZGVzY3JpcHRpb246ICdyZWZlcnMgdG8gdGhlIHRpbWUgb2Ygb2NjdXJyZW5jZSBvZiB0aGUgaW5wdXQnLFxuICAgIHVuaXQ6ICdSRkMzMzM5JyxcbiAgICBhZ2dyZWdhdGlvbjogJ25vbmUnLFxuICB9LFxuICAndGltZS1yZXNlcnZlZCc6IHtcbiAgICBkZXNjcmlwdGlvbjogJ3RpbWUgcmVzZXJ2ZWQgZm9yIGEgY29tcG9uZW50JyxcbiAgICB1bml0OiAnc2Vjb25kcycsXG4gICAgYWdncmVnYXRpb246ICdhdmcnLFxuICB9LFxuICAncmVzb3VyY2VzLXRvdGFsJzoge1xuICAgIGRlc2NyaXB0aW9uOiAndG90YWwgcmVzb3VyY2VzIGF2YWlsYWJsZScsXG4gICAgdW5pdDogJ2NvdW50JyxcbiAgICBhZ2dyZWdhdGlvbjogJ25vbmUnLFxuICB9LFxuICAndmNwdXMtYWxsb2NhdGVkJzoge1xuICAgIGRlc2NyaXB0aW9uOiAnbnVtYmVyIG9mIHZjcHVzIGFsbG9jYXRlZCB0byBwYXJ0aWN1bGFyIHJlc291cmNlJyxcbiAgICB1bml0OiAnY291bnQnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnbm9uZScsXG4gIH0sXG4gICd2Y3B1cy10b3RhbCc6IHtcbiAgICBkZXNjcmlwdGlvbjogJ3RvdGFsIG51bWJlciBvZiB2Y3B1cyBhdmFpbGFibGUgb24gYSBwYXJ0aWN1bGFyIHJlc291cmNlJyxcbiAgICB1bml0OiAnY291bnQnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnbm9uZScsXG4gIH0sXG4gICdtZW1vcnktYXZhaWxhYmxlJzoge1xuICAgIGRlc2NyaXB0aW9uOiAndG90YWwgYW1vdW50IG9mIG1lbW9yeSBhdmFpbGFibGUgb24gYSBwYXJ0aWN1bGFyIHJlc291cmNlJyxcbiAgICB1bml0OiAnR0InLFxuICAgIGFnZ3JlZ2F0aW9uOiAnbm9uZScsXG4gIH0sXG4gICdwaHlzaWNhbC1wcm9jZXNzb3InOiB7XG4gICAgZGVzY3JpcHRpb246XG4gICAgICAnbmFtZSBvZiB0aGUgcGh5c2ljYWwgcHJvY2Vzc29yIGJlaW5nIHVzZWQgaW4gYSBzcGVjaWZpYyBpbnN0YW5jZSB0eXBlJyxcbiAgICB1bml0OiAnTm9uZScsXG4gICAgYWdncmVnYXRpb246ICdub25lJyxcbiAgfSxcbiAgJ2Nsb3VkL3JlZ2lvbi1jZmUnOiB7XG4gICAgZGVzY3JpcHRpb246ICdjbG91ZCByZWdpb24gbmFtZSBpbiBjZmUgZm9ybWF0JyxcbiAgICB1bml0OiAnTm9uZScsXG4gICAgYWdncmVnYXRpb246ICdub25lJyxcbiAgfSxcbiAgJ2Nsb3VkL3JlZ2lvbi1lbS16b25lLWlkJzoge1xuICAgIGRlc2NyaXB0aW9uOiAnY2xvdWQgcmVnaW9uIG5hbWUgaW4gZWxlY3RyaWNpdHkgbWFwcyBmb3JtYXQnLFxuICAgIHVuaXQ6ICdOb25lJyxcbiAgICBhZ2dyZWdhdGlvbjogJ25vbmUnLFxuICB9LFxuICAnY2xvdWQvcmVnaW9uLXd0LWlkJzoge1xuICAgIGRlc2NyaXB0aW9uOiAnY2xvdWQgcmVnaW9uIG5hbWUgaW4gd2F0dC10aW1lIGZvcm1hdCcsXG4gICAgdW5pdDogJ05vbmUnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnbm9uZScsXG4gIH0sXG4gICdjbG91ZC9yZWdpb24tbG9jYXRpb24nOiB7XG4gICAgZGVzY3JpcHRpb246ICdjbG91ZCByZWdpb24gbmFtZSBpbiBvdXIgSUYgZm9ybWF0JyxcbiAgICB1bml0OiAnTm9uZScsXG4gICAgYWdncmVnYXRpb246ICdub25lJyxcbiAgfSxcbiAgJ2Nsb3VkL3JlZ2lvbi1nZW9sb2NhdGlvbic6IHtcbiAgICBkZXNjcmlwdGlvbjogJ2xvY2F0aW9uIGV4cHJlc3NlZCBhcyBkZWNpbWFsIGNvb3JkaW5hdGVzIChsYXQvbG9uKScsXG4gICAgdW5pdDogJ2RlY2ltYWwgZGVncmVlcycsXG4gICAgYWdncmVnYXRpb246ICdub25lJyxcbiAgfSxcbn07XG4iXX0=
|
package/build/config/strings.js
DELETED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.STRINGS = void 0;
|
|
4
|
-
exports.STRINGS = {
|
|
5
|
-
MANIFEST_IS_MISSING: 'Manifest is missing.',
|
|
6
|
-
MISSING_METHOD: "Initalization param 'method' is missing.",
|
|
7
|
-
MISSING_PATH: "Initalization param 'path' is missing.",
|
|
8
|
-
UNSUPPORTED_PLUGIN: "Plugin interface doesn't implement 'execute' or 'metadata' methods.",
|
|
9
|
-
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',
|
|
10
|
-
DISCLAIMER_MESSAGE: `
|
|
11
|
-
Incubation Project
|
|
12
|
-
|
|
13
|
-
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.
|
|
14
|
-
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.`,
|
|
15
|
-
NOT_NATIVE_PLUGIN: (path) => `
|
|
16
|
-
You are using plugin ${path} which is not part of the Impact Framework standard library. You should do your own research to ensure the plugins are up to date and accurate. They may not be actively maintained.`,
|
|
17
|
-
INVALID_MODULE_PATH: (path, error) => `Provided module \`${path}\` is invalid or not found. ${error ?? ''}
|
|
18
|
-
`,
|
|
19
|
-
INVALID_TIME_NORMALIZATION: 'Start time or end time is missing.',
|
|
20
|
-
UNEXPECTED_TIME_CONFIG: 'Unexpected node-level config provided for time-sync plugin.',
|
|
21
|
-
INVALID_TIME_INTERVAL: 'Interval is missing.',
|
|
22
|
-
AVOIDING_PADDING: (description) => `Avoiding padding at ${description}`,
|
|
23
|
-
AVOIDING_PADDING_BY_EDGES: (start, end) => `Avoiding padding at ${start && end ? 'start and end' : start ? 'start' : 'end'}`,
|
|
24
|
-
INVALID_AGGREGATION_METHOD: (metric) => `Aggregation is not possible for given ${metric} since method is 'none'.`,
|
|
25
|
-
METRIC_MISSING: (metric, index) => `Aggregation metric ${metric} is not found in inputs[${index}].`,
|
|
26
|
-
INVALID_GROUP_BY: (type) => `Invalid group ${type}.`,
|
|
27
|
-
REJECTING_OVERRIDE: (param) => `Rejecting overriding of canonical parameter: ${param.name}.`,
|
|
28
|
-
INVALID_EXHAUST_PLUGIN: (pluginName) => `Invalid exhaust plugin: ${pluginName}.`,
|
|
29
|
-
UNKNOWN_PARAM: (name) => `Unknown parameter: ${name}. Using 'sum' aggregation method.`,
|
|
30
|
-
NOT_INITALIZED_PLUGIN: (name) => `Not initalized plugin: ${name}. Check if ${name} is in 'manifest.initalize.plugins'.`,
|
|
31
|
-
NO_OUTPUT: `
|
|
32
|
-
You have not selected an output method. To see your output data, you can choose from:
|
|
33
|
-
--stdout: this will print your output data to the console
|
|
34
|
-
--output <savepath>: this will save your output data to the given filepath (do not provide file extension)
|
|
35
|
-
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
|
-
SOURCE_IS_NOT_YAML: 'Given source file is not in yaml format.',
|
|
37
|
-
TARGET_IS_NOT_YAML: 'Given target file is not in yaml format.',
|
|
38
|
-
INVALID_TARGET: 'Target is invalid.',
|
|
39
|
-
INVALID_SOURCE: 'Source is invalid.',
|
|
40
|
-
UNSUPPORTED_ERROR: (errorName) => `UnsupportedErrorClass: plugin threw error class: ${errorName} that is not recognized by Impact Framework`,
|
|
41
|
-
/** Plugin messages */
|
|
42
|
-
MISSING_GLOBAL_CONFIG: 'Global config is not provided.',
|
|
43
|
-
MISSING_INPUT_DATA: (param) => `${param} is missing from the input array, or has nullish value.`,
|
|
44
|
-
MANIFEST_NOT_FOUND: 'Manifest file not found.',
|
|
45
|
-
INITIALIZING_PACKAGE_JSON: 'Initializing package.json.',
|
|
46
|
-
INSTALLING_NPM_PACKAGES: 'Installing npm packages...',
|
|
47
|
-
NOT_NUMERIC_VALUE: (str) => `${str} is not numberic.`,
|
|
48
|
-
MISSING_FUNCTIONAL_UNIT_CONFIG: '`functional-unit` should be provided in your global config',
|
|
49
|
-
MISSING_FUNCTIONAL_UNIT_INPUT: '`functional-unit` value is missing from input data or it is not a positive integer',
|
|
50
|
-
REGEX_MISMATCH: (input, match) => `\`${input}\` does not match the ${match} regex expression`,
|
|
51
|
-
SCI_EMBODIED_ERROR: (unit) => `invalid number. please provide it as \`${unit}\` to input`,
|
|
52
|
-
MISSING_MIN_MAX: 'Config is missing min or max value',
|
|
53
|
-
INVALID_MIN_MAX: (name) => `Min value should not be greater than or equal to max value of ${name}`,
|
|
54
|
-
FILE_FETCH_FAILED: (filepath, message) => `Failed fetching the file: ${filepath}.
|
|
55
|
-
${message}`,
|
|
56
|
-
FILE_READ_FAILED: (filepath, error) => `Failed reading the file: ${filepath}.
|
|
57
|
-
${error}`,
|
|
58
|
-
MISSING_CSV_COLUMN: (columnName) => `There is no column with the name: ${columnName}.`,
|
|
59
|
-
NO_QUERY_DATA: 'One or more of the given query parameters are not found in the target CSV file column headers.',
|
|
60
|
-
INVALID_DATE_TYPE: (date) => `Unexpected date datatype: ${typeof date}: ${date}`,
|
|
61
|
-
INVALID_OBSERVATION_OVERLAP: 'Observation timestamps overlap, please check inputs.',
|
|
62
|
-
SCI_MISSING_FN_UNIT: (functionalUnit) => `'carbon' and ${functionalUnit} should be present in your input data.`,
|
|
63
|
-
/** Exhaust messages */
|
|
64
|
-
OUTPUT_REQUIRED: 'Output path is required, please make sure output is configured properly.',
|
|
65
|
-
CSV_EXPORT: 'CSV export criteria is not found in output path. Please append it after --output <path>#.',
|
|
66
|
-
WRITE_CSV_ERROR: (outputPath, error) => `Failed to write CSV file to ${outputPath}: ${error}`,
|
|
67
|
-
INVALID_NAME: '`name` global config parameter is empty or contains all spaces',
|
|
68
|
-
START_LOWER_END: '`start-time` should be lower than `end-time`',
|
|
69
|
-
TIMESTAMP_REQUIRED: (index) => `required in input[${index}]`,
|
|
70
|
-
INVALID_DATETIME: (index) => `invalid datetime in input[${index}]`,
|
|
71
|
-
X_Y_EQUAL: 'The length of `x` and `y` should be equal',
|
|
72
|
-
ARRAY_LENGTH_NON_EMPTY: 'the length of the input arrays must be greater than 1',
|
|
73
|
-
WITHIN_THE_RANGE: 'The target x value must be within the range of the given x values',
|
|
74
|
-
/** Debugging logs */
|
|
75
|
-
STARTING_IF: 'Starting IF',
|
|
76
|
-
EXITING_IF: 'Exiting IF',
|
|
77
|
-
LOADING_MANIFEST: 'Loading manifest',
|
|
78
|
-
VALIDATING_MANIFEST: 'Validating manifest',
|
|
79
|
-
CAPTURING_RUNTIME_ENVIRONMENT_DATA: 'Capturing runtime environment data',
|
|
80
|
-
SYNCING_PARAMETERS: 'Syncing parameters',
|
|
81
|
-
CHECKING_AGGREGATION_METHOD: (unitName) => `Checking aggregation method for ${unitName}`,
|
|
82
|
-
INITIALIZING_PLUGINS: 'Initializing plugins',
|
|
83
|
-
INITIALIZING_PLUGIN: (pluginName) => `Initializing ${pluginName}`,
|
|
84
|
-
LOADING_PLUGIN_FROM_PATH: (pluginName, path) => `Loading ${pluginName} from ${path}`,
|
|
85
|
-
COMPUTING_PIPELINE_FOR_NODE: (nodeName) => `Computing pipeline for \`${nodeName}\``,
|
|
86
|
-
MERGING_DEFAULTS_WITH_INPUT_DATA: 'Merging defaults with input data',
|
|
87
|
-
AGGREGATING_OUTPUTS: 'Aggregating outputs',
|
|
88
|
-
AGGREGATING_NODE: (nodeName) => `Aggregating node ${nodeName}`,
|
|
89
|
-
PREPARING_OUTPUT_DATA: 'Preparing output data',
|
|
90
|
-
EXPORTING_TO_YAML_FILE: (savepath) => `Exporting to yaml file: ${savepath}`,
|
|
91
|
-
EXPORTING_TO_CSV_FILE: (savepath) => `Exporting to csv file: ${savepath}`,
|
|
92
|
-
EXPORTING_RAW_CSV_FILE: (savepath) => `Exporting raw csv file: ${savepath}`,
|
|
93
|
-
CHECKING: 'Checking...',
|
|
94
|
-
IF_CHECK_FLAGS_MISSING: 'Either the `--manifest` or `--directory` command should be provided with a path',
|
|
95
|
-
DIRECTORY_NOT_FOUND: 'Directory not found.',
|
|
96
|
-
DIRECTORY_YAML_FILES_NOT_FOUND: 'The directory does not contain any YAML/YML files.\n',
|
|
97
|
-
IF_CHECK_EXECUTING: (filename) => `Executing \`${filename}\``,
|
|
98
|
-
IF_CHECK_VERIFICATION_FAILURES: '---------\nif-check verification failures:\n',
|
|
99
|
-
IF_CHECK_FAILED: (filename) => `✖ if-check could not verify ${filename}. The re-executed file does not match the original.\n`,
|
|
100
|
-
IF_CHECK_VERIFIED: (filename) => `✔ if-check successfully verified ${filename}\n`,
|
|
101
|
-
IF_CHECK_SUMMARY_ERROR_MESSAGE: (filename, message) => `Executing \`${filename}\`\n✖ ${message}`,
|
|
102
|
-
IF_CHECK_SUMMARY_LOG: (passedCount, totalCount) => `---------\nCheck summary:\n${passedCount} of ${totalCount} files are passed.\n`,
|
|
103
|
-
ZERO_DIVISION: (moduleName, index) => `-- SKIPPING -- DivisionByZero: you are attempting to divide by zero in ${moduleName} plugin : inputs[${index}]\n`,
|
|
104
|
-
};
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvc3RyaW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFYSxRQUFBLE9BQU8sR0FBRztJQUNyQixtQkFBbUIsRUFBRSxzQkFBc0I7SUFDM0MsY0FBYyxFQUFFLDBDQUEwQztJQUMxRCxZQUFZLEVBQUUsd0NBQXdDO0lBQ3RELGtCQUFrQixFQUNoQixxRUFBcUU7SUFDdkUsZ0JBQWdCLEVBQ2QscUpBQXFKO0lBQ3ZKLGtCQUFrQixFQUFFOzs7OzJOQUlxTTtJQUN6TixpQkFBaUIsRUFBRSxDQUFDLElBQVksRUFBRSxFQUFFLENBQ2xDO3VCQUNtQixJQUFJLHNMQUFzTDtJQUMvTSxtQkFBbUIsRUFBRSxDQUFDLElBQVksRUFBRSxLQUFXLEVBQUUsRUFBRSxDQUNqRCxxQkFBcUIsSUFBSSwrQkFBK0IsS0FBSyxJQUFJLEVBQUU7Q0FDdEU7SUFDQywwQkFBMEIsRUFBRSxvQ0FBb0M7SUFDaEUsc0JBQXNCLEVBQ3BCLDZEQUE2RDtJQUMvRCxxQkFBcUIsRUFBRSxzQkFBc0I7SUFDN0MsZ0JBQWdCLEVBQUUsQ0FBQyxXQUFtQixFQUFFLEVBQUUsQ0FDeEMsdUJBQXVCLFdBQVcsRUFBRTtJQUN0Qyx5QkFBeUIsRUFBRSxDQUFDLEtBQWMsRUFBRSxHQUFZLEVBQUUsRUFBRSxDQUMxRCx1QkFDRSxLQUFLLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUNyRCxFQUFFO0lBQ0osMEJBQTBCLEVBQUUsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUM3Qyx5Q0FBeUMsTUFBTSwwQkFBMEI7SUFDM0UsY0FBYyxFQUFFLENBQUMsTUFBYyxFQUFFLEtBQWEsRUFBRSxFQUFFLENBQ2hELHNCQUFzQixNQUFNLDJCQUEyQixLQUFLLElBQUk7SUFDbEUsZ0JBQWdCLEVB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QUFFLEVBQUUsQ0FBQyxlQUFlLFFBQVEsSUFBSTtJQUNyRSw4QkFBOEIsRUFDNUIsOENBQThDO0lBQ2hELGVBQWUsRUFBRSxDQUFDLFFBQWdCLEVBQUUsRUFBRSxDQUNwQywrQkFBK0IsUUFBUSx1REFBdUQ7SUFDaEcsaUJBQWlCLEVBQUUsQ0FBQyxRQUFnQixFQUFFLEVBQUUsQ0FDdEMsb0NBQW9DLFFBQVEsSUFBSTtJQUNsRCw4QkFBOEIsRUFBRSxDQUFDLFFBQWdCLEVBQUUsT0FBZSxFQUFFLEVBQUUsQ0FDcEUsZUFBZSxRQUFRLFNBQVMsT0FBTyxFQUFFO0lBQzNDLG9CQUFvQixFQUFFLENBQUMsV0FBbUIsRUFBRSxVQUFrQixFQUFFLEVBQUUsQ0FDaEUsOEJBQThCLFdBQVcsT0FBTyxVQUFVLHNCQUFzQjtJQUNsRixhQUFhLEVBQUUsQ0FBQyxVQUFrQixFQUFFLEtBQWEsRUFBRSxFQUFFLENBQ25ELDBFQUEwRSxVQUFVLG9CQUFvQixLQUFLLEtBQUs7Q0FDckgsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TWFuaWZlc3RQYXJhbWV0ZXJ9IGZyb20gJy4uL3R5cGVzL21hbmlmZXN0JztcblxuZXhwb3J0IGNvbnN0IFNUUklOR1MgPSB7XG4gIE1BTklGRVNUX0lTX01JU1NJTkc6ICdNYW5pZmVzdCBpcyBtaXNzaW5nLicsXG4gIE1JU1NJTkdfTUVUSE9EOiBcIkluaXRhbGl6YXRpb24gcGFyYW0gJ21ldGhvZCcgaXMgbWlzc2luZy5cIixcbiAgTUlTU0lOR19QQVRIOiBcIkluaXRhbGl6YXRpb24gcGFyYW0gJ3BhdGgnIGlzIG1pc3NpbmcuXCIsXG4gIFVOU1VQUE9SVEVEX1BMVUdJTjpcbiAgICBcIlBsdWdpbiBpbnRlcmZhY2UgZG9lc24ndCBpbXBsZW1lbnQgJ2V4ZWN1dGUnIG9yICdtZXRhZGF0YScgbWV0aG9kcy5cIixcbiAgT1ZFUlJJREVfV0FSTklORzpcbiAgICAnXFxuKipXQVJOSU5HKio6IFlvdSBhcmUgb3ZlcnJpZGluZyB0aGUgSUYgZGVmYXVsdCBwYXJhbWV0ZXJzIGZpbGUuIFBsZWFzZSBiZSBleHRyZW1lbHkgY2FyZWZ1bCBvZiB1bmludGVuZGVkIHNpZGUtZWZmZWN0cyBpbiB5b3VyIHBsdWdpbiBwaXBlbGluZSFcXG4nLFxuICBESVNDTEFJTUVSX01FU1NBR0U6IGBcbkluY3ViYXRpb24gUHJvamVjdFxuXG5UaGlzIHByb2plY3QgaXMgYW4gaW5jdWJhdGlvbiBwcm9qZWN0IGJlaW5nIHJ1biBpbnNpZGUgdGhlIEdyZWVuIFNvZnR3YXJlIEZvdW5kYXRpb247IGFzIHN1Y2gsIHdlIERPTuKAmVQgcmVjb21tZW5kIHVzaW5nIGl0IGluIGFueSBjcml0aWNhbCB1c2UgY2FzZS4gXG5JbmN1YmF0aW9uIHByb2plY3RzIGFyZSBleHBlcmltZW50YWwsIG9mZmVyIG5vIHN1cHBvcnQgZ3VhcmFudGVlLCBoYXZlIG1pbmltYWwgZ292ZXJuYW5jZSBhbmQgcHJvY2VzcywgYW5kIG1heSBiZSByZXRpcmVkIGF0IGFueSBtb21lbnQuIFRoaXMgcHJvamVjdCBtYXkgb25lIGRheSBncmFkdWF0ZSwgaW4gd2hpY2ggY2FzZSB0aGlzIGRpc2NsYWltZXIgd2lsbCBiZSByZW1vdmVkLmAsXG4gIE5PVF9OQVRJVkVfUExVR0lOOiAocGF0aDogc3RyaW5nKSA9PlxuICAgIGBcbllvdSBhcmUgdXNpbmcgcGx1Z2luICR7cGF0aH0gd2hpY2ggaXMgbm90IHBhcnQgb2YgdGhlIEltcGFjdCBGcmFtZXdvcmsgc3RhbmRhcmQgbGlicmFyeS4gWW91IHNob3VsZCBkbyB5b3VyIG93biByZXNlYXJjaCB0byBlbnN1cmUgdGhlIHBsdWdpbnMgYXJlIHVwIHRvIGRhdGUgYW5kIGFjY3VyYXRlLiBUaGV5IG1heSBub3QgYmUgYWN0aXZlbHkgbWFpbnRhaW5lZC5gLFxuICBJTlZBTElEX01PRFVMRV9QQVRIOiAocGF0aDogc3RyaW5nLCBlcnJvcj86IGFueSkgPT5cbiAgICBgUHJvdmlkZWQgbW9kdWxlIFxcYCR7cGF0aH1cXGAgaXMgaW52YWxpZCBvciBub3QgZm91bmQuICR7ZXJyb3IgPz8gJyd9XG5gLFxuICBJTlZBTElEX1RJTUVfTk9STUFMSVpBVElPTjogJ1N0YXJ0IHRpbWUgb3IgZW5kIHRpbWUgaXMgbWlzc2luZy4nLFxuICBVTkVYUEVDVEVEX1RJTUVfQ09ORklHOlxuICAgICdVbmV4cGVjdGVkIG5vZGUtbGV2ZWwgY29uZmlnIHByb3ZpZGVkIGZvciB0aW1lLXN5bmMgcGx1Z2luLicsXG4gIElOVkFMSURfVElNRV9JTlRFUlZBTDogJ0ludGVydmFsIGlzIG1pc3NpbmcuJyxcbiAgQVZPSURJTkdfUEFERElORzogKGRlc2NyaXB0aW9uOiBzdHJpbmcpID0+XG4gICAgYEF2b2lkaW5nIHBhZGRpbmcgYXQgJHtkZXNjcmlwdGlvbn1gLFxuICBBVk9JRElOR19QQURESU5HX0JZX0VER0VTOiAoc3RhcnQ6IGJvb2xlYW4sIGVuZDogYm9vbGVhbikgPT5cbiAgICBgQXZvaWRpbmcgcGFkZGluZyBhdCAke1xuICAgICAgc3RhcnQgJiYgZW5kID8gJ3N0YXJ0IGFuZCBlbmQnIDogc3RhcnQgPyAnc3RhcnQnIDogJ2VuZCdcbiAgICB9YCxcbiAgSU5WQUxJRF9BR0dSRUdBVElPTl9NRVRIT0Q6IChtZXRyaWM6IHN0cmluZykgPT5cbiAgICBgQWdncmVnYXRpb24gaXMgbm90IHBvc3NpYmxlIGZvciBnaXZlbiAke21ldHJpY30gc2luY2UgbWV0aG9kIGlzICdub25lJy5gLFxuICBNRVRSSUNfTUlTU0lORzogKG1ldHJpYzogc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PlxuICAgIGBBZ2dyZWdhdGlvbiBtZXRyaWMgJHttZXRyaWN9IGlzIG5vdCBmb3VuZCBpbiBpbnB1dHNbJHtpbmRleH1dLmAsXG4gIElOVkFMSURfR1JPVVBfQlk6ICh0eXBlOiBzdHJpbmcpID0+IGBJbnZhbGlkIGdyb3VwICR7dHlwZX0uYCxcbiAgUkVKRUNUSU5HX09WRVJSSURFOiAocGFyYW06IE1hbmlmZXN0UGFyYW1ldGVyKSA9PlxuICAgIGBSZWplY3Rpbmcgb3ZlcnJpZGluZyBvZiBjYW5vbmljYWwgcGFyYW1ldGVyOiAke3BhcmFtLm5hbWV9LmAsXG4gIElOVkFMSURfRVhIQVVTVF9QTFVHSU46IChwbHVnaW5OYW1lOiBzdHJpbmcpID0+XG4gICAgYEludmFsaWQgZXhoYXVzdCBwbHVnaW46ICR7cGx1Z2luTmFtZX0uYCxcbiAgVU5LTk9XTl9QQVJBTTogKG5hbWU6IHN0cmluZykgPT5cbiAgICBgVW5rbm93biBwYXJhbWV0ZXI6ICR7bmFtZX0uIFVzaW5nICdzdW0nIGFnZ3JlZ2F0aW9uIG1ldGhvZC5gLFxuICBOT1RfSU5JVEFMSVpFRF9QTFVHSU46IChuYW1lOiBzdHJpbmcpID0+XG4gICAgYE5vdCBpbml0YWxpemVkIHBsdWdpbjogJHtuYW1lfS4gQ2hlY2sgaWYgJHtuYW1lfSBpcyBpbiAnbWFuaWZlc3QuaW5pdGFsaXplLnBsdWdpbnMnLmAsXG4gIE5PX09VVFBVVDogYFxuWW91IGhhdmUgbm90IHNlbGVjdGVkIGFuIG91dHB1dCBtZXRob2QuIFRvIHNlZSB5b3VyIG91dHB1dCBkYXRhLCB5b3UgY2FuIGNob29zZSBmcm9tOlxuLS1zdGRvdXQ6IHRoaXMgd2lsbCBwcmludCB5b3VyIG91dHB1dCBkYXRhIHRvIHRoZSBjb25zb2xlXG4tLW91dHB1dCA8c2F2ZXBhdGg+OiB0aGlzIHdpbGwgc2F2ZSB5b3VyIG91dHB1dCBkYXRhIHRvIHRoZSBnaXZlbiBmaWxlcGF0aCAoZG8gbm90IHByb3ZpZGUgZmlsZSBleHRlbnNpb24pXG5Ob3RlIHRoYXQgZm9yIHRoZSAnLS1vdXRwdXQnIG9wdGlvbiB5b3UgYWxzbyBuZWVkIHRvIGRlZmluZSB0aGUgb3V0cHV0IHR5cGUgaW4geW91ciBtYW5pZmVzdCBmaWxlLiBTZWUgaHR0cHM6Ly9pZi5ncmVlbnNvZnR3YXJlLmZvdW5kYXRpb24vbWFqb3ItY29uY2VwdHMvbWFuaWZlc3QtZmlsZSNpbml0aWFsaXplYCxcbiAgU09VUkNFX0lTX05PVF9ZQU1MOiAnR2l2ZW4gc291cmNlIGZpbGUgaXMgbm90IGluIHlhbWwgZm9ybWF0LicsXG4gIFRBUkdFVF9JU19OT1RfWUFNTDogJ0dpdmVuIHRhcmdldCBmaWxlIGlzIG5vdCBpbiB5YW1sIGZvcm1hdC4nLFxuICBJTlZBTElEX1RBUkdFVDogJ1RhcmdldCBpcyBpbnZhbGlkLicsXG4gIElOVkFMSURfU09VUkNFOiAnU291cmNlIGlzIGludmFsaWQuJyxcbiAgVU5TVVBQT1JURURfRVJST1I6IChlcnJvck5hbWU6IHN0cmluZykgPT5cbiAgICBgVW5zdXBwb3J0ZWRFcnJvckNsYXNzOiBwbHVnaW4gdGhyZXcgZXJyb3IgY2xhc3M6ICR7ZXJyb3JOYW1lfSB0aGF0IGlzIG5vdCByZWNvZ25pemVkIGJ5IEltcGFjdCBGcmFtZXdvcmtgLFxuICAvKiogUGx1Z2luIG1lc3NhZ2VzICovXG4gIE1JU1NJTkdfR0xPQkFMX0NPTkZJRzogJ0dsb2JhbCBjb25maWcgaXMgbm90IHByb3ZpZGVkLicsXG4gIE1JU1NJTkdfSU5QVVRfREFUQTogKHBhcmFtOiBzdHJpbmcpID0+XG4gICAgYCR7cGFyYW19IGlzIG1pc3NpbmcgZnJvbSB0aGUgaW5wdXQgYXJyYXksIG9yIGhhcyBudWxsaXNoIHZhbHVlLmAsXG4gIE1BTklGRVNUX05PVF9GT1VORDogJ01hbmlmZXN0IGZpbGUgbm90IGZvdW5kLicsXG4gIElOSVRJQUxJWklOR19QQUNLQUdFX0pTT046ICdJbml0aWFsaXppbmcgcGFja2FnZS5qc29uLicsXG4gIElOU1RBTExJTkdfTlBNX1BBQ0tBR0VTOiAnSW5zdGFsbGluZyBucG0gcGFja2FnZXMuLi4nLFxuICBOT1RfTlVNRVJJQ19WQUxVRTogKHN0cjogYW55KSA9PiBgJHtzdHJ9IGlzIG5vdCBudW1iZXJpYy5gLFxuICBNSVNTSU5HX0ZVTkNUSU9OQUxfVU5JVF9DT05GSUc6XG4gICAgJ2BmdW5jdGlvbmFsLXVuaXRgIHNob3VsZCBiZSBwcm92aWRlZCBpbiB5b3VyIGdsb2JhbCBjb25maWcnLFxuICBNSVNTSU5HX0ZVTkNUSU9OQUxfVU5JVF9JTlBVVDpcbiAgICAnYGZ1bmN0aW9uYWwtdW5pdGAgdmFsdWUgaXMgbWlzc2luZyBmcm9tIGlucHV0IGRhdGEgb3IgaXQgaXMgbm90IGEgcG9zaXRpdmUgaW50ZWdlcicsXG4gIFJFR0VYX01JU01BVENIOiAoaW5wdXQ6IGFueSwgbWF0Y2g6IHN0cmluZykgPT5cbiAgICBgXFxgJHtpbnB1dH1cXGAgZG9lcyBub3QgbWF0Y2ggdGhlICR7bWF0Y2h9IHJlZ2V4IGV4cHJlc3Npb25gLFxuICBTQ0lfRU1CT0RJRURfRVJST1I6ICh1bml0OiBzdHJpbmcpID0+XG4gICAgYGludmFsaWQgbnVtYmVyLiBwbGVhc2UgcHJvdmlkZSBpdCBhcyBcXGAke3VuaXR9XFxgIHRvIGlucHV0YCxcbiAgTUlTU0lOR19NSU5fTUFYOiAnQ29uZmlnIGlzIG1pc3NpbmcgbWluIG9yIG1heCB2YWx1ZScsXG4gIElOVkFMSURfTUlOX01BWDogKG5hbWU6IHN0cmluZykgPT5cbiAgICBgTWluIHZhbHVlIHNob3VsZCBub3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIG1heCB2YWx1ZSBvZiAke25hbWV9YCxcbiAgRklMRV9GRVRDSF9GQUlMRUQ6IChcbiAgICBmaWxlcGF0aDogc3RyaW5nLFxuICAgIG1lc3NhZ2U6IHN0cmluZ1xuICApID0+IGBGYWlsZWQgZmV0Y2hpbmcgdGhlIGZpbGU6ICR7ZmlsZXBhdGh9LlxuJHttZXNzYWdlfWAsXG4gIEZJTEVfUkVBRF9GQUlMRUQ6IChcbiAgICBmaWxlcGF0aDogc3RyaW5nLFxuICAgIGVycm9yOiBzdHJpbmdcbiAgKSA9PiBgRmFpbGVkIHJlYWRpbmcgdGhlIGZpbGU6ICR7ZmlsZXBhdGh9LiBcbiR7ZXJyb3J9YCxcbiAgTUlTU0lOR19DU1ZfQ09MVU1OOiAoY29sdW1uTmFtZTogc3RyaW5nKSA9PlxuICAgIGBUaGVyZSBpcyBubyBjb2x1bW4gd2l0aCB0aGUgbmFtZTogJHtjb2x1bW5OYW1lfS5gLFxuICBOT19RVUVSWV9EQVRBOlxuICAgICdPbmUgb3IgbW9yZSBvZiB0aGUgZ2l2ZW4gcXVlcnkgcGFyYW1ldGVycyBhcmUgbm90IGZvdW5kIGluIHRoZSB0YXJnZXQgQ1NWIGZpbGUgY29sdW1uIGhlYWRlcnMuJyxcbiAgSU5WQUxJRF9EQVRFX1RZUEU6IChkYXRlOiBhbnkpID0+XG4gICAgYFVuZXhwZWN0ZWQgZGF0ZSBkYXRhdHlwZTogJHt0eXBlb2YgZGF0ZX06ICR7ZGF0ZX1gLFxuICBJTlZBTElEX09CU0VSVkFUSU9OX09WRVJMQVA6XG4gICAgJ09ic2VydmF0aW9uIHRpbWVzdGFtcHMgb3ZlcmxhcCwgcGxlYXNlIGNoZWNrIGlucHV0cy4nLFxuICBTQ0lfTUlTU0lOR19GTl9VTklUOiAoZnVuY3Rpb25hbFVuaXQ6IHN0cmluZykgPT5cbiAgICBgJ2NhcmJvbicgYW5kICR7ZnVuY3Rpb25hbFVuaXR9IHNob3VsZCBiZSBwcmVzZW50IGluIHlvdXIgaW5wdXQgZGF0YS5gLFxuICAvKiogRXhoYXVzdCBtZXNzYWdlcyAqL1xuICBPVVRQVVRfUkVRVUlSRUQ6XG4gICAgJ091dHB1dCBwYXRoIGlzIHJlcXVpcmVkLCBwbGVhc2UgbWFrZSBzdXJlIG91dHB1dCBpcyBjb25maWd1cmVkIHByb3Blcmx5LicsXG4gIENTVl9FWFBPUlQ6XG4gICAgJ0NTViBleHBvcnQgY3JpdGVyaWEgaXMgbm90IGZvdW5kIGluIG91dHB1dCBwYXRoLiBQbGVhc2UgYXBwZW5kIGl0IGFmdGVyIC0tb3V0cHV0IDxwYXRoPiMuJyxcbiAgV1JJVEVfQ1NWX0VSUk9SOiAob3V0cHV0UGF0aDogc3RyaW5nLCBlcnJvcjogYW55KSA9PlxuICAgIGBGYWlsZWQgdG8gd3JpdGUgQ1NWIGZpbGUgdG8gJHtvdXRwdXRQYXRofTogJHtlcnJvcn1gLFxuICBJTlZBTElEX05BTUU6XG4gICAgJ2BuYW1lYCBnbG9iYWwgY29uZmlnIHBhcmFtZXRlciBpcyBlbXB0eSBvciBjb250YWlucyBhbGwgc3BhY2VzJyxcbiAgU1RBUlRfTE9XRVJfRU5EOiAnYHN0YXJ0LXRpbWVgIHNob3VsZCBiZSBsb3dlciB0aGFuIGBlbmQtdGltZWAnLFxuICBUSU1FU1RBTVBfUkVRVUlSRUQ6IChpbmRleDogbnVtYmVyKSA9PiBgcmVxdWlyZWQgaW4gaW5wdXRbJHtpbmRleH1dYCxcbiAgSU5WQUxJRF9EQVRFVElNRTogKGluZGV4OiBudW1iZXIpID0+IGBpbnZhbGlkIGRhdGV0aW1lIGluIGlucHV0WyR7aW5kZXh9XWAsXG4gIFhfWV9FUVVBTDogJ1RoZSBsZW5ndGggb2YgYHhgIGFuZCBgeWAgc2hvdWxkIGJlIGVxdWFsJyxcbiAgQVJSQVlfTEVOR1RIX05PTl9FTVBUWTpcbiAgICAndGhlIGxlbmd0aCBvZiB0aGUgaW5wdXQgYXJyYXlzIG11c3QgYmUgZ3JlYXRlciB0aGFuIDEnLFxuICBXSVRISU5fVEhFX1JBTkdFOlxuICAgICdUaGUgdGFyZ2V0IHggdmFsdWUgbXVzdCBiZSB3aXRoaW4gdGhlIHJhbmdlIG9mIHRoZSBnaXZlbiB4IHZhbHVlcycsXG4gIC8qKiBEZWJ1Z2dpbmcgbG9ncyAqL1xuICBTVEFSVElOR19JRjogJ1N0YXJ0aW5nIElGJyxcbiAgRVhJVElOR19JRjogJ0V4aXRpbmcgSUYnLFxuICBMT0FESU5HX01BTklGRVNUOiAnTG9hZGluZyBtYW5pZmVzdCcsXG4gIFZBTElEQVRJTkdfTUFOSUZFU1Q6ICdWYWxpZGF0aW5nIG1hbmlmZXN0JyxcbiAgQ0FQVFVSSU5HX1JVTlRJTUVfRU5WSVJPTk1FTlRfREFUQTogJ0NhcHR1cmluZyBydW50aW1lIGVudmlyb25tZW50IGRhdGEnLFxuICBTWU5DSU5HX1BBUkFNRVRFUlM6ICdTeW5jaW5nIHBhcmFtZXRlcnMnLFxuICBDSEVDS0lOR19BR0dSRUdBVElPTl9NRVRIT0Q6ICh1bml0TmFtZTogc3RyaW5nKSA9PlxuICAgIGBDaGVja2luZyBhZ2dyZWdhdGlvbiBtZXRob2QgZm9yICR7dW5pdE5hbWV9YCxcbiAgSU5JVElBTElaSU5HX1BMVUdJTlM6ICdJbml0aWFsaXppbmcgcGx1Z2lucycsXG4gIElOSVRJQUxJWklOR19QTFVHSU46IChwbHVnaW5OYW1lOiBzdHJpbmcpID0+IGBJbml0aWFsaXppbmcgJHtwbHVnaW5OYW1lfWAsXG4gIExPQURJTkdfUExVR0lOX0ZST01fUEFUSDogKHBsdWdpbk5hbWU6IHN0cmluZywgcGF0aDogc3RyaW5nKSA9PlxuICAgIGBMb2FkaW5nICR7cGx1Z2luTmFtZX0gZnJvbSAke3BhdGh9YCxcbiAgQ09NUFVUSU5HX1BJUEVMSU5FX0ZPUl9OT0RFOiAobm9kZU5hbWU6IHN0cmluZykgPT5cbiAgICBgQ29tcHV0aW5nIHBpcGVsaW5lIGZvciBcXGAke25vZGVOYW1lfVxcYGAsXG4gIE1FUkdJTkdfREVGQVVMVFNfV0lUSF9JTlBVVF9EQVRBOiAnTWVyZ2luZyBkZWZhdWx0cyB3aXRoIGlucHV0IGRhdGEnLFxuICBBR0dSRUdBVElOR19PVVRQVVRTOiAnQWdncmVnYXRpbmcgb3V0cHV0cycsXG4gIEFHR1JFR0FUSU5HX05PREU6IChub2RlTmFtZTogc3RyaW5nKSA9PiBgQWdncmVnYXRpbmcgbm9kZSAke25vZGVOYW1lfWAsXG4gIFBSRVBBUklOR19PVVRQVVRfREFUQTogJ1ByZXBhcmluZyBvdXRwdXQgZGF0YScsXG4gIEVYUE9SVElOR19UT19ZQU1MX0ZJTEU6IChzYXZlcGF0aDogc3RyaW5nKSA9PlxuICAgIGBFeHBvcnRpbmcgdG8geWFtbCBmaWxlOiAke3NhdmVwYXRofWAsXG4gIEVYUE9SVElOR19UT19DU1ZfRklMRTogKHNhdmVwYXRoOiBzdHJpbmcpID0+XG4gICAgYEV4cG9ydGluZyB0byBjc3YgZmlsZTogJHtzYXZlcGF0aH1gLFxuICBFWFBPUlRJTkdfUkFXX0NTVl9GSUxFOiAoc2F2ZXBhdGg6IHN0cmluZykgPT5cbiAgICBgRXhwb3J0aW5nIHJhdyBjc3YgZmlsZTogJHtzYXZlcGF0aH1gLFxuICBDSEVDS0lORzogJ0NoZWNraW5nLi4uJyxcbiAgSUZfQ0hFQ0tfRkxBR1NfTUlTU0lORzpcbiAgICAnRWl0aGVyIHRoZSBgLS1tYW5pZmVzdGAgb3IgYC0tZGlyZWN0b3J5YCBjb21tYW5kIHNob3VsZCBiZSBwcm92aWRlZCB3aXRoIGEgcGF0aCcsXG4gIERJUkVDVE9SWV9OT1RfRk9VTkQ6ICdEaXJlY3Rvcnkgbm90IGZvdW5kLicsXG4gIERJUkVDVE9SWV9ZQU1MX0ZJTEVTX05PVF9GT1VORDpcbiAgICAnVGhlIGRpcmVjdG9yeSBkb2VzIG5vdCBjb250YWluIGFueSBZQU1ML1lNTCBmaWxlcy5cXG4nLFxuICBJRl9DSEVDS19FWEVDVVRJTkc6IChmaWxlbmFtZTogc3RyaW5nKSA9PiBgRXhlY3V0aW5nIFxcYCR7ZmlsZW5hbWV9XFxgYCxcbiAgSUZfQ0hFQ0tfVkVSSUZJQ0FUSU9OX0ZBSUxVUkVTOlxuICAgICctLS0tLS0tLS1cXG5pZi1jaGVjayB2ZXJpZmljYXRpb24gZmFpbHVyZXM6XFxuJyxcbiAgSUZfQ0hFQ0tfRkFJTEVEOiAoZmlsZW5hbWU6IHN0cmluZykgPT5cbiAgICBg4pyWIGlmLWNoZWNrIGNvdWxkIG5vdCB2ZXJpZnkgJHtmaWxlbmFtZX0uIFRoZSByZS1leGVjdXRlZCBmaWxlIGRvZXMgbm90IG1hdGNoIHRoZSBvcmlnaW5hbC5cXG5gLFxuICBJRl9DSEVDS19WRVJJRklFRDogKGZpbGVuYW1lOiBzdHJpbmcpID0+XG4gICAgYOKclCBpZi1jaGVjayBzdWNjZXNzZnVsbHkgdmVyaWZpZWQgJHtmaWxlbmFtZX1cXG5gLFxuICBJRl9DSEVDS19TVU1NQVJZX0VSUk9SX01FU1NBR0U6IChmaWxlbmFtZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpID0+XG4gICAgYEV4ZWN1dGluZyBcXGAke2ZpbGVuYW1lfVxcYFxcbuKcliAke21lc3NhZ2V9YCxcbiAgSUZfQ0hFQ0tfU1VNTUFSWV9MT0c6IChwYXNzZWRDb3VudDogbnVtYmVyLCB0b3RhbENvdW50OiBudW1iZXIpID0+XG4gICAgYC0tLS0tLS0tLVxcbkNoZWNrIHN1bW1hcnk6XFxuJHtwYXNzZWRDb3VudH0gb2YgJHt0b3RhbENvdW50fSBmaWxlcyBhcmUgcGFzc2VkLlxcbmAsXG4gIFpFUk9fRElWSVNJT046IChtb2R1bGVOYW1lOiBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+XG4gICAgYC0tIFNLSVBQSU5HIC0tIERpdmlzaW9uQnlaZXJvOiB5b3UgYXJlIGF0dGVtcHRpbmcgdG8gZGl2aWRlIGJ5IHplcm8gaW4gJHttb2R1bGVOYW1lfSBwbHVnaW4gOiBpbnB1dHNbJHtpbmRleH1dXFxuYCxcbn07XG4iXX0=
|
package/build/diff.js
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
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 validations_1 = require("./util/validations");
|
|
10
|
-
const logger_1 = require("./util/logger");
|
|
11
|
-
const debug_logger_1 = require("./util/debug-logger");
|
|
12
|
-
const config_1 = require("./config");
|
|
13
|
-
const { IF_DIFF } = config_1.CONFIG;
|
|
14
|
-
const { SUCCESS_MESSAGE, FAILURE_MESSAGE } = IF_DIFF;
|
|
15
|
-
const IfDiff = async () => {
|
|
16
|
-
const pipedSourceManifest = await (0, helpers_1.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlmZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kaWZmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLG9DQUFvQztBQUNwQyxxQ0FBMkM7QUFDM0MsMkNBQXNDO0FBRXRDLHNDQUE0QztBQUM1Qyw0Q0FBNEU7QUFDNUUsb0RBQW9EO0FBRXBELDBDQUFxQztBQUNyQyxzREFBZ0Q7QUFFaEQscUNBQWdDO0FBRWhDLE1BQU0sRUFBQyxPQUFPLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFDekIsTUFBTSxFQUFDLGVBQWUsRUFBRSxlQUFlLEVBQUMsR0FBRyxPQUFPLENBQUM7QUFFbkQsTUFBTSxNQUFNLEdBQUcsS0FBSyxJQUFJLEVBQUU7SUFDeEIsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLElBQUEsZ0NBQXNCLEdBQUUsQ0FBQztJQUMzRCxNQUFNLEVBQUMsVUFBVSxFQUFFLFVBQVUsRUFBQyxHQUFHLElBQUEsc0JBQWUsR0FBRSxDQUFDO0lBRW5ELHlFQUF5RTtJQUN6RSwwQkFBVyxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTFDLE1BQU0sRUFBQyxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBQyxHQUFHLE1BQU0sSUFBQSxzQkFBZSxFQUFDO1FBQ25FLFVBQVU7UUFDVixVQUFVO1FBQ1YsbUJBQW1CO0tBQ3BCLENBQUMsQ0FBQztJQUNILE1BQU0sQ0FBQyxjQUFjLEVBQUUsY0FBYyxDQUFDLEdBQUc7UUFDdkMsaUJBQWlCO1FBQ2pCLGlCQUFpQjtLQUNsQixDQUFDLEdBQUcsQ0FBQyw4QkFBZ0IsQ0FBQyxDQUFDO0lBQ3hCLE1BQU0sTUFBTSxHQUFHLElBQUEsaUJBQU8sRUFBQyxjQUFjLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFFdkQsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRTtRQUM5QixJQUFBLDhCQUFvQixFQUFDO1lBQ25CLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLEdBQUcsTUFBTTtTQUNWLENBQUMsQ0FBQztRQUVILE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDakI7SUFFRCxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzdCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO0lBQ3JCLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRTtRQUMxQixlQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDakI7QUFDSCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcbi8qIGVzbGludC1kaXNhYmxlIG5vLXByb2Nlc3MtZXhpdCAqL1xuaW1wb3J0IHtsb2FkSWZEaWZmRmlsZXN9IGZyb20gJy4vbGliL2xvYWQnO1xuaW1wb3J0IHtjb21wYXJlfSBmcm9tICcuL2xpYi9jb21wYXJlJztcblxuaW1wb3J0IHtwYXJzZUlmRGlmZkFyZ3N9IGZyb20gJy4vdXRpbC9hcmdzJztcbmltcG9ydCB7Zm9ybWF0Tm90TWF0Y2hpbmdMb2csIHBhcnNlTWFuaWZlc3RGcm9tU3RkaW59IGZyb20gJy4vdXRpbC9oZWxwZXJzJztcbmltcG9ydCB7dmFsaWRhdGVNYW5pZmVzdH0gZnJvbSAnLi91dGlsL3ZhbGlkYXRpb25zJztcblxuaW1wb3J0IHtsb2dnZXJ9IGZyb20gJy4vdXRpbC9sb2dnZXInO1xuaW1wb3J0IHtkZWJ1Z0xvZ2dlcn0gZnJvbSAnLi91dGlsL2RlYnVnLWxvZ2dlcic7XG5cbmltcG9ydCB7Q09ORklHfSBmcm9tICcuL2NvbmZpZyc7XG5cbmNvbnN0IHtJRl9ESUZGfSA9IENPTkZJRztcbmNvbnN0IHtTVUNDRVNTX01FU1NBR0UsIEZBSUxVUkVfTUVTU0FHRX0gPSBJRl9ESUZGO1xuXG5jb25zdCBJZkRpZmYgPSBhc3luYyAoKSA9PiB7XG4gIGNvbnN0IHBpcGVkU291cmNlTWFuaWZlc3QgPSBhd2FpdCBwYXJzZU1hbmlmZXN0RnJvbVN0ZGluKCk7XG4gIGNvbnN0IHtzb3VyY2VQYXRoLCB0YXJnZXRQYXRofSA9IHBhcnNlSWZEaWZmQXJncygpO1xuXG4gIC8vIENhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIGZhbHNlIHBhcmFtZXRlciB0byBwcmV2ZW50IGxvZyBkZWJ1ZyBtZXNzYWdlcy5cbiAgZGVidWdMb2dnZXIub3ZlcnJpZGVDb25zb2xlTWV0aG9kcyhmYWxzZSk7XG5cbiAgY29uc3Qge3Jhd1NvdXJjZU1hbmlmZXN0LCByYXdUYXJnZXRNYW5pZmVzdH0gPSBhd2FpdCBsb2FkSWZEaWZmRmlsZXMoe1xuICAgIHRhcmdldFBhdGgsXG4gICAgc291cmNlUGF0aCxcbiAgICBwaXBlZFNvdXJjZU1hbmlmZXN0LFxuICB9KTtcbiAgY29uc3QgW3NvdXJjZU1hbmlmZXN0LCB0YXJnZXRNYW5pZmVzdF0gPSBbXG4gICAgcmF3U291cmNlTWFuaWZlc3QsXG4gICAgcmF3VGFyZ2V0TWFuaWZlc3QsXG4gIF0ubWFwKHZhbGlkYXRlTWFuaWZlc3QpO1xuICBjb25zdCByZXN1bHQgPSBjb21wYXJlKHNvdXJjZU1hbmlmZXN0LCB0YXJnZXRNYW5pZmVzdCk7XG5cbiAgaWYgKE9iamVjdC5rZXlzKHJlc3VsdCkubGVuZ3RoKSB7XG4gICAgZm9ybWF0Tm90TWF0Y2hpbmdMb2coe1xuICAgICAgbWVzc2FnZTogRkFJTFVSRV9NRVNTQUdFLFxuICAgICAgLi4ucmVzdWx0LFxuICAgIH0pO1xuXG4gICAgcHJvY2Vzcy5leGl0KDEpO1xuICB9XG5cbiAgY29uc29sZS5sb2coU1VDQ0VTU19NRVNTQUdFKTtcbiAgcHJvY2Vzcy5leGl0KDApO1xufTtcblxuSWZEaWZmKCkuY2F0Y2goZXJyb3IgPT4ge1xuICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgIGxvZ2dlci5lcnJvcihlcnJvcik7XG4gICAgcHJvY2Vzcy5leGl0KDIpO1xuICB9XG59KTtcbiJdfQ==
|
package/build/env.js
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
/* eslint-disable no-process-exit */
|
|
5
|
-
const args_1 = require("./util/args");
|
|
6
|
-
const logger_1 = require("./util/logger");
|
|
7
|
-
const config_1 = require("./config");
|
|
8
|
-
const helpers_1 = require("./util/helpers");
|
|
9
|
-
const { IF_ENV } = config_1.CONFIG;
|
|
10
|
-
const { SUCCESS_MESSAGE } = IF_ENV;
|
|
11
|
-
const IfEnv = async () => {
|
|
12
|
-
const commandArgs = await (0, args_1.parseIfEnvArgs)();
|
|
13
|
-
const options = {
|
|
14
|
-
folderPath: process.env.CURRENT_DIR || process.cwd(),
|
|
15
|
-
install: !!commandArgs.install,
|
|
16
|
-
dependencies: {},
|
|
17
|
-
cwd: !!commandArgs.cwd,
|
|
18
|
-
};
|
|
19
|
-
if (commandArgs && commandArgs.manifest) {
|
|
20
|
-
const { folderPath, install, dependencies } = await (0, helpers_1.getOptionsFromArgs)(commandArgs);
|
|
21
|
-
options.folderPath = commandArgs.cwd ? options.folderPath : folderPath;
|
|
22
|
-
options.install = !!install;
|
|
23
|
-
options.dependencies = { ...dependencies };
|
|
24
|
-
}
|
|
25
|
-
await (0, helpers_1.initializeAndInstallLibs)(options);
|
|
26
|
-
if (!commandArgs || !commandArgs.manifest) {
|
|
27
|
-
await (0, helpers_1.addTemplateManifest)(options.folderPath);
|
|
28
|
-
}
|
|
29
|
-
console.log(SUCCESS_MESSAGE);
|
|
30
|
-
process.exit(0);
|
|
31
|
-
};
|
|
32
|
-
IfEnv().catch(error => {
|
|
33
|
-
if (error instanceof Error) {
|
|
34
|
-
logger_1.logger.error(error);
|
|
35
|
-
process.exit(2);
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Vudi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxvQ0FBb0M7QUFDcEMsc0NBQTJDO0FBQzNDLDBDQUFxQztBQUVyQyxxQ0FBZ0M7QUFHaEMsNENBSXdCO0FBRXhCLE1BQU0sRUFBQyxNQUFNLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFDeEIsTUFBTSxFQUFDLGVBQWUsRUFBQyxHQUFHLE1BQU0sQ0FBQztBQUVqQyxNQUFNLEtBQUssR0FBRyxLQUFLLElBQUksRUFBRTtJQUN2QixNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUEscUJBQWMsR0FBRSxDQUFDO0lBQzNDLE1BQU0sT0FBTyxHQUF1QjtRQUNsQyxVQUFVLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtRQUNwRCxPQUFPLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPO1FBQzlCLFlBQVksRUFBRSxFQUFFO1FBQ2hCLEdBQUcsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUc7S0FDdkIsQ0FBQztJQUVGLElBQUksV0FBVyxJQUFJLFdBQVcsQ0FBQyxRQUFRLEVBQUU7UUFDdkMsTUFBTSxFQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFDLEdBQ3ZDLE1BQU0sSUFBQSw0QkFBa0IsRUFBQyxXQUFXLENBQUMsQ0FBQztRQUN4QyxPQUFPLENBQUMsVUFBVSxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztRQUN2RSxPQUFPLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDNUIsT0FBTyxDQUFDLFlBQVksR0FBRyxFQUFDLEdBQUcsWUFBWSxFQUFDLENBQUM7S0FDMUM7SUFFRCxNQUFNLElBQUEsa0NBQXdCLEVBQUMsT0FBTyxDQUFDLENBQUM7SUFFeEMsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUU7UUFDekMsTUFBTSxJQUFBLDZCQUFtQixFQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQUMvQztJQUVELE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDN0IsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDLENBQUM7QUFFRixLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7SUFDcEIsSUFBSSxLQUFLLFlBQVksS0FBSyxFQUFFO1FBQzFCLGVBQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNqQjtBQUNILENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuLyogZXNsaW50LWRpc2FibGUgbm8tcHJvY2Vzcy1leGl0ICovXG5pbXBvcnQge3BhcnNlSWZFbnZBcmdzfSBmcm9tICcuL3V0aWwvYXJncyc7XG5pbXBvcnQge2xvZ2dlcn0gZnJvbSAnLi91dGlsL2xvZ2dlcic7XG5cbmltcG9ydCB7Q09ORklHfSBmcm9tICcuL2NvbmZpZyc7XG5cbmltcG9ydCB7RW52aXJvbm1lbnRPcHRpb25zfSBmcm9tICcuL3R5cGVzL2lmLWVudic7XG5pbXBvcnQge1xuICBhZGRUZW1wbGF0ZU1hbmlmZXN0LFxuICBnZXRPcHRpb25zRnJvbUFyZ3MsXG4gIGluaXRpYWxpemVBbmRJbnN0YWxsTGlicyxcbn0gZnJvbSAnLi91dGlsL2hlbHBlcnMnO1xuXG5jb25zdCB7SUZfRU5WfSA9IENPTkZJRztcbmNvbnN0IHtTVUNDRVNTX01FU1NBR0V9ID0gSUZfRU5WO1xuXG5jb25zdCBJZkVudiA9IGFzeW5jICgpID0+IHtcbiAgY29uc3QgY29tbWFuZEFyZ3MgPSBhd2FpdCBwYXJzZUlmRW52QXJncygpO1xuICBjb25zdCBvcHRpb25zOiBFbnZpcm9ubWVudE9wdGlvbnMgPSB7XG4gICAgZm9sZGVyUGF0aDogcHJvY2Vzcy5lbnYuQ1VSUkVOVF9ESVIgfHwgcHJvY2Vzcy5jd2QoKSxcbiAgICBpbnN0YWxsOiAhIWNvbW1hbmRBcmdzLmluc3RhbGwsXG4gICAgZGVwZW5kZW5jaWVzOiB7fSxcbiAgICBjd2Q6ICEhY29tbWFuZEFyZ3MuY3dkLFxuICB9O1xuXG4gIGlmIChjb21tYW5kQXJncyAmJiBjb21tYW5kQXJncy5tYW5pZmVzdCkge1xuICAgIGNvbnN0IHtmb2xkZXJQYXRoLCBpbnN0YWxsLCBkZXBlbmRlbmNpZXN9ID1cbiAgICAgIGF3YWl0IGdldE9wdGlvbnNGcm9tQXJncyhjb21tYW5kQXJncyk7XG4gICAgb3B0aW9ucy5mb2xkZXJQYXRoID0gY29tbWFuZEFyZ3MuY3dkID8gb3B0aW9ucy5mb2xkZXJQYXRoIDogZm9sZGVyUGF0aDtcbiAgICBvcHRpb25zLmluc3RhbGwgPSAhIWluc3RhbGw7XG4gICAgb3B0aW9ucy5kZXBlbmRlbmNpZXMgPSB7Li4uZGVwZW5kZW5jaWVzfTtcbiAgfVxuXG4gIGF3YWl0IGluaXRpYWxpemVBbmRJbnN0YWxsTGlicyhvcHRpb25zKTtcblxuICBpZiAoIWNvbW1hbmRBcmdzIHx8ICFjb21tYW5kQXJncy5tYW5pZmVzdCkge1xuICAgIGF3YWl0IGFkZFRlbXBsYXRlTWFuaWZlc3Qob3B0aW9ucy5mb2xkZXJQYXRoKTtcbiAgfVxuXG4gIGNvbnNvbGUubG9nKFNVQ0NFU1NfTUVTU0FHRSk7XG4gIHByb2Nlc3MuZXhpdCgwKTtcbn07XG5cbklmRW52KCkuY2F0Y2goZXJyb3IgPT4ge1xuICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgIGxvZ2dlci5lcnJvcihlcnJvcik7XG4gICAgcHJvY2Vzcy5leGl0KDIpO1xuICB9XG59KTtcbiJdfQ==
|