@grnsft/if 0.6.0 → 0.7.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/Refactor-migration-guide.md +68 -82
- package/github-processes.md +3 -9
- package/manifests/examples/builtins/coefficient/failure-invalid-config-input-param.yml +2 -4
- package/manifests/examples/builtins/coefficient/failure-output-param-is-null.yaml +1 -3
- package/manifests/examples/builtins/coefficient/success.yml +1 -3
- package/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-invalid-instance-type.yaml +1 -2
- package/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-invalid-vendor.yaml +3 -4
- package/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-missing-cloud-vendor.yml +2 -3
- package/manifests/examples/builtins/csv-lookup/cloud-metadata/success.yml +1 -2
- package/manifests/examples/builtins/csv-lookup/region-metadata/failure-missing-column.yml +1 -1
- package/manifests/examples/builtins/csv-lookup/region-metadata/failure-missing-output.yml +2 -2
- package/manifests/examples/builtins/csv-lookup/region-metadata/success-renaming.yml +1 -1
- package/manifests/examples/builtins/csv-lookup/region-metadata/success.yml +1 -1
- package/manifests/examples/builtins/csv-lookup/tdp-finder/failure-missing-input-param.yml +1 -2
- package/manifests/examples/builtins/csv-lookup/tdp-finder/failure-unsupported-physical-processor.yml +1 -2
- package/manifests/examples/builtins/csv-lookup/tdp-finder/success.yml +1 -2
- package/manifests/examples/builtins/divide/failure-invalid-config-denominator.yml +3 -5
- package/manifests/examples/builtins/divide/failure-missing-numerator.yml +2 -4
- package/manifests/examples/builtins/divide/success.yml +2 -2
- package/manifests/examples/builtins/exponent/success.yml +1 -1
- package/manifests/examples/builtins/interpolation/success.yml +1 -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 +1 -1
- package/manifests/examples/builtins/mock-observations/failure-missing-timestamp-from-param.yml +1 -1
- package/manifests/examples/builtins/mock-observations/success.yml +1 -1
- package/manifests/examples/builtins/multiply/failure-input-parameter-is-missing.yml +1 -1
- package/manifests/examples/builtins/multiply/success-with-multiple-inputs.yml +1 -1
- package/manifests/examples/builtins/multiply/success.yml +1 -1
- package/manifests/examples/builtins/regex/failure-missing-input-param.yml +1 -1
- package/manifests/examples/builtins/regex/failure-not-matching-with-regex.yml +2 -2
- package/manifests/examples/builtins/regex/success.yml +1 -1
- package/manifests/examples/builtins/sci/failure-invalid-config-value.yml +3 -4
- package/manifests/examples/builtins/sci/failure-missing-input-param.yml +1 -1
- package/manifests/examples/builtins/sci/success.yml +1 -1
- package/manifests/examples/builtins/sci-embodied/scenario-1.yml +27 -0
- package/manifests/examples/builtins/sci-embodied/scenario-2.yml +37 -0
- package/manifests/examples/builtins/sci-embodied/success.yml +13 -0
- package/manifests/examples/builtins/shell/failure-invalid-command.yml +2 -2
- package/manifests/examples/builtins/shell/success.yml +2 -2
- package/manifests/examples/builtins/subtract/success.yml +1 -1
- package/manifests/examples/builtins/sum/failure-missing-input-param.yml +2 -2
- package/manifests/examples/builtins/sum/failure-missing-output-param.yml +2 -2
- package/manifests/examples/builtins/sum/success.yml +1 -1
- package/manifests/examples/builtins/time-converter/success.yaml +3 -3
- package/manifests/examples/builtins/time-sync/failure-config-start-later-end.yml +10 -12
- package/manifests/examples/builtins/time-sync/{failure-missing-global-config.yml → failure-missing-config.yml} +3 -8
- package/manifests/examples/builtins/time-sync/success.yml +2 -2
- package/manifests/examples/features/regroup/failure-missing-cloud-instance-type.yml +1 -1
- package/manifests/examples/features/regroup/success.yml +1 -1
- package/manifests/examples/pipelines/generics.yml +8 -8
- package/manifests/examples/pipelines/instance-metadata.yml +2 -2
- package/manifests/examples/pipelines/nesting.yml +75 -33
- package/manifests/examples/pipelines/outputs-if-diff/pipeline-with-aggregate.yaml +166 -122
- package/manifests/examples/pipelines/outputs-if-diff/pipeline-with-mocks.yaml +130 -70
- package/manifests/examples/pipelines/pipeline-teads-sci.yml +15 -15
- package/manifests/examples/pipelines/pipeline-with-aggregate.yml +57 -27
- package/manifests/examples/pipelines/pipeline-with-mocks.yml +99 -41
- package/manifests/examples/pipelines/scenario-3.yml +1 -1
- package/manifests/examples/pipelines/scenario-4.yml +5 -5
- package/manifests/examples/pipelines/scenario-5.yml +3 -3
- package/manifests/examples/pipelines/sci.yml +12 -12
- package/manifests/examples/pipelines/teads-curve.yml +10 -10
- package/manifests/examples/pipelines/zeros.yml +23 -23
- package/manifests/outputs/bugs/aggregation-error-wrong-metric.yaml +40 -40
- package/manifests/outputs/bugs/input-error-missing-duration.yaml +1 -1
- package/manifests/outputs/bugs/mock-observations-failure-duration-is-zero.yaml +2 -2
- package/manifests/outputs/bugs/pipeline-error-naming-mismatch.yaml +1 -1
- package/manifests/outputs/bugs/pipeline-error-uninitialized-plugin.yaml +1 -1
- package/manifests/outputs/bugs/pipeline-ordering-error.yaml +6 -6
- package/manifests/outputs/builtins/coefficient/failure-invalid-config-input-param.yaml +2 -2
- package/manifests/outputs/builtins/coefficient/failure-output-param-is-null.yaml +1 -1
- package/manifests/outputs/builtins/coefficient/success.yaml +23 -22
- package/manifests/outputs/builtins/csv-lookup/cloud-metadata/failure-invalid-instance-type.yaml +1 -1
- package/manifests/outputs/builtins/csv-lookup/cloud-metadata/failure-invalid-vendor.yaml +76 -0
- package/manifests/outputs/builtins/csv-lookup/cloud-metadata/failure-missing-cloud-vendor.yaml +22 -21
- package/manifests/outputs/builtins/csv-lookup/cloud-metadata/success.yaml +1 -1
- package/manifests/outputs/builtins/csv-lookup/region-metadata/failure-missing-column.yaml +1 -1
- package/manifests/outputs/builtins/csv-lookup/region-metadata/failure-missing-output.yaml +21 -20
- package/manifests/outputs/builtins/csv-lookup/region-metadata/success-renaming.yaml +1 -1
- package/manifests/outputs/builtins/csv-lookup/region-metadata/success.yaml +1 -1
- package/manifests/outputs/builtins/csv-lookup/tdp-finder/failure-missing-input-param.yaml +1 -1
- package/manifests/outputs/builtins/csv-lookup/tdp-finder/failure-unsupported-physical-processor.yaml +1 -1
- package/manifests/outputs/builtins/csv-lookup/tdp-finder/success.yaml +1 -1
- package/manifests/outputs/builtins/divide/failure-invalid-config-denominator.yaml +41 -25
- package/manifests/outputs/builtins/divide/failure-missing-numerator.yaml +32 -23
- package/manifests/outputs/builtins/divide/success-denominator-equal-zero.yaml +2 -2
- package/manifests/outputs/builtins/divide/success.yaml +2 -2
- package/manifests/outputs/builtins/exponent/success.yaml +1 -1
- package/manifests/outputs/builtins/interpolation/interpolation.yaml +1 -1
- package/manifests/outputs/builtins/interpolation/success.yaml +1 -1
- package/manifests/outputs/builtins/mock-observations/failure-invalid-config-cpu-range.yaml +3 -3
- package/manifests/outputs/builtins/mock-observations/failure-invalid-memory-utilization-range.yaml +2 -2
- package/manifests/outputs/builtins/mock-observations/failure-missing-timestamp-from-param.yaml +1 -1
- package/manifests/outputs/builtins/mock-observations/success.yaml +49 -190
- package/manifests/outputs/builtins/multiply/failure-input-parameter-is-missing.yaml +1 -1
- package/manifests/outputs/builtins/multiply/success-with-multiple-inputs.yaml +1 -1
- package/manifests/outputs/builtins/multiply/success.yaml +1 -1
- package/manifests/outputs/builtins/regex/failure-missing-input-param.yaml +1 -1
- package/manifests/outputs/builtins/regex/failure-not-matching-with-regex.yaml +72 -0
- package/manifests/outputs/builtins/regex/success.yaml +1 -1
- package/manifests/outputs/builtins/sci/failure-invalid-config-value.yaml +22 -23
- package/manifests/outputs/builtins/sci/failure-missing-input-param.yaml +1 -1
- package/manifests/outputs/builtins/sci/success.yaml +1 -1
- package/manifests/outputs/builtins/sci-embodied/failure-invalid-default-emission-value.yaml +22 -26
- package/manifests/outputs/builtins/sci-embodied/scenario-1.yaml +100 -0
- package/manifests/outputs/builtins/sci-embodied/scenario-2.yaml +101 -0
- package/manifests/outputs/builtins/sci-embodied/success.yaml +44 -20
- package/manifests/outputs/builtins/shell/failure-invalid-command.yaml +2 -2
- package/manifests/outputs/builtins/shell/success.yaml +1 -1
- package/manifests/outputs/builtins/subtract/success.yaml +1 -1
- package/manifests/outputs/builtins/sum/failure-missing-input-param.yaml +2 -2
- package/manifests/outputs/builtins/sum/failure-missing-output-param.yaml +2 -2
- package/manifests/outputs/builtins/sum/success.yaml +1 -1
- package/manifests/outputs/builtins/time-converter/success.yaml +73 -0
- package/manifests/outputs/builtins/time-sync/failure-config-start-later-end.yaml +3 -3
- package/manifests/outputs/builtins/time-sync/failure-missing-config.yaml +74 -0
- package/manifests/outputs/builtins/time-sync/success.yaml +50 -59
- package/manifests/outputs/features/aggregate-failure-invalid-metrics.yaml +1 -1
- package/manifests/outputs/features/aggregate-failure-missing-metric-in-inputs.yaml +1 -1
- package/manifests/outputs/features/aggregate-horizontal.yaml +4 -2
- package/manifests/outputs/features/aggregate-vertical.yaml +4 -2
- package/manifests/outputs/features/aggregate.yaml +4 -2
- package/manifests/outputs/features/regroup/failure-invalid-regroup.yaml +87 -0
- package/manifests/outputs/features/regroup/failure-missing-cloud-instance-type.yaml +87 -0
- package/manifests/outputs/pipelines/cloud-metadata-divide.yaml +2 -2
- package/manifests/outputs/pipelines/generics.yaml +28 -28
- package/manifests/outputs/pipelines/instance-metadata.yaml +14 -14
- package/manifests/outputs/pipelines/nesting.yaml +713 -486
- package/manifests/outputs/pipelines/pipeline-teads-sci.yaml +63 -32
- package/manifests/outputs/pipelines/scenario-4.yaml +105 -0
- package/manifests/outputs/pipelines/sci.yaml +56 -32
- package/manifests/outputs/pipelines/teads-curve.yaml +18 -18
- package/manifests/outputs/pipelines/zeros.yaml +27 -27
- package/package.json +4 -4
- package/src/__mocks__/mock-manifest.yaml +1 -2
- package/src/if-env/config/env-template.yml +1 -2
- package/src/if-run/builtins/coefficient/README.md +41 -17
- package/src/if-run/builtins/copy-param/README.md +28 -8
- package/src/if-run/builtins/csv-lookup/README.md +31 -11
- package/src/if-run/builtins/divide/README.md +34 -12
- package/src/if-run/builtins/exponent/README.md +29 -11
- package/src/if-run/builtins/interpolation/README.md +37 -22
- package/src/if-run/builtins/mock-observations/README.md +27 -7
- package/src/if-run/builtins/multiply/README.md +27 -9
- package/src/if-run/builtins/regex/README.md +31 -11
- package/src/if-run/builtins/sci/README.md +29 -8
- package/src/if-run/builtins/sci-embodied/README.md +76 -75
- package/src/if-run/builtins/shell/README.md +15 -7
- package/src/if-run/builtins/subtract/README.md +28 -11
- package/src/if-run/builtins/sum/README.md +47 -14
- package/src/if-run/builtins/time-converter/README.md +8 -8
- package/src/if-run/builtins/time-sync/README.md +44 -22
- package/.gitmodules +0 -3
- package/build/common/config/index.d.ts +0 -1
- package/build/common/config/index.js +0 -6
- package/build/common/config/strings.d.ts +0 -9
- package/build/common/config/strings.js +0 -17
- package/build/common/lib/load.d.ts +0 -6
- package/build/common/lib/load.js +0 -18
- package/build/common/types/manifest.d.ts +0 -13
- package/build/common/types/manifest.js +0 -3
- package/build/common/util/debug-logger.d.ts +0 -4
- package/build/common/util/debug-logger.js +0 -115
- package/build/common/util/fs.d.ts +0 -20
- package/build/common/util/fs.js +0 -94
- package/build/common/util/helpers.d.ts +0 -15
- package/build/common/util/helpers.js +0 -80
- package/build/common/util/logger.d.ts +0 -5
- package/build/common/util/logger.js +0 -39
- package/build/common/util/validations.d.ts +0 -367
- package/build/common/util/validations.js +0 -141
- package/build/common/util/yaml.d.ts +0 -12
- package/build/common/util/yaml.js +0 -59
- package/build/if-check/config/config.d.ts +0 -6
- package/build/if-check/config/config.js +0 -31
- package/build/if-check/config/index.d.ts +0 -2
- package/build/if-check/config/index.js +0 -8
- package/build/if-check/config/strings.d.ts +0 -11
- package/build/if-check/config/strings.js +0 -15
- package/build/if-check/index.d.ts +0 -2
- package/build/if-check/index.js +0 -98
- package/build/if-check/types/process-args.d.ts +0 -4
- package/build/if-check/types/process-args.js +0 -3
- package/build/if-check/util/args.d.ts +0 -10
- package/build/if-check/util/args.js +0 -56
- package/build/if-check/util/helpers.d.ts +0 -4
- package/build/if-check/util/helpers.js +0 -18
- package/build/if-check/util/npm.d.ts +0 -4
- package/build/if-check/util/npm.js +0 -59
- package/build/if-csv/config/config.d.ts +0 -6
- package/build/if-csv/config/config.js +0 -36
- package/build/if-csv/config/index.d.ts +0 -2
- package/build/if-csv/config/index.js +0 -8
- package/build/if-csv/config/strings.d.ts +0 -3
- package/build/if-csv/config/strings.js +0 -7
- package/build/if-csv/index.d.ts +0 -2
- package/build/if-csv/index.js +0 -63
- package/build/if-csv/types/csv.d.ts +0 -7
- package/build/if-csv/types/csv.js +0 -3
- package/build/if-csv/types/process-args.d.ts +0 -5
- package/build/if-csv/types/process-args.js +0 -3
- package/build/if-csv/util/args.d.ts +0 -12
- package/build/if-csv/util/args.js +0 -47
- package/build/if-csv/util/helpers.d.ts +0 -9
- package/build/if-csv/util/helpers.js +0 -95
- package/build/if-diff/config/config.d.ts +0 -6
- package/build/if-diff/config/config.js +0 -31
- package/build/if-diff/config/index.d.ts +0 -2
- package/build/if-diff/config/index.js +0 -8
- package/build/if-diff/config/strings.d.ts +0 -6
- package/build/if-diff/config/strings.js +0 -10
- package/build/if-diff/index.d.ts +0 -2
- package/build/if-diff/index.js +0 -46
- package/build/if-diff/lib/compare.d.ts +0 -10
- package/build/if-diff/lib/compare.js +0 -56
- package/build/if-diff/lib/load.d.ts +0 -55
- package/build/if-diff/lib/load.js +0 -51
- package/build/if-diff/types/args.d.ts +0 -5
- package/build/if-diff/types/args.js +0 -3
- package/build/if-diff/types/compare.d.ts +0 -7
- package/build/if-diff/types/compare.js +0 -3
- package/build/if-diff/types/process-args.d.ts +0 -4
- package/build/if-diff/types/process-args.js +0 -3
- package/build/if-diff/util/args.d.ts +0 -5
- package/build/if-diff/util/args.js +0 -51
- package/build/if-diff/util/helpers.d.ts +0 -13
- package/build/if-diff/util/helpers.js +0 -75
- package/build/if-env/config/config.d.ts +0 -6
- package/build/if-env/config/config.js +0 -37
- package/build/if-env/config/index.d.ts +0 -2
- package/build/if-env/config/index.js +0 -8
- package/build/if-env/config/strings.d.ts +0 -7
- package/build/if-env/config/strings.js +0 -11
- package/build/if-env/index.d.ts +0 -2
- package/build/if-env/index.js +0 -40
- package/build/if-env/types/if-env.d.ts +0 -8
- package/build/if-env/types/if-env.js +0 -3
- package/build/if-env/types/npm.d.ts +0 -9
- package/build/if-env/types/npm.js +0 -3
- package/build/if-env/types/process-args.d.ts +0 -5
- package/build/if-env/types/process-args.js +0 -3
- package/build/if-env/util/args.d.ts +0 -12
- package/build/if-env/util/args.js +0 -47
- package/build/if-env/util/helpers.d.ts +0 -20
- package/build/if-env/util/helpers.js +0 -94
- package/build/if-env/util/npm.d.ts +0 -24
- package/build/if-env/util/npm.js +0 -126
- package/build/if-merge/config/config.d.ts +0 -6
- package/build/if-merge/config/config.js +0 -43
- package/build/if-merge/config/index.d.ts +0 -2
- package/build/if-merge/config/index.js +0 -8
- package/build/if-merge/config/strings.d.ts +0 -5
- package/build/if-merge/config/strings.js +0 -9
- package/build/if-merge/index.d.ts +0 -2
- package/build/if-merge/index.js +0 -26
- package/build/if-merge/types/process-args.d.ts +0 -6
- package/build/if-merge/types/process-args.js +0 -3
- package/build/if-merge/util/args.d.ts +0 -9
- package/build/if-merge/util/args.js +0 -59
- package/build/if-merge/util/helpers.d.ts +0 -5
- package/build/if-merge/util/helpers.js +0 -83
- package/build/if-run/builtins/coefficient/index.d.ts +0 -2
- package/build/if-run/builtins/coefficient/index.js +0 -67
- package/build/if-run/builtins/copy-param/index.d.ts +0 -2
- package/build/if-run/builtins/copy-param/index.js +0 -70
- package/build/if-run/builtins/csv-lookup/index.d.ts +0 -2
- package/build/if-run/builtins/csv-lookup/index.js +0 -190
- package/build/if-run/builtins/divide/index.d.ts +0 -2
- package/build/if-run/builtins/divide/index.js +0 -80
- package/build/if-run/builtins/exponent/index.d.ts +0 -2
- package/build/if-run/builtins/exponent/index.js +0 -60
- package/build/if-run/builtins/export-log.d.ts +0 -4
- package/build/if-run/builtins/export-log.js +0 -44
- package/build/if-run/builtins/export-yaml.d.ts +0 -4
- package/build/if-run/builtins/export-yaml.js +0 -30
- package/build/if-run/builtins/index.d.ts +0 -16
- package/build/if-run/builtins/index.js +0 -36
- package/build/if-run/builtins/interpolation/index.d.ts +0 -2
- package/build/if-run/builtins/interpolation/index.js +0 -151
- package/build/if-run/builtins/mock-observations/helpers/common-generator.d.ts +0 -3
- package/build/if-run/builtins/mock-observations/helpers/common-generator.js +0 -29
- package/build/if-run/builtins/mock-observations/helpers/rand-int-generator.d.ts +0 -3
- package/build/if-run/builtins/mock-observations/helpers/rand-int-generator.js +0 -48
- package/build/if-run/builtins/mock-observations/index.d.ts +0 -2
- package/build/if-run/builtins/mock-observations/index.js +0 -116
- package/build/if-run/builtins/mock-observations/interfaces/index.d.ts +0 -6
- package/build/if-run/builtins/mock-observations/interfaces/index.js +0 -3
- package/build/if-run/builtins/multiply/index.d.ts +0 -2
- package/build/if-run/builtins/multiply/index.js +0 -59
- package/build/if-run/builtins/regex/index.d.ts +0 -2
- package/build/if-run/builtins/regex/index.js +0 -76
- package/build/if-run/builtins/sci/index.d.ts +0 -2
- package/build/if-run/builtins/sci/index.js +0 -92
- package/build/if-run/builtins/sci-embodied/index.d.ts +0 -2
- package/build/if-run/builtins/sci-embodied/index.js +0 -156
- package/build/if-run/builtins/shell/index.d.ts +0 -2
- package/build/if-run/builtins/shell/index.js +0 -60
- package/build/if-run/builtins/subtract/index.d.ts +0 -2
- package/build/if-run/builtins/subtract/index.js +0 -61
- package/build/if-run/builtins/sum/index.d.ts +0 -2
- package/build/if-run/builtins/sum/index.js +0 -66
- package/build/if-run/builtins/time-converter/config.d.ts +0 -1
- package/build/if-run/builtins/time-converter/config.js +0 -44
- package/build/if-run/builtins/time-converter/index.d.ts +0 -2
- package/build/if-run/builtins/time-converter/index.js +0 -79
- package/build/if-run/builtins/time-sync/index.d.ts +0 -17
- package/build/if-run/builtins/time-sync/index.js +0 -339
- package/build/if-run/config/config.d.ts +0 -9
- package/build/if-run/config/config.js +0 -73
- package/build/if-run/config/index.d.ts +0 -2
- package/build/if-run/config/index.js +0 -8
- package/build/if-run/config/strings.d.ts +0 -64
- package/build/if-run/config/strings.js +0 -76
- package/build/if-run/index.d.ts +0 -2
- package/build/if-run/index.js +0 -63
- package/build/if-run/lib/aggregate.d.ts +0 -15
- package/build/if-run/lib/aggregate.js +0 -123
- package/build/if-run/lib/compute.d.ts +0 -5
- package/build/if-run/lib/compute.js +0 -142
- package/build/if-run/lib/environment.d.ts +0 -5
- package/build/if-run/lib/environment.js +0 -75
- package/build/if-run/lib/exhaust.d.ts +0 -7
- package/build/if-run/lib/exhaust.js +0 -27
- package/build/if-run/lib/explain.d.ts +0 -9
- package/build/if-run/lib/explain.js +0 -43
- package/build/if-run/lib/initialize.d.ts +0 -6
- package/build/if-run/lib/initialize.js +0 -109
- package/build/if-run/lib/regroup.d.ts +0 -5
- package/build/if-run/lib/regroup.js +0 -64
- package/build/if-run/types/aggregation.d.ts +0 -5
- package/build/if-run/types/aggregation.js +0 -6
- package/build/if-run/types/compute.d.ts +0 -29
- package/build/if-run/types/compute.js +0 -3
- package/build/if-run/types/environment.d.ts +0 -18
- package/build/if-run/types/environment.js +0 -3
- package/build/if-run/types/exhaust-plugin-interface.d.ts +0 -7
- package/build/if-run/types/exhaust-plugin-interface.js +0 -3
- package/build/if-run/types/explain.d.ts +0 -10
- package/build/if-run/types/explain.js +0 -3
- package/build/if-run/types/interface.d.ts +0 -3
- package/build/if-run/types/interface.js +0 -6
- package/build/if-run/types/plugin-storage.d.ts +0 -6
- package/build/if-run/types/plugin-storage.js +0 -3
- package/build/if-run/types/process-args.d.ts +0 -25
- package/build/if-run/types/process-args.js +0 -3
- package/build/if-run/types/time-sync.d.ts +0 -17
- package/build/if-run/types/time-sync.js +0 -3
- package/build/if-run/util/aggregation-helper.d.ts +0 -7
- package/build/if-run/util/aggregation-helper.js +0 -47
- package/build/if-run/util/args.d.ts +0 -9
- package/build/if-run/util/args.js +0 -60
- package/build/if-run/util/helpers.d.ts +0 -14
- package/build/if-run/util/helpers.js +0 -57
- package/build/if-run/util/log-memoize.d.ts +0 -3
- package/build/if-run/util/log-memoize.js +0 -19
- package/build/if-run/util/os-checker.d.ts +0 -7
- package/build/if-run/util/os-checker.js +0 -97
- package/build/if-run/util/plugin-storage.d.ts +0 -14
- package/build/if-run/util/plugin-storage.js +0 -34
- package/grafana/IF_GRAFANA_SETUP.md +0 -71
- package/grafana/if_grafana_config.json +0 -370
- package/manifests/examples/builtins/divide/failure-denominator-equal-zero.yml +0 -38
- package/manifests/examples/builtins/interpolation/interpolation.yml +0 -24
- package/manifests/examples/builtins/sci-embodied/failure-invalid-default-emission-value.yml +0 -23
- package/manifests/examples/builtins/sci-embodied/failure-missing-expected-lifespan.yml +0 -23
- package/manifests/examples/pipelines/scenario-1.yml +0 -34
- package/manifests/examples/pipelines/scenario-2.yml +0 -52
- package/manifests/outputs/bugs/sci-embodied-missing-resources-total.yaml +0 -72
- package/manifests/outputs/builtins/sci-embodied/failure-missing-expected-lifespan.yaml +0 -69
- package/manifests/outputs/pipelines/mock-obs-time-sync.yaml +0 -449
|
@@ -9,9 +9,10 @@ Time sync standardizes the start time, end time and temporal resolution of all o
|
|
|
9
9
|
The following should be defined in the plugin initialization:
|
|
10
10
|
|
|
11
11
|
- `start-time`: global start time as ISO 8061 string
|
|
12
|
-
- `
|
|
12
|
+
- `end-time`: global end time as ISO 8061 string
|
|
13
13
|
- `interval`: temporal resolution in seconds
|
|
14
|
-
- `
|
|
14
|
+
- `allow-padding`: avoid zero/'zeroish' padding (if needed) and error out instead.
|
|
15
|
+
- `upsampling-resolution`: temporal resolution at which observations will be upsampled, in seconds. Defaults to 1.
|
|
15
16
|
|
|
16
17
|
#### Inputs:
|
|
17
18
|
|
|
@@ -28,7 +29,7 @@ A manifest file for a tree might contain many nodes each representing some diffe
|
|
|
28
29
|
We do this by implementing the following logic:
|
|
29
30
|
|
|
30
31
|
- Shift readings to nearest whole seconds
|
|
31
|
-
- Upsample the time series to a base resolution
|
|
32
|
+
- Upsample the time series to a base resolution.
|
|
32
33
|
- Resample to desired resolution by batching 1s entries
|
|
33
34
|
- Extrapolate or trim to ensure all time series share global start and end dates
|
|
34
35
|
|
|
@@ -39,6 +40,7 @@ The next section explains each stage in more detail.
|
|
|
39
40
|
##### Upsampling rules
|
|
40
41
|
|
|
41
42
|
A set of `inputs` is naturally a time series because all `observations` include a `timestamp` and a `duration`, measured in seconds.
|
|
43
|
+
|
|
42
44
|
For each `observation` in `inputs` we check whether the duration is greater than 1 second. If `duration` is greater than 1 second, we create N new `observation` objects, where N is equal to `duration`. This means we have an `observation` for every second between the initial timestamp and the end of the observation period. Each new object receives a timestamp incremented by one second.
|
|
43
45
|
|
|
44
46
|
This looks as follows:
|
|
@@ -54,6 +56,7 @@ This looks as follows:
|
|
|
54
56
|
{timestamp: '2023-12-12T00:00:04.000Z', duration: 1}
|
|
55
57
|
{timestamp: '2023-12-12T00:00:05.000Z', duration: 1}
|
|
56
58
|
]
|
|
59
|
+
|
|
57
60
|
```
|
|
58
61
|
|
|
59
62
|
Each `observation` actually includes many key-value pairs. The precise content of the `observation` is not known until runtime because it depends on which plugins have been included in the pipeline. Different values have to be treated differently when we upsample in time. The method we use to upsample depends on the `aggregation-method` defined for each key in `units.yml`.
|
|
@@ -118,7 +121,7 @@ Note that when `error-on-padding` is `true` no gap-filling is performed and the
|
|
|
118
121
|
|
|
119
122
|
##### Trimming and padding
|
|
120
123
|
|
|
121
|
-
To ensure parity across all the components in a tree, we need to synchronize the start and end times for all time series. To do this, we pass the `time-sync` plugin plugin some
|
|
124
|
+
To ensure parity across all the components in a tree, we need to synchronize the start and end times for all time series. To do this, we pass the `time-sync` plugin plugin some config: `startTime`, `endTime` and `interval`. The `startTime` is the timestamp where _all_ input arrays across the entire tree should begin, and `endTime` is the timestamp where _all_ input arrays across the entire tree should end. `interval` is the time resolution we ultimately want to resample to.
|
|
122
125
|
|
|
123
126
|
To synchronize the time series start and end we check the first element of `inputs` for each node in the tree and determine whether it is earlier, later or equal to the global start time. If it is equal then no action is required. If the `input` start time is earlier than the global start time, we simply discard entries from the front of the array until the start times are aligned. If the `input` start time is after the global start time, then we pad with our "zero-observation" object - one for every second separating the global start time from the `input` start time. The same process is repeated for the end time - we either trim away `input` data or pad it out with "zero-observation" objects.
|
|
124
127
|
|
|
@@ -151,12 +154,31 @@ For example, for `startTime = 2023-12-12T00:00:00.000Z` and `endTime = 2023-12-1
|
|
|
151
154
|
]
|
|
152
155
|
```
|
|
153
156
|
|
|
154
|
-
Note that when `
|
|
157
|
+
Note that when `allow-padding` is `true` no padding is performed and the plugin will error out instead.
|
|
155
158
|
|
|
156
159
|
##### Resampling rules
|
|
157
160
|
|
|
158
161
|
Now we have synchronized, continuous, high resolution time series data, we can resample. To achieve this, we use `interval`, which sets the global temporal resolution for the final, processed time series. `interval` is expressed in units of seconds, which means we can simply batch `observations` together in groups of size `interval`. For each value in each object we either sum, average or copy the values into one single summary object representing each time bucket of size `interval` depending on their `aggregation-method` defined in `aggregation` section in the manifest file. The returned array is the final, synchronized time series at the desired temporal resolution.
|
|
159
162
|
|
|
163
|
+
#### Setting a custom upsampling resolution
|
|
164
|
+
|
|
165
|
+
The model defaults to upsampling observations to a 1-second resolution. However, this can lead to unnecessary effort, as upsampling at a coarser resolution is often sufficient, provided it doesn't interfere with the accuracy of resampling. To optimize performance, we can set the `upsampling-resolution` parameter in the configuration to a more appropriate value. The chosen value should meet the following criteria :
|
|
166
|
+
|
|
167
|
+
- It should evenly divide all observation durations within the dataset.
|
|
168
|
+
- It must be a divisor of the `interval`.
|
|
169
|
+
- It should also divide any gaps between observations, as well as the start and end paddings.
|
|
170
|
+
|
|
171
|
+
For example, for `interval = 10` and this time-series
|
|
172
|
+
|
|
173
|
+
```ts
|
|
174
|
+
[
|
|
175
|
+
{timestamp: '2023-12-12T00:00:00.000Z', duration: 300},
|
|
176
|
+
]
|
|
177
|
+
````
|
|
178
|
+
setting the `upsampling-resolution` to `10s` is preferable to the default behavior.
|
|
179
|
+
If the default behavior were used, the model would create `300` samples of `1s` each, which would be inefficient. By setting a custom `upsampling-resolution` of `10s`, the model only generates `30` samples, each representing `10s`.
|
|
180
|
+
|
|
181
|
+
|
|
160
182
|
#### Assumptions and limitations
|
|
161
183
|
|
|
162
184
|
To do time synchronization, we assume:
|
|
@@ -170,12 +192,13 @@ To run the plugin, you must first create an instance of `TimeSync`.
|
|
|
170
192
|
Then, you can call `execute()`.
|
|
171
193
|
|
|
172
194
|
```typescript
|
|
173
|
-
const
|
|
195
|
+
const config = {
|
|
174
196
|
'start-time': '2023-12-12T00:00:00.000Z',
|
|
175
197
|
'end-time': '2023-12-12T00:00:30.000Z',
|
|
176
|
-
interval: 10
|
|
198
|
+
interval: 10,
|
|
199
|
+
'allow-padding': true,
|
|
177
200
|
}
|
|
178
|
-
const timeSync = TimeSync(
|
|
201
|
+
const timeSync = TimeSync(config);
|
|
179
202
|
const results = timeSync.execute([
|
|
180
203
|
{
|
|
181
204
|
timestamp: '2023-12-12T00:00:00.000Z'
|
|
@@ -213,8 +236,8 @@ initialize:
|
|
|
213
236
|
method: TeadsCurve
|
|
214
237
|
path: '@grnsft/if-unofficial-plugins'
|
|
215
238
|
sci-e:
|
|
216
|
-
method:
|
|
217
|
-
path: '
|
|
239
|
+
method: SciEmbodied
|
|
240
|
+
path: 'builtin'
|
|
218
241
|
sci-embodied:
|
|
219
242
|
path: 'builtin'
|
|
220
243
|
method: SciEmbodied
|
|
@@ -224,10 +247,11 @@ initialize:
|
|
|
224
247
|
time-sync:
|
|
225
248
|
method: TimeSync
|
|
226
249
|
path: builtin
|
|
227
|
-
|
|
250
|
+
config:
|
|
228
251
|
start-time: '2023-12-12T00:00:00.000Z' # ISO timestamp
|
|
229
252
|
end-time: '2023-12-12T00:01:00.000Z' # ISO timestamp
|
|
230
253
|
interval: 5 # seconds
|
|
254
|
+
allow-padding: true
|
|
231
255
|
tree:
|
|
232
256
|
children:
|
|
233
257
|
child: # an advanced grouping node
|
|
@@ -238,19 +262,16 @@ tree:
|
|
|
238
262
|
- sci-embodied
|
|
239
263
|
- sci-o
|
|
240
264
|
- time-sync
|
|
241
|
-
config:
|
|
242
|
-
teads-curve:
|
|
243
|
-
cpu/thermal-design-power: 65
|
|
244
|
-
sci-embodied:
|
|
245
|
-
device/emissions-embodied: 251000 # gCO2eq
|
|
246
|
-
time-reserved: 3600 # 1 hour in s
|
|
247
|
-
device/expected-lifespan: 126144000 # 4 years in seconds
|
|
248
|
-
resources-reserved: 1
|
|
249
|
-
resources-total: 1
|
|
250
|
-
sci-o:
|
|
251
|
-
grid/carbon-intensity: 457 # gCO2/kwh
|
|
252
265
|
children:
|
|
253
266
|
child-1:
|
|
267
|
+
defaults:
|
|
268
|
+
device/emissions-embodied: 251000 # gCO2eq
|
|
269
|
+
time-reserved: 3600 # 1 hour in s
|
|
270
|
+
device/expected-lifespan: 126144000 # 4 years in seconds
|
|
271
|
+
resources-reserved: 1
|
|
272
|
+
resources-total: 1
|
|
273
|
+
grid/carbon-intensity: 457 # gCO2/kwh
|
|
274
|
+
cpu/thermal-design-power: 65
|
|
254
275
|
inputs:
|
|
255
276
|
- timestamp: '2023-12-12T00:00:00.000Z'
|
|
256
277
|
duration: 10
|
|
@@ -260,6 +281,7 @@ tree:
|
|
|
260
281
|
requests: 300
|
|
261
282
|
- timestamp: '2023-12-12T00:00:10.000Z'
|
|
262
283
|
duration: 10
|
|
284
|
+
cpu/thermal-design-power: 65
|
|
263
285
|
cpu/utilization: 20
|
|
264
286
|
carbon: 200
|
|
265
287
|
energy: 200
|
package/.gitmodules
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { STRINGS } from './strings';
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.STRINGS = void 0;
|
|
4
|
-
var strings_1 = require("./strings");
|
|
5
|
-
Object.defineProperty(exports, "STRINGS", { enumerable: true, get: function () { return strings_1.STRINGS; } });
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbW9uL2NvbmZpZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxQ0FBa0M7QUFBMUIsa0dBQUEsT0FBTyxPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtTVFJJTkdTfSBmcm9tICcuL3N0cmluZ3MnO1xuIl19
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.STRINGS = void 0;
|
|
4
|
-
exports.STRINGS = {
|
|
5
|
-
DISCLAIMER_MESSAGE: `
|
|
6
|
-
Incubation Project
|
|
7
|
-
|
|
8
|
-
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.
|
|
9
|
-
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.`,
|
|
10
|
-
SOURCE_IS_NOT_YAML: 'Given source file is not in yaml format.',
|
|
11
|
-
TARGET_IS_NOT_YAML: 'Given target file is not in yaml format.',
|
|
12
|
-
MANIFEST_NOT_FOUND: 'Manifest file not found.',
|
|
13
|
-
SUCCESS_MESSAGE: 'The environment is successfully setup!',
|
|
14
|
-
MANIFEST_IS_MISSING: 'Manifest is missing.',
|
|
15
|
-
DIRECTORY_NOT_FOUND: 'Directory not found.',
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vY29uZmlnL3N0cmluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxPQUFPLEdBQUc7SUFDckIsa0JBQWtCLEVBQUU7Ozs7Mk5BSXFNO0lBQ3pOLGtCQUFrQixFQUFFLDBDQUEwQztJQUM5RCxrQkFBa0IsRUFBRSwwQ0FBMEM7SUFDOUQsa0JBQWtCLEVBQUUsMEJBQTBCO0lBQzlDLGVBQWUsRUFBRSx3Q0FBd0M7SUFDekQsbUJBQW1CLEVBQUUsc0JBQXNCO0lBQzNDLG1CQUFtQixFQUFFLHNCQUFzQjtDQUM1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFNUUklOR1MgPSB7XG4gIERJU0NMQUlNRVJfTUVTU0FHRTogYFxuSW5jdWJhdGlvbiBQcm9qZWN0XG5cblRoaXMgcHJvamVjdCBpcyBhbiBpbmN1YmF0aW9uIHByb2plY3QgYmVpbmcgcnVuIGluc2lkZSB0aGUgR3JlZW4gU29mdHdhcmUgRm91bmRhdGlvbjsgYXMgc3VjaCwgd2UgRE9O4oCZVCByZWNvbW1lbmQgdXNpbmcgaXQgaW4gYW55IGNyaXRpY2FsIHVzZSBjYXNlLiBcbkluY3ViYXRpb24gcHJvamVjdHMgYXJlIGV4cGVyaW1lbnRhbCwgb2ZmZXIgbm8gc3VwcG9ydCBndWFyYW50ZWUsIGhhdmUgbWluaW1hbCBnb3Zlcm5hbmNlIGFuZCBwcm9jZXNzLCBhbmQgbWF5IGJlIHJldGlyZWQgYXQgYW55IG1vbWVudC4gVGhpcyBwcm9qZWN0IG1heSBvbmUgZGF5IGdyYWR1YXRlLCBpbiB3aGljaCBjYXNlIHRoaXMgZGlzY2xhaW1lciB3aWxsIGJlIHJlbW92ZWQuYCxcbiAgU09VUkNFX0lTX05PVF9ZQU1MOiAnR2l2ZW4gc291cmNlIGZpbGUgaXMgbm90IGluIHlhbWwgZm9ybWF0LicsXG4gIFRBUkdFVF9JU19OT1RfWUFNTDogJ0dpdmVuIHRhcmdldCBmaWxlIGlzIG5vdCBpbiB5YW1sIGZvcm1hdC4nLFxuICBNQU5JRkVTVF9OT1RfRk9VTkQ6ICdNYW5pZmVzdCBmaWxlIG5vdCBmb3VuZC4nLFxuICBTVUNDRVNTX01FU1NBR0U6ICdUaGUgZW52aXJvbm1lbnQgaXMgc3VjY2Vzc2Z1bGx5IHNldHVwIScsXG4gIE1BTklGRVNUX0lTX01JU1NJTkc6ICdNYW5pZmVzdCBpcyBtaXNzaW5nLicsXG4gIERJUkVDVE9SWV9OT1RfRk9VTkQ6ICdEaXJlY3Rvcnkgbm90IGZvdW5kLicsXG59O1xuIl19
|
package/build/common/lib/load.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.load = void 0;
|
|
4
|
-
const yaml_1 = require("../util/yaml");
|
|
5
|
-
const config_1 = require("../../if-run/config");
|
|
6
|
-
const { LOADING_MANIFEST } = config_1.STRINGS;
|
|
7
|
-
/**
|
|
8
|
-
* Parses manifest file as an object.
|
|
9
|
-
*/
|
|
10
|
-
const load = async (inputPath) => {
|
|
11
|
-
console.debug(LOADING_MANIFEST);
|
|
12
|
-
const rawManifest = await (0, yaml_1.openYamlFileAsObject)(inputPath);
|
|
13
|
-
return {
|
|
14
|
-
rawManifest,
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
|
-
exports.load = load;
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vbGliL2xvYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdUNBQWtEO0FBRWxELGdEQUE0QztBQUU1QyxNQUFNLEVBQUMsZ0JBQWdCLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBRW5DOztHQUVHO0FBQ0ksTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUFFLFNBQWlCLEVBQUUsRUFBRTtJQUM5QyxPQUFPLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFaEMsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFBLDJCQUFvQixFQUFNLFNBQVMsQ0FBQyxDQUFDO0lBRS9ELE9BQU87UUFDTCxXQUFXO0tBQ1osQ0FBQztBQUNKLENBQUMsQ0FBQztBQVJXLFFBQUEsSUFBSSxRQVFmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtvcGVuWWFtbEZpbGVBc09iamVjdH0gZnJvbSAnLi4vdXRpbC95YW1sJztcblxuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuLi8uLi9pZi1ydW4vY29uZmlnJztcblxuY29uc3Qge0xPQURJTkdfTUFOSUZFU1R9ID0gU1RSSU5HUztcblxuLyoqXG4gKiBQYXJzZXMgbWFuaWZlc3QgZmlsZSBhcyBhbiBvYmplY3QuXG4gKi9cbmV4cG9ydCBjb25zdCBsb2FkID0gYXN5bmMgKGlucHV0UGF0aDogc3RyaW5nKSA9PiB7XG4gIGNvbnNvbGUuZGVidWcoTE9BRElOR19NQU5JRkVTVCk7XG5cbiAgY29uc3QgcmF3TWFuaWZlc3QgPSBhd2FpdCBvcGVuWWFtbEZpbGVBc09iamVjdDxhbnk+KGlucHV0UGF0aCk7XG5cbiAgcmV0dXJuIHtcbiAgICByYXdNYW5pZmVzdCxcbiAgfTtcbn07XG4iXX0=
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { AggregationMethodTypes } from '../../if-run/types/aggregation';
|
|
3
|
-
import { manifestSchema } from '../util/validations';
|
|
4
|
-
export type Manifest = z.infer<typeof manifestSchema>;
|
|
5
|
-
export type GlobalPlugins = Manifest['initialize']['plugins'];
|
|
6
|
-
export type PluginOptions = GlobalPlugins[string];
|
|
7
|
-
export type AggregationParams = Manifest['aggregation'];
|
|
8
|
-
export type AggregationMetricsWithMethod = {
|
|
9
|
-
[key: string]: AggregationMethodTypes;
|
|
10
|
-
};
|
|
11
|
-
export type AggregationParamsSure = Extract<Manifest['aggregation'], {}>;
|
|
12
|
-
export type Context = Omit<Manifest, 'tree'>;
|
|
13
|
-
export type ContextWithExec = Omit<Manifest, 'tree'>;
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuaWZlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbW9uL3R5cGVzL21hbmlmZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3p9IGZyb20gJ3pvZCc7XG5cbmltcG9ydCB7QWdncmVnYXRpb25NZXRob2RUeXBlc30gZnJvbSAnLi4vLi4vaWYtcnVuL3R5cGVzL2FnZ3JlZ2F0aW9uJztcblxuaW1wb3J0IHttYW5pZmVzdFNjaGVtYX0gZnJvbSAnLi4vdXRpbC92YWxpZGF0aW9ucyc7XG5cbmV4cG9ydCB0eXBlIE1hbmlmZXN0ID0gei5pbmZlcjx0eXBlb2YgbWFuaWZlc3RTY2hlbWE+O1xuXG5leHBvcnQgdHlwZSBHbG9iYWxQbHVnaW5zID0gTWFuaWZlc3RbJ2luaXRpYWxpemUnXVsncGx1Z2lucyddO1xuXG5leHBvcnQgdHlwZSBQbHVnaW5PcHRpb25zID0gR2xvYmFsUGx1Z2luc1tzdHJpbmddO1xuXG5leHBvcnQgdHlwZSBBZ2dyZWdhdGlvblBhcmFtcyA9IE1hbmlmZXN0WydhZ2dyZWdhdGlvbiddO1xuZXhwb3J0IHR5cGUgQWdncmVnYXRpb25NZXRyaWNzV2l0aE1ldGhvZCA9IHtcbiAgW2tleTogc3RyaW5nXTogQWdncmVnYXRpb25NZXRob2RUeXBlcztcbn07XG5cbmV4cG9ydCB0eXBlIEFnZ3JlZ2F0aW9uUGFyYW1zU3VyZSA9IEV4dHJhY3Q8TWFuaWZlc3RbJ2FnZ3JlZ2F0aW9uJ10sIHt9PjtcblxuZXhwb3J0IHR5cGUgQ29udGV4dCA9IE9taXQ8TWFuaWZlc3QsICd0cmVlJz47XG5cbmV4cG9ydCB0eXBlIENvbnRleHRXaXRoRXhlYyA9IE9taXQ8TWFuaWZlc3QsICd0cmVlJz47XG4iXX0=
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.debugLogger = void 0;
|
|
4
|
-
const config_1 = require("../../if-run/config");
|
|
5
|
-
const logMessagesKeys = [
|
|
6
|
-
'STARTING_IF',
|
|
7
|
-
'EXITING_IF',
|
|
8
|
-
'LOADING_MANIFEST',
|
|
9
|
-
'VALIDATING_MANIFEST',
|
|
10
|
-
'CAPTURING_RUNTIME_ENVIRONMENT_DATA',
|
|
11
|
-
'CHECKING_AGGREGATION_METHOD',
|
|
12
|
-
'INITIALIZING_PLUGINS',
|
|
13
|
-
'INITIALIZING_PLUGIN',
|
|
14
|
-
'LOADING_PLUGIN_FROM_PATH',
|
|
15
|
-
'COMPUTING_PIPELINE_FOR_NODE',
|
|
16
|
-
'MERGING_DEFAULTS_WITH_INPUT_DATA',
|
|
17
|
-
'AGGREGATING_OUTPUTS',
|
|
18
|
-
'AGGREGATING_NODE',
|
|
19
|
-
'PREPARING_OUTPUT_DATA',
|
|
20
|
-
'EXPORTING_TO_YAML_FILE',
|
|
21
|
-
];
|
|
22
|
-
var LogLevel;
|
|
23
|
-
(function (LogLevel) {
|
|
24
|
-
LogLevel["Info"] = "INFO";
|
|
25
|
-
LogLevel["Warn"] = "WARN";
|
|
26
|
-
LogLevel["Error"] = "ERROR";
|
|
27
|
-
LogLevel["Debug"] = "DEBUG";
|
|
28
|
-
})(LogLevel || (LogLevel = {}));
|
|
29
|
-
const originalConsole = {
|
|
30
|
-
log: console.log,
|
|
31
|
-
info: console.info,
|
|
32
|
-
warn: console.warn,
|
|
33
|
-
error: console.error,
|
|
34
|
-
debug: console.debug,
|
|
35
|
-
};
|
|
36
|
-
/**
|
|
37
|
-
* Overrides console methods with custom debug logging.
|
|
38
|
-
*/
|
|
39
|
-
const overrideConsoleMethods = (debugMode) => {
|
|
40
|
-
console.log = (...args) => debugLog(LogLevel.Info, args, debugMode);
|
|
41
|
-
console.info = (...args) => debugLog(LogLevel.Info, args, debugMode);
|
|
42
|
-
console.warn = (...args) => debugLog(LogLevel.Warn, args, debugMode);
|
|
43
|
-
console.error = (...args) => debugLog(LogLevel.Error, args, debugMode);
|
|
44
|
-
console.debug = (...args) => debugLog(LogLevel.Debug, args, debugMode);
|
|
45
|
-
};
|
|
46
|
-
/**
|
|
47
|
-
* Creates an encapsulated object to retrieve the plugin name.
|
|
48
|
-
*/
|
|
49
|
-
const pluginNameManager = (() => {
|
|
50
|
-
let pluginName = '';
|
|
51
|
-
const manager = {
|
|
52
|
-
get currentPluginName() {
|
|
53
|
-
return pluginName;
|
|
54
|
-
},
|
|
55
|
-
set currentPluginName(value) {
|
|
56
|
-
pluginName = value;
|
|
57
|
-
},
|
|
58
|
-
};
|
|
59
|
-
return manager;
|
|
60
|
-
})();
|
|
61
|
-
/**
|
|
62
|
-
* Sets the name of the currently executing plugin.
|
|
63
|
-
*/
|
|
64
|
-
const setExecutingPluginName = (pluginName) => {
|
|
65
|
-
pluginNameManager.currentPluginName = pluginName;
|
|
66
|
-
};
|
|
67
|
-
/**
|
|
68
|
-
* Logs messages with the specified log level and format.
|
|
69
|
-
*/
|
|
70
|
-
const debugLog = (level, args, debugMode) => {
|
|
71
|
-
if (!debugMode) {
|
|
72
|
-
if (level === LogLevel.Debug) {
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
const isDebugLog = typeof args[0] === 'string' &&
|
|
76
|
-
logMessagesKeys.some(key => {
|
|
77
|
-
const message = typeof config_1.STRINGS[key] === 'function'
|
|
78
|
-
? config_1.STRINGS[key].call(null, '')
|
|
79
|
-
: config_1.STRINGS[key];
|
|
80
|
-
return args[0].includes(message);
|
|
81
|
-
});
|
|
82
|
-
if (!isDebugLog) {
|
|
83
|
-
originalConsole.log(...args);
|
|
84
|
-
}
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
87
|
-
if (args[0].includes('# start')) {
|
|
88
|
-
originalConsole.log(...args);
|
|
89
|
-
return;
|
|
90
|
-
}
|
|
91
|
-
const date = new Date().toISOString();
|
|
92
|
-
const plugin = pluginNameManager.currentPluginName;
|
|
93
|
-
const formattedMessage = `${level}: ${date}: ${plugin ? plugin + ': ' : ''}${args.join(', ')}`;
|
|
94
|
-
if (debugMode) {
|
|
95
|
-
switch (level) {
|
|
96
|
-
case LogLevel.Info:
|
|
97
|
-
originalConsole.info(formattedMessage);
|
|
98
|
-
break;
|
|
99
|
-
case LogLevel.Warn:
|
|
100
|
-
originalConsole.warn(formattedMessage);
|
|
101
|
-
break;
|
|
102
|
-
case LogLevel.Error:
|
|
103
|
-
originalConsole.error(formattedMessage);
|
|
104
|
-
break;
|
|
105
|
-
case LogLevel.Debug:
|
|
106
|
-
originalConsole.debug(formattedMessage);
|
|
107
|
-
break;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
};
|
|
111
|
-
exports.debugLogger = {
|
|
112
|
-
overrideConsoleMethods,
|
|
113
|
-
setExecutingPluginName,
|
|
114
|
-
};
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWctbG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1vbi91dGlsL2RlYnVnLWxvZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnREFBNEM7QUFFNUMsTUFBTSxlQUFlLEdBQTZCO0lBQ2hELGFBQWE7SUFDYixZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLHFCQUFxQjtJQUNyQixvQ0FBb0M7SUFDcEMsNkJBQTZCO0lBQzdCLHNCQUFzQjtJQUN0QixxQkFBcUI7SUFDckIsMEJBQTBCO0lBQzFCLDZCQUE2QjtJQUM3QixrQ0FBa0M7SUFDbEMscUJBQXFCO0lBQ3JCLGtCQUFrQjtJQUNsQix1QkFBdUI7SUFDdkIsd0JBQXdCO0NBQ3pCLENBQUM7QUFFRixJQUFLLFFBS0o7QUFMRCxXQUFLLFFBQVE7SUFDWCx5QkFBYSxDQUFBO0lBQ2IseUJBQWEsQ0FBQTtJQUNiLDJCQUFlLENBQUE7SUFDZiwyQkFBZSxDQUFBO0FBQ2pCLENBQUMsRUFMSSxRQUFRLEtBQVIsUUFBUSxRQUtaO0FBRUQsTUFBTSxlQUFlLEdBQUc7SUFDdEIsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHO0lBQ2hCLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtJQUNsQixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7SUFDbEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO0lBQ3BCLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztDQUNyQixDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLHNCQUFzQixHQUFHLENBQUMsU0FBa0IsRUFBRSxFQUFFO0lBQ3BELE9BQU8sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLElBQVcsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzNFLE9BQU8sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxHQUFHLElBQVcsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzVFLE9BQU8sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxHQUFHLElBQVcsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzVFLE9BQU8sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLElBQVcsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzlFLE9BQU8sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLElBQVcsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQ2hGLENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEdBQUcsRUFBRTtJQUM5QixJQUFJLFVBQVUsR0FBdUIsRUFBRSxDQUFDO0lBRXhDLE1BQU0sT0FBTyxHQUFHO1FBQ2QsSUFBSSxpQkFBaUI7WUFDbkIsT0FBTyxVQUFVLENBQUM7UUFDcEIsQ0FBQztRQUNELElBQUksaUJBQWlCLENBQUMsS0FBeUI7WUFDN0MsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUNyQixDQUFDO0tBQ0YsQ0FBQztJQUVGLE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFFTDs7R0FFRztBQUNILE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxVQUFtQixFQUFFLEVBQUU7SUFDckQsaUJBQWlCLENBQUMsaUJBQWlCLEdBQUcsVUFBVSxDQUFDO0FBQ25ELENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFlLEVBQUUsSUFBVyxFQUFFLFNBQWtCLEVBQUUsRUFBRTtJQUNwRSxJQUFJLENBQUMsU0FBUyxFQUFFO1FBQ2QsSUFBSSxLQUFLLEtBQUssUUFBUSxDQUFDLEtBQUssRUFBRTtZQUM1QixPQUFPO1NBQ1I7UUFFRCxNQUFNLFVBQVUsR0FDZCxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxRQUFRO1lBQzNCLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ3pCLE1BQU0sT0FBTyxHQUNYLE9BQU8sZ0JBQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxVQUFVO29CQUNoQyxDQUFDLENBQUUsZ0JBQU8sQ0FBQyxHQUFHLENBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztvQkFDM0MsQ0FBQyxDQUFFLGdCQUFPLENBQUMsR0FBRyxDQUFZLENBQUM7Z0JBRS9CLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuQyxDQUFDLENBQUMsQ0FBQztRQUVMLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDZixlQUFlLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7U0FDOUI7UUFFRCxPQUFPO0tBQ1I7SUFFRCxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUU7UUFDL0IsZUFBZSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQzdCLE9BQU87S0FDUjtJQUVELE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdEMsTUFBTSxNQUFNLEdBQUcsaUJBQWlCLENBQUMsaUJBQWlCLENBQUM7SUFDbkQsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLEtBQUssS0FBSyxJQUFJLEtBQ3hDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDM0IsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7SUFFckIsSUFBSSxTQUFTLEVBQUU7UUFDYixRQUFRLEtBQUssRUFBRTtZQUNiLEtBQUssUUFBUSxDQUFDLElBQUk7Z0JBQ2hCLGVBQWUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztnQkFDdkMsTUFBTTtZQUNSLEtBQUssUUFBUSxDQUFDLElBQUk7Z0JBQ2hCLGVBQWUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztnQkFDdkMsTUFBTTtZQUNSLEtBQUssUUFBUSxDQUFDLEtBQUs7Z0JBQ2pCLGVBQWUsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztnQkFDeEMsTUFBTTtZQUNSLEtBQUssUUFBUSxDQUFDLEtBQUs7Z0JBQ2pCLGVBQWUsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztnQkFDeEMsTUFBTTtTQUNUO0tBQ0Y7QUFDSCxDQUFDLENBQUM7QUFFVyxRQUFBLFdBQVcsR0FBRztJQUN6QixzQkFBc0I7SUFDdEIsc0JBQXNCO0NBQ3ZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1NUUklOR1N9IGZyb20gJy4uLy4uL2lmLXJ1bi9jb25maWcnO1xuXG5jb25zdCBsb2dNZXNzYWdlc0tleXM6IChrZXlvZiB0eXBlb2YgU1RSSU5HUylbXSA9IFtcbiAgJ1NUQVJUSU5HX0lGJyxcbiAgJ0VYSVRJTkdfSUYnLFxuICAnTE9BRElOR19NQU5JRkVTVCcsXG4gICdWQUxJREFUSU5HX01BTklGRVNUJyxcbiAgJ0NBUFRVUklOR19SVU5USU1FX0VOVklST05NRU5UX0RBVEEnLFxuICAnQ0hFQ0tJTkdfQUdHUkVHQVRJT05fTUVUSE9EJyxcbiAgJ0lOSVRJQUxJWklOR19QTFVHSU5TJyxcbiAgJ0lOSVRJQUxJWklOR19QTFVHSU4nLFxuICAnTE9BRElOR19QTFVHSU5fRlJPTV9QQVRIJyxcbiAgJ0NPTVBVVElOR19QSVBFTElORV9GT1JfTk9ERScsXG4gICdNRVJHSU5HX0RFRkFVTFRTX1dJVEhfSU5QVVRfREFUQScsXG4gICdBR0dSRUdBVElOR19PVVRQVVRTJyxcbiAgJ0FHR1JFR0FUSU5HX05PREUnLFxuICAnUFJFUEFSSU5HX09VVFBVVF9EQVRBJyxcbiAgJ0VYUE9SVElOR19UT19ZQU1MX0ZJTEUnLFxuXTtcblxuZW51bSBMb2dMZXZlbCB7XG4gIEluZm8gPSAnSU5GTycsXG4gIFdhcm4gPSAnV0FSTicsXG4gIEVycm9yID0gJ0VSUk9SJyxcbiAgRGVidWcgPSAnREVCVUcnLFxufVxuXG5jb25zdCBvcmlnaW5hbENvbnNvbGUgPSB7XG4gIGxvZzogY29uc29sZS5sb2csXG4gIGluZm86IGNvbnNvbGUuaW5mbyxcbiAgd2FybjogY29uc29sZS53YXJuLFxuICBlcnJvcjogY29uc29sZS5lcnJvcixcbiAgZGVidWc6IGNvbnNvbGUuZGVidWcsXG59O1xuXG4vKipcbiAqIE92ZXJyaWRlcyBjb25zb2xlIG1ldGhvZHMgd2l0aCBjdXN0b20gZGVidWcgbG9nZ2luZy5cbiAqL1xuY29uc3Qgb3ZlcnJpZGVDb25zb2xlTWV0aG9kcyA9IChkZWJ1Z01vZGU6IGJvb2xlYW4pID0+IHtcbiAgY29uc29sZS5sb2cgPSAoLi4uYXJnczogYW55W10pID0+IGRlYnVnTG9nKExvZ0xldmVsLkluZm8sIGFyZ3MsIGRlYnVnTW9kZSk7XG4gIGNvbnNvbGUuaW5mbyA9ICguLi5hcmdzOiBhbnlbXSkgPT4gZGVidWdMb2coTG9nTGV2ZWwuSW5mbywgYXJncywgZGVidWdNb2RlKTtcbiAgY29uc29sZS53YXJuID0gKC4uLmFyZ3M6IGFueVtdKSA9PiBkZWJ1Z0xvZyhMb2dMZXZlbC5XYXJuLCBhcmdzLCBkZWJ1Z01vZGUpO1xuICBjb25zb2xlLmVycm9yID0gKC4uLmFyZ3M6IGFueVtdKSA9PiBkZWJ1Z0xvZyhMb2dMZXZlbC5FcnJvciwgYXJncywgZGVidWdNb2RlKTtcbiAgY29uc29sZS5kZWJ1ZyA9ICguLi5hcmdzOiBhbnlbXSkgPT4gZGVidWdMb2coTG9nTGV2ZWwuRGVidWcsIGFyZ3MsIGRlYnVnTW9kZSk7XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gZW5jYXBzdWxhdGVkIG9iamVjdCB0byByZXRyaWV2ZSB0aGUgcGx1Z2luIG5hbWUuXG4gKi9cbmNvbnN0IHBsdWdpbk5hbWVNYW5hZ2VyID0gKCgpID0+IHtcbiAgbGV0IHBsdWdpbk5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCA9ICcnO1xuXG4gIGNvbnN0IG1hbmFnZXIgPSB7XG4gICAgZ2V0IGN1cnJlbnRQbHVnaW5OYW1lKCkge1xuICAgICAgcmV0dXJuIHBsdWdpbk5hbWU7XG4gICAgfSxcbiAgICBzZXQgY3VycmVudFBsdWdpbk5hbWUodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgICAgcGx1Z2luTmFtZSA9IHZhbHVlO1xuICAgIH0sXG4gIH07XG5cbiAgcmV0dXJuIG1hbmFnZXI7XG59KSgpO1xuXG4vKipcbiAqIFNldHMgdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnRseSBleGVjdXRpbmcgcGx1Z2luLlxuICovXG5jb25zdCBzZXRFeGVjdXRpbmdQbHVnaW5OYW1lID0gKHBsdWdpbk5hbWU/OiBzdHJpbmcpID0+IHtcbiAgcGx1Z2luTmFtZU1hbmFnZXIuY3VycmVudFBsdWdpbk5hbWUgPSBwbHVnaW5OYW1lO1xufTtcblxuLyoqXG4gKiBMb2dzIG1lc3NhZ2VzIHdpdGggdGhlIHNwZWNpZmllZCBsb2cgbGV2ZWwgYW5kIGZvcm1hdC5cbiAqL1xuY29uc3QgZGVidWdMb2cgPSAobGV2ZWw6IExvZ0xldmVsLCBhcmdzOiBhbnlbXSwgZGVidWdNb2RlOiBib29sZWFuKSA9PiB7XG4gIGlmICghZGVidWdNb2RlKSB7XG4gICAgaWYgKGxldmVsID09PSBMb2dMZXZlbC5EZWJ1Zykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGlzRGVidWdMb2cgPVxuICAgICAgdHlwZW9mIGFyZ3NbMF0gPT09ICdzdHJpbmcnICYmXG4gICAgICBsb2dNZXNzYWdlc0tleXMuc29tZShrZXkgPT4ge1xuICAgICAgICBjb25zdCBtZXNzYWdlID1cbiAgICAgICAgICB0eXBlb2YgU1RSSU5HU1trZXldID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgICA/IChTVFJJTkdTW2tleV0gYXMgRnVuY3Rpb24pLmNhbGwobnVsbCwgJycpXG4gICAgICAgICAgICA6IChTVFJJTkdTW2tleV0gYXMgc3RyaW5nKTtcblxuICAgICAgICByZXR1cm4gYXJnc1swXS5pbmNsdWRlcyhtZXNzYWdlKTtcbiAgICAgIH0pO1xuXG4gICAgaWYgKCFpc0RlYnVnTG9nKSB7XG4gICAgICBvcmlnaW5hbENvbnNvbGUubG9nKC4uLmFyZ3MpO1xuICAgIH1cblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChhcmdzWzBdLmluY2x1ZGVzKCcjIHN0YXJ0JykpIHtcbiAgICBvcmlnaW5hbENvbnNvbGUubG9nKC4uLmFyZ3MpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCk7XG4gIGNvbnN0IHBsdWdpbiA9IHBsdWdpbk5hbWVNYW5hZ2VyLmN1cnJlbnRQbHVnaW5OYW1lO1xuICBjb25zdCBmb3JtYXR0ZWRNZXNzYWdlID0gYCR7bGV2ZWx9OiAke2RhdGV9OiAke1xuICAgIHBsdWdpbiA/IHBsdWdpbiArICc6ICcgOiAnJ1xuICB9JHthcmdzLmpvaW4oJywgJyl9YDtcblxuICBpZiAoZGVidWdNb2RlKSB7XG4gICAgc3dpdGNoIChsZXZlbCkge1xuICAgICAgY2FzZSBMb2dMZXZlbC5JbmZvOlxuICAgICAgICBvcmlnaW5hbENvbnNvbGUuaW5mbyhmb3JtYXR0ZWRNZXNzYWdlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIExvZ0xldmVsLldhcm46XG4gICAgICAgIG9yaWdpbmFsQ29uc29sZS53YXJuKGZvcm1hdHRlZE1lc3NhZ2UpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgTG9nTGV2ZWwuRXJyb3I6XG4gICAgICAgIG9yaWdpbmFsQ29uc29sZS5lcnJvcihmb3JtYXR0ZWRNZXNzYWdlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIExvZ0xldmVsLkRlYnVnOlxuICAgICAgICBvcmlnaW5hbENvbnNvbGUuZGVidWcoZm9ybWF0dGVkTWVzc2FnZSk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGRlYnVnTG9nZ2VyID0ge1xuICBvdmVycmlkZUNvbnNvbGVNZXRob2RzLFxuICBzZXRFeGVjdXRpbmdQbHVnaW5OYW1lLFxufTtcbiJdfQ==
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Checks if file exists with the given `filePath`.
|
|
3
|
-
*/
|
|
4
|
-
export declare const isFileExists: (filePath: string) => Promise<boolean>;
|
|
5
|
-
/**
|
|
6
|
-
* Checks if the directory exists with the given `filePath`.
|
|
7
|
-
*/
|
|
8
|
-
export declare const isDirectoryExists: (directoryPath: string) => Promise<boolean>;
|
|
9
|
-
/**
|
|
10
|
-
* Gets all files that have either .yml or .yaml extension in the given directory.
|
|
11
|
-
*/
|
|
12
|
-
export declare const getYamlFiles: (directory: string) => Promise<string[]>;
|
|
13
|
-
/**
|
|
14
|
-
* Gets fileName from the given path without an extension.
|
|
15
|
-
*/
|
|
16
|
-
export declare const getFileName: (filePath: string) => string;
|
|
17
|
-
/**
|
|
18
|
-
* Removes the given file if exists.
|
|
19
|
-
*/
|
|
20
|
-
export declare const removeFileIfExists: (filePath: string) => Promise<void>;
|
package/build/common/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
|
-
const stat = await fs.lstat(directoryPath);
|
|
48
|
-
return stat.isDirectory();
|
|
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 isDirExists = await (0, exports.isDirectoryExists)(fullPath);
|
|
64
|
-
if (isDirExists) {
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbW9uL3V0aWwvZnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnREFBa0M7QUFDbEMsMkNBQTZCO0FBRTdCOztHQUVHO0FBQ0ksTUFBTSxZQUFZLEdBQUcsS0FBSyxFQUFFLFFBQWdCLEVBQUUsRUFBRTtJQUNyRCxJQUFJO1FBQ0YsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFBQyxPQUFPLEtBQUssRUFBRTtRQUNkLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7QUFDSCxDQUFDLENBQUM7QUFQVyxRQUFBLFlBQVksZ0JBT3ZCO0FBRUY7O0dBRUc7QUFDSSxNQUFNLGlCQUFpQixHQUFHLEtBQUssRUFBRSxhQUFxQixFQUFFLEVBQUU7SUFDL0QsSUFBSTtRQUNGLE1BQU0sSUFBSSxHQUFHLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMzQyxPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztLQUMzQjtJQUFDLE9BQU8sS0FBSyxFQUFFO1FBQ2QsT0FBTyxLQUFLLENBQUM7S0FDZDtBQUNILENBQUMsQ0FBQztBQVBXLFFBQUEsaUJBQWlCLHFCQU81QjtBQUVGOztHQUVHO0FBQ0ksTUFBTSxZQUFZLEdBQUcsS0FBSyxFQUFFLFNBQWlCLEVBQUUsRUFBRTtJQUN0RCxJQUFJLFNBQVMsR0FBYSxFQUFFLENBQUM7SUFFN0IsTUFBTSxLQUFLLEdBQUcsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRTFDLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFO1FBQ3hCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzVDLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBQSx5QkFBaUIsRUFBQyxRQUFRLENBQUMsQ0FBQztRQUV0RCxJQUFJLFdBQVcsRUFBRTtZQUNmLFNBQVMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBQSxvQkFBWSxFQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDNUQ7YUFBTTtZQUNMLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNuRCxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzFCO1NBQ0Y7S0FDRjtJQUVELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMsQ0FBQztBQW5CVyxRQUFBLFlBQVksZ0JBbUJ2QjtBQUVGOztHQUVHO0FBQ0ksTUFBTSxXQUFXLEdBQUcsQ0FBQyxRQUFnQixFQUFFLEVBQUU7SUFDOUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDekMsQ0FBQyxDQUFDO0FBSlcsUUFBQSxXQUFXLGVBSXRCO0FBRUY7O0dBRUc7QUFDSSxNQUFNLGtCQUFrQixHQUFHLEtBQUssRUFBRSxRQUFnQixFQUFFLEVBQUU7SUFDM0QsSUFBSSxNQUFNLElBQUEsb0JBQVksRUFBQyxRQUFRLENBQUMsRUFBRTtRQUNoQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7S0FDM0I7QUFDSCxDQUFDLENBQUM7QUFKVyxRQUFBLGtCQUFrQixzQkFJN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcy9wcm9taXNlcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuXG4vKipcbiAqIENoZWNrcyBpZiBmaWxlIGV4aXN0cyB3aXRoIHRoZSBnaXZlbiBgZmlsZVBhdGhgLlxuICovXG5leHBvcnQgY29uc3QgaXNGaWxlRXhpc3RzID0gYXN5bmMgKGZpbGVQYXRoOiBzdHJpbmcpID0+IHtcbiAgdHJ5IHtcbiAgICBhd2FpdCBmcy5zdGF0KGZpbGVQYXRoKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn07XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBkaXJlY3RvcnkgZXhpc3RzIHdpdGggdGhlIGdpdmVuIGBmaWxlUGF0aGAuXG4gKi9cbmV4cG9ydCBjb25zdCBpc0RpcmVjdG9yeUV4aXN0cyA9IGFzeW5jIChkaXJlY3RvcnlQYXRoOiBzdHJpbmcpID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBzdGF0ID0gYXdhaXQgZnMubHN0YXQoZGlyZWN0b3J5UGF0aCk7XG4gICAgcmV0dXJuIHN0YXQuaXNEaXJlY3RvcnkoKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn07XG5cbi8qKlxuICogR2V0cyBhbGwgZmlsZXMgdGhhdCBoYXZlIGVpdGhlciAueW1sIG9yIC55YW1sIGV4dGVuc2lvbiBpbiB0aGUgZ2l2ZW4gZGlyZWN0b3J5LlxuICovXG5leHBvcnQgY29uc3QgZ2V0WWFtbEZpbGVzID0gYXN5bmMgKGRpcmVjdG9yeTogc3RyaW5nKSA9PiB7XG4gIGxldCB5YW1sRmlsZXM6IHN0cmluZ1tdID0gW107XG5cbiAgY29uc3QgZmlsZXMgPSBhd2FpdCBmcy5yZWFkZGlyKGRpcmVjdG9yeSk7XG5cbiAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7XG4gICAgY29uc3QgZnVsbFBhdGggPSBwYXRoLmpvaW4oZGlyZWN0b3J5LCBmaWxlKTtcbiAgICBjb25zdCBpc0RpckV4aXN0cyA9IGF3YWl0IGlzRGlyZWN0b3J5RXhpc3RzKGZ1bGxQYXRoKTtcblxuICAgIGlmIChpc0RpckV4aXN0cykge1xuICAgICAgeWFtbEZpbGVzID0geWFtbEZpbGVzLmNvbmNhdChhd2FpdCBnZXRZYW1sRmlsZXMoZnVsbFBhdGgpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGZpbGUuZW5kc1dpdGgoJy55bWwnKSB8fCBmaWxlLmVuZHNXaXRoKCcueWFtbCcpKSB7XG4gICAgICAgIHlhbWxGaWxlcy5wdXNoKGZ1bGxQYXRoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4geWFtbEZpbGVzO1xufTtcblxuLyoqXG4gKiBHZXRzIGZpbGVOYW1lIGZyb20gdGhlIGdpdmVuIHBhdGggd2l0aG91dCBhbiBleHRlbnNpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRGaWxlTmFtZSA9IChmaWxlUGF0aDogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IGJhc2VOYW1lID0gcGF0aC5iYXNlbmFtZShmaWxlUGF0aCk7XG4gIGNvbnN0IGV4dGVuc2lvbiA9IHBhdGguZXh0bmFtZShmaWxlUGF0aCk7XG4gIHJldHVybiBiYXNlTmFtZS5yZXBsYWNlKGV4dGVuc2lvbiwgJycpO1xufTtcblxuLyoqXG4gKiBSZW1vdmVzIHRoZSBnaXZlbiBmaWxlIGlmIGV4aXN0cy5cbiAqL1xuZXhwb3J0IGNvbnN0IHJlbW92ZUZpbGVJZkV4aXN0cyA9IGFzeW5jIChmaWxlUGF0aDogc3RyaW5nKSA9PiB7XG4gIGlmIChhd2FpdCBpc0ZpbGVFeGlzdHMoZmlsZVBhdGgpKSB7XG4gICAgYXdhaXQgZnMudW5saW5rKGZpbGVQYXRoKTtcbiAgfVxufTtcbiJdfQ==
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { exec } from 'child_process';
|
|
3
|
-
/**
|
|
4
|
-
* Promise version of Node's `exec` from `child-process`.
|
|
5
|
-
*/
|
|
6
|
-
export declare const execPromise: typeof exec.__promisify__;
|
|
7
|
-
/**
|
|
8
|
-
* Prepends process path to given `filePath`.
|
|
9
|
-
*/
|
|
10
|
-
export declare const prependFullFilePath: (filePath: string) => string;
|
|
11
|
-
/**
|
|
12
|
-
* Checks if there is piped data, tries to parse yaml from it.
|
|
13
|
-
* Returns empty string if haven't found anything.
|
|
14
|
-
*/
|
|
15
|
-
export declare const parseManifestFromStdin: () => Promise<string>;
|
|
@@ -1,80 +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.parseManifestFromStdin = exports.prependFullFilePath = exports.execPromise = void 0;
|
|
27
|
-
const promises_1 = require("node:readline/promises");
|
|
28
|
-
const child_process_1 = require("child_process");
|
|
29
|
-
const path = __importStar(require("path"));
|
|
30
|
-
const util_1 = require("util");
|
|
31
|
-
/**
|
|
32
|
-
* Promise version of Node's `exec` from `child-process`.
|
|
33
|
-
*/
|
|
34
|
-
exports.execPromise = (0, util_1.promisify)(child_process_1.exec);
|
|
35
|
-
/**
|
|
36
|
-
* Prepends process path to given `filePath`.
|
|
37
|
-
*/
|
|
38
|
-
const prependFullFilePath = (filePath) => {
|
|
39
|
-
const processRunningPath = process.cwd();
|
|
40
|
-
if (path.isAbsolute(filePath)) {
|
|
41
|
-
return filePath;
|
|
42
|
-
}
|
|
43
|
-
return path.normalize(`${processRunningPath}/${filePath}`);
|
|
44
|
-
};
|
|
45
|
-
exports.prependFullFilePath = prependFullFilePath;
|
|
46
|
-
/**
|
|
47
|
-
* Checks if there is data piped, then collects it.
|
|
48
|
-
* Otherwise returns empty string.
|
|
49
|
-
*/
|
|
50
|
-
const collectPipedData = async () => {
|
|
51
|
-
if (process.stdin.isTTY) {
|
|
52
|
-
return '';
|
|
53
|
-
}
|
|
54
|
-
const readline = (0, promises_1.createInterface)({
|
|
55
|
-
input: process.stdin,
|
|
56
|
-
});
|
|
57
|
-
const data = [];
|
|
58
|
-
for await (const line of readline) {
|
|
59
|
-
data.push(line);
|
|
60
|
-
}
|
|
61
|
-
return data.join('\n');
|
|
62
|
-
};
|
|
63
|
-
/**
|
|
64
|
-
* Checks if there is piped data, tries to parse yaml from it.
|
|
65
|
-
* Returns empty string if haven't found anything.
|
|
66
|
-
*/
|
|
67
|
-
const parseManifestFromStdin = async () => {
|
|
68
|
-
const pipedSourceManifest = await collectPipedData();
|
|
69
|
-
if (!pipedSourceManifest) {
|
|
70
|
-
return '';
|
|
71
|
-
}
|
|
72
|
-
const regex = /# start((?:.*\n)+?)# end/;
|
|
73
|
-
const match = regex.exec(pipedSourceManifest);
|
|
74
|
-
if (!match) {
|
|
75
|
-
return '';
|
|
76
|
-
}
|
|
77
|
-
return match[1];
|
|
78
|
-
};
|
|
79
|
-
exports.parseManifestFromStdin = parseManifestFromStdin;
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vdXRpbC9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscURBQXVEO0FBQ3ZELGlEQUFtQztBQUNuQywyQ0FBNkI7QUFDN0IsK0JBQStCO0FBRS9COztHQUVHO0FBQ1UsUUFBQSxXQUFXLEdBQUcsSUFBQSxnQkFBUyxFQUFDLG9CQUFJLENBQUMsQ0FBQztBQUUzQzs7R0FFRztBQUNJLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxRQUFnQixFQUFFLEVBQUU7SUFDdEQsTUFBTSxrQkFBa0IsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7SUFFekMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQzdCLE9BQU8sUUFBUSxDQUFDO0tBQ2pCO0lBRUQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsa0JBQWtCLElBQUksUUFBUSxFQUFFLENBQUMsQ0FBQztBQUM3RCxDQUFDLENBQUM7QUFSVyxRQUFBLG1CQUFtQix1QkFROUI7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLGdCQUFnQixHQUFHLEtBQUssSUFBSSxFQUFFO0lBQ2xDLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUU7UUFDdkIsT0FBTyxFQUFFLENBQUM7S0FDWDtJQUVELE1BQU0sUUFBUSxHQUFHLElBQUEsMEJBQWUsRUFBQztRQUMvQixLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7S0FDckIsQ0FBQyxDQUFDO0lBRUgsTUFBTSxJQUFJLEdBQWEsRUFBRSxDQUFDO0lBRTFCLElBQUksS0FBSyxFQUFFLE1BQU0sSUFBSSxJQUFJLFFBQVEsRUFBRTtRQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ2pCO0lBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3pCLENBQUMsQ0FBQztBQUVGOzs7R0FHRztBQUNJLE1BQU0sc0JBQXNCLEdBQUcsS0FBSyxJQUFJLEVBQUU7SUFDL0MsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLGdCQUFnQixFQUFFLENBQUM7SUFFckQsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1FBQ3hCLE9BQU8sRUFBRSxDQUFDO0tBQ1g7SUFFRCxNQUFNLEtBQUssR0FBRywwQkFBMEIsQ0FBQztJQUN6QyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFFOUMsSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNWLE9BQU8sRUFBRSxDQUFDO0tBQ1g7SUFFRCxPQUFPLEtBQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQixDQUFDLENBQUM7QUFmVyxRQUFBLHNCQUFzQiwwQkFlakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NyZWF0ZUludGVyZmFjZX0gZnJvbSAnbm9kZTpyZWFkbGluZS9wcm9taXNlcyc7XG5pbXBvcnQge2V4ZWN9IGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7cHJvbWlzaWZ5fSBmcm9tICd1dGlsJztcblxuLyoqXG4gKiBQcm9taXNlIHZlcnNpb24gb2YgTm9kZSdzIGBleGVjYCBmcm9tIGBjaGlsZC1wcm9jZXNzYC5cbiAqL1xuZXhwb3J0IGNvbnN0IGV4ZWNQcm9taXNlID0gcHJvbWlzaWZ5KGV4ZWMpO1xuXG4vKipcbiAqIFByZXBlbmRzIHByb2Nlc3MgcGF0aCB0byBnaXZlbiBgZmlsZVBhdGhgLlxuICovXG5leHBvcnQgY29uc3QgcHJlcGVuZEZ1bGxGaWxlUGF0aCA9IChmaWxlUGF0aDogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IHByb2Nlc3NSdW5uaW5nUGF0aCA9IHByb2Nlc3MuY3dkKCk7XG5cbiAgaWYgKHBhdGguaXNBYnNvbHV0ZShmaWxlUGF0aCkpIHtcbiAgICByZXR1cm4gZmlsZVBhdGg7XG4gIH1cblxuICByZXR1cm4gcGF0aC5ub3JtYWxpemUoYCR7cHJvY2Vzc1J1bm5pbmdQYXRofS8ke2ZpbGVQYXRofWApO1xufTtcblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlcmUgaXMgZGF0YSBwaXBlZCwgdGhlbiBjb2xsZWN0cyBpdC5cbiAqIE90aGVyd2lzZSByZXR1cm5zIGVtcHR5IHN0cmluZy5cbiAqL1xuY29uc3QgY29sbGVjdFBpcGVkRGF0YSA9IGFzeW5jICgpID0+IHtcbiAgaWYgKHByb2Nlc3Muc3RkaW4uaXNUVFkpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBjb25zdCByZWFkbGluZSA9IGNyZWF0ZUludGVyZmFjZSh7XG4gICAgaW5wdXQ6IHByb2Nlc3Muc3RkaW4sXG4gIH0pO1xuXG4gIGNvbnN0IGRhdGE6IHN0cmluZ1tdID0gW107XG5cbiAgZm9yIGF3YWl0IChjb25zdCBsaW5lIG9mIHJlYWRsaW5lKSB7XG4gICAgZGF0YS5wdXNoKGxpbmUpO1xuICB9XG5cbiAgcmV0dXJuIGRhdGEuam9pbignXFxuJyk7XG59O1xuXG4vKipcbiAqIENoZWNrcyBpZiB0aGVyZSBpcyBwaXBlZCBkYXRhLCB0cmllcyB0byBwYXJzZSB5YW1sIGZyb20gaXQuXG4gKiBSZXR1cm5zIGVtcHR5IHN0cmluZyBpZiBoYXZlbid0IGZvdW5kIGFueXRoaW5nLlxuICovXG5leHBvcnQgY29uc3QgcGFyc2VNYW5pZmVzdEZyb21TdGRpbiA9IGFzeW5jICgpID0+IHtcbiAgY29uc3QgcGlwZWRTb3VyY2VNYW5pZmVzdCA9IGF3YWl0IGNvbGxlY3RQaXBlZERhdGEoKTtcblxuICBpZiAoIXBpcGVkU291cmNlTWFuaWZlc3QpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBjb25zdCByZWdleCA9IC8jIHN0YXJ0KCg/Oi4qXFxuKSs/KSMgZW5kLztcbiAgY29uc3QgbWF0Y2ggPSByZWdleC5leGVjKHBpcGVkU291cmNlTWFuaWZlc3QpO1xuXG4gIGlmICghbWF0Y2gpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICByZXR1cm4gbWF0Y2ghWzFdO1xufTtcbiJdfQ==
|