@grnsft/if 0.5.0-beta.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 -50
- 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/{plugins → examples/builtins}/coefficient/failure-invalid-config-input-param.yml +2 -2
- package/manifests/{plugins → examples/builtins}/coefficient/failure-output-param-is-null.yaml +3 -3
- package/manifests/{plugins → examples/builtins}/coefficient/success.yml +2 -2
- package/manifests/{plugins → examples/builtins}/csv-lookup/cloud-metadata/failure-invalid-instance-type.yaml +3 -3
- package/manifests/{plugins → examples/builtins}/csv-lookup/cloud-metadata/failure-invalid-vendor.yaml +3 -3
- package/manifests/{plugins → examples/builtins}/csv-lookup/cloud-metadata/failure-missing-cloud-vendor.yml +3 -3
- package/manifests/{plugins → examples/builtins}/csv-lookup/cloud-metadata/success.yml +3 -3
- package/manifests/{plugins → examples/builtins}/csv-lookup/region-metadata/failure-missing-column.yml +3 -4
- package/manifests/{plugins → examples/builtins}/csv-lookup/region-metadata/failure-missing-output.yml +3 -4
- package/manifests/{plugins → examples/builtins}/csv-lookup/region-metadata/success-renaming.yml +4 -5
- package/manifests/{plugins → examples/builtins}/csv-lookup/region-metadata/success.yml +3 -4
- package/manifests/{plugins → examples/builtins}/csv-lookup/tdp-finder/failure-missing-input-param.yml +2 -2
- package/manifests/{plugins → examples/builtins}/csv-lookup/tdp-finder/failure-unsupported-physical-processor.yml +2 -2
- package/manifests/{plugins → examples/builtins}/csv-lookup/tdp-finder/success.yml +2 -2
- package/manifests/{plugins → examples/builtins}/divide/failure-denominator-equal-zero.yml +4 -4
- package/manifests/{plugins → examples/builtins}/divide/failure-invalid-config-denominator.yml +5 -5
- package/manifests/{plugins → examples/builtins}/divide/failure-missing-numerator.yml +4 -4
- package/manifests/{plugins → examples/builtins}/divide/success.yml +4 -6
- package/manifests/{plugins → examples/builtins}/exponent/success.yml +5 -8
- package/manifests/{plugins → examples/builtins}/interpolation/interpolation.yml +2 -2
- package/manifests/{plugins → examples/builtins}/interpolation/success.yml +2 -2
- package/manifests/{plugins → examples/builtins}/mock-observations/failure-invalid-config-cpu-range.yml +2 -2
- package/manifests/{plugins → examples/builtins}/mock-observations/failure-invalid-memory-utilization-range.yml +2 -2
- package/manifests/{plugins → examples/builtins}/mock-observations/failure-missing-timestamp-from-param.yml +2 -2
- package/manifests/{plugins → examples/builtins}/mock-observations/success.yml +2 -2
- package/manifests/{plugins → examples/builtins}/multiply/failure-input-parameter-is-missing.yml +2 -4
- package/manifests/{plugins → examples/builtins}/multiply/success-with-multiple-inputs.yml +2 -4
- package/manifests/{plugins → examples/builtins}/multiply/success.yml +3 -4
- package/manifests/{plugins → examples/builtins}/regex/failure-missing-input-param.yml +2 -4
- package/manifests/{plugins → examples/builtins}/regex/failure-not-matching-with-regex.yml +2 -4
- package/manifests/{plugins → examples/builtins}/regex/success.yml +2 -4
- package/manifests/{plugins → examples/builtins}/sci/failure-invalid-config-value.yml +2 -2
- package/manifests/{plugins → examples/builtins}/sci/failure-missing-input-param.yml +3 -2
- package/manifests/{plugins → examples/builtins}/sci/success.yml +2 -3
- package/manifests/{plugins → examples/builtins}/sci-embodied/failure-invalid-default-emission-value.yml +3 -3
- package/manifests/{plugins → examples/builtins}/sci-embodied/failure-missing-expected-lifespan.yml +2 -2
- package/manifests/{plugins → examples/builtins}/sci-embodied/success.yml +2 -2
- package/manifests/{plugins → examples/builtins}/shell/failure-invalid-command.yml +2 -2
- package/manifests/{plugins → examples/builtins}/shell/success.yml +2 -1
- package/manifests/{plugins → examples/builtins}/subtract/success.yml +6 -9
- package/manifests/{plugins → examples/builtins}/sum/failure-missing-input-param.yml +2 -4
- package/manifests/{plugins → examples/builtins}/sum/failure-missing-output-param.yml +3 -5
- package/manifests/{plugins → examples/builtins}/sum/success.yml +2 -4
- package/manifests/{plugins → examples/builtins}/time-sync/failure-config-start-later-end.yml +3 -3
- package/manifests/{plugins → examples/builtins}/time-sync/failure-missing-global-config.yml +3 -3
- package/manifests/{plugins → examples/builtins}/time-sync/success.yml +2 -2
- package/manifests/{plugins/groupby/failure-invalid-config-group.yml → examples/features/regroup/failure-invalid-regroup.yml} +4 -11
- package/manifests/{plugins/groupby → examples/features/regroup}/failure-missing-cloud-instance-type.yml +5 -12
- package/manifests/{plugins/groupby → examples/features/regroup}/success.yml +4 -11
- package/manifests/examples/{generics.yml → pipelines/generics.yml} +12 -12
- package/manifests/examples/{instance-metadata.yml → pipelines/instance-metadata.yml} +6 -7
- package/manifests/examples/{nesting.yml → 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/{pipeline-teads-sci.yml → pipelines/pipeline-teads-sci.yml} +11 -11
- package/manifests/examples/{pipeline-with-aggregate.yml → pipelines/pipeline-with-aggregate.yml} +113 -36
- package/manifests/examples/pipelines/pipeline-with-mocks.yml +297 -0
- package/manifests/{bugs/mock-observations-failure-duration-is-zero.yml → examples/pipelines/scenario-1.yml} +7 -7
- 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/{sci.yml → pipelines/sci.yml} +15 -17
- package/manifests/examples/{teads-curve.yml → pipelines/teads-curve.yml} +7 -6
- package/manifests/examples/{zeros.yaml → pipelines/zeros.yml} +15 -16
- package/manifests/outputs/bugs/aggregation-error-wrong-metric.yaml +235 -0
- package/manifests/outputs/bugs/input-error-missing-duration.yaml +82 -0
- package/manifests/outputs/bugs/mock-observations-failure-duration-is-zero.yaml +79 -0
- package/manifests/outputs/bugs/pipeline-error-naming-mismatch.yaml +89 -0
- package/manifests/outputs/bugs/pipeline-error-uninitialized-plugin.yaml +90 -0
- package/manifests/outputs/bugs/pipeline-ordering-error.yaml +152 -0
- package/manifests/outputs/bugs/sci-embodied-missing-resources-total.yaml +72 -0
- package/manifests/outputs/builtins/coefficient/failure-invalid-config-input-param.yaml +69 -0
- package/manifests/outputs/builtins/coefficient/failure-output-param-is-null.yaml +69 -0
- package/manifests/outputs/builtins/coefficient/success.yaml +70 -0
- package/manifests/outputs/builtins/csv-lookup/cloud-metadata/failure-invalid-instance-type.yaml +76 -0
- package/manifests/outputs/builtins/csv-lookup/cloud-metadata/failure-missing-cloud-vendor.yaml +74 -0
- package/manifests/outputs/builtins/csv-lookup/cloud-metadata/success.yaml +79 -0
- package/manifests/outputs/builtins/csv-lookup/region-metadata/failure-missing-column.yaml +75 -0
- package/manifests/outputs/builtins/csv-lookup/region-metadata/failure-missing-output.yaml +73 -0
- package/manifests/outputs/builtins/csv-lookup/region-metadata/success-renaming.yaml +78 -0
- package/manifests/outputs/builtins/csv-lookup/region-metadata/success.yaml +90 -0
- package/manifests/outputs/builtins/csv-lookup/tdp-finder/failure-missing-input-param.yaml +71 -0
- package/manifests/outputs/builtins/csv-lookup/tdp-finder/failure-unsupported-physical-processor.yaml +73 -0
- package/manifests/outputs/builtins/csv-lookup/tdp-finder/success.yaml +74 -0
- package/manifests/outputs/builtins/divide/failure-invalid-config-denominator.yaml +69 -0
- package/manifests/outputs/builtins/divide/failure-missing-numerator.yaml +75 -0
- package/manifests/outputs/builtins/divide/success-denominator-equal-zero.yaml +91 -0
- package/manifests/outputs/builtins/divide/success.yaml +91 -0
- package/manifests/outputs/builtins/exponent/success.yaml +73 -0
- package/manifests/outputs/builtins/interpolation/interpolation.yaml +81 -0
- package/manifests/outputs/builtins/interpolation/success.yaml +81 -0
- package/manifests/outputs/builtins/mock-observations/failure-invalid-config-cpu-range.yaml +84 -0
- package/manifests/outputs/builtins/mock-observations/failure-invalid-memory-utilization-range.yaml +82 -0
- package/manifests/outputs/builtins/mock-observations/failure-missing-timestamp-from-param.yaml +81 -0
- package/manifests/outputs/builtins/mock-observations/success.yaml +358 -0
- package/manifests/outputs/builtins/multiply/failure-input-parameter-is-missing.yaml +71 -0
- package/manifests/outputs/builtins/multiply/success-with-multiple-inputs.yaml +92 -0
- package/manifests/outputs/builtins/multiply/success.yaml +74 -0
- package/manifests/outputs/builtins/regex/failure-missing-input-param.yaml +71 -0
- package/manifests/outputs/builtins/regex/success.yaml +76 -0
- package/manifests/outputs/builtins/sci/failure-invalid-config-value.yaml +70 -0
- package/manifests/outputs/builtins/sci/failure-missing-input-param.yaml +70 -0
- package/manifests/outputs/builtins/sci/success.yaml +77 -0
- package/manifests/outputs/builtins/sci-embodied/failure-invalid-default-emission-value.yaml +73 -0
- package/manifests/outputs/builtins/sci-embodied/failure-missing-expected-lifespan.yaml +69 -0
- package/manifests/outputs/builtins/sci-embodied/success.yaml +76 -0
- package/manifests/outputs/builtins/shell/failure-invalid-command.yaml +68 -0
- package/manifests/outputs/builtins/shell/success.yaml +66 -0
- package/manifests/outputs/builtins/subtract/success.yaml +74 -0
- package/manifests/outputs/builtins/sum/failure-missing-input-param.yaml +71 -0
- package/manifests/outputs/builtins/sum/failure-missing-output-param.yaml +74 -0
- package/manifests/outputs/builtins/sum/success.yaml +74 -0
- package/manifests/outputs/builtins/time-sync/failure-config-start-later-end.yaml +79 -0
- package/manifests/outputs/builtins/time-sync/success.yaml +122 -0
- package/manifests/outputs/features/aggregate-failure-invalid-metrics.yaml +100 -0
- package/manifests/outputs/features/aggregate-failure-missing-metric-in-inputs.yaml +99 -0
- package/manifests/outputs/features/aggregate-horizontal.yaml +132 -0
- package/manifests/outputs/features/aggregate-vertical.yaml +155 -0
- package/manifests/outputs/features/aggregate.yaml +159 -0
- package/manifests/outputs/features/failure-invalid-regroup.yaml +87 -0
- package/manifests/outputs/features/failure-missing-cloud-instance-type.yaml +86 -0
- package/manifests/outputs/pipelines/cloud-metadata-divide.yaml +91 -0
- 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 +449 -0
- 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 -85
- 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 -101
- 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 -117
- package/build/util/fs.js +0 -94
- package/build/util/helpers.d.ts +0 -57
- package/build/util/helpers.js +0 -250
- 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/bugs/aggregation-error-wrong-metric.yml +0 -178
- package/manifests/bugs/azure-importer-ignoring-defaults.yml +0 -64
- package/manifests/bugs/azure-importer-incorrect-calculation.yml +0 -59
- package/manifests/bugs/initialize-error-no-config.yml +0 -26
- package/manifests/bugs/initialize-error-no-path.yml +0 -32
- package/manifests/bugs/initialize-error-no-plugins.yml +0 -23
- package/manifests/bugs/input-error-missing-duration.yml +0 -25
- package/manifests/bugs/pipeline-error-naming-mismatch.yml +0 -32
- package/manifests/bugs/pipeline-error-uninitialized-plugin.yml +0 -33
- package/manifests/bugs/pipeline-ordering-error.yml +0 -91
- package/manifests/bugs/sci-embodied-missing-resources-total.yml +0 -23
- package/manifests/examples/copy.yaml +0 -20
- package/manifests/examples/mock-cpu-util-to-carbon.yml +0 -76
- package/manifests/examples/pipeline-with-mocks.yml +0 -207
- package/manifests/examples/region-metadata.yml +0 -26
- package/manifests/examples/tdp-finder.yml +0 -23
- package/manifests/features/aggregate-failure-invalid-metrics.yml +0 -49
- package/manifests/features/aggregate-failure-missing-metric-in-inputs.yml +0 -49
- package/manifests/features/aggregate-horizontal.yml +0 -50
- package/manifests/features/aggregate-vertical.yml +0 -50
- package/manifests/features/aggregate.yml +0 -50
- package/manifests/integrations/cloud-metadata-divide.yml +0 -37
- package/manifests/integrations/instance-metadata/failure-invalid-instance-type.yaml +0 -33
- package/manifests/integrations/instance-metadata/failure-invalid-provider.yaml +0 -33
- package/manifests/integrations/instance-metadata/failure-missing-queried-input.yml +0 -33
- package/manifests/integrations/instance-metadata/success.yml +0 -33
- package/manifests/integrations/mock-obs-group-by-cloud-meta.yml +0 -57
- package/manifests/integrations/mock-obs-groupby.yml +0 -39
- package/manifests/integrations/mock-obs-time-sync.yml +0 -110
- 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
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.debugLogger = void 0;
|
|
4
|
-
const strings_1 = require("../config/strings");
|
|
5
|
-
const logMessagesKeys = [
|
|
6
|
-
'STARTING_IF',
|
|
7
|
-
'EXITING_IF',
|
|
8
|
-
'LOADING_MANIFEST',
|
|
9
|
-
'VALIDATING_MANIFEST',
|
|
10
|
-
'CAPTURING_RUNTIME_ENVIRONMENT_DATA',
|
|
11
|
-
'SYNCING_PARAMETERS',
|
|
12
|
-
'CHECKING_AGGREGATION_METHOD',
|
|
13
|
-
'INITIALIZING_PLUGINS',
|
|
14
|
-
'INITIALIZING_PLUGIN',
|
|
15
|
-
'LOADING_PLUGIN_FROM_PATH',
|
|
16
|
-
'COMPUTING_PIPELINE_FOR_NODE',
|
|
17
|
-
'MERGING_DEFAULTS_WITH_INPUT_DATA',
|
|
18
|
-
'AGGREGATING_OUTPUTS',
|
|
19
|
-
'AGGREGATING_NODE',
|
|
20
|
-
'PREPARING_OUTPUT_DATA',
|
|
21
|
-
'EXPORTING_TO_YAML_FILE',
|
|
22
|
-
'EXPORTING_TO_CSV_FILE',
|
|
23
|
-
'EXPORTING_RAW_CSV_FILE',
|
|
24
|
-
];
|
|
25
|
-
var LogLevel;
|
|
26
|
-
(function (LogLevel) {
|
|
27
|
-
LogLevel["Info"] = "INFO";
|
|
28
|
-
LogLevel["Warn"] = "WARN";
|
|
29
|
-
LogLevel["Error"] = "ERROR";
|
|
30
|
-
LogLevel["Debug"] = "DEBUG";
|
|
31
|
-
})(LogLevel || (LogLevel = {}));
|
|
32
|
-
const originalConsole = {
|
|
33
|
-
log: console.log,
|
|
34
|
-
info: console.info,
|
|
35
|
-
warn: console.warn,
|
|
36
|
-
error: console.error,
|
|
37
|
-
debug: console.debug,
|
|
38
|
-
};
|
|
39
|
-
/**
|
|
40
|
-
* Overrides console methods with custom debug logging.
|
|
41
|
-
*/
|
|
42
|
-
const overrideConsoleMethods = (debugMode) => {
|
|
43
|
-
console.log = (...args) => debugLog(LogLevel.Info, args, debugMode);
|
|
44
|
-
console.info = (...args) => debugLog(LogLevel.Info, args, debugMode);
|
|
45
|
-
console.warn = (...args) => debugLog(LogLevel.Warn, args, debugMode);
|
|
46
|
-
console.error = (...args) => debugLog(LogLevel.Error, args, debugMode);
|
|
47
|
-
console.debug = (...args) => debugLog(LogLevel.Debug, args, debugMode);
|
|
48
|
-
};
|
|
49
|
-
/**
|
|
50
|
-
* Creates an encapsulated object to retrieve the plugin name.
|
|
51
|
-
*/
|
|
52
|
-
const pluginNameManager = (() => {
|
|
53
|
-
let pluginName = '';
|
|
54
|
-
const manager = {
|
|
55
|
-
get currentPluginName() {
|
|
56
|
-
return pluginName;
|
|
57
|
-
},
|
|
58
|
-
set currentPluginName(value) {
|
|
59
|
-
pluginName = value;
|
|
60
|
-
},
|
|
61
|
-
};
|
|
62
|
-
return manager;
|
|
63
|
-
})();
|
|
64
|
-
/**
|
|
65
|
-
* Sets the name of the currently executing plugin.
|
|
66
|
-
*/
|
|
67
|
-
const setExecutingPluginName = (pluginName) => {
|
|
68
|
-
pluginNameManager.currentPluginName = pluginName;
|
|
69
|
-
};
|
|
70
|
-
/**
|
|
71
|
-
* Logs messages with the specified log level and format.
|
|
72
|
-
*/
|
|
73
|
-
const debugLog = (level, args, debugMode) => {
|
|
74
|
-
if (!debugMode) {
|
|
75
|
-
if (level === LogLevel.Debug) {
|
|
76
|
-
return;
|
|
77
|
-
}
|
|
78
|
-
const isDebugLog = logMessagesKeys.some(key => {
|
|
79
|
-
const message = typeof strings_1.STRINGS[key] === 'function'
|
|
80
|
-
? strings_1.STRINGS[key].call(null, '')
|
|
81
|
-
: strings_1.STRINGS[key];
|
|
82
|
-
return args[0].includes(message);
|
|
83
|
-
});
|
|
84
|
-
if (!isDebugLog) {
|
|
85
|
-
originalConsole.log(...args);
|
|
86
|
-
}
|
|
87
|
-
return;
|
|
88
|
-
}
|
|
89
|
-
if (args[0].includes('# start')) {
|
|
90
|
-
originalConsole.log(...args);
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
const date = new Date().toISOString();
|
|
94
|
-
const plugin = pluginNameManager.currentPluginName;
|
|
95
|
-
const formattedMessage = `${level}: ${date}: ${plugin ? plugin + ': ' : ''}${args.join(', ')}`;
|
|
96
|
-
if (debugMode) {
|
|
97
|
-
switch (level) {
|
|
98
|
-
case LogLevel.Info:
|
|
99
|
-
originalConsole.info(formattedMessage);
|
|
100
|
-
break;
|
|
101
|
-
case LogLevel.Warn:
|
|
102
|
-
originalConsole.warn(formattedMessage);
|
|
103
|
-
break;
|
|
104
|
-
case LogLevel.Error:
|
|
105
|
-
originalConsole.error(formattedMessage);
|
|
106
|
-
break;
|
|
107
|
-
case LogLevel.Debug:
|
|
108
|
-
originalConsole.debug(formattedMessage);
|
|
109
|
-
break;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
};
|
|
113
|
-
exports.debugLogger = {
|
|
114
|
-
overrideConsoleMethods,
|
|
115
|
-
setExecutingPluginName,
|
|
116
|
-
};
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWctbG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWwvZGVidWctbG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtDQUEwQztBQUUxQyxNQUFNLGVBQWUsR0FBNkI7SUFDaEQsYUFBYTtJQUNiLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIscUJBQXFCO0lBQ3JCLG9DQUFvQztJQUNwQyxvQkFBb0I7SUFDcEIsNkJBQTZCO0lBQzdCLHNCQUFzQjtJQUN0QixxQkFBcUI7SUFDckIsMEJBQTBCO0lBQzFCLDZCQUE2QjtJQUM3QixrQ0FBa0M7SUFDbEMscUJBQXFCO0lBQ3JCLGtCQUFrQjtJQUNsQix1QkFBdUI7SUFDdkIsd0JBQXdCO0lBQ3hCLHVCQUF1QjtJQUN2Qix3QkFBd0I7Q0FDekIsQ0FBQztBQUVGLElBQUssUUFLSjtBQUxELFdBQUssUUFBUTtJQUNYLHlCQUFhLENBQUE7SUFDYix5QkFBYSxDQUFBO0lBQ2IsMkJBQWUsQ0FBQTtJQUNmLDJCQUFlLENBQUE7QUFDakIsQ0FBQyxFQUxJLFFBQVEsS0FBUixRQUFRLFFBS1o7QUFFRCxNQUFNLGVBQWUsR0FBRztJQUN0QixHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7SUFDaEIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO0lBQ2xCLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtJQUNsQixLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7SUFDcEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO0NBQ3JCLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxTQUFrQixFQUFFLEVBQUU7SUFDcEQsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBVyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDM0UsT0FBTyxDQUFDLElBQUks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QVEsQ0FBQyxJQUFJO2dCQUNoQixlQUFlLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3ZDLE1BQU07WUFDUixLQUFLLFFBQVEsQ0FBQyxJQUFJO2dCQUNoQixlQUFlLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3ZDLE1BQU07WUFDUixLQUFLLFFBQVEsQ0FBQyxLQUFLO2dCQUNqQixlQUFlLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3hDLE1BQU07WUFDUixLQUFLLFFBQVEsQ0FBQyxLQUFLO2dCQUNqQixlQUFlLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3hDLE1BQU07U0FDVDtLQUNGO0FBQ0gsQ0FBQyxDQUFDO0FBRVcsUUFBQSxXQUFXLEdBQUc7SUFDekIsc0JBQXNCO0lBQ3RCLHNCQUFzQjtDQUN2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuLi9jb25maWcvc3RyaW5ncyc7XG5cbmNvbnN0IGxvZ01lc3NhZ2VzS2V5czogKGtleW9mIHR5cGVvZiBTVFJJTkdTKVtdID0gW1xuICAnU1RBUlRJTkdfSUYnLFxuICAnRVhJVElOR19JRicsXG4gICdMT0FESU5HX01BTklGRVNUJyxcbiAgJ1ZBTElEQVRJTkdfTUFOSUZFU1QnLFxuICAnQ0FQVFVSSU5HX1JVTlRJTUVfRU5WSVJPTk1FTlRfREFUQScsXG4gICdTWU5DSU5HX1BBUkFNRVRFUlMnLFxuICAnQ0hFQ0tJTkdfQUdHUkVHQVRJT05fTUVUSE9EJyxcbiAgJ0lOSVRJQUxJWklOR19QTFVHSU5TJyxcbiAgJ0lOSVRJQUxJWklOR19QTFVHSU4nLFxuICAnTE9BRElOR19QTFVHSU5fRlJPTV9QQVRIJyxcbiAgJ0NPTVBVVElOR19QSVBFTElORV9GT1JfTk9ERScsXG4gICdNRVJHSU5HX0RFRkFVTFRTX1dJVEhfSU5QVVRfREFUQScsXG4gICdBR0dSRUdBVElOR19PVVRQVVRTJyxcbiAgJ0FHR1JFR0FUSU5HX05PREUnLFxuICAnUFJFUEFSSU5HX09VVFBVVF9EQVRBJyxcbiAgJ0VYUE9SVElOR19UT19ZQU1MX0ZJTEUnLFxuICAnRVhQT1JUSU5HX1RPX0NTVl9GSUxFJyxcbiAgJ0VYUE9SVElOR19SQVdfQ1NWX0ZJTEUnLFxuXTtcblxuZW51bSBMb2dMZXZlbCB7XG4gIEluZm8gPSAnSU5GTycsXG4gIFdhcm4gPSAnV0FSTicsXG4gIEVycm9yID0gJ0VSUk9SJyxcbiAgRGVidWcgPSAnREVCVUcnLFxufVxuXG5jb25zdCBvcmlnaW5hbENvbnNvbGUgPSB7XG4gIGxvZzogY29uc29sZS5sb2csXG4gIGluZm86IGNvbnNvbGUuaW5mbyxcbiAgd2FybjogY29uc29sZS53YXJuLFxuICBlcnJvcjogY29uc29sZS5lcnJvcixcbiAgZGVidWc6IGNvbnNvbGUuZGVidWcsXG59O1xuXG4vKipcbiAqIE92ZXJyaWRlcyBjb25zb2xlIG1ldGhvZHMgd2l0aCBjdXN0b20gZGVidWcgbG9nZ2luZy5cbiAqL1xuY29uc3Qgb3ZlcnJpZGVDb25zb2xlTWV0aG9kcyA9IChkZWJ1Z01vZGU6IGJvb2xlYW4pID0+IHtcbiAgY29uc29sZS5sb2cgPSAoLi4uYXJnczogYW55W10pID0+IGRlYnVnTG9nKExvZ0xldmVsLkluZm8sIGFyZ3MsIGRlYnVnTW9kZSk7XG4gIGNvbnNvbGUuaW5mbyA9ICguLi5hcmdzOiBhbnlbXSkgPT4gZGVidWdMb2coTG9nTGV2ZWwuSW5mbywgYXJncywgZGVidWdNb2RlKTtcbiAgY29uc29sZS53YXJuID0gKC4uLmFyZ3M6IGFueVtdKSA9PiBkZWJ1Z0xvZyhMb2dMZXZlbC5XYXJuLCBhcmdzLCBkZWJ1Z01vZGUpO1xuICBjb25zb2xlLmVycm9yID0gKC4uLmFyZ3M6IGFueVtdKSA9PiBkZWJ1Z0xvZyhMb2dMZXZlbC5FcnJvciwgYXJncywgZGVidWdNb2RlKTtcbiAgY29uc29sZS5kZWJ1ZyA9ICguLi5hcmdzOiBhbnlbXSkgPT4gZGVidWdMb2coTG9nTGV2ZWwuRGVidWcsIGFyZ3MsIGRlYnVnTW9kZSk7XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gZW5jYXBzdWxhdGVkIG9iamVjdCB0byByZXRyaWV2ZSB0aGUgcGx1Z2luIG5hbWUuXG4gKi9cbmNvbnN0IHBsdWdpbk5hbWVNYW5hZ2VyID0gKCgpID0+IHtcbiAgbGV0IHBsdWdpbk5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCA9ICcnO1xuXG4gIGNvbnN0IG1hbmFnZXIgPSB7XG4gICAgZ2V0IGN1cnJlbnRQbHVnaW5OYW1lKCkge1xuICAgICAgcmV0dXJuIHBsdWdpbk5hbWU7XG4gICAgfSxcbiAgICBzZXQgY3VycmVudFBsdWdpbk5hbWUodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgICAgcGx1Z2luTmFtZSA9IHZhbHVlO1xuICAgIH0sXG4gIH07XG5cbiAgcmV0dXJuIG1hbmFnZXI7XG59KSgpO1xuXG4vKipcbiAqIFNldHMgdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnRseSBleGVjdXRpbmcgcGx1Z2luLlxuICovXG5jb25zdCBzZXRFeGVjdXRpbmdQbHVnaW5OYW1lID0gKHBsdWdpbk5hbWU/OiBzdHJpbmcpID0+IHtcbiAgcGx1Z2luTmFtZU1hbmFnZXIuY3VycmVudFBsdWdpbk5hbWUgPSBwbHVnaW5OYW1lO1xufTtcblxuLyoqXG4gKiBMb2dzIG1lc3NhZ2VzIHdpdGggdGhlIHNwZWNpZmllZCBsb2cgbGV2ZWwgYW5kIGZvcm1hdC5cbiAqL1xuY29uc3QgZGVidWdMb2cgPSAobGV2ZWw6IExvZ0xldmVsLCBhcmdzOiBhbnlbXSwgZGVidWdNb2RlOiBib29sZWFuKSA9PiB7XG4gIGlmICghZGVidWdNb2RlKSB7XG4gICAgaWYgKGxldmVsID09PSBMb2dMZXZlbC5EZWJ1Zykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGlzRGVidWdMb2cgPSBsb2dNZXNzYWdlc0tleXMuc29tZShrZXkgPT4ge1xuICAgICAgY29uc3QgbWVzc2FnZSA9XG4gICAgICAgIHR5cGVvZiBTVFJJTkdTW2tleV0gPT09ICdmdW5jdGlvbidcbiAgICAgICAgICA/IChTVFJJTkdTW2tleV0gYXMgRnVuY3Rpb24pLmNhbGwobnVsbCwgJycpXG4gICAgICAgICAgOiAoU1RSSU5HU1trZXldIGFzIHN0cmluZyk7XG5cbiAgICAgIHJldHVybiBhcmdzWzBdLmluY2x1ZGVzKG1lc3NhZ2UpO1xuICAgIH0pO1xuXG4gICAgaWYgKCFpc0RlYnVnTG9nKSB7XG4gICAgICBvcmlnaW5hbENvbnNvbGUubG9nKC4uLmFyZ3MpO1xuICAgIH1cblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChhcmdzWzBdLmluY2x1ZGVzKCcjIHN0YXJ0JykpIHtcbiAgICBvcmlnaW5hbENvbnNvbGUubG9nKC4uLmFyZ3MpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCk7XG4gIGNvbnN0IHBsdWdpbiA9IHBsdWdpbk5hbWVNYW5hZ2VyLmN1cnJlbnRQbHVnaW5OYW1lO1xuICBjb25zdCBmb3JtYXR0ZWRNZXNzYWdlID0gYCR7bGV2ZWx9OiAke2RhdGV9OiAke1xuICAgIHBsdWdpbiA/IHBsdWdpbiArICc6ICcgOiAnJ1xuICB9JHthcmdzLmpvaW4oJywgJyl9YDtcblxuICBpZiAoZGVidWdNb2RlKSB7XG4gICAgc3dpdGNoIChsZXZlbCkge1xuICAgICAgY2FzZSBMb2dMZXZlbC5JbmZvOlxuICAgICAgICBvcmlnaW5hbENvbnNvbGUuaW5mbyhmb3JtYXR0ZWRNZXNzYWdlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIExvZ0xldmVsLldhcm46XG4gICAgICAgIG9yaWdpbmFsQ29uc29sZS53YXJuKGZvcm1hdHRlZE1lc3NhZ2UpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgTG9nTGV2ZWwuRXJyb3I6XG4gICAgICAgIG9yaWdpbmFsQ29uc29sZS5lcnJvcihmb3JtYXR0ZWRNZXNzYWdlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIExvZ0xldmVsLkRlYnVnOlxuICAgICAgICBvcmlnaW5hbENvbnNvbGUuZGVidWcoZm9ybWF0dGVkTWVzc2FnZSk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGRlYnVnTG9nZ2VyID0ge1xuICBvdmVycmlkZUNvbnNvbGVNZXRob2RzLFxuICBzZXRFeGVjdXRpbmdQbHVnaW5OYW1lLFxufTtcbiJdfQ==
|
package/build/util/fs.js
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
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.removeFileIfExists = exports.getFileName = exports.getYamlFiles = exports.isDirectoryExists = exports.isFileExists = void 0;
|
|
27
|
-
const fs = __importStar(require("fs/promises"));
|
|
28
|
-
const path = __importStar(require("path"));
|
|
29
|
-
/**
|
|
30
|
-
* Checks if file exists with the given `filePath`.
|
|
31
|
-
*/
|
|
32
|
-
const isFileExists = async (filePath) => {
|
|
33
|
-
try {
|
|
34
|
-
await fs.stat(filePath);
|
|
35
|
-
return true;
|
|
36
|
-
}
|
|
37
|
-
catch (error) {
|
|
38
|
-
return false;
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
exports.isFileExists = isFileExists;
|
|
42
|
-
/**
|
|
43
|
-
* Checks if the directory exists with the given `filePath`.
|
|
44
|
-
*/
|
|
45
|
-
const isDirectoryExists = async (directoryPath) => {
|
|
46
|
-
try {
|
|
47
|
-
await fs.access(directoryPath);
|
|
48
|
-
return true;
|
|
49
|
-
}
|
|
50
|
-
catch (error) {
|
|
51
|
-
return false;
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
exports.isDirectoryExists = isDirectoryExists;
|
|
55
|
-
/**
|
|
56
|
-
* Gets all files that have either .yml or .yaml extension in the given directory.
|
|
57
|
-
*/
|
|
58
|
-
const getYamlFiles = async (directory) => {
|
|
59
|
-
let yamlFiles = [];
|
|
60
|
-
const files = await fs.readdir(directory);
|
|
61
|
-
for (const file of files) {
|
|
62
|
-
const fullPath = path.join(directory, file);
|
|
63
|
-
const stat = await fs.lstat(fullPath);
|
|
64
|
-
if (stat.isDirectory()) {
|
|
65
|
-
yamlFiles = yamlFiles.concat(await (0, exports.getYamlFiles)(fullPath));
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
if (file.endsWith('.yml') || file.endsWith('.yaml')) {
|
|
69
|
-
yamlFiles.push(fullPath);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
return yamlFiles;
|
|
74
|
-
};
|
|
75
|
-
exports.getYamlFiles = getYamlFiles;
|
|
76
|
-
/**
|
|
77
|
-
* Gets fileName from the given path without an extension.
|
|
78
|
-
*/
|
|
79
|
-
const getFileName = (filePath) => {
|
|
80
|
-
const baseName = path.basename(filePath);
|
|
81
|
-
const extension = path.extname(filePath);
|
|
82
|
-
return baseName.replace(extension, '');
|
|
83
|
-
};
|
|
84
|
-
exports.getFileName = getFileName;
|
|
85
|
-
/**
|
|
86
|
-
* Removes the given file if exists.
|
|
87
|
-
*/
|
|
88
|
-
const removeFileIfExists = async (filePath) => {
|
|
89
|
-
if (await (0, exports.isFileExists)(filePath)) {
|
|
90
|
-
await fs.unlink(filePath);
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
|
-
exports.removeFileIfExists = removeFileIfExists;
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbC9mcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdEQUFrQztBQUNsQywyQ0FBNkI7QUFFN0I7O0dBRUc7QUFDSSxNQUFNLFlBQVksR0FBRyxLQUFLLEVBQUUsUUFBZ0IsRUFBRSxFQUFFO0lBQ3JELElBQUk7UUFDRixNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEIsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUFDLE9BQU8sS0FBSyxFQUFFO1FBQ2QsT0FBTyxLQUFLLENBQUM7S0FDZDtBQUNILENBQUMsQ0FBQztBQVBXLFFBQUEsWUFBWSxnQkFPdkI7QUFFRjs7R0FFRztBQUNJLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxFQUFFLGFBQXFCLEVBQUUsRUFBRTtJQUMvRCxJQUFJO1FBQ0YsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9CLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFBQyxPQUFPLEtBQUssRUFBRTtRQUNkLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7QUFDSCxDQUFDLENBQUM7QUFQVyxRQUFBLGlCQUFpQixxQkFPNUI7QUFFRjs7R0FFRztBQUNJLE1BQU0sWUFBWSxHQUFHLEtBQUssRUFBRSxTQUFpQixFQUFFLEVBQUU7SUFDdEQsSUFBSSxTQUFTLEdBQWEsRUFBRSxDQUFDO0lBRTdCLE1BQU0sS0FBSyxHQUFHLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUUxQyxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRTtRQUN4QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM1QyxNQUFNLElBQUksR0FBRyxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFdEMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDdEIsU0FBUyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFBLG9CQUFZLEVBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztTQUM1RDthQUFNO1lBQ0wsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ25ELFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDMUI7U0FDRjtLQUNGO0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyxDQUFDO0FBbkJXLFFBQUEsWUFBWSxnQkFtQnZCO0FBRUY7O0dBRUc7QUFDSSxNQUFNLFdBQVcsR0FBRyxDQUFDLFFBQWdCLEVBQUUsRUFBRTtJQUM5QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekMsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUN6QyxDQUFDLENBQUM7QUFKVyxRQUFBLFdBQVcsZUFJdEI7QUFFRjs7R0FFRztBQUNJLE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxFQUFFLFFBQWdCLEVBQUUsRUFBRTtJQUMzRCxJQUFJLE1BQU0sSUFBQSxvQkFBWSxFQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQ2hDLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUMzQjtBQUNILENBQUMsQ0FBQztBQUpXLFFBQUEsa0JBQWtCLHNCQUk3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzL3Byb21pc2VzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5cbi8qKlxuICogQ2hlY2tzIGlmIGZpbGUgZXhpc3RzIHdpdGggdGhlIGdpdmVuIGBmaWxlUGF0aGAuXG4gKi9cbmV4cG9ydCBjb25zdCBpc0ZpbGVFeGlzdHMgPSBhc3luYyAoZmlsZVBhdGg6IHN0cmluZykgPT4ge1xuICB0cnkge1xuICAgIGF3YWl0IGZzLnN0YXQoZmlsZVBhdGgpO1xuICAgIHJldHVybiB0cnVlO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufTtcblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIGRpcmVjdG9yeSBleGlzdHMgd2l0aCB0aGUgZ2l2ZW4gYGZpbGVQYXRoYC5cbiAqL1xuZXhwb3J0IGNvbnN0IGlzRGlyZWN0b3J5RXhpc3RzID0gYXN5bmMgKGRpcmVjdG9yeVBhdGg6IHN0cmluZykgPT4ge1xuICB0cnkge1xuICAgIGF3YWl0IGZzLmFjY2VzcyhkaXJlY3RvcnlQYXRoKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn07XG5cbi8qKlxuICogR2V0cyBhbGwgZmlsZXMgdGhhdCBoYXZlIGVpdGhlciAueW1sIG9yIC55YW1sIGV4dGVuc2lvbiBpbiB0aGUgZ2l2ZW4gZGlyZWN0b3J5LlxuICovXG5leHBvcnQgY29uc3QgZ2V0WWFtbEZpbGVzID0gYXN5bmMgKGRpcmVjdG9yeTogc3RyaW5nKSA9PiB7XG4gIGxldCB5YW1sRmlsZXM6IHN0cmluZ1tdID0gW107XG5cbiAgY29uc3QgZmlsZXMgPSBhd2FpdCBmcy5yZWFkZGlyKGRpcmVjdG9yeSk7XG5cbiAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7XG4gICAgY29uc3QgZnVsbFBhdGggPSBwYXRoLmpvaW4oZGlyZWN0b3J5LCBmaWxlKTtcbiAgICBjb25zdCBzdGF0ID0gYXdhaXQgZnMubHN0YXQoZnVsbFBhdGgpO1xuXG4gICAgaWYgKHN0YXQuaXNEaXJlY3RvcnkoKSkge1xuICAgICAgeWFtbEZpbGVzID0geWFtbEZpbGVzLmNvbmNhdChhd2FpdCBnZXRZYW1sRmlsZXMoZnVsbFBhdGgpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGZpbGUuZW5kc1dpdGgoJy55bWwnKSB8fCBmaWxlLmVuZHNXaXRoKCcueWFtbCcpKSB7XG4gICAgICAgIHlhbWxGaWxlcy5wdXNoKGZ1bGxQYXRoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4geWFtbEZpbGVzO1xufTtcblxuLyoqXG4gKiBHZXRzIGZpbGVOYW1lIGZyb20gdGhlIGdpdmVuIHBhdGggd2l0aG91dCBhbiBleHRlbnNpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRGaWxlTmFtZSA9IChmaWxlUGF0aDogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IGJhc2VOYW1lID0gcGF0aC5iYXNlbmFtZShmaWxlUGF0aCk7XG4gIGNvbnN0IGV4dGVuc2lvbiA9IHBhdGguZXh0bmFtZShmaWxlUGF0aCk7XG4gIHJldHVybiBiYXNlTmFtZS5yZXBsYWNlKGV4dGVuc2lvbiwgJycpO1xufTtcblxuLyoqXG4gKiBSZW1vdmVzIHRoZSBnaXZlbiBmaWxlIGlmIGV4aXN0cy5cbiAqL1xuZXhwb3J0IGNvbnN0IHJlbW92ZUZpbGVJZkV4aXN0cyA9IGFzeW5jIChmaWxlUGF0aDogc3RyaW5nKSA9PiB7XG4gIGlmIChhd2FpdCBpc0ZpbGVFeGlzdHMoZmlsZVBhdGgpKSB7XG4gICAgYXdhaXQgZnMudW5saW5rKGZpbGVQYXRoKTtcbiAgfVxufTtcbiJdfQ==
|
package/build/util/helpers.d.ts
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/// <reference types="node" />
|
|
3
|
-
import { exec } from 'node:child_process';
|
|
4
|
-
import { Difference } from '../types/lib/compare';
|
|
5
|
-
import { EnvironmentOptions } from '../types/if-env';
|
|
6
|
-
/**
|
|
7
|
-
* Impact engine error handler. Logs errors and appends issue template if error is unknown.
|
|
8
|
-
*/
|
|
9
|
-
export declare const andHandle: (error: Error) => void;
|
|
10
|
-
/**
|
|
11
|
-
* Append entries from defaults which are missing from inputs.
|
|
12
|
-
*/
|
|
13
|
-
export declare const mergeObjects: (defaults: any, input: any) => Record<string, any>;
|
|
14
|
-
/**
|
|
15
|
-
* Promise version of Node's `exec` from `child-process`.
|
|
16
|
-
*/
|
|
17
|
-
export declare const execPromise: typeof exec.__promisify__;
|
|
18
|
-
/**
|
|
19
|
-
* `If-diff` equality checker.
|
|
20
|
-
*/
|
|
21
|
-
export declare const checkIfEqual: (source: any, target: any) => boolean;
|
|
22
|
-
/**
|
|
23
|
-
* Checks if objects are primitive types.
|
|
24
|
-
*/
|
|
25
|
-
export declare const oneIsPrimitive: (source: any, target: any) => boolean;
|
|
26
|
-
/**
|
|
27
|
-
* Format not matching message for CLI logging.
|
|
28
|
-
*/
|
|
29
|
-
export declare const formatNotMatchingLog: (message: Difference) => void;
|
|
30
|
-
/**
|
|
31
|
-
* Checks if there is piped data, tries to parse yaml from it.
|
|
32
|
-
* Returns empty string if haven't found anything.
|
|
33
|
-
*/
|
|
34
|
-
export declare const parseManifestFromStdin: () => Promise<string>;
|
|
35
|
-
/**
|
|
36
|
-
* Gets the folder path of the manifest file, dependencies from manifest file and install argument from the given arguments.
|
|
37
|
-
*/
|
|
38
|
-
export declare const getOptionsFromArgs: (commandArgs: {
|
|
39
|
-
manifest: string;
|
|
40
|
-
install: boolean | undefined;
|
|
41
|
-
}) => Promise<{
|
|
42
|
-
folderPath: string;
|
|
43
|
-
dependencies: import("../types/npm").PathWithVersion;
|
|
44
|
-
install: boolean | undefined;
|
|
45
|
-
}>;
|
|
46
|
-
/**
|
|
47
|
-
* Creates folder if not exists, installs dependencies if required, update depenedencies.
|
|
48
|
-
*/
|
|
49
|
-
export declare const initializeAndInstallLibs: (options: EnvironmentOptions) => Promise<void>;
|
|
50
|
-
/**
|
|
51
|
-
* Adds a manifest template to the folder where the if-env CLI command runs.
|
|
52
|
-
*/
|
|
53
|
-
export declare const addTemplateManifest: (destinationDir: string) => Promise<void>;
|
|
54
|
-
/**
|
|
55
|
-
* Logs the failure message from the stdout of an error.
|
|
56
|
-
*/
|
|
57
|
-
export declare const logStdoutFailMessage: (error: any, fileName: string) => void;
|
package/build/util/helpers.js
DELETED
|
@@ -1,250 +0,0 @@
|
|
|
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
|
-
exports.logStdoutFailMessage = exports.addTemplateManifest = exports.initializeAndInstallLibs = exports.getOptionsFromArgs = exports.parseManifestFromStdin = exports.formatNotMatchingLog = exports.oneIsPrimitive = exports.checkIfEqual = exports.execPromise = exports.mergeObjects = exports.andHandle = void 0;
|
|
28
|
-
/* eslint-disable no-process-exit */
|
|
29
|
-
const promises_1 = require("node:readline/promises");
|
|
30
|
-
const node_child_process_1 = require("node:child_process");
|
|
31
|
-
const node_util_1 = require("node:util");
|
|
32
|
-
const fs = __importStar(require("fs/promises"));
|
|
33
|
-
const path = __importStar(require("path"));
|
|
34
|
-
const utils_1 = require("@grnsft/if-core/utils");
|
|
35
|
-
const config_1 = require("../config");
|
|
36
|
-
const load_1 = require("../lib/load");
|
|
37
|
-
const npm_1 = require("./npm");
|
|
38
|
-
const logger_1 = require("./logger");
|
|
39
|
-
const { IF_ENV } = config_1.CONFIG;
|
|
40
|
-
const { FAILURE_MESSAGE, FAILURE_MESSAGE_TEMPLATE, FAILURE_MESSAGE_DEPENDENCIES, } = IF_ENV;
|
|
41
|
-
const { UNSUPPORTED_ERROR, IF_CHECK_FAILED } = config_1.STRINGS;
|
|
42
|
-
const { MissingPluginDependenciesError } = utils_1.ERRORS;
|
|
43
|
-
/**
|
|
44
|
-
* Impact engine error handler. Logs errors and appends issue template if error is unknown.
|
|
45
|
-
*/
|
|
46
|
-
const andHandle = (error) => {
|
|
47
|
-
const knownErrors = Object.keys(utils_1.ERRORS);
|
|
48
|
-
logger_1.logger.error(error);
|
|
49
|
-
if (!knownErrors.includes(error.name)) {
|
|
50
|
-
logger_1.logger.error(UNSUPPORTED_ERROR(error.name));
|
|
51
|
-
// eslint-disable-next-line no-process-exit
|
|
52
|
-
process.exit(2);
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
exports.andHandle = andHandle;
|
|
56
|
-
/**
|
|
57
|
-
* Append entries from defaults which are missing from inputs.
|
|
58
|
-
*/
|
|
59
|
-
const mergeObjects = (defaults, input) => {
|
|
60
|
-
const merged = structuredClone(input);
|
|
61
|
-
for (const key in defaults) {
|
|
62
|
-
if (!(key in input)) {
|
|
63
|
-
merged[key] = defaults[key];
|
|
64
|
-
}
|
|
65
|
-
if (merged[key] === undefined || merged[key] === null) {
|
|
66
|
-
merged[key] = defaults[key];
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
return merged;
|
|
70
|
-
};
|
|
71
|
-
exports.mergeObjects = mergeObjects;
|
|
72
|
-
/**
|
|
73
|
-
* Promise version of Node's `exec` from `child-process`.
|
|
74
|
-
*/
|
|
75
|
-
exports.execPromise = (0, node_util_1.promisify)(node_child_process_1.exec);
|
|
76
|
-
/**
|
|
77
|
-
* `If-diff` equality checker.
|
|
78
|
-
*/
|
|
79
|
-
const checkIfEqual = (source, target) => {
|
|
80
|
-
if (source === target) {
|
|
81
|
-
return true;
|
|
82
|
-
}
|
|
83
|
-
if (source === '*' || target === '*') {
|
|
84
|
-
return true;
|
|
85
|
-
}
|
|
86
|
-
return false;
|
|
87
|
-
};
|
|
88
|
-
exports.checkIfEqual = checkIfEqual;
|
|
89
|
-
/**
|
|
90
|
-
* Converts given `value` to either `1` or `0`.
|
|
91
|
-
*/
|
|
92
|
-
const convertToXorable = (value) => {
|
|
93
|
-
if (typeof value === 'number') {
|
|
94
|
-
return value !== 0 ? 1 : 0;
|
|
95
|
-
}
|
|
96
|
-
if (typeof value === 'boolean') {
|
|
97
|
-
return value ? 1 : 0;
|
|
98
|
-
}
|
|
99
|
-
if (typeof value === 'string') {
|
|
100
|
-
return value.length > 0 ? 1 : 0;
|
|
101
|
-
}
|
|
102
|
-
if (typeof value === 'object') {
|
|
103
|
-
return 1;
|
|
104
|
-
}
|
|
105
|
-
return 0;
|
|
106
|
-
};
|
|
107
|
-
/**
|
|
108
|
-
* If one of the `valuesToCheck` values is undefined, then set `missing`, otherwise `exists`.
|
|
109
|
-
*/
|
|
110
|
-
const setValuesIfMissing = (response) => {
|
|
111
|
-
const source = convertToXorable(response.source);
|
|
112
|
-
const target = convertToXorable(response.target);
|
|
113
|
-
if (source ^ target) {
|
|
114
|
-
['source', 'target'].forEach(value => {
|
|
115
|
-
response[value] = response[value] ? 'exists' : 'missing';
|
|
116
|
-
});
|
|
117
|
-
return response;
|
|
118
|
-
}
|
|
119
|
-
return response;
|
|
120
|
-
};
|
|
121
|
-
/**
|
|
122
|
-
* Checks if objects are primitive types.
|
|
123
|
-
*/
|
|
124
|
-
const oneIsPrimitive = (source, target) => {
|
|
125
|
-
// eslint-disable-next-line eqeqeq
|
|
126
|
-
if (source == null || target == null) {
|
|
127
|
-
return true;
|
|
128
|
-
}
|
|
129
|
-
return source !== Object(source) && target !== Object(target);
|
|
130
|
-
};
|
|
131
|
-
exports.oneIsPrimitive = oneIsPrimitive;
|
|
132
|
-
/**
|
|
133
|
-
* Format not matching message for CLI logging.
|
|
134
|
-
*/
|
|
135
|
-
const formatNotMatchingLog = (message) => {
|
|
136
|
-
const flattenMessage = setValuesIfMissing(message);
|
|
137
|
-
Object.keys(flattenMessage).forEach(key => {
|
|
138
|
-
if (key === 'message' || key === 'path') {
|
|
139
|
-
console.log(message[key]);
|
|
140
|
-
}
|
|
141
|
-
else {
|
|
142
|
-
console.log(`${key}: ${message[key]}`);
|
|
143
|
-
}
|
|
144
|
-
});
|
|
145
|
-
};
|
|
146
|
-
exports.formatNotMatchingLog = formatNotMatchingLog;
|
|
147
|
-
/**
|
|
148
|
-
* Checks if there is data piped, then collects it.
|
|
149
|
-
* Otherwise returns empty string.
|
|
150
|
-
*/
|
|
151
|
-
const collectPipedData = async () => {
|
|
152
|
-
if (process.stdin.isTTY) {
|
|
153
|
-
return '';
|
|
154
|
-
}
|
|
155
|
-
const readline = (0, promises_1.createInterface)({
|
|
156
|
-
input: process.stdin,
|
|
157
|
-
});
|
|
158
|
-
const data = [];
|
|
159
|
-
for await (const line of readline) {
|
|
160
|
-
data.push(line);
|
|
161
|
-
}
|
|
162
|
-
return data.join('\n');
|
|
163
|
-
};
|
|
164
|
-
/**
|
|
165
|
-
* Checks if there is piped data, tries to parse yaml from it.
|
|
166
|
-
* Returns empty string if haven't found anything.
|
|
167
|
-
*/
|
|
168
|
-
const parseManifestFromStdin = async () => {
|
|
169
|
-
const pipedSourceManifest = await collectPipedData();
|
|
170
|
-
if (!pipedSourceManifest) {
|
|
171
|
-
return '';
|
|
172
|
-
}
|
|
173
|
-
const regex = /# start((?:.*\n)+?)# end/;
|
|
174
|
-
const match = regex.exec(pipedSourceManifest);
|
|
175
|
-
if (!match) {
|
|
176
|
-
return '';
|
|
177
|
-
}
|
|
178
|
-
return match[1];
|
|
179
|
-
};
|
|
180
|
-
exports.parseManifestFromStdin = parseManifestFromStdin;
|
|
181
|
-
/**
|
|
182
|
-
* Gets the folder path of the manifest file, dependencies from manifest file and install argument from the given arguments.
|
|
183
|
-
*/
|
|
184
|
-
const getOptionsFromArgs = async (commandArgs) => {
|
|
185
|
-
const { manifest, install } = commandArgs;
|
|
186
|
-
const folderPath = path.dirname(manifest);
|
|
187
|
-
const loadedManifest = await (0, load_1.load)(manifest);
|
|
188
|
-
const rawManifest = loadedManifest.rawManifest;
|
|
189
|
-
const plugins = rawManifest?.initialize?.plugins || {};
|
|
190
|
-
const dependencies = rawManifest?.execution?.environment.dependencies || [];
|
|
191
|
-
if (!dependencies.length) {
|
|
192
|
-
throw new MissingPluginDependenciesError(FAILURE_MESSAGE_DEPENDENCIES);
|
|
193
|
-
}
|
|
194
|
-
const pathsWithVersion = (0, npm_1.extractPathsWithVersion)(plugins, dependencies);
|
|
195
|
-
return {
|
|
196
|
-
folderPath,
|
|
197
|
-
dependencies: pathsWithVersion,
|
|
198
|
-
install,
|
|
199
|
-
};
|
|
200
|
-
};
|
|
201
|
-
exports.getOptionsFromArgs = getOptionsFromArgs;
|
|
202
|
-
/**
|
|
203
|
-
* Creates folder if not exists, installs dependencies if required, update depenedencies.
|
|
204
|
-
*/
|
|
205
|
-
const initializeAndInstallLibs = async (options) => {
|
|
206
|
-
try {
|
|
207
|
-
const { folderPath, install, cwd, dependencies } = options;
|
|
208
|
-
const packageJsonPath = await (0, npm_1.initPackageJsonIfNotExists)(folderPath);
|
|
209
|
-
await (0, npm_1.updatePackageJsonProperties)(packageJsonPath, cwd);
|
|
210
|
-
if (install) {
|
|
211
|
-
await (0, npm_1.installDependencies)(folderPath, dependencies);
|
|
212
|
-
}
|
|
213
|
-
else {
|
|
214
|
-
await (0, npm_1.updatePackageJsonDependencies)(packageJsonPath, dependencies, cwd);
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
catch (error) {
|
|
218
|
-
console.log(FAILURE_MESSAGE);
|
|
219
|
-
process.exit(2);
|
|
220
|
-
}
|
|
221
|
-
};
|
|
222
|
-
exports.initializeAndInstallLibs = initializeAndInstallLibs;
|
|
223
|
-
/**
|
|
224
|
-
* Adds a manifest template to the folder where the if-env CLI command runs.
|
|
225
|
-
*/
|
|
226
|
-
const addTemplateManifest = async (destinationDir) => {
|
|
227
|
-
try {
|
|
228
|
-
const templateManifest = path.resolve(__dirname, '../config/env-template.yml');
|
|
229
|
-
const destinationPath = path.resolve(destinationDir, 'manifest.yml');
|
|
230
|
-
const data = await fs.readFile(templateManifest, 'utf-8');
|
|
231
|
-
await fs.writeFile(destinationPath, data, 'utf-8');
|
|
232
|
-
}
|
|
233
|
-
catch (error) {
|
|
234
|
-
console.log(FAILURE_MESSAGE_TEMPLATE);
|
|
235
|
-
process.exit(1);
|
|
236
|
-
}
|
|
237
|
-
};
|
|
238
|
-
exports.addTemplateManifest = addTemplateManifest;
|
|
239
|
-
/**
|
|
240
|
-
* Logs the failure message from the stdout of an error.
|
|
241
|
-
*/
|
|
242
|
-
const logStdoutFailMessage = (error, fileName) => {
|
|
243
|
-
console.log(IF_CHECK_FAILED(fileName));
|
|
244
|
-
const stdout = error.stdout;
|
|
245
|
-
const logs = stdout.split('\n\n');
|
|
246
|
-
const failMessage = logs[logs.length - 1];
|
|
247
|
-
console.log(failMessage);
|
|
248
|
-
};
|
|
249
|
-
exports.logStdoutFailMessage = logStdoutFailMessage;
|
|
250
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0Esb0NBQW9DO0FBQ3BDLHFEQUF1RDtBQUN2RCwyREFBd0M7QUFDeEMseUNBQW9DO0FBRXBDLGdEQUFrQztBQUNsQywyQ0FBNkI7QUFFN0IsaURBQTZDO0FBRTdDLHNDQUEwQztBQUkxQyxzQ0FBaUM7QUFFakMsK0JBTWU7QUFFZixxQ0FBZ0M7QUFHaEMsTUFBTSxFQUFDLE1BQU0sRUFBQyxHQUFHLGVBQU0sQ0FBQztBQUN4QixNQUFNLEVBQ0osZUFBZSxFQUNmLHdCQUF3QixFQUN4Qiw0QkFBNEIsR0FDN0IsR0FBRyxNQUFNLENBQUM7QUFFWCxNQUFNLEVBQUMsaUJBQWlCLEVBQUUsZUFBZSxFQUFDLEdBQUcsZ0JBQU8sQ0FBQztBQUNyRCxNQUFNLEVBQUMsOEJBQThCLEVBQUMsR0FBRyxjQUFNLENBQUM7QUFFaEQ7O0dBRUc7QUFDSSxNQUFNLFNBQVMsR0FBRyxDQUFDLEtBQVksRUFBRSxFQUFFO0lBQ3hDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBTSxDQUFDLENBQUM7SUFFeEMsZUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVwQixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDckMsZUFBTSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM1QywyQ0FBMkM7UUFDM0MsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNqQjtBQUNILENBQUMsQ0FBQztBQVZXLFFBQUEsU0FBUyxhQVVwQjtBQUVGOztHQUVHO0FBQ0ksTUFBTSxZQUFZLEdBQUcsQ0FBQyxRQUFhLEVB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Q0FBQyxDQUFDO1FBQ3JFLE1BQU0sSUFBSSxHQUFHLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUUxRCxNQUFNLEVBQUUsQ0FBQyxTQUFTLENBQUMsZUFBZSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztLQUNwRDtJQUFDLE9BQU8sS0FBSyxFQUFFO1FBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDakI7QUFDSCxDQUFDLENBQUM7QUFmVyxRQUFBLG1CQUFtQix1QkFlOUI7QUFFRjs7R0FFRztBQUNJLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxLQUFVLEVBQUUsUUFBZ0IsRUFBRSxFQUFFO0lBQ25FLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFFdkMsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUM1QixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRTFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDM0IsQ0FBQyxDQUFDO0FBUlcsUUFBQSxvQkFBb0Isd0JBUS9CIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuLyogZXNsaW50LWRpc2FibGUgbm8tcHJvY2Vzcy1leGl0ICovXG5pbXBvcnQge2NyZWF0ZUludGVyZmFjZX0gZnJvbSAnbm9kZTpyZWFkbGluZS9wcm9taXNlcyc7XG5pbXBvcnQge2V4ZWN9IGZyb20gJ25vZGU6Y2hpbGRfcHJvY2Vzcyc7XG5pbXBvcnQge3Byb21pc2lmeX0gZnJvbSAnbm9kZTp1dGlsJztcblxuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMvcHJvbWlzZXMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcblxuaW1wb3J0IHtFUlJPUlN9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS91dGlscyc7XG5cbmltcG9ydCB7U1RSSU5HUywgQ09ORklHfSBmcm9tICcuLi9jb25maWcnO1xuXG5pbXBvcnQge0RpZmZlcmVuY2V9IGZyb20gJy4uL3R5cGVzL2xpYi9jb21wYXJlJztcblxuaW1wb3J0IHtsb2FkfSBmcm9tICcuLi9saWIvbG9hZCc7XG5cbmltcG9ydCB7XG4gIGluc3RhbGxEZXBlbmRlbmNpZXMsXG4gIGluaXRQYWNrYWdlSnNvbklmTm90RXhpc3RzLFxuICB1cGRhdGVQYWNrYWdlSnNvbkRlcGVuZGVuY2llcyxcbiAgZXh0cmFjdFBhdGhzV2l0aFZlcnNpb24sXG4gIHVwZGF0ZVBhY2thZ2VKc29uUHJvcGVydGllcyxcbn0gZnJvbSAnLi9ucG0nO1xuXG5pbXBvcnQge2xvZ2dlcn0gZnJvbSAnLi9sb2dnZXInO1xuaW1wb3J0IHtFbnZpcm9ubWVudE9wdGlvbnN9IGZyb20gJy4uL3R5cGVzL2lmLWVudic7XG5cbmNvbnN0IHtJRl9FTlZ9ID0gQ09ORklHO1xuY29uc3Qge1xuICBGQUlMVVJFX01FU1NBR0UsXG4gIEZBSUxVUkVfTUVTU0FHRV9URU1QTEFURSxcbiAgRkFJTFVSRV9NRVNTQUdFX0RFUEVOREVOQ0lFUyxcbn0gPSBJRl9FTlY7XG5cbmNvbnN0IHtVTlNVUFBPUlRFRF9FUlJPUiwgSUZfQ0hFQ0tfRkFJTEVEfSA9IFNUUklOR1M7XG5jb25zdCB7TWlzc2luZ1BsdWdpbkRlcGVuZGVuY2llc0Vycm9yfSA9IEVSUk9SUztcblxuLyoqXG4gKiBJbXBhY3QgZW5naW5lIGVycm9yIGhhbmRsZXIuIExvZ3MgZXJyb3JzIGFuZCBhcHBlbmRzIGlzc3VlIHRlbXBsYXRlIGlmIGVycm9yIGlzIHVua25vd24uXG4gKi9cbmV4cG9ydCBjb25zdCBhbmRIYW5kbGUgPSAoZXJyb3I6IEVycm9yKSA9PiB7XG4gIGNvbnN0IGtub3duRXJyb3JzID0gT2JqZWN0LmtleXMoRVJST1JTKTtcblxuICBsb2dnZXIuZXJyb3IoZXJyb3IpO1xuXG4gIGlmICgha25vd25FcnJvcnMuaW5jbHVkZXMoZXJyb3IubmFtZSkpIHtcbiAgICBsb2dnZXIuZXJyb3IoVU5TVVBQT1JURURfRVJST1IoZXJyb3IubmFtZSkpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wcm9jZXNzLWV4aXRcbiAgICBwcm9jZXNzLmV4aXQoMik7XG4gIH1cbn07XG5cbi8qKlxuICogQXBwZW5kIGVudHJpZXMgZnJvbSBkZWZhdWx0cyB3aGljaCBhcmUgbWlzc2luZyBmcm9tIGlucHV0cy5cbiAqL1xuZXhwb3J0IGNvbnN0IG1lcmdlT2JqZWN0cyA9IChkZWZhdWx0czogYW55LCBpbnB1dDogYW55KSA9PiB7XG4gIGNvbnN0IG1lcmdlZDogUmVjb3JkPHN0cmluZywgYW55PiA9IHN0cnVjdHVyZWRDbG9uZShpbnB1dCk7XG5cbiAgZm9yIChjb25zdCBrZXkgaW4gZGVmYXVsdHMpIHtcbiAgICBpZiAoIShrZXkgaW4gaW5wdXQpKSB7XG4gICAgICBtZXJnZWRba2V5XSA9IGRlZmF1bHRzW2tleV07XG4gICAgfVxuXG4gICAgaWYgKG1lcmdlZFtrZXldID09PSB1bmRlZmluZWQgfHwgbWVyZ2VkW2tleV0gPT09IG51bGwpIHtcbiAgICAgIG1lcmdlZFtrZXldID0gZGVmYXVsdHNba2V5XTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbWVyZ2VkO1xufTtcblxuLyoqXG4gKiBQcm9taXNlIHZlcnNpb24gb2YgTm9kZSdzIGBleGVjYCBmcm9tIGBjaGlsZC1wcm9jZXNzYC5cbiAqL1xuZXhwb3J0IGNvbnN0IGV4ZWNQcm9taXNlID0gcHJvbWlzaWZ5KGV4ZWMpO1xuXG4vKipcbiAqIGBJZi1kaWZmYCBlcXVhbGl0eSBjaGVja2VyLlxuICovXG5leHBvcnQgY29uc3QgY2hlY2tJZkVxdWFsID0gKHNvdXJjZTogYW55LCB0YXJnZXQ6IGFueSkgPT4ge1xuICBpZiAoc291cmNlID09PSB0YXJnZXQpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmIChzb3VyY2UgPT09ICcqJyB8fCB0YXJnZXQgPT09ICcqJykge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufTtcblxuLyoqXG4gKiBDb252ZXJ0cyBnaXZlbiBgdmFsdWVgIHRvIGVpdGhlciBgMWAgb3IgYDBgLlxuICovXG5jb25zdCBjb252ZXJ0VG9Yb3JhYmxlID0gKHZhbHVlOiBhbnkpID0+IHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4gdmFsdWUgIT09IDAgPyAxIDogMDtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJykge1xuICAgIHJldHVybiB2YWx1ZSA/IDEgOiAwO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gdmFsdWUubGVuZ3RoID4gMCA/IDEgOiAwO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gMTtcbiAgfVxuXG4gIHJldHVybiAwO1xufTtcblxuLyoqXG4gKiBJZiBvbmUgb2YgdGhlIGB2YWx1ZXNUb0NoZWNrYCB2YWx1ZXMgaXMgdW5kZWZpbmVkLCB0aGVuIHNldCBgbWlzc2luZ2AsIG90aGVyd2lzZSBgZXhpc3RzYC5cbiAqL1xuY29uc3Qgc2V0VmFsdWVzSWZNaXNzaW5nID0gKHJlc3BvbnNlOiBEaWZmZXJlbmNlKSA9PiB7XG4gIGNvbnN0IHNvdXJjZSA9IGNvbnZlcnRUb1hvcmFibGUocmVzcG9uc2Uuc291cmNlKTtcbiAgY29uc3QgdGFyZ2V0ID0gY29udmVydFRvWG9yYWJsZShyZXNwb25zZS50YXJnZXQpO1xuXG4gIGlmIChzb3VyY2UgXiB0YXJnZXQpIHtcbiAgICBbJ3NvdXJjZScsICd0YXJnZXQnXS5mb3JFYWNoKHZhbHVlID0+IHtcbiAgICAgIHJlc3BvbnNlW3ZhbHVlXSA9IHJlc3BvbnNlW3ZhbHVlXSA/ICdleGlzdHMnIDogJ21pc3NpbmcnO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHJlc3BvbnNlO1xuICB9XG5cbiAgcmV0dXJuIHJlc3BvbnNlO1xufTtcblxuLyoqXG4gKiBDaGVja3MgaWYgb2JqZWN0cyBhcmUgcHJpbWl0aXZlIHR5cGVzLlxuICovXG5leHBvcnQgY29uc3Qgb25lSXNQcmltaXRpdmUgPSAoc291cmNlOiBhbnksIHRhcmdldDogYW55KSA9PiB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBlcWVxZXFcbiAgaWYgKHNvdXJjZSA9PSBudWxsIHx8IHRhcmdldCA9PSBudWxsKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICByZXR1cm4gc291cmNlICE9PSBPYmplY3Qoc291cmNlKSAmJiB0YXJnZXQgIT09IE9iamVjdCh0YXJnZXQpO1xufTtcblxuLyoqXG4gKiBGb3JtYXQgbm90IG1hdGNoaW5nIG1lc3NhZ2UgZm9yIENMSSBsb2dnaW5nLlxuICovXG5leHBvcnQgY29uc3QgZm9ybWF0Tm90TWF0Y2hpbmdMb2cgPSAobWVzc2FnZTogRGlmZmVyZW5jZSkgPT4ge1xuICBjb25zdCBmbGF0dGVuTWVzc2FnZSA9IHNldFZhbHVlc0lmTWlzc2luZyhtZXNzYWdlKTtcblxuICBPYmplY3Qua2V5cyhmbGF0dGVuTWVzc2FnZSkuZm9yRWFjaChrZXkgPT4ge1xuICAgIGlmIChrZXkgPT09ICdtZXNzYWdlJyB8fCBrZXkgPT09ICdwYXRoJykge1xuICAgICAgY29uc29sZS5sb2cobWVzc2FnZVtrZXldKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5sb2coYCR7a2V5fTogJHttZXNzYWdlW2tleV19YCk7XG4gICAgfVxuICB9KTtcbn07XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZXJlIGlzIGRhdGEgcGlwZWQsIHRoZW4gY29sbGVjdHMgaXQuXG4gKiBPdGhlcndpc2UgcmV0dXJucyBlbXB0eSBzdHJpbmcuXG4gKi9cbmNvbnN0IGNvbGxlY3RQaXBlZERhdGEgPSBhc3luYyAoKSA9PiB7XG4gIGlmIChwcm9jZXNzLnN0ZGluLmlzVFRZKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgY29uc3QgcmVhZGxpbmUgPSBjcmVhdGVJbnRlcmZhY2Uoe1xuICAgIGlucHV0OiBwcm9jZXNzLnN0ZGluLFxuICB9KTtcblxuICBjb25zdCBkYXRhOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGZvciBhd2FpdCAoY29uc3QgbGluZSBvZiByZWFkbGluZSkge1xuICAgIGRhdGEucHVzaChsaW5lKTtcbiAgfVxuXG4gIHJldHVybiBkYXRhLmpvaW4oJ1xcbicpO1xufTtcblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlcmUgaXMgcGlwZWQgZGF0YSwgdHJpZXMgdG8gcGFyc2UgeWFtbCBmcm9tIGl0LlxuICogUmV0dXJucyBlbXB0eSBzdHJpbmcgaWYgaGF2ZW4ndCBmb3VuZCBhbnl0aGluZy5cbiAqL1xuZXhwb3J0IGNvbnN0IHBhcnNlTWFuaWZlc3RGcm9tU3RkaW4gPSBhc3luYyAoKSA9PiB7XG4gIGNvbnN0IHBpcGVkU291cmNlTWFuaWZlc3QgPSBhd2FpdCBjb2xsZWN0UGlwZWREYXRhKCk7XG5cbiAgaWYgKCFwaXBlZFNvdXJjZU1hbmlmZXN0KSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgY29uc3QgcmVnZXggPSAvIyBzdGFydCgoPzouKlxcbikrPykjIGVuZC87XG4gIGNvbnN0IG1hdGNoID0gcmVnZXguZXhlYyhwaXBlZFNvdXJjZU1hbmlmZXN0KTtcblxuICBpZiAoIW1hdGNoKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgcmV0dXJuIG1hdGNoIVsxXTtcbn07XG5cbi8qKlxuICogR2V0cyB0aGUgZm9sZGVyIHBhdGggb2YgdGhlIG1hbmlmZXN0IGZpbGUsIGRlcGVuZGVuY2llcyBmcm9tIG1hbmlmZXN0IGZpbGUgYW5kIGluc3RhbGwgYXJndW1lbnQgZnJvbSB0aGUgZ2l2ZW4gYXJndW1lbnRzLlxuICovXG5leHBvcnQgY29uc3QgZ2V0T3B0aW9uc0Zyb21BcmdzID0gYXN5bmMgKGNvbW1hbmRBcmdzOiB7XG4gIG1hbmlmZXN0OiBzdHJpbmc7XG4gIGluc3RhbGw6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG59KSA9PiB7XG4gIGNvbnN0IHttYW5pZmVzdCwgaW5zdGFsbH0gPSBjb21tYW5kQXJncztcbiAgY29uc3QgZm9sZGVyUGF0aCA9IHBhdGguZGlybmFtZShtYW5pZmVzdCk7XG4gIGNvbnN0IGxvYWRlZE1hbmlmZXN0ID0gYXdhaXQgbG9hZChtYW5pZmVzdCk7XG4gIGNvbnN0IHJhd01hbmlmZXN0ID0gbG9hZGVkTWFuaWZlc3QucmF3TWFuaWZlc3Q7XG4gIGNvbnN0IHBsdWdpbnMgPSByYXdNYW5pZmVzdD8uaW5pdGlhbGl6ZT8ucGx1Z2lucyB8fCB7fTtcbiAgY29uc3QgZGVwZW5kZW5jaWVzID0gcmF3TWFuaWZlc3Q/LmV4ZWN1dGlvbj8uZW52aXJvbm1lbnQuZGVwZW5kZW5jaWVzIHx8IFtdO1xuXG4gIGlmICghZGVwZW5kZW5jaWVzLmxlbmd0aCkge1xuICAgIHRocm93IG5ldyBNaXNzaW5nUGx1Z2luRGVwZW5kZW5jaWVzRXJyb3IoRkFJTFVSRV9NRVNTQUdFX0RFUEVOREVOQ0lFUyk7XG4gIH1cblxuICBjb25zdCBwYXRoc1dpdGhWZXJzaW9uID0gZXh0cmFjdFBhdGhzV2l0aFZlcnNpb24ocGx1Z2lucywgZGVwZW5kZW5jaWVzKTtcblxuICByZXR1cm4ge1xuICAgIGZvbGRlclBhdGgsXG4gICAgZGVwZW5kZW5jaWVzOiBwYXRoc1dpdGhWZXJzaW9uLFxuICAgIGluc3RhbGwsXG4gIH07XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgZm9sZGVyIGlmIG5vdCBleGlzdHMsIGluc3RhbGxzIGRlcGVuZGVuY2llcyBpZiByZXF1aXJlZCwgdXBkYXRlIGRlcGVuZWRlbmNpZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBpbml0aWFsaXplQW5kSW5zdGFsbExpYnMgPSBhc3luYyAob3B0aW9uczogRW52aXJvbm1lbnRPcHRpb25zKSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3Qge2ZvbGRlclBhdGgsIGluc3RhbGwsIGN3ZCwgZGVwZW5kZW5jaWVzfSA9IG9wdGlvbnM7XG4gICAgY29uc3QgcGFja2FnZUpzb25QYXRoID0gYXdhaXQgaW5pdFBhY2thZ2VKc29uSWZOb3RFeGlzdHMoZm9sZGVyUGF0aCk7XG5cbiAgICBhd2FpdCB1cGRhdGVQYWNrYWdlSnNvblByb3BlcnRpZXMocGFja2FnZUpzb25QYXRoLCBjd2QpO1xuXG4gICAgaWYgKGluc3RhbGwpIHtcbiAgICAgIGF3YWl0IGluc3RhbGxEZXBlbmRlbmNpZXMoZm9sZGVyUGF0aCwgZGVwZW5kZW5jaWVzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXdhaXQgdXBkYXRlUGFja2FnZUpzb25EZXBlbmRlbmNpZXMocGFja2FnZUpzb25QYXRoLCBkZXBlbmRlbmNpZXMsIGN3ZCk7XG4gICAgfVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUubG9nKEZBSUxVUkVfTUVTU0FHRSk7XG4gICAgcHJvY2Vzcy5leGl0KDIpO1xuICB9XG59O1xuXG4vKipcbiAqIEFkZHMgYSBtYW5pZmVzdCB0ZW1wbGF0ZSB0byB0aGUgZm9sZGVyIHdoZXJlIHRoZSBpZi1lbnYgQ0xJIGNvbW1hbmQgcnVucy5cbiAqL1xuZXhwb3J0IGNvbnN0IGFkZFRlbXBsYXRlTWFuaWZlc3QgPSBhc3luYyAoZGVzdGluYXRpb25EaXI6IHN0cmluZykgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHRlbXBsYXRlTWFuaWZlc3QgPSBwYXRoLnJlc29sdmUoXG4gICAgICBfX2Rpcm5hbWUsXG4gICAgICAnLi4vY29uZmlnL2Vudi10ZW1wbGF0ZS55bWwnXG4gICAgKTtcblxuICAgIGNvbnN0IGRlc3RpbmF0aW9uUGF0aCA9IHBhdGgucmVzb2x2ZShkZXN0aW5hdGlvbkRpciwgJ21hbmlmZXN0LnltbCcpO1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBmcy5yZWFkRmlsZSh0ZW1wbGF0ZU1hbmlmZXN0LCAndXRmLTgnKTtcblxuICAgIGF3YWl0IGZzLndyaXRlRmlsZShkZXN0aW5hdGlvblBhdGgsIGRhdGEsICd1dGYtOCcpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUubG9nKEZBSUxVUkVfTUVTU0FHRV9URU1QTEFURSk7XG4gICAgcHJvY2Vzcy5leGl0KDEpO1xuICB9XG59O1xuXG4vKipcbiAqIExvZ3MgdGhlIGZhaWx1cmUgbWVzc2FnZSBmcm9tIHRoZSBzdGRvdXQgb2YgYW4gZXJyb3IuXG4gKi9cbmV4cG9ydCBjb25zdCBsb2dTdGRvdXRGYWlsTWVzc2FnZSA9IChlcnJvcjogYW55LCBmaWxlTmFtZTogc3RyaW5nKSA9PiB7XG4gIGNvbnNvbGUubG9nKElGX0NIRUNLX0ZBSUxFRChmaWxlTmFtZSkpO1xuXG4gIGNvbnN0IHN0ZG91dCA9IGVycm9yLnN0ZG91dDtcbiAgY29uc3QgbG9ncyA9IHN0ZG91dC5zcGxpdCgnXFxuXFxuJyk7XG4gIGNvbnN0IGZhaWxNZXNzYWdlID0gbG9nc1tsb2dzLmxlbmd0aCAtIDFdO1xuXG4gIGNvbnNvbGUubG9nKGZhaWxNZXNzYWdlKTtcbn07XG4iXX0=
|
package/build/util/json.d.ts
DELETED
package/build/util/json.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
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.readAndParseJson = void 0;
|
|
27
|
-
const fs = __importStar(require("fs/promises"));
|
|
28
|
-
/**
|
|
29
|
-
* Reads and parses json file.
|
|
30
|
-
*/
|
|
31
|
-
const readAndParseJson = async (paramPath) => {
|
|
32
|
-
const file = await fs.readFile(paramPath, 'utf-8');
|
|
33
|
-
return JSON.parse(file);
|
|
34
|
-
};
|
|
35
|
-
exports.readAndParseJson = readAndParseJson;
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL2pzb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnREFBa0M7QUFFbEM7O0dBRUc7QUFDSSxNQUFNLGdCQUFnQixHQUFHLEtBQUssRUFBSyxTQUFpQixFQUFjLEVBQUU7SUFDekUsTUFBTSxJQUFJLEdBQUcsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUVuRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFNLENBQUM7QUFDL0IsQ0FBQyxDQUFDO0FBSlcsUUFBQSxnQkFBZ0Isb0JBSTNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMvcHJvbWlzZXMnO1xuXG4vKipcbiAqIFJlYWRzIGFuZCBwYXJzZXMganNvbiBmaWxlLlxuICovXG5leHBvcnQgY29uc3QgcmVhZEFuZFBhcnNlSnNvbiA9IGFzeW5jIDxUPihwYXJhbVBhdGg6IHN0cmluZyk6IFByb21pc2U8VD4gPT4ge1xuICBjb25zdCBmaWxlID0gYXdhaXQgZnMucmVhZEZpbGUocGFyYW1QYXRoLCAndXRmLTgnKTtcblxuICByZXR1cm4gSlNPTi5wYXJzZShmaWxlKSBhcyBUO1xufTtcbiJdfQ==
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.memoizedLog = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Keeps in memory logged messages. If called with redundant message, skips logging.
|
|
6
|
-
*/
|
|
7
|
-
const memoizedLogger = () => {
|
|
8
|
-
const memory = [];
|
|
9
|
-
return (logger, message) => {
|
|
10
|
-
if (memory.includes(message)) {
|
|
11
|
-
return;
|
|
12
|
-
}
|
|
13
|
-
memory.push(message);
|
|
14
|
-
logger(message);
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
|
-
/** Singleton pattern. */
|
|
18
|
-
exports.memoizedLog = memoizedLogger();
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLW1lbW9pemUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbC9sb2ctbWVtb2l6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQTs7R0FFRztBQUNILE1BQU0sY0FBYyxHQUFHLEdBQUcsRUFBRTtJQUMxQixNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7SUFFNUIsT0FBTyxDQUFDLE1BQStDLEVBQUUsT0FBZSxFQUFFLEVBQUU7UUFDMUUsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzVCLE9BQU87U0FDUjtRQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xCLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLHlCQUF5QjtBQUNaLFFBQUEsV0FBVyxHQUFHLGNBQWMsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtMZXZlbGVkTG9nTWV0aG9kfSBmcm9tICd3aW5zdG9uJztcblxuLyoqXG4gKiBLZWVwcyBpbiBtZW1vcnkgbG9nZ2VkIG1lc3NhZ2VzLiBJZiBjYWxsZWQgd2l0aCByZWR1bmRhbnQgbWVzc2FnZSwgc2tpcHMgbG9nZ2luZy5cbiAqL1xuY29uc3QgbWVtb2l6ZWRMb2dnZXIgPSAoKSA9PiB7XG4gIGNvbnN0IG1lbW9yeTogc3RyaW5nW10gPSBbXTtcblxuICByZXR1cm4gKGxvZ2dlcjogTGV2ZWxlZExvZ01ldGhvZCB8IHR5cGVvZiBjb25zb2xlLmRlYnVnLCBtZXNzYWdlOiBzdHJpbmcpID0+IHtcbiAgICBpZiAobWVtb3J5LmluY2x1ZGVzKG1lc3NhZ2UpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbWVtb3J5LnB1c2gobWVzc2FnZSk7XG4gICAgbG9nZ2VyKG1lc3NhZ2UpO1xuICB9O1xufTtcblxuLyoqIFNpbmdsZXRvbiBwYXR0ZXJuLiAqL1xuZXhwb3J0IGNvbnN0IG1lbW9pemVkTG9nID0gbWVtb2l6ZWRMb2dnZXIoKTtcbiJdfQ==
|