@grnsft/if 0.5.0 → 0.6.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -17
- package/Refactor-migration-guide.md +110 -164
- package/build/common/config/index.d.ts +1 -0
- package/build/common/config/index.js +6 -0
- package/build/common/config/strings.d.ts +8 -0
- package/build/common/config/strings.js +16 -0
- package/build/common/lib/load.d.ts +6 -0
- package/build/common/lib/load.js +18 -0
- package/build/{types → common/types}/manifest.d.ts +4 -1
- package/build/common/types/manifest.js +3 -0
- package/build/common/util/debug-logger.js +115 -0
- package/build/common/util/fs.js +94 -0
- package/build/common/util/helpers.d.ts +15 -0
- package/build/common/util/helpers.js +80 -0
- package/build/{util → common/util}/logger.js +1 -1
- package/build/{util → common/util}/validations.d.ts +149 -47
- package/build/common/util/validations.js +141 -0
- package/build/common/util/yaml.js +59 -0
- package/build/if-check/config/config.d.ts +6 -0
- package/build/if-check/config/config.js +31 -0
- package/build/{config → if-check/config}/index.d.ts +0 -1
- package/build/if-check/config/index.js +8 -0
- package/build/if-check/config/strings.d.ts +12 -0
- package/build/if-check/config/strings.js +16 -0
- package/build/if-check/index.js +98 -0
- package/build/if-check/types/process-args.d.ts +4 -0
- package/build/if-check/types/process-args.js +3 -0
- package/build/if-check/util/args.d.ts +10 -0
- package/build/if-check/util/args.js +56 -0
- package/build/if-check/util/helpers.d.ts +4 -0
- package/build/if-check/util/helpers.js +18 -0
- package/build/if-check/util/npm.d.ts +4 -0
- package/build/if-check/util/npm.js +59 -0
- package/build/if-csv/config/config.d.ts +6 -0
- package/build/if-csv/config/config.js +37 -0
- package/build/if-csv/config/index.d.ts +2 -0
- package/build/if-csv/config/index.js +8 -0
- package/build/if-csv/config/strings.d.ts +4 -0
- package/build/if-csv/config/strings.js +8 -0
- package/build/if-csv/index.js +63 -0
- package/build/if-csv/types/csv.d.ts +7 -0
- package/build/if-csv/types/csv.js +3 -0
- package/build/if-csv/types/process-args.d.ts +5 -0
- package/build/if-csv/types/process-args.js +3 -0
- package/build/if-csv/util/args.d.ts +12 -0
- package/build/if-csv/util/args.js +51 -0
- package/build/if-csv/util/helpers.d.ts +9 -0
- package/build/if-csv/util/helpers.js +95 -0
- package/build/if-diff/config/config.d.ts +6 -0
- package/build/if-diff/config/config.js +31 -0
- package/build/if-diff/config/index.d.ts +2 -0
- package/build/if-diff/config/index.js +8 -0
- package/build/if-diff/config/strings.d.ts +6 -0
- package/build/if-diff/config/strings.js +10 -0
- package/build/if-diff/index.js +46 -0
- package/build/{lib → if-diff/lib}/compare.d.ts +1 -1
- package/build/if-diff/lib/compare.js +56 -0
- package/build/{lib → if-diff/lib}/load.d.ts +16 -18
- package/build/if-diff/lib/load.js +51 -0
- package/build/if-diff/types/args.js +3 -0
- package/build/if-diff/types/compare.js +3 -0
- package/build/if-diff/types/process-args.d.ts +4 -0
- package/build/if-diff/types/process-args.js +3 -0
- package/build/if-diff/util/args.d.ts +5 -0
- package/build/if-diff/util/args.js +51 -0
- package/build/if-diff/util/helpers.d.ts +13 -0
- package/build/if-diff/util/helpers.js +75 -0
- package/build/if-env/config/config.d.ts +6 -0
- package/build/if-env/config/config.js +37 -0
- package/build/if-env/config/index.d.ts +2 -0
- package/build/if-env/config/index.js +8 -0
- package/build/if-env/config/strings.d.ts +7 -0
- package/build/if-env/config/strings.js +11 -0
- package/build/if-env/index.js +40 -0
- package/build/if-env/types/if-env.js +3 -0
- package/build/if-env/types/npm.js +3 -0
- package/build/if-env/types/process-args.d.ts +5 -0
- package/build/if-env/types/process-args.js +3 -0
- package/build/if-env/util/args.d.ts +12 -0
- package/build/if-env/util/args.js +47 -0
- package/build/if-env/util/helpers.d.ts +20 -0
- package/build/if-env/util/helpers.js +94 -0
- package/build/{util → if-env/util}/npm.d.ts +0 -4
- package/build/if-env/util/npm.js +126 -0
- package/build/if-run/builtins/coefficient/index.d.ts +2 -0
- package/build/if-run/builtins/coefficient/index.js +67 -0
- package/build/if-run/builtins/copy-param/index.d.ts +2 -0
- package/build/if-run/builtins/copy-param/index.js +70 -0
- package/build/if-run/builtins/csv-lookup/index.d.ts +2 -0
- package/build/if-run/builtins/csv-lookup/index.js +190 -0
- package/build/if-run/builtins/divide/index.d.ts +2 -0
- package/build/if-run/builtins/divide/index.js +80 -0
- package/build/if-run/builtins/exponent/index.d.ts +2 -0
- package/build/if-run/builtins/exponent/index.js +60 -0
- package/build/{builtins → if-run/builtins}/export-log.d.ts +1 -1
- package/build/{builtins → if-run/builtins}/export-log.js +1 -1
- package/build/{builtins → if-run/builtins}/export-yaml.d.ts +1 -1
- package/build/if-run/builtins/export-yaml.js +30 -0
- package/build/{builtins → if-run/builtins}/index.d.ts +1 -2
- package/build/{builtins → if-run/builtins}/index.js +4 -6
- package/build/if-run/builtins/interpolation/index.d.ts +2 -0
- package/build/if-run/builtins/interpolation/index.js +151 -0
- package/build/if-run/builtins/mock-observations/helpers/common-generator.js +29 -0
- package/build/if-run/builtins/mock-observations/helpers/rand-int-generator.js +48 -0
- package/build/if-run/builtins/mock-observations/index.d.ts +2 -0
- package/build/if-run/builtins/mock-observations/index.js +116 -0
- package/build/if-run/builtins/mock-observations/interfaces/index.js +3 -0
- package/build/if-run/builtins/multiply/index.d.ts +2 -0
- package/build/if-run/builtins/multiply/index.js +59 -0
- package/build/if-run/builtins/regex/index.d.ts +2 -0
- package/build/if-run/builtins/regex/index.js +76 -0
- package/build/if-run/builtins/sci/config.js +44 -0
- package/build/if-run/builtins/sci/index.d.ts +2 -0
- package/build/if-run/builtins/sci/index.js +92 -0
- package/build/if-run/builtins/sci-embodied/index.d.ts +2 -0
- package/build/if-run/builtins/sci-embodied/index.js +156 -0
- package/build/if-run/builtins/shell/index.d.ts +2 -0
- package/build/if-run/builtins/shell/index.js +60 -0
- package/build/if-run/builtins/subtract/index.d.ts +2 -0
- package/build/if-run/builtins/subtract/index.js +61 -0
- package/build/if-run/builtins/sum/index.d.ts +2 -0
- package/build/if-run/builtins/sum/index.js +66 -0
- package/build/if-run/builtins/time-sync/index.d.ts +17 -0
- package/build/if-run/builtins/time-sync/index.js +339 -0
- package/build/if-run/config/config.d.ts +9 -0
- package/build/if-run/config/config.js +73 -0
- package/build/if-run/config/index.d.ts +2 -0
- package/build/if-run/config/index.js +8 -0
- package/build/{config → if-run/config}/strings.d.ts +28 -54
- package/build/if-run/config/strings.js +76 -0
- package/build/if-run/index.d.ts +2 -0
- package/build/if-run/index.js +63 -0
- package/build/if-run/lib/aggregate.d.ts +15 -0
- package/build/if-run/lib/aggregate.js +123 -0
- package/build/if-run/lib/compute.js +136 -0
- package/build/{lib → if-run/lib}/environment.d.ts +1 -1
- package/build/if-run/lib/environment.js +75 -0
- package/build/{lib → if-run/lib}/exhaust.d.ts +1 -1
- package/build/if-run/lib/exhaust.js +27 -0
- package/build/if-run/lib/explain.d.ts +9 -0
- package/build/if-run/lib/explain.js +43 -0
- package/build/if-run/lib/initialize.d.ts +6 -0
- package/build/if-run/lib/initialize.js +109 -0
- package/build/if-run/lib/regroup.d.ts +5 -0
- package/build/if-run/lib/regroup.js +64 -0
- package/build/if-run/types/aggregation.d.ts +5 -0
- package/build/if-run/types/aggregation.js +6 -0
- package/build/{types → if-run/types}/compute.d.ts +12 -8
- package/build/if-run/types/compute.js +3 -0
- package/build/if-run/types/environment.js +3 -0
- package/build/{types → if-run/types}/exhaust-plugin-interface.d.ts +1 -1
- package/build/if-run/types/exhaust-plugin-interface.js +3 -0
- package/build/if-run/types/explain.d.ts +10 -0
- package/build/if-run/types/explain.js +3 -0
- package/build/if-run/types/interface.d.ts +3 -0
- package/build/if-run/types/interface.js +6 -0
- package/build/if-run/types/plugin-storage.js +3 -0
- package/build/if-run/types/process-args.d.ts +25 -0
- package/build/if-run/types/process-args.js +3 -0
- package/build/if-run/types/time-sync.js +3 -0
- package/build/{util → if-run/util}/aggregation-helper.d.ts +2 -1
- package/build/if-run/util/aggregation-helper.js +47 -0
- package/build/if-run/util/args.d.ts +9 -0
- package/build/if-run/util/args.js +60 -0
- package/build/if-run/util/helpers.d.ts +14 -0
- package/build/if-run/util/helpers.js +57 -0
- package/build/if-run/util/log-memoize.js +19 -0
- package/build/if-run/util/os-checker.js +97 -0
- package/build/{util → if-run/util}/plugin-storage.d.ts +1 -1
- package/build/if-run/util/plugin-storage.js +34 -0
- package/jest.config.js +2 -6
- package/manifests/examples/builtins/coefficient/failure-invalid-config-input-param.yml +2 -2
- package/manifests/examples/builtins/coefficient/failure-output-param-is-null.yaml +3 -3
- package/manifests/examples/builtins/coefficient/success.yml +2 -2
- package/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-invalid-instance-type.yaml +3 -3
- package/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-invalid-vendor.yaml +3 -3
- package/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-missing-cloud-vendor.yml +3 -3
- package/manifests/examples/builtins/csv-lookup/cloud-metadata/success.yml +3 -3
- package/manifests/examples/builtins/csv-lookup/region-metadata/failure-missing-column.yml +3 -3
- package/manifests/examples/builtins/csv-lookup/region-metadata/failure-missing-output.yml +3 -3
- package/manifests/examples/builtins/csv-lookup/region-metadata/success-renaming.yml +4 -4
- package/manifests/examples/builtins/csv-lookup/region-metadata/success.yml +3 -3
- package/manifests/examples/builtins/csv-lookup/tdp-finder/failure-missing-input-param.yml +2 -2
- package/manifests/examples/builtins/csv-lookup/tdp-finder/failure-unsupported-physical-processor.yml +2 -2
- package/manifests/examples/builtins/csv-lookup/tdp-finder/success.yml +2 -2
- package/manifests/examples/builtins/divide/failure-denominator-equal-zero.yml +4 -4
- package/manifests/examples/builtins/divide/failure-invalid-config-denominator.yml +5 -5
- package/manifests/examples/builtins/divide/failure-missing-numerator.yml +4 -4
- package/manifests/examples/builtins/divide/success.yml +4 -6
- package/manifests/examples/builtins/exponent/success.yml +5 -7
- package/manifests/examples/builtins/interpolation/interpolation.yml +2 -2
- package/manifests/examples/builtins/interpolation/success.yml +2 -1
- package/manifests/examples/builtins/mock-observations/failure-invalid-config-cpu-range.yml +2 -2
- package/manifests/examples/builtins/mock-observations/failure-invalid-memory-utilization-range.yml +2 -2
- package/manifests/examples/builtins/mock-observations/failure-missing-timestamp-from-param.yml +2 -2
- package/manifests/examples/builtins/mock-observations/success.yml +2 -2
- package/manifests/examples/builtins/multiply/failure-input-parameter-is-missing.yml +2 -4
- package/manifests/examples/builtins/multiply/success-with-multiple-inputs.yml +2 -4
- package/manifests/examples/builtins/multiply/success.yml +3 -4
- package/manifests/examples/builtins/regex/failure-missing-input-param.yml +2 -4
- package/manifests/examples/builtins/regex/failure-not-matching-with-regex.yml +2 -4
- package/manifests/examples/builtins/regex/success.yml +2 -4
- package/manifests/examples/builtins/sci/failure-invalid-config-value.yml +2 -2
- package/manifests/examples/builtins/sci/failure-missing-input-param.yml +3 -2
- package/manifests/examples/builtins/sci/success.yml +2 -3
- package/manifests/examples/builtins/sci-embodied/failure-invalid-default-emission-value.yml +3 -3
- package/manifests/examples/builtins/sci-embodied/failure-missing-expected-lifespan.yml +2 -2
- package/manifests/examples/builtins/sci-embodied/success.yml +2 -2
- package/manifests/examples/builtins/shell/failure-invalid-command.yml +2 -2
- package/manifests/examples/builtins/shell/success.yml +2 -1
- package/manifests/examples/builtins/subtract/success.yml +6 -8
- package/manifests/examples/builtins/sum/failure-missing-input-param.yml +2 -4
- package/manifests/examples/builtins/sum/failure-missing-output-param.yml +3 -5
- package/manifests/examples/builtins/sum/success.yml +2 -4
- package/manifests/examples/builtins/time-sync/failure-config-start-later-end.yml +3 -3
- package/manifests/examples/builtins/time-sync/failure-missing-global-config.yml +3 -3
- package/manifests/examples/builtins/time-sync/success.yml +2 -2
- package/manifests/examples/{builtins/groupby/failure-invalid-config-group.yml → features/regroup/failure-invalid-regroup.yml} +4 -11
- package/manifests/examples/{builtins/groupby → features/regroup}/failure-missing-cloud-instance-type.yml +5 -12
- package/manifests/examples/{builtins/groupby → features/regroup}/success.yml +4 -11
- package/manifests/examples/pipelines/generics.yml +12 -13
- package/manifests/examples/pipelines/instance-metadata.yml +4 -5
- package/manifests/examples/pipelines/nesting.yml +157 -50
- package/manifests/examples/pipelines/outputs-if-diff/pipeline-with-aggregate.yaml +997 -0
- package/manifests/examples/pipelines/outputs-if-diff/pipeline-with-mocks.yaml +1059 -0
- package/manifests/examples/pipelines/pipeline-teads-sci.yml +11 -11
- package/manifests/examples/pipelines/pipeline-with-aggregate.yml +114 -37
- package/manifests/examples/pipelines/pipeline-with-mocks.yml +193 -103
- package/manifests/examples/pipelines/scenario-1.yml +34 -0
- package/manifests/examples/pipelines/scenario-2.yml +52 -0
- package/manifests/examples/pipelines/scenario-3.yml +86 -0
- package/manifests/examples/pipelines/scenario-4.yml +46 -0
- package/manifests/examples/pipelines/scenario-5.yml +46 -0
- package/manifests/examples/pipelines/sci.yml +15 -17
- package/manifests/examples/pipelines/teads-curve.yml +7 -6
- package/manifests/examples/pipelines/zeros.yml +15 -16
- package/manifests/outputs/bugs/aggregation-error-wrong-metric.yaml +51 -59
- package/manifests/outputs/bugs/input-error-missing-duration.yaml +14 -16
- package/manifests/outputs/bugs/mock-observations-failure-duration-is-zero.yaml +14 -16
- package/manifests/outputs/bugs/pipeline-error-naming-mismatch.yaml +14 -16
- package/manifests/outputs/bugs/pipeline-error-uninitialized-plugin.yaml +15 -17
- package/manifests/outputs/bugs/pipeline-ordering-error.yaml +23 -26
- package/manifests/outputs/bugs/sci-embodied-missing-resources-total.yaml +13 -14
- package/manifests/outputs/{plugins → builtins}/coefficient/failure-invalid-config-input-param.yaml +13 -17
- package/manifests/outputs/{plugins → builtins}/coefficient/failure-output-param-is-null.yaml +13 -17
- package/manifests/outputs/{plugins → builtins}/coefficient/success.yaml +11 -16
- package/manifests/outputs/builtins/csv-lookup/cloud-metadata/failure-invalid-instance-type.yaml +76 -0
- package/manifests/outputs/{plugins → builtins}/csv-lookup/cloud-metadata/failure-missing-cloud-vendor.yaml +16 -19
- package/manifests/outputs/{plugins → builtins}/csv-lookup/cloud-metadata/success.yaml +16 -19
- package/manifests/outputs/{plugins → builtins}/csv-lookup/region-metadata/failure-missing-column.yaml +14 -15
- package/manifests/outputs/{plugins → builtins}/csv-lookup/region-metadata/failure-missing-output.yaml +13 -15
- package/manifests/outputs/{plugins → builtins}/csv-lookup/region-metadata/success-renaming.yaml +13 -15
- package/manifests/outputs/{plugins → builtins}/csv-lookup/region-metadata/success.yaml +14 -16
- package/manifests/outputs/{plugins → builtins}/csv-lookup/tdp-finder/failure-missing-input-param.yaml +13 -16
- package/manifests/outputs/{plugins → builtins}/csv-lookup/tdp-finder/failure-unsupported-physical-processor.yaml +13 -15
- package/manifests/outputs/{plugins → builtins}/csv-lookup/tdp-finder/success.yaml +13 -15
- package/manifests/outputs/{plugins → builtins}/divide/failure-invalid-config-denominator.yaml +13 -17
- package/manifests/outputs/{plugins → builtins}/divide/failure-missing-numerator.yaml +13 -15
- package/manifests/outputs/{plugins → builtins}/divide/success-denominator-equal-zero.yaml +14 -18
- package/manifests/outputs/{plugins → builtins}/divide/success.yaml +14 -18
- package/manifests/outputs/{plugins → builtins}/exponent/success.yaml +13 -17
- package/manifests/outputs/{plugins → builtins}/interpolation/interpolation.yaml +14 -16
- package/manifests/outputs/{plugins → builtins}/interpolation/success.yaml +14 -16
- package/manifests/outputs/{plugins → builtins}/mock-observations/failure-invalid-config-cpu-range.yaml +13 -15
- package/manifests/outputs/{plugins → builtins}/mock-observations/failure-invalid-memory-utilization-range.yaml +13 -15
- package/manifests/outputs/{plugins → builtins}/mock-observations/failure-missing-timestamp-from-param.yaml +13 -15
- package/manifests/outputs/builtins/mock-observations/success.yaml +358 -0
- package/manifests/outputs/{plugins → builtins}/multiply/failure-input-parameter-is-missing.yaml +13 -17
- package/manifests/outputs/{plugins → builtins}/multiply/success-with-multiple-inputs.yaml +13 -17
- package/manifests/outputs/{plugins → builtins}/multiply/success.yaml +13 -17
- package/manifests/outputs/{plugins → builtins}/regex/failure-missing-input-param.yaml +13 -17
- package/manifests/outputs/{plugins → builtins}/regex/success.yaml +14 -19
- package/manifests/outputs/{plugins → builtins}/sci/failure-invalid-config-value.yaml +14 -16
- package/manifests/outputs/{plugins → builtins}/sci/failure-missing-input-param.yaml +13 -15
- package/manifests/outputs/{plugins/sci/success.yml.yaml → builtins/sci/success.yaml} +13 -16
- package/manifests/outputs/{plugins → builtins}/sci-embodied/failure-invalid-default-emission-value.yaml +13 -15
- package/manifests/outputs/{plugins → builtins}/sci-embodied/failure-missing-expected-lifespan.yaml +13 -15
- package/manifests/outputs/{plugins → builtins}/sci-embodied/success.yaml +13 -15
- package/manifests/outputs/{plugins → builtins}/shell/failure-invalid-command.yaml +14 -16
- package/manifests/outputs/{plugins → builtins}/shell/success.yaml +14 -16
- package/manifests/outputs/{plugins → builtins}/subtract/success.yaml +13 -17
- package/manifests/outputs/{plugins → builtins}/sum/failure-missing-input-param.yaml +13 -17
- package/manifests/outputs/{plugins → builtins}/sum/failure-missing-output-param.yaml +13 -17
- package/manifests/outputs/{plugins → builtins}/sum/success.yaml +13 -17
- package/manifests/outputs/{plugins → builtins}/time-sync/failure-config-start-later-end.yaml +20 -23
- package/manifests/outputs/{plugins → builtins}/time-sync/success.yaml +38 -35
- package/manifests/outputs/features/aggregate-failure-invalid-metrics.yaml +17 -18
- package/manifests/outputs/features/aggregate-failure-missing-metric-in-inputs.yaml +17 -18
- package/manifests/outputs/features/aggregate-horizontal.yaml +27 -23
- package/manifests/outputs/features/aggregate-vertical.yaml +33 -29
- package/manifests/outputs/features/aggregate.yaml +33 -29
- package/manifests/outputs/{plugins/groupby/failure-invalid-config-group.yaml → features/failure-invalid-regroup.yaml} +16 -25
- package/manifests/outputs/{plugins/groupby → features}/failure-missing-cloud-instance-type.yaml +16 -25
- package/manifests/outputs/pipelines/cloud-metadata-divide.yaml +14 -18
- package/manifests/outputs/pipelines/generics.yaml +239 -0
- package/manifests/outputs/pipelines/instance-metadata.yaml +98 -0
- package/manifests/outputs/pipelines/mock-obs-time-sync.yaml +246 -147
- package/manifests/outputs/pipelines/nesting.yaml +1799 -0
- package/manifests/outputs/pipelines/pipeline-teads-sci.yaml +276 -0
- package/manifests/outputs/pipelines/sci.yaml +297 -0
- package/manifests/outputs/pipelines/teads-curve.yaml +188 -0
- package/manifests/outputs/pipelines/zeros.yaml +198 -0
- package/package.json +15 -16
- package/src/__mocks__/mock-manifest.yaml +2 -3
- package/src/{config → if-env/config}/env-template.yml +2 -3
- package/src/{builtins → if-run/builtins}/coefficient/README.md +31 -9
- package/src/{builtins → if-run/builtins}/copy-param/README.md +30 -11
- package/src/{builtins → if-run/builtins}/csv-lookup/README.md +32 -20
- package/src/{builtins → if-run/builtins}/divide/README.md +21 -8
- package/src/{builtins → if-run/builtins}/exponent/README.md +19 -8
- package/src/{builtins → if-run/builtins}/interpolation/README.md +21 -6
- package/src/{builtins → if-run/builtins}/mock-observations/README.md +18 -4
- package/src/{builtins → if-run/builtins}/multiply/README.md +20 -8
- package/src/{builtins → if-run/builtins}/regex/README.md +19 -9
- package/src/{builtins → if-run/builtins}/sci/README.md +19 -9
- package/src/{builtins → if-run/builtins}/sci-embodied/README.md +17 -5
- package/src/{builtins → if-run/builtins}/shell/README.md +19 -7
- package/src/{builtins → if-run/builtins}/subtract/README.md +17 -6
- package/src/{builtins → if-run/builtins}/sum/README.md +34 -8
- package/src/if-run/builtins/time-sync/README.md +267 -0
- package/build/builtins/coefficient/index.d.ts +0 -2
- package/build/builtins/coefficient/index.js +0 -65
- package/build/builtins/copy-param/index.d.ts +0 -2
- package/build/builtins/copy-param/index.js +0 -68
- package/build/builtins/csv-lookup/index.d.ts +0 -2
- package/build/builtins/csv-lookup/index.js +0 -188
- package/build/builtins/divide/index.d.ts +0 -2
- package/build/builtins/divide/index.js +0 -78
- package/build/builtins/exponent/index.d.ts +0 -2
- package/build/builtins/exponent/index.js +0 -58
- package/build/builtins/export-csv-raw.d.ts +0 -4
- package/build/builtins/export-csv-raw.js +0 -132
- package/build/builtins/export-csv.d.ts +0 -10
- package/build/builtins/export-csv.js +0 -96
- package/build/builtins/export-yaml.js +0 -30
- package/build/builtins/group-by.d.ts +0 -5
- package/build/builtins/group-by.js +0 -71
- package/build/builtins/interpolation/index.d.ts +0 -2
- package/build/builtins/interpolation/index.js +0 -148
- package/build/builtins/mock-observations/helpers/common-generator.js +0 -29
- package/build/builtins/mock-observations/helpers/rand-int-generator.js +0 -48
- package/build/builtins/mock-observations/index.d.ts +0 -2
- package/build/builtins/mock-observations/index.js +0 -114
- package/build/builtins/mock-observations/interfaces/index.js +0 -3
- package/build/builtins/multiply/index.d.ts +0 -2
- package/build/builtins/multiply/index.js +0 -57
- package/build/builtins/regex/index.d.ts +0 -2
- package/build/builtins/regex/index.js +0 -74
- package/build/builtins/sci/config.js +0 -44
- package/build/builtins/sci/index.d.ts +0 -2
- package/build/builtins/sci/index.js +0 -70
- package/build/builtins/sci-embodied/index.d.ts +0 -2
- package/build/builtins/sci-embodied/index.js +0 -114
- package/build/builtins/shell/index.d.ts +0 -2
- package/build/builtins/shell/index.js +0 -58
- package/build/builtins/subtract/index.d.ts +0 -2
- package/build/builtins/subtract/index.js +0 -59
- package/build/builtins/sum/index.d.ts +0 -2
- package/build/builtins/sum/index.js +0 -64
- package/build/builtins/time-sync.d.ts +0 -2
- package/build/builtins/time-sync.js +0 -300
- package/build/check.js +0 -95
- package/build/config/config.d.ts +0 -29
- package/build/config/config.js +0 -147
- package/build/config/index.js +0 -10
- package/build/config/params.d.ts +0 -2
- package/build/config/params.js +0 -196
- package/build/config/strings.js +0 -105
- package/build/diff.js +0 -46
- package/build/env.js +0 -38
- package/build/index.js +0 -48
- package/build/lib/aggregate.d.ts +0 -6
- package/build/lib/aggregate.js +0 -77
- package/build/lib/compare.js +0 -56
- package/build/lib/compute.js +0 -91
- package/build/lib/environment.js +0 -75
- package/build/lib/exhaust.js +0 -53
- package/build/lib/initialize.d.ts +0 -6
- package/build/lib/initialize.js +0 -101
- package/build/lib/load.js +0 -70
- package/build/lib/parameterize.d.ts +0 -6
- package/build/lib/parameterize.js +0 -55
- package/build/types/aggregation.d.ts +0 -2
- package/build/types/aggregation.js +0 -5
- package/build/types/compute.js +0 -3
- package/build/types/environment.js +0 -3
- package/build/types/exhaust-plugin-interface.js +0 -3
- package/build/types/if-env.js +0 -3
- package/build/types/interface.d.ts +0 -4
- package/build/types/interface.js +0 -8
- package/build/types/lib/compare.js +0 -3
- package/build/types/manifest.js +0 -3
- package/build/types/npm.js +0 -3
- package/build/types/parameters.d.ts +0 -5
- package/build/types/parameters.js +0 -5
- package/build/types/plugin-storage.js +0 -3
- package/build/types/process-args.d.ts +0 -33
- package/build/types/process-args.js +0 -3
- package/build/types/time-sync.js +0 -3
- package/build/types/util/args.js +0 -3
- package/build/util/aggregation-helper.js +0 -55
- package/build/util/args.d.ts +0 -37
- package/build/util/args.js +0 -205
- package/build/util/debug-logger.js +0 -118
- package/build/util/fs.js +0 -94
- package/build/util/helpers.d.ts +0 -57
- package/build/util/helpers.js +0 -251
- package/build/util/json.d.ts +0 -4
- package/build/util/json.js +0 -36
- package/build/util/log-memoize.js +0 -19
- package/build/util/npm.js +0 -152
- package/build/util/os-checker.js +0 -97
- package/build/util/plugin-storage.js +0 -34
- package/build/util/validations.js +0 -124
- package/build/util/yaml.js +0 -59
- package/manifests/outputs/bugs/initialize-error-no-config.yaml +0 -78
- package/manifests/outputs/bugs/initialize-error-no-path.yaml +0 -91
- package/manifests/outputs/bugs/initialize-error-no-plugins.yaml +0 -74
- package/manifests/outputs/divide.yaml +0 -93
- package/manifests/outputs/pipelines/mock-obs-group-by-cloud-meta.yaml +0 -645
- package/manifests/outputs/pipelines/mock-obs-groupby.yaml +0 -178
- package/manifests/outputs/plugins/csv-lookup/cloud-metadata/failure-invalid-instance-type.yaml +0 -27
- package/manifests/outputs/plugins/csv-lookup/cloud-metadata/failure-invalid-vendor.yaml +0 -27
- package/manifests/outputs/plugins/groupby/success.yaml +0 -101
- package/manifests/outputs/plugins/mock-observations/success.yaml +0 -220
- package/manifests/outputs/plugins/regex/failure-not-matching-with-regex.yaml +0 -76
- package/manifests/outputs/plugins/time-sync/failure-missing-global-config.yaml +0 -78
- package/src/__tests__/integration/templates/integration.yaml +0 -16
- package/src/builtins/README.md +0 -848
- /package/build/{util → common/util}/debug-logger.d.ts +0 -0
- /package/build/{util → common/util}/fs.d.ts +0 -0
- /package/build/{util → common/util}/logger.d.ts +0 -0
- /package/build/{util → common/util}/yaml.d.ts +0 -0
- /package/build/{index.d.ts → if-check/index.d.ts} +0 -0
- /package/build/{check.d.ts → if-csv/index.d.ts} +0 -0
- /package/build/{diff.d.ts → if-diff/index.d.ts} +0 -0
- /package/build/{types/util → if-diff/types}/args.d.ts +0 -0
- /package/build/{types/lib → if-diff/types}/compare.d.ts +0 -0
- /package/build/{env.d.ts → if-env/index.d.ts} +0 -0
- /package/build/{types → if-env/types}/if-env.d.ts +0 -0
- /package/build/{types → if-env/types}/npm.d.ts +0 -0
- /package/build/{builtins → if-run/builtins}/mock-observations/helpers/common-generator.d.ts +0 -0
- /package/build/{builtins → if-run/builtins}/mock-observations/helpers/rand-int-generator.d.ts +0 -0
- /package/build/{builtins → if-run/builtins}/mock-observations/interfaces/index.d.ts +0 -0
- /package/build/{builtins → if-run/builtins}/sci/config.d.ts +0 -0
- /package/build/{lib → if-run/lib}/compute.d.ts +0 -0
- /package/build/{types → if-run/types}/environment.d.ts +0 -0
- /package/build/{types → if-run/types}/plugin-storage.d.ts +0 -0
- /package/build/{types → if-run/types}/time-sync.d.ts +0 -0
- /package/build/{util → if-run/util}/log-memoize.d.ts +0 -0
- /package/build/{util → if-run/util}/os-checker.d.ts +0 -0
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validate = exports.validateManifest = exports.manifestSchema = exports.allDefined = exports.atLeastOneDefined = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const utils_1 = require("@grnsft/if-core/utils");
|
|
6
|
+
const config_1 = require("../../if-run/config");
|
|
7
|
+
const aggregation_1 = require("../../if-run/types/aggregation");
|
|
8
|
+
const { ManifestValidationError, InputValidationError } = utils_1.ERRORS;
|
|
9
|
+
const { VALIDATING_MANIFEST } = config_1.STRINGS;
|
|
10
|
+
/**
|
|
11
|
+
* At least one property defined handler.
|
|
12
|
+
*/
|
|
13
|
+
const atLeastOneDefined = (obj) => Object.values(obj).some(v => v !== undefined);
|
|
14
|
+
exports.atLeastOneDefined = atLeastOneDefined;
|
|
15
|
+
/**
|
|
16
|
+
* All properties are defined handler.
|
|
17
|
+
*/
|
|
18
|
+
const allDefined = (obj) => Object.values(obj).every(v => v !== undefined);
|
|
19
|
+
exports.allDefined = allDefined;
|
|
20
|
+
/**
|
|
21
|
+
* Schema for parameter metadata.
|
|
22
|
+
*/
|
|
23
|
+
const parameterMetadataSchema = zod_1.z
|
|
24
|
+
.object({
|
|
25
|
+
inputs: zod_1.z
|
|
26
|
+
.record(zod_1.z.string(), zod_1.z.object({
|
|
27
|
+
unit: zod_1.z.string(),
|
|
28
|
+
description: zod_1.z.string(),
|
|
29
|
+
'aggregation-method': zod_1.z.string(),
|
|
30
|
+
}))
|
|
31
|
+
.optional()
|
|
32
|
+
.nullable(),
|
|
33
|
+
outputs: zod_1.z
|
|
34
|
+
.record(zod_1.z.string(), zod_1.z.object({
|
|
35
|
+
unit: zod_1.z.string(),
|
|
36
|
+
description: zod_1.z.string(),
|
|
37
|
+
'aggregation-method': zod_1.z.string(),
|
|
38
|
+
}))
|
|
39
|
+
.optional()
|
|
40
|
+
.nullable(),
|
|
41
|
+
})
|
|
42
|
+
.optional();
|
|
43
|
+
/**
|
|
44
|
+
* Validation schema for manifests.
|
|
45
|
+
*/
|
|
46
|
+
exports.manifestSchema = zod_1.z.object({
|
|
47
|
+
name: zod_1.z.string(),
|
|
48
|
+
description: zod_1.z.string().optional().nullable(),
|
|
49
|
+
tags: zod_1.z
|
|
50
|
+
.object({
|
|
51
|
+
kind: zod_1.z.string().optional().nullable(),
|
|
52
|
+
complexity: zod_1.z.string().optional().nullable(),
|
|
53
|
+
category: zod_1.z.string().optional().nullable(),
|
|
54
|
+
})
|
|
55
|
+
.optional()
|
|
56
|
+
.nullable(),
|
|
57
|
+
explainer: zod_1.z.boolean().optional(),
|
|
58
|
+
explain: zod_1.z.record(zod_1.z.string(), zod_1.z.any()).optional(),
|
|
59
|
+
aggregation: zod_1.z
|
|
60
|
+
.object({
|
|
61
|
+
metrics: zod_1.z.array(zod_1.z.string()),
|
|
62
|
+
type: zod_1.z.enum(aggregation_1.AGGREGATION_TYPES),
|
|
63
|
+
})
|
|
64
|
+
.optional()
|
|
65
|
+
.nullable(),
|
|
66
|
+
initialize: zod_1.z.object({
|
|
67
|
+
plugins: zod_1.z.record(zod_1.z.string(), zod_1.z
|
|
68
|
+
.object({
|
|
69
|
+
path: zod_1.z.string(),
|
|
70
|
+
method: zod_1.z.string(),
|
|
71
|
+
'global-config': zod_1.z.record(zod_1.z.string(), zod_1.z.any()).optional(),
|
|
72
|
+
'parameter-metadata': parameterMetadataSchema,
|
|
73
|
+
})
|
|
74
|
+
.optional()),
|
|
75
|
+
}),
|
|
76
|
+
execution: zod_1.z
|
|
77
|
+
.object({
|
|
78
|
+
command: zod_1.z.string().optional(),
|
|
79
|
+
environment: zod_1.z
|
|
80
|
+
.object({
|
|
81
|
+
'if-version': zod_1.z.string(),
|
|
82
|
+
os: zod_1.z.string(),
|
|
83
|
+
'os-version': zod_1.z.string(),
|
|
84
|
+
'node-version': zod_1.z.string(),
|
|
85
|
+
'date-time': zod_1.z.string(),
|
|
86
|
+
dependencies: zod_1.z.array(zod_1.z.string()),
|
|
87
|
+
})
|
|
88
|
+
.optional(),
|
|
89
|
+
status: zod_1.z.string(),
|
|
90
|
+
error: zod_1.z.string().optional(),
|
|
91
|
+
})
|
|
92
|
+
.optional(),
|
|
93
|
+
tree: zod_1.z.record(zod_1.z.string(), zod_1.z.any()),
|
|
94
|
+
});
|
|
95
|
+
/**
|
|
96
|
+
* Validates given `manifest` object to match pattern.
|
|
97
|
+
*/
|
|
98
|
+
const validateManifest = (manifest) => {
|
|
99
|
+
console.debug(VALIDATING_MANIFEST);
|
|
100
|
+
return (0, exports.validate)(exports.manifestSchema, manifest, undefined, ManifestValidationError);
|
|
101
|
+
};
|
|
102
|
+
exports.validateManifest = validateManifest;
|
|
103
|
+
/**
|
|
104
|
+
* Validates given `object` with given `schema`.
|
|
105
|
+
*/
|
|
106
|
+
const validate = (schema, object, index, errorConstructor = InputValidationError) => {
|
|
107
|
+
const validationResult = schema.safeParse(object);
|
|
108
|
+
if (!validationResult.success) {
|
|
109
|
+
throw new errorConstructor(prettifyErrorMessage(validationResult.error.message, index));
|
|
110
|
+
}
|
|
111
|
+
return validationResult.data;
|
|
112
|
+
};
|
|
113
|
+
exports.validate = validate;
|
|
114
|
+
/**
|
|
115
|
+
* Error message formatter for zod issues.
|
|
116
|
+
*/
|
|
117
|
+
const prettifyErrorMessage = (issues, index) => {
|
|
118
|
+
const issuesArray = JSON.parse(issues);
|
|
119
|
+
return issuesArray.map((issue) => {
|
|
120
|
+
const code = issue.code;
|
|
121
|
+
let { path, message } = issue;
|
|
122
|
+
const indexErrorMessage = index !== undefined ? ` at index ${index}` : '';
|
|
123
|
+
if (issue.code === zod_1.ZodIssueCode.invalid_union) {
|
|
124
|
+
message = issue.unionErrors[0].issues[0].message;
|
|
125
|
+
path = issue.unionErrors[0].issues[0].path;
|
|
126
|
+
}
|
|
127
|
+
const fullPath = flattenPath(path);
|
|
128
|
+
if (!fullPath) {
|
|
129
|
+
return message;
|
|
130
|
+
}
|
|
131
|
+
return `"${fullPath}" parameter is ${message.toLowerCase()}${indexErrorMessage}. Error code: ${code}.`;
|
|
132
|
+
});
|
|
133
|
+
};
|
|
134
|
+
/**
|
|
135
|
+
* Flattens an array representing a nested path into a string.
|
|
136
|
+
*/
|
|
137
|
+
const flattenPath = (path) => {
|
|
138
|
+
const flattenPath = path.map(part => typeof part === 'number' ? `[${part}]` : part);
|
|
139
|
+
return flattenPath.join('.');
|
|
140
|
+
};
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbW9uL3V0aWwvdmFsaWRhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQXlEO0FBQ3pELGlEQUE2QztBQUU3QyxnREFBNEM7QUFFNUMsZ0VBQWlFO0FBRWpFLE1BQU0sRUFBQyx1QkFBdUIsRUFBRSxvQkFBb0IsRUFBQyxHQUFHLGNBQU0sQ0FBQztBQUMvRCxNQUFNLEVBQUMsbUJBQW1CLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBRXRDOztHQUVHO0FBQ0ksTUFBTSxpQkFBaUIsR0FBRyxDQUMvQixHQUE4QyxFQUM5QyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUM7QUFGdEMsUUFBQSxpQkFBaUIscUJBRXFCO0FBRW5EOztHQUVHO0FBQ0ksTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUE4QyxFQUFFLEVBQUUsQ0FDM0UsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUM7QUFEcEMsUUFBQSxVQUFVLGNBQzBCO0FBRWpEOztHQUVHO0FBQ0gsTUFBTSx1QkFBdUIsR0FBRyxPQUFDO0tBQzlCLE1BQU0sQ0FBQztJQUNOLE1BQU0sRUFBRSxPQUFDO1NBQ04sTUFBTSxDQUNMLE9BQUMsQ0FBQyxNQUFNLEVBQUUsRUFDVixPQUFDLENBQUMsTUFBTSxDQUFDO1FBQ1AsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7UUFDaEIsV0FBVyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7UUFDdkIsb0JBQW9CLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtLQUNqQyxDQUFDLENBQ0g7U0FDQSxRQUFR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QUFDLENBQUM7QUFDL0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtab2RJc3N1ZSwgWm9kSXNzdWVDb2RlLCBab2RTY2hlbWEsIHp9IGZyb20gJ3pvZCc7XG5pbXBvcnQge0VSUk9SU30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3V0aWxzJztcblxuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuLi8uLi9pZi1ydW4vY29uZmlnJztcblxuaW1wb3J0IHtBR0dSRUdBVElPTl9UWVBFU30gZnJvbSAnLi4vLi4vaWYtcnVuL3R5cGVzL2FnZ3JlZ2F0aW9uJztcblxuY29uc3Qge01hbmlmZXN0VmFsaWRhdGlvbkVycm9yLCBJbnB1dFZhbGlkYXRpb25FcnJvcn0gPSBFUlJPUlM7XG5jb25zdCB7VkFMSURBVElOR19NQU5JRkVTVH0gPSBTVFJJTkdTO1xuXG4vKipcbiAqIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSBkZWZpbmVkIGhhbmRsZXIuXG4gKi9cbmV4cG9ydCBjb25zdCBhdExlYXN0T25lRGVmaW5lZCA9IChcbiAgb2JqOiBSZWNvcmQ8c3RyaW5nIHwgbnVtYmVyIHwgc3ltYm9sLCB1bmtub3duPlxuKSA9PiBPYmplY3QudmFsdWVzKG9iaikuc29tZSh2ID0+IHYgIT09IHVuZGVmaW5lZCk7XG5cbi8qKlxuICogQWxsIHByb3BlcnRpZXMgYXJlIGRlZmluZWQgaGFuZGxlci5cbiAqL1xuZXhwb3J0IGNvbnN0IGFsbERlZmluZWQgPSAob2JqOiBSZWNvcmQ8c3RyaW5nIHwgbnVtYmVyIHwgc3ltYm9sLCB1bmtub3duPikgPT5cbiAgT2JqZWN0LnZhbHVlcyhvYmopLmV2ZXJ5KHYgPT4gdiAhPT0gdW5kZWZpbmVkKTtcblxuLyoqXG4gKiBTY2hlbWEgZm9yIHBhcmFtZXRlciBtZXRhZGF0YS5cbiAqL1xuY29uc3QgcGFyYW1ldGVyTWV0YWRhdGFTY2hlbWEgPSB6XG4gIC5vYmplY3Qoe1xuICAgIGlucHV0czogelxuICAgICAgLnJlY29yZChcbiAgICAgICAgei5zdHJpbmcoKSxcbiAgICAgICAgei5vYmplY3Qoe1xuICAgICAgICAgIHVuaXQ6IHouc3RyaW5nKCksXG4gICAgICAgICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCksXG4gICAgICAgICAgJ2FnZ3JlZ2F0aW9uLW1ldGhvZCc6IHouc3RyaW5nKCksXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAub3B0aW9uYWwoKVxuICAgICAgLm51bGxhYmxlKCksXG4gICAgb3V0cHV0czogelxuICAgICAgLnJlY29yZChcbiAgICAgICAgei5zdHJpbmcoKSxcbiAgICAgICAgei5vYmplY3Qoe1xuICAgICAgICAgIHVuaXQ6IHouc3RyaW5nKCksXG4gICAgICAgICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCksXG4gICAgICAgICAgJ2FnZ3JlZ2F0aW9uLW1ldGhvZCc6IHouc3RyaW5nKCksXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAub3B0aW9uYWwoKVxuICAgICAgLm51bGxhYmxlKCksXG4gIH0pXG4gIC5vcHRpb25hbCgpO1xuXG4vKipcbiAqIFZhbGlkYXRpb24gc2NoZW1hIGZvciBtYW5pZmVzdHMuXG4gKi9cbmV4cG9ydCBjb25zdCBtYW5pZmVzdFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgbmFtZTogei5zdHJpbmcoKSxcbiAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKS5udWxsYWJsZSgpLFxuICB0YWdzOiB6XG4gICAgLm9iamVjdCh7XG4gICAgICBraW5kOiB6LnN0cmluZygpLm9wdGlvbmFsKCkubnVsbGFibGUoKSxcbiAgICAgIGNvbXBsZXhpdHk6IHouc3RyaW5nKCkub3B0aW9uYWwoKS5udWxsYWJsZSgpLFxuICAgICAgY2F0ZWdvcnk6IHouc3RyaW5nKCkub3B0aW9uYWwoKS5udWxsYWJsZSgpLFxuICAgIH0pXG4gICAgLm9wdGlvbmFsKClcbiAgICAubnVsbGFibGUoKSxcbiAgZXhwbGFpbmVyOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxuICBleHBsYWluOiB6LnJlY29yZCh6LnN0cmluZygpLCB6LmFueSgpKS5vcHRpb25hbCgpLFxuICBhZ2dyZWdhdGlvbjogelxuICAgIC5vYmplY3Qoe1xuICAgICAgbWV0cmljczogei5hcnJheSh6LnN0cmluZygpKSxcbiAgICAgIHR5cGU6IHouZW51bShBR0dSRUdBVElPTl9UWVBFUyksXG4gICAgfSlcbiAgICAub3B0aW9uYWwoKVxuICAgIC5udWxsYWJsZSgpLFxuICBpbml0aWFsaXplOiB6Lm9iamVjdCh7XG4gICAgcGx1Z2luczogei5yZWNvcmQoXG4gICAgICB6LnN0cmluZygpLFxuICAgICAgelxuICAgICAgICAub2JqZWN0KHtcbiAgICAgICAgICBwYXRoOiB6LnN0cmluZygpLFxuICAgICAgICAgIG1ldGhvZDogei5zdHJpbmcoKSxcbiAgICAgICAgICAnZ2xvYmFsLWNvbmZpZyc6IHoucmVjb3JkKHouc3RyaW5nKCksIHouYW55KCkpLm9wdGlvbmFsKCksXG4gICAgICAgICAgJ3BhcmFtZXRlci1tZXRhZGF0YSc6IHBhcmFtZXRlck1ldGFkYXRhU2NoZW1hLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uYWwoKVxuICAgICksXG4gIH0pLFxuICBleGVjdXRpb246IHpcbiAgICAub2JqZWN0KHtcbiAgICAgIGNvbW1hbmQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICAgIGVudmlyb25tZW50OiB6XG4gICAgICAgIC5vYmplY3Qoe1xuICAgICAgICAgICdpZi12ZXJzaW9uJzogei5zdHJpbmcoKSxcbiAgICAgICAgICBvczogei5zdHJpbmcoKSxcbiAgICAgICAgICAnb3MtdmVyc2lvbic6IHouc3RyaW5nKCksXG4gICAgICAgICAgJ25vZGUtdmVyc2lvbic6IHouc3RyaW5nKCksXG4gICAgICAgICAgJ2RhdGUtdGltZSc6IHouc3RyaW5nKCksXG4gICAgICAgICAgZGVwZW5kZW5jaWVzOiB6LmFycmF5KHouc3RyaW5nKCkpLFxuICAgICAgICB9KVxuICAgICAgICAub3B0aW9uYWwoKSxcbiAgICAgIHN0YXR1czogei5zdHJpbmcoKSxcbiAgICAgIGVycm9yOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgfSlcbiAgICAub3B0aW9uYWwoKSxcbiAgdHJlZTogei5yZWNvcmQoei5zdHJpbmcoKSwgei5hbnkoKSksXG59KTtcblxuLyoqXG4gKiBWYWxpZGF0ZXMgZ2l2ZW4gYG1hbmlmZXN0YCBvYmplY3QgdG8gbWF0Y2ggcGF0dGVybi5cbiAqL1xuZXhwb3J0IGNvbnN0IHZhbGlkYXRlTWFuaWZlc3QgPSAobWFuaWZlc3Q6IGFueSkgPT4ge1xuICBjb25zb2xlLmRlYnVnKFZBTElEQVRJTkdfTUFOSUZFU1QpO1xuXG4gIHJldHVybiB2YWxpZGF0ZShtYW5pZmVzdFNjaGVtYSwgbWFuaWZlc3QsIHVuZGVmaW5lZCwgTWFuaWZlc3RWYWxpZGF0aW9uRXJyb3IpO1xufTtcblxuLyoqXG4gKiBWYWxpZGF0ZXMgZ2l2ZW4gYG9iamVjdGAgd2l0aCBnaXZlbiBgc2NoZW1hYC5cbiAqL1xuZXhwb3J0IGNvbnN0IHZhbGlkYXRlID0gPFQ+KFxuICBzY2hlbWE6IFpvZFNjaGVtYTxUPixcbiAgb2JqZWN0OiBhbnksXG4gIGluZGV4PzogbnVtYmVyLFxuICBlcnJvckNvbnN0cnVjdG9yOiBFcnJvckNvbnN0cnVjdG9yID0gSW5wdXRWYWxpZGF0aW9uRXJyb3JcbikgPT4ge1xuICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gc2NoZW1hLnNhZmVQYXJzZShvYmplY3QpO1xuXG4gIGlmICghdmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XG4gICAgdGhyb3cgbmV3IGVycm9yQ29uc3RydWN0b3IoXG4gICAgICBwcmV0dGlmeUVycm9yTWVzc2FnZSh2YWxpZGF0aW9uUmVzdWx0LmVycm9yLm1lc3NhZ2UsIGluZGV4KVxuICAgICk7XG4gIH1cblxuICByZXR1cm4gdmFsaWRhdGlvblJlc3VsdC5kYXRhO1xufTtcblxuLyoqXG4gKiBFcnJvciBtZXNzYWdlIGZvcm1hdHRlciBmb3Igem9kIGlzc3Vlcy5cbiAqL1xuY29uc3QgcHJldHRpZnlFcnJvck1lc3NhZ2UgPSAoaXNzdWVzOiBzdHJpbmcsIGluZGV4PzogbnVtYmVyKSA9PiB7XG4gIGNvbnN0IGlzc3Vlc0FycmF5ID0gSlNPTi5wYXJzZShpc3N1ZXMpO1xuXG4gIHJldHVybiBpc3N1ZXNBcnJheS5tYXAoKGlzc3VlOiBab2RJc3N1ZSkgPT4ge1xuICAgIGNvbnN0IGNvZGUgPSBpc3N1ZS5jb2RlO1xuICAgIGxldCB7cGF0aCwgbWVzc2FnZX0gPSBpc3N1ZTtcblxuICAgIGNvbnN0IGluZGV4RXJyb3JNZXNzYWdlID0gaW5kZXggIT09IHVuZGVmaW5lZCA/IGAgYXQgaW5kZXggJHtpbmRleH1gIDogJyc7XG5cbiAgICBpZiAoaXNzdWUuY29kZSA9PT0gWm9kSXNzdWVDb2RlLmludmFsaWRfdW5pb24pIHtcbiAgICAgIG1lc3NhZ2UgPSBpc3N1ZS51bmlvbkVycm9yc1swXS5pc3N1ZXNbMF0ubWVzc2FnZTtcbiAgICAgIHBhdGggPSBpc3N1ZS51bmlvbkVycm9yc1swXS5pc3N1ZXNbMF0ucGF0aDtcbiAgICB9XG5cbiAgICBjb25zdCBmdWxsUGF0aCA9IGZsYXR0ZW5QYXRoKHBhdGgpO1xuXG4gICAgaWYgKCFmdWxsUGF0aCkge1xuICAgICAgcmV0dXJuIG1lc3NhZ2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIGBcIiR7ZnVsbFBhdGh9XCIgcGFyYW1ldGVyIGlzICR7bWVzc2FnZS50b0xvd2VyQ2FzZSgpfSR7aW5kZXhFcnJvck1lc3NhZ2V9LiBFcnJvciBjb2RlOiAke2NvZGV9LmA7XG4gIH0pO1xufTtcblxuLyoqXG4gKiBGbGF0dGVucyBhbiBhcnJheSByZXByZXNlbnRpbmcgYSBuZXN0ZWQgcGF0aCBpbnRvIGEgc3RyaW5nLlxuICovXG5jb25zdCBmbGF0dGVuUGF0aCA9IChwYXRoOiAoc3RyaW5nIHwgbnVtYmVyKVtdKTogc3RyaW5nID0+IHtcbiAgY29uc3QgZmxhdHRlblBhdGggPSBwYXRoLm1hcChwYXJ0ID0+XG4gICAgdHlwZW9mIHBhcnQgPT09ICdudW1iZXInID8gYFske3BhcnR9XWAgOiBwYXJ0XG4gICk7XG5cbiAgcmV0dXJuIGZsYXR0ZW5QYXRoLmpvaW4oJy4nKTtcbn07XG4iXX0=
|
|
@@ -0,0 +1,59 @@
|
|
|
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.checkIfFileIsYaml = exports.saveYamlFileAs = exports.openYamlFileAsObject = void 0;
|
|
27
|
+
const fs = __importStar(require("fs/promises"));
|
|
28
|
+
const path = __importStar(require("path"));
|
|
29
|
+
const YAML = __importStar(require("js-yaml"));
|
|
30
|
+
/**
|
|
31
|
+
* Reads and parses `yaml` file to object.
|
|
32
|
+
*/
|
|
33
|
+
const openYamlFileAsObject = async (filePath) => {
|
|
34
|
+
const yamlFileBuffer = await fs.readFile(filePath, 'utf8');
|
|
35
|
+
return YAML.load(yamlFileBuffer);
|
|
36
|
+
};
|
|
37
|
+
exports.openYamlFileAsObject = openYamlFileAsObject;
|
|
38
|
+
/**
|
|
39
|
+
* Saves given `yaml` dump as a file.
|
|
40
|
+
*/
|
|
41
|
+
const saveYamlFileAs = async (object, pathToFile) => {
|
|
42
|
+
const dirPath = path.dirname(pathToFile);
|
|
43
|
+
await fs.mkdir(dirPath, { recursive: true });
|
|
44
|
+
const yamlString = YAML.dump(object, { noRefs: true });
|
|
45
|
+
return fs.writeFile(pathToFile, yamlString);
|
|
46
|
+
};
|
|
47
|
+
exports.saveYamlFileAs = saveYamlFileAs;
|
|
48
|
+
/**
|
|
49
|
+
* Checks if given `fileName` is yaml.
|
|
50
|
+
*/
|
|
51
|
+
const checkIfFileIsYaml = (fileName) => {
|
|
52
|
+
const yamlFileTypes = ['yaml', 'yml'];
|
|
53
|
+
const splittedParts = fileName.split('.');
|
|
54
|
+
const lastIndex = splittedParts.length - 1;
|
|
55
|
+
const extension = splittedParts[lastIndex];
|
|
56
|
+
return yamlFileTypes.includes(extension);
|
|
57
|
+
};
|
|
58
|
+
exports.checkIfFileIsYaml = checkIfFileIsYaml;
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFtbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vdXRpbC95YW1sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZ0RBQWtDO0FBQ2xDLDJDQUE2QjtBQUU3Qiw4Q0FBZ0M7QUFFaEM7O0dBRUc7QUFDSSxNQUFNLG9CQUFvQixHQUFHLEtBQUssRUFBSyxRQUFnQixFQUFjLEVBQUU7SUFDNUUsTUFBTSxjQUFjLEdBQUcsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUUzRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFNLENBQUM7QUFDeEMsQ0FBQyxDQUFDO0FBSlcsUUFBQSxvQkFBb0Isd0JBSS9CO0FBRUY7O0dBRUc7QUFDSSxNQUFNLGNBQWMsR0FBRyxLQUFLLEVBQUUsTUFBVyxFQUFFLFVBQWtCLEVBQUUsRUFBRTtJQUN0RSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztJQUMzQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO0lBRXJELE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDOUMsQ0FBQyxDQUFDO0FBTlcsUUFBQSxjQUFjLGtCQU16QjtBQUVGOztHQUVHO0FBQ0ksTUFBTSxpQkFBaUIsR0FBRyxDQUFDLFFBQWdCLEVBQUUsRUFBRTtJQUNwRCxNQUFNLGFBQWEsR0FBRyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN0QyxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzNDLE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUUzQyxPQUFPLGFBQWEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDM0MsQ0FBQyxDQUFDO0FBUFcsUUFBQSxpQkFBaUIscUJBTzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMvcHJvbWlzZXMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcblxuaW1wb3J0ICogYXMgWUFNTCBmcm9tICdqcy15YW1sJztcblxuLyoqXG4gKiBSZWFkcyBhbmQgcGFyc2VzIGB5YW1sYCBmaWxlIHRvIG9iamVjdC5cbiAqL1xuZXhwb3J0IGNvbnN0IG9wZW5ZYW1sRmlsZUFzT2JqZWN0ID0gYXN5bmMgPFQ+KGZpbGVQYXRoOiBzdHJpbmcpOiBQcm9taXNlPFQ+ID0+IHtcbiAgY29uc3QgeWFtbEZpbGVCdWZmZXIgPSBhd2FpdCBmcy5yZWFkRmlsZShmaWxlUGF0aCwgJ3V0ZjgnKTtcblxuICByZXR1cm4gWUFNTC5sb2FkKHlhbWxGaWxlQnVmZmVyKSBhcyBUO1xufTtcblxuLyoqXG4gKiBTYXZlcyBnaXZlbiBgeWFtbGAgZHVtcCBhcyBhIGZpbGUuXG4gKi9cbmV4cG9ydCBjb25zdCBzYXZlWWFtbEZpbGVBcyA9IGFzeW5jIChvYmplY3Q6IGFueSwgcGF0aFRvRmlsZTogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IGRpclBhdGggPSBwYXRoLmRpcm5hbWUocGF0aFRvRmlsZSk7XG4gIGF3YWl0IGZzLm1rZGlyKGRpclBhdGgsIHtyZWN1cnNpdmU6IHRydWV9KTtcbiAgY29uc3QgeWFtbFN0cmluZyA9IFlBTUwuZHVtcChvYmplY3QsIHtub1JlZnM6IHRydWV9KTtcblxuICByZXR1cm4gZnMud3JpdGVGaWxlKHBhdGhUb0ZpbGUsIHlhbWxTdHJpbmcpO1xufTtcblxuLyoqXG4gKiBDaGVja3MgaWYgZ2l2ZW4gYGZpbGVOYW1lYCBpcyB5YW1sLlxuICovXG5leHBvcnQgY29uc3QgY2hlY2tJZkZpbGVJc1lhbWwgPSAoZmlsZU5hbWU6IHN0cmluZykgPT4ge1xuICBjb25zdCB5YW1sRmlsZVR5cGVzID0gWyd5YW1sJywgJ3ltbCddO1xuICBjb25zdCBzcGxpdHRlZFBhcnRzID0gZmlsZU5hbWUuc3BsaXQoJy4nKTtcbiAgY29uc3QgbGFzdEluZGV4ID0gc3BsaXR0ZWRQYXJ0cy5sZW5ndGggLSAxO1xuICBjb25zdCBleHRlbnNpb24gPSBzcGxpdHRlZFBhcnRzW2xhc3RJbmRleF07XG5cbiAgcmV0dXJuIHlhbWxGaWxlVHlwZXMuaW5jbHVkZXMoZXh0ZW5zaW9uKTtcbn07XG4iXX0=
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CONFIG = void 0;
|
|
4
|
+
const config_1 = require("../../common/config");
|
|
5
|
+
const { DISCLAIMER_MESSAGE } = config_1.STRINGS;
|
|
6
|
+
exports.CONFIG = {
|
|
7
|
+
ARGS: {
|
|
8
|
+
manifest: {
|
|
9
|
+
type: String,
|
|
10
|
+
optional: true,
|
|
11
|
+
alias: 'm',
|
|
12
|
+
description: '[path to the manifest file]',
|
|
13
|
+
},
|
|
14
|
+
directory: {
|
|
15
|
+
type: String,
|
|
16
|
+
optional: true,
|
|
17
|
+
alias: 'd',
|
|
18
|
+
description: '[path to the manifests directory]',
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
HELP: {
|
|
22
|
+
helpArg: 'help',
|
|
23
|
+
headerContentSections: [
|
|
24
|
+
{ header: 'Impact Framework', content: 'IF-Check Helpful keywords:' },
|
|
25
|
+
],
|
|
26
|
+
footerContentSections: [
|
|
27
|
+
{ header: 'Green Software Foundation', content: DISCLAIMER_MESSAGE },
|
|
28
|
+
],
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lmLWNoZWNrL2NvbmZpZy9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsZ0RBQTRDO0FBSTVDLE1BQU0sRUFBQyxrQkFBa0IsRUFBQyxHQUFHLGdCQUFPLENBQUM7QUFFeEIsUUFBQSxNQUFNLEdBQUc7SUFDcEIsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFO1lBQ1IsSUFBSSxFQUFFLE1BQU07WUFDWixRQUFRLEVBQUUsSUFBSTtZQUNkLEtBQUssRUFBRSxHQUFHO1lBQ1YsV0FBVyxFQUFFLDZCQUE2QjtTQUMzQztRQUNELFNBQVMsRUFBRTtZQUNULElBQUksRUFBRSxNQUFNO1lBQ1osUUFBUSxFQUFFLElBQUk7WUFDZCxLQUFLLEVBQUUsR0FBRztZQUNWLFdBQVcsRUFBRSxtQ0FBbUM7U0FDakQ7S0FDNkI7SUFDaEMsSUFBSSxFQUFFO1FBQ0osT0FBTyxFQUFFLE1BQU07UUFDZixxQkFBcUIsRUFBRTtZQUNyQixFQUFDLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUM7U0FDcEU7UUFDRCxxQkFBcUIsRUFBRTtZQUNyQixFQUFDLE1BQU0sRUFBRSwyQkFBMkIsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUM7U0FDbkU7S0FDbUI7Q0FDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXJndW1lbnRDb25maWcsIFBhcnNlT3B0aW9uc30gZnJvbSAndHMtY29tbWFuZC1saW5lLWFyZ3MnO1xuXG5pbXBvcnQge1NUUklOR1N9IGZyb20gJy4uLy4uL2NvbW1vbi9jb25maWcnO1xuXG5pbXBvcnQge0lGQ2hlY2tBcmdzfSBmcm9tICcuLi90eXBlcy9wcm9jZXNzLWFyZ3MnO1xuXG5jb25zdCB7RElTQ0xBSU1FUl9NRVNTQUdFfSA9IFNUUklOR1M7XG5cbmV4cG9ydCBjb25zdCBDT05GSUcgPSB7XG4gIEFSR1M6IHtcbiAgICBtYW5pZmVzdDoge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICBhbGlhczogJ20nLFxuICAgICAgZGVzY3JpcHRpb246ICdbcGF0aCB0byB0aGUgbWFuaWZlc3QgZmlsZV0nLFxuICAgIH0sXG4gICAgZGlyZWN0b3J5OiB7XG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgIGFsaWFzOiAnZCcsXG4gICAgICBkZXNjcmlwdGlvbjogJ1twYXRoIHRvIHRoZSBtYW5pZmVzdHMgZGlyZWN0b3J5XScsXG4gICAgfSxcbiAgfSBhcyBBcmd1bWVudENvbmZpZzxJRkNoZWNrQXJncz4sXG4gIEhFTFA6IHtcbiAgICBoZWxwQXJnOiAnaGVscCcsXG4gICAgaGVhZGVyQ29udGVudFNlY3Rpb25zOiBbXG4gICAgICB7aGVhZGVyOiAnSW1wYWN0IEZyYW1ld29yaycsIGNvbnRlbnQ6ICdJRi1DaGVjayBIZWxwZnVsIGtleXdvcmRzOid9LFxuICAgIF0sXG4gICAgZm9vdGVyQ29udGVudFNlY3Rpb25zOiBbXG4gICAgICB7aGVhZGVyOiAnR3JlZW4gU29mdHdhcmUgRm91bmRhdGlvbicsIGNvbnRlbnQ6IERJU0NMQUlNRVJfTUVTU0FHRX0sXG4gICAgXSxcbiAgfSBhcyBQYXJzZU9wdGlvbnM8YW55Pixcbn07XG4iXX0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.STRINGS = exports.CONFIG = void 0;
|
|
4
|
+
var config_1 = require("./config");
|
|
5
|
+
Object.defineProperty(exports, "CONFIG", { enumerable: true, get: function () { return config_1.CONFIG; } });
|
|
6
|
+
var strings_1 = require("./strings");
|
|
7
|
+
Object.defineProperty(exports, "STRINGS", { enumerable: true, get: function () { return strings_1.STRINGS; } });
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWYtY2hlY2svY29uZmlnL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFnQztBQUF4QixnR0FBQSxNQUFNLE9BQUE7QUFDZCxxQ0FBa0M7QUFBMUIsa0dBQUEsT0FBTyxPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtDT05GSUd9IGZyb20gJy4vY29uZmlnJztcbmV4cG9ydCB7U1RSSU5HU30gZnJvbSAnLi9zdHJpbmdzJztcbiJdfQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const STRINGS: {
|
|
2
|
+
CHECKING: string;
|
|
3
|
+
IF_CHECK_FLAGS_MISSING: string;
|
|
4
|
+
DIRECTORY_NOT_FOUND: string;
|
|
5
|
+
DIRECTORY_YAML_FILES_NOT_FOUND: string;
|
|
6
|
+
IF_CHECK_EXECUTING: (filename: string) => string;
|
|
7
|
+
IF_CHECK_VERIFICATION_FAILURES: string;
|
|
8
|
+
IF_CHECK_FAILED: (filename: string) => string;
|
|
9
|
+
IF_CHECK_VERIFIED: (filename: string) => string;
|
|
10
|
+
IF_CHECK_SUMMARY_ERROR_MESSAGE: (filename: string, message: string) => string;
|
|
11
|
+
IF_CHECK_SUMMARY_LOG: (passedCount: number, totalCount: number) => string;
|
|
12
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.STRINGS = void 0;
|
|
4
|
+
exports.STRINGS = {
|
|
5
|
+
CHECKING: 'Checking...',
|
|
6
|
+
IF_CHECK_FLAGS_MISSING: 'Either the `--manifest` or `--directory` command should be provided with a path',
|
|
7
|
+
DIRECTORY_NOT_FOUND: 'Directory not found.',
|
|
8
|
+
DIRECTORY_YAML_FILES_NOT_FOUND: 'The directory does not contain any YAML/YML files.\n',
|
|
9
|
+
IF_CHECK_EXECUTING: (filename) => `Executing \`${filename}\``,
|
|
10
|
+
IF_CHECK_VERIFICATION_FAILURES: '---------\nif-check verification failures:\n',
|
|
11
|
+
IF_CHECK_FAILED: (filename) => `✖ if-check could not verify ${filename}. The re-executed file does not match the original.\n`,
|
|
12
|
+
IF_CHECK_VERIFIED: (filename) => `✔ if-check successfully verified ${filename}\n`,
|
|
13
|
+
IF_CHECK_SUMMARY_ERROR_MESSAGE: (filename, message) => `Executing \`${filename}\`\n✖ ${message}`,
|
|
14
|
+
IF_CHECK_SUMMARY_LOG: (passedCount, totalCount) => `---------\nCheck summary:\n${passedCount} of ${totalCount} files are passed.\n`,
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1jaGVjay9jb25maWcvc3RyaW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLE9BQU8sR0FBRztJQUNyQixRQUFRLEVBQUUsYUFBYTtJQUN2QixzQkFBc0IsRUFDcEIsaUZBQWlGO0lBQ25GLG1CQUFtQixFQUFFLHNCQUFzQjtJQUMzQyw4QkFBOEIsRUFDNUIsc0RBQXNEO0lBQ3hELGtCQUFrQixFQUFFLENBQUMsUUFBZ0IsRUFBRSxFQUFFLENBQUMsZUFBZSxRQUFRLElBQUk7SUFDckUsOEJBQThCLEVBQzVCLDhDQUE4QztJQUNoRCxlQUFlLEVBQUUsQ0FBQyxRQUFnQixFQUFFLEVBQUUsQ0FDcEMsK0JBQStCLFFBQVEsdURBQXVEO0lBQ2hHLGlCQUFpQixFQUFFLENBQUMsUUFBZ0IsRUFBRSxFQUFFLENBQ3RDLG9DQUFvQyxRQUFRLElBQUk7SUFDbEQsOEJBQThCLEVBQUUsQ0FBQyxRQUFnQixFQUFFLE9BQWUsRUFBRSxFQUFFLENBQ3BFLGVBQWUsUUFBUSxTQUFTLE9BQU8sRUFBRTtJQUMzQyxvQkFBb0IsRUFBRSxDQUFDLFdBQW1CLEVBQUUsVUFBa0IsRUFBRSxFQUFFLENBQ2hFLDhCQUE4QixXQUFXLE9BQU8sVUFBVSxzQkFBc0I7Q0FDbkYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBTVFJJTkdTID0ge1xuICBDSEVDS0lORzogJ0NoZWNraW5nLi4uJyxcbiAgSUZfQ0hFQ0tfRkxBR1NfTUlTU0lORzpcbiAgICAnRWl0aGVyIHRoZSBgLS1tYW5pZmVzdGAgb3IgYC0tZGlyZWN0b3J5YCBjb21tYW5kIHNob3VsZCBiZSBwcm92aWRlZCB3aXRoIGEgcGF0aCcsXG4gIERJUkVDVE9SWV9OT1RfRk9VTkQ6ICdEaXJlY3Rvcnkgbm90IGZvdW5kLicsXG4gIERJUkVDVE9SWV9ZQU1MX0ZJTEVTX05PVF9GT1VORDpcbiAgICAnVGhlIGRpcmVjdG9yeSBkb2VzIG5vdCBjb250YWluIGFueSBZQU1ML1lNTCBmaWxlcy5cXG4nLFxuICBJRl9DSEVDS19FWEVDVVRJTkc6IChmaWxlbmFtZTogc3RyaW5nKSA9PiBgRXhlY3V0aW5nIFxcYCR7ZmlsZW5hbWV9XFxgYCxcbiAgSUZfQ0hFQ0tfVkVSSUZJQ0FUSU9OX0ZBSUxVUkVTOlxuICAgICctLS0tLS0tLS1cXG5pZi1jaGVjayB2ZXJpZmljYXRpb24gZmFpbHVyZXM6XFxuJyxcbiAgSUZfQ0hFQ0tfRkFJTEVEOiAoZmlsZW5hbWU6IHN0cmluZykgPT5cbiAgICBg4pyWIGlmLWNoZWNrIGNvdWxkIG5vdCB2ZXJpZnkgJHtmaWxlbmFtZX0uIFRoZSByZS1leGVjdXRlZCBmaWxlIGRvZXMgbm90IG1hdGNoIHRoZSBvcmlnaW5hbC5cXG5gLFxuICBJRl9DSEVDS19WRVJJRklFRDogKGZpbGVuYW1lOiBzdHJpbmcpID0+XG4gICAgYOKclCBpZi1jaGVjayBzdWNjZXNzZnVsbHkgdmVyaWZpZWQgJHtmaWxlbmFtZX1cXG5gLFxuICBJRl9DSEVDS19TVU1NQVJZX0VSUk9SX01FU1NBR0U6IChmaWxlbmFtZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpID0+XG4gICAgYEV4ZWN1dGluZyBcXGAke2ZpbGVuYW1lfVxcYFxcbuKcliAke21lc3NhZ2V9YCxcbiAgSUZfQ0hFQ0tfU1VNTUFSWV9MT0c6IChwYXNzZWRDb3VudDogbnVtYmVyLCB0b3RhbENvdW50OiBudW1iZXIpID0+XG4gICAgYC0tLS0tLS0tLVxcbkNoZWNrIHN1bW1hcnk6XFxuJHtwYXNzZWRDb3VudH0gb2YgJHt0b3RhbENvdW50fSBmaWxlcyBhcmUgcGFzc2VkLlxcbmAsXG59O1xuIl19
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
20
|
+
if (mod && mod.__esModule) return mod;
|
|
21
|
+
var result = {};
|
|
22
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
23
|
+
__setModuleDefault(result, mod);
|
|
24
|
+
return result;
|
|
25
|
+
};
|
|
26
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
+
/* eslint-disable no-process-exit */
|
|
28
|
+
const path = __importStar(require("path"));
|
|
29
|
+
const fs_1 = require("../common/util/fs");
|
|
30
|
+
const debug_logger_1 = require("../common/util/debug-logger");
|
|
31
|
+
const logger_1 = require("../common/util/logger");
|
|
32
|
+
const helpers_1 = require("./util/helpers");
|
|
33
|
+
const args_1 = require("./util/args");
|
|
34
|
+
const npm_1 = require("./util/npm");
|
|
35
|
+
const config_1 = require("./config");
|
|
36
|
+
const { CHECKING, DIRECTORY_YAML_FILES_NOT_FOUND, IF_CHECK_VERIFICATION_FAILURES, IF_CHECK_SUMMARY_LOG, IF_CHECK_EXECUTING, } = config_1.STRINGS;
|
|
37
|
+
const IfCheck = async () => {
|
|
38
|
+
// Call this function with false parameter to prevent log debug messages.
|
|
39
|
+
debug_logger_1.debugLogger.overrideConsoleMethods(false);
|
|
40
|
+
const commandArgs = await (0, args_1.parseIfCheckArgs)();
|
|
41
|
+
console.log(`${CHECKING}\n`);
|
|
42
|
+
if (commandArgs.manifest) {
|
|
43
|
+
const manifest = commandArgs.manifest;
|
|
44
|
+
try {
|
|
45
|
+
await (0, npm_1.executeCommands)(manifest, false);
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
const fileName = path.basename(manifest);
|
|
49
|
+
const executedFile = manifest
|
|
50
|
+
.replace(fileName, `re-${fileName}`)
|
|
51
|
+
.replace('yml', 'yaml');
|
|
52
|
+
const manifestDirPath = path.dirname(manifest);
|
|
53
|
+
(0, helpers_1.logStdoutFailMessage)(error, fileName);
|
|
54
|
+
await (0, fs_1.removeFileIfExists)(`${manifestDirPath}/package.json`);
|
|
55
|
+
await (0, fs_1.removeFileIfExists)(executedFile);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
const failedLogs = { count: 0, message: '' };
|
|
60
|
+
const directory = commandArgs.directory;
|
|
61
|
+
const files = await (0, fs_1.getYamlFiles)(directory);
|
|
62
|
+
if (files.length === 0) {
|
|
63
|
+
console.log(DIRECTORY_YAML_FILES_NOT_FOUND);
|
|
64
|
+
process.exit(1);
|
|
65
|
+
}
|
|
66
|
+
for await (const file of files) {
|
|
67
|
+
const fileRelativePath = path.relative(process.env.CURRENT_DIR || process.cwd(), file);
|
|
68
|
+
console.log(IF_CHECK_EXECUTING(fileRelativePath));
|
|
69
|
+
try {
|
|
70
|
+
await (0, npm_1.executeCommands)(file, true);
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
const fileName = path.basename(file);
|
|
74
|
+
const executedFile = file
|
|
75
|
+
.replace(fileName, `re-${fileName}`)
|
|
76
|
+
.replace('yml', 'yaml');
|
|
77
|
+
const failedFilesLog = (0, helpers_1.logStdoutFailMessage)(error, fileName);
|
|
78
|
+
failedLogs.message = failedLogs.message.concat(failedFilesLog);
|
|
79
|
+
failedLogs.count++;
|
|
80
|
+
await (0, fs_1.removeFileIfExists)(executedFile);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
if (failedLogs.count > 0) {
|
|
84
|
+
const passedFilesCount = files.length - failedLogs.count;
|
|
85
|
+
console.log(IF_CHECK_VERIFICATION_FAILURES);
|
|
86
|
+
console.log(failedLogs.message);
|
|
87
|
+
console.log(IF_CHECK_SUMMARY_LOG(passedFilesCount, files.length));
|
|
88
|
+
process.exit(1);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
IfCheck().catch(error => {
|
|
93
|
+
if (error instanceof Error) {
|
|
94
|
+
logger_1.logger.error(error);
|
|
95
|
+
process.exit(2);
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaWYtY2hlY2svaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxvQ0FBb0M7QUFDcEMsMkNBQTZCO0FBRTdCLDBDQUFtRTtBQUNuRSw4REFBd0Q7QUFDeEQsa0RBQTZDO0FBRTdDLDRDQUFvRDtBQUNwRCxzQ0FBNkM7QUFDN0Msb0NBQTJDO0FBRTNDLHFDQUFpQztBQUVqQyxNQUFNLEVBQ0osUUFBUSxFQUNSLDhCQUE4QixFQUM5Qiw4QkFBOEIsRUFDOUIsb0JBQW9CLEVBQ3BCLGtCQUFrQixHQUNuQixHQUFHLGdCQUFPLENBQUM7QUFFWixNQUFNLE9BQU8sR0FBRyxLQUFLLElBQUksRUFBRTtJQUN6Qix5RUFBeUU7SUFDekUsMEJBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUUxQyxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUEsdUJBQWdCLEdBQUUsQ0FBQztJQUU3QyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsUUFBUSxJQUFJLENBQUMsQ0FBQztJQUU3QixJQUFJLFdBQVcsQ0FBQyxRQUFRLEVBQUU7UUFDeEIsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQztRQUV0QyxJQUFJO1lBQ0YsTUFBTSxJQUFBLHFCQUFlLEVBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3hDO1FBQUMsT0FBTyxLQUFVLEVBQUU7WUFDbkIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN6QyxNQUFNLFlBQVksR0FBRyxRQUFRO2lCQUMxQixPQUFPLENBQUMsUUFBUSxFQUFFLE1BQU0sUUFBUSxFQUFFLENBQUM7aUJBQ25DLE9BQU8sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDMUIsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUUvQyxJQUFBLDhCQUFvQixFQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztZQUV0QyxNQUFNLElBQUEsdUJBQWtCLEVBQUMsR0FBRyxlQUFlLGVBQWUsQ0FBQyxDQUFDO1lBQzVELE1BQU0sSUFBQSx1QkFBa0IsRUFBQyxZQUFZLENBQUMsQ0FBQztTQUN4QztLQUNGO1NBQU07UUFDTCxNQUFNLFVBQVUsR0FBRyxFQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBQyxDQUFDO1FBQzNDLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUM7UUFDeEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFBLGlCQUFZLEVBQUMsU0FBVSxDQUFDLENBQUM7UUFFN0MsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN0QixPQUFPLENBQUMsR0FBRyxDQUFDLDhCQUE4QixDQUFDLENBQUM7WUFDNUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNqQjtRQUVELElBQUksS0FBSyxFQUFFLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRTtZQUM5QixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQ3BDLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFDeEMsSUFBSSxDQUNMLENBQUM7WUFDRixPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztZQUVsRCxJQUFJO2dCQUNGLE1BQU0sSUFBQSxxQkFBZSxFQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQzthQUNuQztZQUFDLE9BQU8sS0FBVSxFQUFFO2dCQUNuQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNyQyxNQUFNLFlBQVksR0FBRyxJQUFJO3FCQUN0QixPQUFPLENBQUMsUUFBUSxFQUFFLE1BQU0sUUFBUSxFQUFFLENBQUM7cUJBQ25DLE9BQU8sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBRTFCLE1BQU0sY0FBYyxHQUFHLElBQUEsOEJBQW9CLEVBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUM3RCxVQUFVLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUMvRCxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBRW5CLE1BQU0sSUFBQSx1QkFBa0IsRUFBQyxZQUFZLENBQUMsQ0FBQzthQUN4QztTQUNGO1FBRUQsSUFBSSxVQUFVLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRTtZQUN4QixNQUFNLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztZQUV6RCxPQUFPLENBQUMsR0FBRyxDQUFDLDhCQUE4QixDQUFDLENBQUM7WUFDNUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDaEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNsRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2pCO0tBQ0Y7QUFDSCxDQUFDLENBQUM7QUFFRixPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7SUFDdEIsSUFBSSxLQUFLLFlBQVksS0FBSyxFQUFFO1FBQzFCLGVBQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNqQjtBQUNILENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuLyogZXNsaW50LWRpc2FibGUgbm8tcHJvY2Vzcy1leGl0ICovXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuXG5pbXBvcnQge2dldFlhbWxGaWxlcywgcmVtb3ZlRmlsZUlmRXhpc3RzfSBmcm9tICcuLi9jb21tb24vdXRpbC9mcyc7XG5pbXBvcnQge2RlYnVnTG9nZ2VyfSBmcm9tICcuLi9jb21tb24vdXRpbC9kZWJ1Zy1sb2dnZXInO1xuaW1wb3J0IHtsb2dnZXJ9IGZyb20gJy4uL2NvbW1vbi91dGlsL2xvZ2dlcic7XG5cbmltcG9ydCB7bG9nU3Rkb3V0RmFpbE1lc3NhZ2V9IGZyb20gJy4vdXRpbC9oZWxwZXJzJztcbmltcG9ydCB7cGFyc2VJZkNoZWNrQXJnc30gZnJvbSAnLi91dGlsL2FyZ3MnO1xuaW1wb3J0IHtleGVjdXRlQ29tbWFuZHN9IGZyb20gJy4vdXRpbC9ucG0nO1xuXG5pbXBvcnQge1NUUklOR1N9IGZyb20gJy4vY29uZmlnJztcblxuY29uc3Qge1xuICBDSEVDS0lORyxcbiAgRElSRUNUT1JZX1lBTUxfRklMRVNfTk9UX0ZPVU5ELFxuICBJRl9DSEVDS19WRVJJRklDQVRJT05fRkFJTFVSRVMsXG4gIElGX0NIRUNLX1NVTU1BUllfTE9HLFxuICBJRl9DSEVDS19FWEVDVVRJTkcsXG59ID0gU1RSSU5HUztcblxuY29uc3QgSWZDaGVjayA9IGFzeW5jICgpID0+IHtcbiAgLy8gQ2FsbCB0aGlzIGZ1bmN0aW9uIHdpdGggZmFsc2UgcGFyYW1ldGVyIHRvIHByZXZlbnQgbG9nIGRlYnVnIG1lc3NhZ2VzLlxuICBkZWJ1Z0xvZ2dlci5vdmVycmlkZUNvbnNvbGVNZXRob2RzKGZhbHNlKTtcblxuICBjb25zdCBjb21tYW5kQXJncyA9IGF3YWl0IHBhcnNlSWZDaGVja0FyZ3MoKTtcblxuICBjb25zb2xlLmxvZyhgJHtDSEVDS0lOR31cXG5gKTtcblxuICBpZiAoY29tbWFuZEFyZ3MubWFuaWZlc3QpIHtcbiAgICBjb25zdCBtYW5pZmVzdCA9IGNvbW1hbmRBcmdzLm1hbmlmZXN0O1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGV4ZWN1dGVDb21tYW5kcyhtYW5pZmVzdCwgZmFsc2UpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIGNvbnN0IGZpbGVOYW1lID0gcGF0aC5iYXNlbmFtZShtYW5pZmVzdCk7XG4gICAgICBjb25zdCBleGVjdXRlZEZpbGUgPSBtYW5pZmVzdFxuICAgICAgICAucmVwbGFjZShmaWxlTmFtZSwgYHJlLSR7ZmlsZU5hbWV9YClcbiAgICAgICAgLnJlcGxhY2UoJ3ltbCcsICd5YW1sJyk7XG4gICAgICBjb25zdCBtYW5pZmVzdERpclBhdGggPSBwYXRoLmRpcm5hbWUobWFuaWZlc3QpO1xuXG4gICAgICBsb2dTdGRvdXRGYWlsTWVzc2FnZShlcnJvciwgZmlsZU5hbWUpO1xuXG4gICAgICBhd2FpdCByZW1vdmVGaWxlSWZFeGlzdHMoYCR7bWFuaWZlc3REaXJQYXRofS9wYWNrYWdlLmpzb25gKTtcbiAgICAgIGF3YWl0IHJlbW92ZUZpbGVJZkV4aXN0cyhleGVjdXRlZEZpbGUpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBjb25zdCBmYWlsZWRMb2dzID0ge2NvdW50OiAwLCBtZXNzYWdlOiAnJ307XG4gICAgY29uc3QgZGlyZWN0b3J5ID0gY29tbWFuZEFyZ3MuZGlyZWN0b3J5O1xuICAgIGNvbnN0IGZpbGVzID0gYXdhaXQgZ2V0WWFtbEZpbGVzKGRpcmVjdG9yeSEpO1xuXG4gICAgaWYgKGZpbGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgY29uc29sZS5sb2coRElSRUNUT1JZX1lBTUxfRklMRVNfTk9UX0ZPVU5EKTtcbiAgICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgICB9XG5cbiAgICBmb3IgYXdhaXQgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICAgIGNvbnN0IGZpbGVSZWxhdGl2ZVBhdGggPSBwYXRoLnJlbGF0aXZlKFxuICAgICAgICBwcm9jZXNzLmVudi5DVVJSRU5UX0RJUiB8fCBwcm9jZXNzLmN3ZCgpLFxuICAgICAgICBmaWxlXG4gICAgICApO1xuICAgICAgY29uc29sZS5sb2coSUZfQ0hFQ0tfRVhFQ1VUSU5HKGZpbGVSZWxhdGl2ZVBhdGgpKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgZXhlY3V0ZUNvbW1hbmRzKGZpbGUsIHRydWUpO1xuICAgICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgICBjb25zdCBmaWxlTmFtZSA9IHBhdGguYmFzZW5hbWUoZmlsZSk7XG4gICAgICAgIGNvbnN0IGV4ZWN1dGVkRmlsZSA9IGZpbGVcbiAgICAgICAgICAucmVwbGFjZShmaWxlTmFtZSwgYHJlLSR7ZmlsZU5hbWV9YClcbiAgICAgICAgICAucmVwbGFjZSgneW1sJywgJ3lhbWwnKTtcblxuICAgICAgICBjb25zdCBmYWlsZWRGaWxlc0xvZyA9IGxvZ1N0ZG91dEZhaWxNZXNzYWdlKGVycm9yLCBmaWxlTmFtZSk7XG4gICAgICAgIGZhaWxlZExvZ3MubWVzc2FnZSA9IGZhaWxlZExvZ3MubWVzc2FnZS5jb25jYXQoZmFpbGVkRmlsZXNMb2cpO1xuICAgICAgICBmYWlsZWRMb2dzLmNvdW50Kys7XG5cbiAgICAgICAgYXdhaXQgcmVtb3ZlRmlsZUlmRXhpc3RzKGV4ZWN1dGVkRmlsZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGZhaWxlZExvZ3MuY291bnQgPiAwKSB7XG4gICAgICBjb25zdCBwYXNzZWRGaWxlc0NvdW50ID0gZmlsZXMubGVuZ3RoIC0gZmFpbGVkTG9ncy5jb3VudDtcblxuICAgICAgY29uc29sZS5sb2coSUZfQ0hFQ0tfVkVSSUZJQ0FUSU9OX0ZBSUxVUkVTKTtcbiAgICAgIGNvbnNvbGUubG9nKGZhaWxlZExvZ3MubWVzc2FnZSk7XG4gICAgICBjb25zb2xlLmxvZyhJRl9DSEVDS19TVU1NQVJZX0xPRyhwYXNzZWRGaWxlc0NvdW50LCBmaWxlcy5sZW5ndGgpKTtcbiAgICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgICB9XG4gIH1cbn07XG5cbklmQ2hlY2soKS5jYXRjaChlcnJvciA9PiB7XG4gIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgbG9nZ2VyLmVycm9yKGVycm9yKTtcbiAgICBwcm9jZXNzLmV4aXQoMik7XG4gIH1cbn0pO1xuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1hcmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lmLWNoZWNrL3R5cGVzL3Byb2Nlc3MtYXJncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJRkNoZWNrQXJncyB7XG4gIG1hbmlmZXN0Pzogc3RyaW5nO1xuICBkaXJlY3Rvcnk/OiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseIfCheckArgs = void 0;
|
|
4
|
+
const ts_command_line_args_1 = require("ts-command-line-args");
|
|
5
|
+
const utils_1 = require("@grnsft/if-core/utils");
|
|
6
|
+
const fs_1 = require("../../common/util/fs");
|
|
7
|
+
const helpers_1 = require("../../common/util/helpers");
|
|
8
|
+
const yaml_1 = require("../../common/util/yaml");
|
|
9
|
+
const config_1 = require("../config");
|
|
10
|
+
const config_2 = require("../../common/config");
|
|
11
|
+
const { ParseCliParamsError, CliSourceFileError, InvalidDirectoryError, MissingCliFlagsError, } = utils_1.ERRORS;
|
|
12
|
+
const { ARGS, HELP } = config_1.CONFIG;
|
|
13
|
+
const { IF_CHECK_FLAGS_MISSING, DIRECTORY_NOT_FOUND } = config_1.STRINGS;
|
|
14
|
+
const { MANIFEST_NOT_FOUND, SOURCE_IS_NOT_YAML } = config_2.STRINGS;
|
|
15
|
+
/**
|
|
16
|
+
* Parses `if-check` process arguments.
|
|
17
|
+
*/
|
|
18
|
+
const validateAndParseIfCheckArgs = () => {
|
|
19
|
+
try {
|
|
20
|
+
return (0, ts_command_line_args_1.parse)(ARGS, HELP);
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
if (error instanceof Error) {
|
|
24
|
+
throw new ParseCliParamsError(error.message);
|
|
25
|
+
}
|
|
26
|
+
throw error;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Checks if either `manifest` or `directory` command is provided.
|
|
31
|
+
*/
|
|
32
|
+
const parseIfCheckArgs = async () => {
|
|
33
|
+
const { manifest, directory } = validateAndParseIfCheckArgs();
|
|
34
|
+
if (manifest) {
|
|
35
|
+
const response = (0, helpers_1.prependFullFilePath)(manifest);
|
|
36
|
+
const isManifestFileExists = await (0, fs_1.isFileExists)(response);
|
|
37
|
+
if (!isManifestFileExists) {
|
|
38
|
+
throw new ParseCliParamsError(MANIFEST_NOT_FOUND);
|
|
39
|
+
}
|
|
40
|
+
if ((0, yaml_1.checkIfFileIsYaml)(manifest)) {
|
|
41
|
+
return { manifest };
|
|
42
|
+
}
|
|
43
|
+
throw new CliSourceFileError(SOURCE_IS_NOT_YAML);
|
|
44
|
+
}
|
|
45
|
+
else if (directory) {
|
|
46
|
+
const isDirExists = await (0, fs_1.isDirectoryExists)(directory);
|
|
47
|
+
if (!isDirExists) {
|
|
48
|
+
throw new InvalidDirectoryError(DIRECTORY_NOT_FOUND);
|
|
49
|
+
}
|
|
50
|
+
const response = (0, helpers_1.prependFullFilePath)(directory);
|
|
51
|
+
return { directory: response };
|
|
52
|
+
}
|
|
53
|
+
throw new MissingCliFlagsError(IF_CHECK_FLAGS_MISSING);
|
|
54
|
+
};
|
|
55
|
+
exports.parseIfCheckArgs = parseIfCheckArgs;
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1jaGVjay91dGlsL2FyZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0RBQTJDO0FBQzNDLGlEQUE2QztBQUU3Qyw2Q0FBcUU7QUFDckUsdURBQThEO0FBQzlELGlEQUF5RDtBQUV6RCxzQ0FBMEM7QUFDMUMsZ0RBQThEO0FBSTlELE1BQU0sRUFDSixtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixvQkFBb0IsR0FDckIsR0FBRyxjQUFNLENBQUM7QUFFWCxNQUFNLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBQyxHQUFHLGVBQU0sQ0FBQztBQUU1QixNQUFNLEVBQUMsc0JBQXNCLEVBQUUsbUJBQW1CLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBQzlELE1BQU0sRUFBQyxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBQyxHQUFHLGdCQUFjLENBQUM7QUFFaEU7O0dBRUc7QUFDSCxNQUFNLDJCQUEyQixHQUFHLEdBQUcsRUFBRTtJQUN2QyxJQUFJO1FBQ0YsT0FBTyxJQUFBLDRCQUFLLEVBQWMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQ3ZDO0lBQUMsT0FBTyxLQUFLLEVBQUU7UUFDZCxJQUFJLEtBQUssWUFBWSxLQUFLLEVBQUU7WUFDMUIsTUFBTSxJQUFJLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUM5QztRQUVELE1BQU0sS0FBSyxDQUFDO0tBQ2I7QUFDSCxDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNJLE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxJQUFJLEVBQUU7SUFDekMsTUFBTSxFQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUMsR0FBRywyQkFBMkIsRUFBRSxDQUFDO0lBRTVELElBQUksUUFBUSxFQUFFO1FBQ1osTUFBTSxRQUFRLEdBQUcsSUFBQSw2QkFBbUIsRUFBQyxRQUFRLENBQUMsQ0FBQztRQUMvQyxNQUFNLG9CQUFvQixHQUFHLE1BQU0sSUFBQSxpQkFBWSxFQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTFELElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUN6QixNQUFNLElBQUksbUJBQW1CLENBQUMsa0JBQWtCLENBQUMsQ0FBQztTQUNuRDtRQUVELElBQUksSUFBQSx3QkFBaUIsRUFBQyxRQUFRLENBQUMsRUFBRTtZQUMvQixPQUFPLEVBQUMsUUFBUSxFQUFDLENBQUM7U0FDbkI7UUFFRCxNQUFNLElBQUksa0JBQWtCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztLQUNsRDtTQUFNLElBQUksU0FBUyxFQUFFO1FBQ3BCLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBQSxzQkFBaUIsRUFBQyxTQUFTLENBQUMsQ0FBQztRQUV2RCxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2hCLE1BQU0sSUFBSSxxQkFBcUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1NBQ3REO1FBRUQsTUFBTSxRQUFRLEdBQUcsSUFBQSw2QkFBbUIsRUFBQyxTQUFTLENBQUMsQ0FBQztRQUVoRCxPQUFPLEVBQUMsU0FBUyxFQUFFLFFBQVEsRUFBQyxDQUFDO0tBQzlCO0lBRUQsTUFBTSxJQUFJLG9CQUFvQixDQUFDLHNCQUFzQixDQUFDLENBQUM7QUFDekQsQ0FBQyxDQUFDO0FBN0JXLFFBQUEsZ0JBQWdCLG9CQTZCM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3BhcnNlfSBmcm9tICd0cy1jb21tYW5kLWxpbmUtYXJncyc7XG5pbXBvcnQge0VSUk9SU30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3V0aWxzJztcblxuaW1wb3J0IHtpc0RpcmVjdG9yeUV4aXN0cywgaXNGaWxlRXhpc3RzfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC9mcyc7XG5pbXBvcnQge3ByZXBlbmRGdWxsRmlsZVBhdGh9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL2hlbHBlcnMnO1xuaW1wb3J0IHtjaGVja0lmRmlsZUlzWWFtbH0gZnJvbSAnLi4vLi4vY29tbW9uL3V0aWwveWFtbCc7XG5cbmltcG9ydCB7Q09ORklHLCBTVFJJTkdTfSBmcm9tICcuLi9jb25maWcnO1xuaW1wb3J0IHtTVFJJTkdTIGFzIENPTU1PTl9TVFJJTkdTfSBmcm9tICcuLi8uLi9jb21tb24vY29uZmlnJztcblxuaW1wb3J0IHtJRkNoZWNrQXJnc30gZnJvbSAnLi4vdHlwZXMvcHJvY2Vzcy1hcmdzJztcblxuY29uc3Qge1xuICBQYXJzZUNsaVBhcmFtc0Vycm9yLFxuICBDbGlTb3VyY2VGaWxlRXJyb3IsXG4gIEludmFsaWREaXJlY3RvcnlFcnJvcixcbiAgTWlzc2luZ0NsaUZsYWdzRXJyb3IsXG59ID0gRVJST1JTO1xuXG5jb25zdCB7QVJHUywgSEVMUH0gPSBDT05GSUc7XG5cbmNvbnN0IHtJRl9DSEVDS19GTEFHU19NSVNTSU5HLCBESVJFQ1RPUllfTk9UX0ZPVU5EfSA9IFNUUklOR1M7XG5jb25zdCB7TUFOSUZFU1RfTk9UX0ZPVU5ELCBTT1VSQ0VfSVNfTk9UX1lBTUx9ID0gQ09NTU9OX1NUUklOR1M7XG5cbi8qKlxuICogUGFyc2VzIGBpZi1jaGVja2AgcHJvY2VzcyBhcmd1bWVudHMuXG4gKi9cbmNvbnN0IHZhbGlkYXRlQW5kUGFyc2VJZkNoZWNrQXJncyA9ICgpID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gcGFyc2U8SUZDaGVja0FyZ3M+KEFSR1MsIEhFTFApO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2VDbGlQYXJhbXNFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICB9XG5cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuLyoqXG4gKiBDaGVja3MgaWYgZWl0aGVyIGBtYW5pZmVzdGAgb3IgYGRpcmVjdG9yeWAgY29tbWFuZCBpcyBwcm92aWRlZC5cbiAqL1xuZXhwb3J0IGNvbnN0IHBhcnNlSWZDaGVja0FyZ3MgPSBhc3luYyAoKSA9PiB7XG4gIGNvbnN0IHttYW5pZmVzdCwgZGlyZWN0b3J5fSA9IHZhbGlkYXRlQW5kUGFyc2VJZkNoZWNrQXJncygpO1xuXG4gIGlmIChtYW5pZmVzdCkge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gcHJlcGVuZEZ1bGxGaWxlUGF0aChtYW5pZmVzdCk7XG4gICAgY29uc3QgaXNNYW5pZmVzdEZpbGVFeGlzdHMgPSBhd2FpdCBpc0ZpbGVFeGlzdHMocmVzcG9uc2UpO1xuXG4gICAgaWYgKCFpc01hbmlmZXN0RmlsZUV4aXN0cykge1xuICAgICAgdGhyb3cgbmV3IFBhcnNlQ2xpUGFyYW1zRXJyb3IoTUFOSUZFU1RfTk9UX0ZPVU5EKTtcbiAgICB9XG5cbiAgICBpZiAoY2hlY2tJZkZpbGVJc1lhbWwobWFuaWZlc3QpKSB7XG4gICAgICByZXR1cm4ge21hbmlmZXN0fTtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgQ2xpU291cmNlRmlsZUVycm9yKFNPVVJDRV9JU19OT1RfWUFNTCk7XG4gIH0gZWxzZSBpZiAoZGlyZWN0b3J5KSB7XG4gICAgY29uc3QgaXNEaXJFeGlzdHMgPSBhd2FpdCBpc0RpcmVjdG9yeUV4aXN0cyhkaXJlY3RvcnkpO1xuXG4gICAgaWYgKCFpc0RpckV4aXN0cykge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWREaXJlY3RvcnlFcnJvcihESVJFQ1RPUllfTk9UX0ZPVU5EKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXNwb25zZSA9IHByZXBlbmRGdWxsRmlsZVBhdGgoZGlyZWN0b3J5KTtcblxuICAgIHJldHVybiB7ZGlyZWN0b3J5OiByZXNwb25zZX07XG4gIH1cblxuICB0aHJvdyBuZXcgTWlzc2luZ0NsaUZsYWdzRXJyb3IoSUZfQ0hFQ0tfRkxBR1NfTUlTU0lORyk7XG59O1xuIl19
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.logStdoutFailMessage = void 0;
|
|
4
|
+
const config_1 = require("../config");
|
|
5
|
+
const { IF_CHECK_FAILED, IF_CHECK_SUMMARY_ERROR_MESSAGE } = config_1.STRINGS;
|
|
6
|
+
/**
|
|
7
|
+
* Logs the failure message from the stdout of an error.
|
|
8
|
+
*/
|
|
9
|
+
const logStdoutFailMessage = (error, fileName) => {
|
|
10
|
+
console.log(IF_CHECK_FAILED(fileName));
|
|
11
|
+
const stdout = error.stdout;
|
|
12
|
+
const logs = stdout.split('\n\n');
|
|
13
|
+
const failMessage = logs[logs.length - 1];
|
|
14
|
+
console.log(failMessage);
|
|
15
|
+
return IF_CHECK_SUMMARY_ERROR_MESSAGE(fileName, failMessage);
|
|
16
|
+
};
|
|
17
|
+
exports.logStdoutFailMessage = logStdoutFailMessage;
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1jaGVjay91dGlsL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0NBQWtDO0FBRWxDLE1BQU0sRUFBQyxlQUFlLEVBQUUsOEJBQThCLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBRWxFOztHQUVHO0FBQ0ksTUFBTSxvQkFBb0IsR0FBRyxDQUFDLEtBQVUsRUFBRSxRQUFnQixFQUFFLEVBQUU7SUFDbkUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUV2QyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQzVCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFFMUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN6QixPQUFPLDhCQUE4QixDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQztBQUMvRCxDQUFDLENBQUM7QUFUVyxRQUFBLG9CQUFvQix3QkFTL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1NUUklOR1N9IGZyb20gJy4uL2NvbmZpZyc7XG5cbmNvbnN0IHtJRl9DSEVDS19GQUlMRUQsIElGX0NIRUNLX1NVTU1BUllfRVJST1JfTUVTU0FHRX0gPSBTVFJJTkdTO1xuXG4vKipcbiAqIExvZ3MgdGhlIGZhaWx1cmUgbWVzc2FnZSBmcm9tIHRoZSBzdGRvdXQgb2YgYW4gZXJyb3IuXG4gKi9cbmV4cG9ydCBjb25zdCBsb2dTdGRvdXRGYWlsTWVzc2FnZSA9IChlcnJvcjogYW55LCBmaWxlTmFtZTogc3RyaW5nKSA9PiB7XG4gIGNvbnNvbGUubG9nKElGX0NIRUNLX0ZBSUxFRChmaWxlTmFtZSkpO1xuXG4gIGNvbnN0IHN0ZG91dCA9IGVycm9yLnN0ZG91dDtcbiAgY29uc3QgbG9ncyA9IHN0ZG91dC5zcGxpdCgnXFxuXFxuJyk7XG4gIGNvbnN0IGZhaWxNZXNzYWdlID0gbG9nc1tsb2dzLmxlbmd0aCAtIDFdO1xuXG4gIGNvbnNvbGUubG9nKGZhaWxNZXNzYWdlKTtcbiAgcmV0dXJuIElGX0NIRUNLX1NVTU1BUllfRVJST1JfTUVTU0FHRShmaWxlTmFtZSwgZmFpbE1lc3NhZ2UpO1xufTtcbiJdfQ==
|
|
@@ -0,0 +1,59 @@
|
|
|
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.executeCommands = void 0;
|
|
27
|
+
const path = __importStar(require("node:path"));
|
|
28
|
+
const helpers_1 = require("../../common/util/helpers");
|
|
29
|
+
const fs_1 = require("../../common/util/fs");
|
|
30
|
+
const config_1 = require("../config");
|
|
31
|
+
const { IF_CHECK_VERIFIED } = config_1.STRINGS;
|
|
32
|
+
/**
|
|
33
|
+
* Executes a series of npm commands based on the provided manifest file.
|
|
34
|
+
*/
|
|
35
|
+
const executeCommands = async (manifest, cwd) => {
|
|
36
|
+
// TODO: After release remove isGlobal and appropriate checks
|
|
37
|
+
const isGlobal = !!process.env.npm_config_global;
|
|
38
|
+
const manifestDirPath = path.dirname(manifest);
|
|
39
|
+
const manifestFileName = (0, fs_1.getFileName)(manifest);
|
|
40
|
+
const executedManifest = path.join(manifestDirPath, `re-${manifestFileName}`);
|
|
41
|
+
const prefixFlag = process.env.CURRENT_DIR && process.env.CURRENT_DIR !== process.cwd()
|
|
42
|
+
? `--prefix=${path.relative(process.env.CURRENT_DIR, process.cwd())}`
|
|
43
|
+
: '';
|
|
44
|
+
const ifEnv = `${isGlobal ? `if-env ${prefixFlag}` : `npm run if-env ${prefixFlag} --`} -m ${manifest}`;
|
|
45
|
+
const ifEnvCommand = cwd ? `${ifEnv} -c` : ifEnv;
|
|
46
|
+
const ifRunCommand = `${isGlobal ? `if-run ${prefixFlag}` : `npm run if-run ${prefixFlag} --`} -m ${manifest} -o ${executedManifest}`;
|
|
47
|
+
const ifDiffCommand = `${isGlobal ? `if-diff ${prefixFlag}` : `npm run if-diff ${prefixFlag} --`} -s ${executedManifest}.yaml -t ${manifest}`;
|
|
48
|
+
const ttyCommand = " node -p 'Boolean(process.stdout.isTTY)'";
|
|
49
|
+
await (0, helpers_1.execPromise)(`${ifEnvCommand} && ${ifRunCommand} && ${ttyCommand} | ${ifDiffCommand}`, {
|
|
50
|
+
cwd: process.env.CURRENT_DIR || process.cwd(),
|
|
51
|
+
});
|
|
52
|
+
if (!cwd) {
|
|
53
|
+
await (0, fs_1.removeFileIfExists)(`${manifestDirPath}/package.json`);
|
|
54
|
+
}
|
|
55
|
+
await (0, fs_1.removeFileIfExists)(`${executedManifest}.yaml`);
|
|
56
|
+
console.log(IF_CHECK_VERIFIED(path.basename(manifest)));
|
|
57
|
+
};
|
|
58
|
+
exports.executeCommands = executeCommands;
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lmLWNoZWNrL3V0aWwvbnBtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZ0RBQWtDO0FBRWxDLHVEQUFzRDtBQUN0RCw2Q0FBcUU7QUFFckUsc0NBQWtDO0FBRWxDLE1BQU0sRUFBQyxpQkFBaUIsRUFBQyxHQUFHLGdCQUFPLENBQUM7QUFFcEM7O0dBRUc7QUFDSSxNQUFNLGVBQWUsR0FBRyxLQUFLLEVBQUUsUUFBZ0IsRUFBRSxHQUFZLEVBQUUsRUFBRTtJQUN0RSw2REFBNkQ7SUFDN0QsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUM7SUFDakQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMvQyxNQUFNLGdCQUFnQixHQUFHLElBQUEsZ0JBQVcsRUFBQyxRQUFRLENBQUMsQ0FBQztJQUMvQyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBQzlFLE1BQU0sVUFBVSxHQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxLQUFLLE9BQU8sQ0FBQyxHQUFHLEVBQUU7UUFDbEUsQ0FBQyxDQUFDLFlBQVksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVksRUFBRSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRTtRQUN0RSxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ1QsTUFBTSxLQUFLLEdBQUcsR0FDWixRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixVQUFVLEtBQ2xFLE9BQU8sUUFBUSxFQUFFLENBQUM7SUFDbEIsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDakQsTUFBTSxZQUFZLEdBQUcsR0FDbkIsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsVUFBVSxLQUNsRSxPQUFPLFFBQVEsT0FBTyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3pDLE1BQU0sYUFBYSxHQUFHLEdBQ3BCLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLFVBQVUsS0FDcEUsT0FBTyxnQkFBZ0IsWUFBWSxRQUFRLEVBQUUsQ0FBQztJQUM5QyxNQUFNLFVBQVUsR0FBRywwQ0FBMEMsQ0FBQztJQUU5RCxNQUFNLElBQUEscUJBQVcsRUFDZixHQUFHLFlBQVksT0FBTyxZQUFZLE9BQU8sVUFBVSxNQUFNLGFBQWEsRUFBRSxFQUN4RTtRQUNFLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFO0tBQzlDLENBQ0YsQ0FBQztJQUVGLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDUixNQUFNLElBQUEsdUJBQWtCLEVBQUMsR0FBRyxlQUFlLGVBQWUsQ0FBQyxDQUFDO0tBQzdEO0lBRUQsTUFBTSxJQUFBLHVCQUFrQixFQUFDLEdBQUcsZ0JBQWdCLE9BQU8sQ0FBQyxDQUFDO0lBRXJELE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUQsQ0FBQyxDQUFDO0FBcENXLFFBQUEsZUFBZSxtQkFvQzFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdub2RlOnBhdGgnO1xuXG5pbXBvcnQge2V4ZWNQcm9taXNlfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC9oZWxwZXJzJztcbmltcG9ydCB7Z2V0RmlsZU5hbWUsIHJlbW92ZUZpbGVJZkV4aXN0c30gZnJvbSAnLi4vLi4vY29tbW9uL3V0aWwvZnMnO1xuXG5pbXBvcnQge1NUUklOR1N9IGZyb20gJy4uL2NvbmZpZyc7XG5cbmNvbnN0IHtJRl9DSEVDS19WRVJJRklFRH0gPSBTVFJJTkdTO1xuXG4vKipcbiAqIEV4ZWN1dGVzIGEgc2VyaWVzIG9mIG5wbSBjb21tYW5kcyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgbWFuaWZlc3QgZmlsZS5cbiAqL1xuZXhwb3J0IGNvbnN0IGV4ZWN1dGVDb21tYW5kcyA9IGFzeW5jIChtYW5pZmVzdDogc3RyaW5nLCBjd2Q6IGJvb2xlYW4pID0+IHtcbiAgLy8gVE9ETzogQWZ0ZXIgcmVsZWFzZSByZW1vdmUgaXNHbG9iYWwgYW5kIGFwcHJvcHJpYXRlIGNoZWNrc1xuICBjb25zdCBpc0dsb2JhbCA9ICEhcHJvY2Vzcy5lbnYubnBtX2NvbmZpZ19nbG9iYWw7XG4gIGNvbnN0IG1hbmlmZXN0RGlyUGF0aCA9IHBhdGguZGlybmFtZShtYW5pZmVzdCk7XG4gIGNvbnN0IG1hbmlmZXN0RmlsZU5hbWUgPSBnZXRGaWxlTmFtZShtYW5pZmVzdCk7XG4gIGNvbnN0IGV4ZWN1dGVkTWFuaWZlc3QgPSBwYXRoLmpvaW4obWFuaWZlc3REaXJQYXRoLCBgcmUtJHttYW5pZmVzdEZpbGVOYW1lfWApO1xuICBjb25zdCBwcmVmaXhGbGFnID1cbiAgICBwcm9jZXNzLmVudi5DVVJSRU5UX0RJUiAmJiBwcm9jZXNzLmVudi5DVVJSRU5UX0RJUiAhPT0gcHJvY2Vzcy5jd2QoKVxuICAgICAgPyBgLS1wcmVmaXg9JHtwYXRoLnJlbGF0aXZlKHByb2Nlc3MuZW52LkNVUlJFTlRfRElSISwgcHJvY2Vzcy5jd2QoKSl9YFxuICAgICAgOiAnJztcbiAgY29uc3QgaWZFbnYgPSBgJHtcbiAgICBpc0dsb2JhbCA/IGBpZi1lbnYgJHtwcmVmaXhGbGFnfWAgOiBgbnBtIHJ1biBpZi1lbnYgJHtwcmVmaXhGbGFnfSAtLWBcbiAgfSAtbSAke21hbmlmZXN0fWA7XG4gIGNvbnN0IGlmRW52Q29tbWFuZCA9IGN3ZCA/IGAke2lmRW52fSAtY2AgOiBpZkVudjtcbiAgY29uc3QgaWZSdW5Db21tYW5kID0gYCR7XG4gICAgaXNHbG9iYWwgPyBgaWYtcnVuICR7cHJlZml4RmxhZ31gIDogYG5wbSBydW4gaWYtcnVuICR7cHJlZml4RmxhZ30gLS1gXG4gIH0gLW0gJHttYW5pZmVzdH0gLW8gJHtleGVjdXRlZE1hbmlmZXN0fWA7XG4gIGNvbnN0IGlmRGlmZkNvbW1hbmQgPSBgJHtcbiAgICBpc0dsb2JhbCA/IGBpZi1kaWZmICR7cHJlZml4RmxhZ31gIDogYG5wbSBydW4gaWYtZGlmZiAke3ByZWZpeEZsYWd9IC0tYFxuICB9IC1zICR7ZXhlY3V0ZWRNYW5pZmVzdH0ueWFtbCAtdCAke21hbmlmZXN0fWA7XG4gIGNvbnN0IHR0eUNvbW1hbmQgPSBcIiBub2RlIC1wICdCb29sZWFuKHByb2Nlc3Muc3Rkb3V0LmlzVFRZKSdcIjtcblxuICBhd2FpdCBleGVjUHJvbWlzZShcbiAgICBgJHtpZkVudkNvbW1hbmR9ICYmICR7aWZSdW5Db21tYW5kfSAmJiAke3R0eUNvbW1hbmR9IHwgJHtpZkRpZmZDb21tYW5kfWAsXG4gICAge1xuICAgICAgY3dkOiBwcm9jZXNzLmVudi5DVVJSRU5UX0RJUiB8fCBwcm9jZXNzLmN3ZCgpLFxuICAgIH1cbiAgKTtcblxuICBpZiAoIWN3ZCkge1xuICAgIGF3YWl0IHJlbW92ZUZpbGVJZkV4aXN0cyhgJHttYW5pZmVzdERpclBhdGh9L3BhY2thZ2UuanNvbmApO1xuICB9XG5cbiAgYXdhaXQgcmVtb3ZlRmlsZUlmRXhpc3RzKGAke2V4ZWN1dGVkTWFuaWZlc3R9LnlhbWxgKTtcblxuICBjb25zb2xlLmxvZyhJRl9DSEVDS19WRVJJRklFRChwYXRoLmJhc2VuYW1lKG1hbmlmZXN0KSkpO1xufTtcbiJdfQ==
|