@datadog/datadog-ci 3.20.0 → 3.21.2
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/LICENSE +1 -1
- package/README.md +34 -34
- package/dist/cli.d.ts +2 -1
- package/dist/cli.js +11 -19
- package/dist/cli.js.map +1 -1
- package/dist/commands/cli.d.ts +35 -0
- package/dist/commands/cli.js +33 -0
- package/dist/commands/cli.js.map +1 -0
- package/dist/commands/coverage/api.d.ts +2 -2
- package/dist/commands/coverage/api.js +2 -2
- package/dist/commands/coverage/api.js.map +1 -1
- package/dist/commands/coverage/cli.d.ts +2 -1
- package/dist/commands/coverage/cli.js +2 -1
- package/dist/commands/coverage/cli.js.map +1 -1
- package/dist/commands/coverage/interfaces.d.ts +2 -2
- package/dist/commands/coverage/renderer.d.ts +1 -1
- package/dist/commands/coverage/renderer.js.map +1 -1
- package/dist/commands/coverage/upload.js +17 -17
- package/dist/commands/coverage/upload.js.map +1 -1
- package/dist/commands/coverage/utils.d.ts +3 -3
- package/dist/commands/coverage/utils.js +2 -2
- package/dist/commands/coverage/utils.js.map +1 -1
- package/dist/commands/dsyms/cli.d.ts +2 -1
- package/dist/commands/dsyms/cli.js +2 -1
- package/dist/commands/dsyms/cli.js.map +1 -1
- package/dist/commands/dsyms/interfaces.d.ts +1 -1
- package/dist/commands/dsyms/renderer.d.ts +1 -1
- package/dist/commands/dsyms/renderer.js +2 -2
- package/dist/commands/dsyms/renderer.js.map +1 -1
- package/dist/commands/dsyms/upload.d.ts +1 -1
- package/dist/commands/dsyms/upload.js +14 -14
- package/dist/commands/dsyms/upload.js.map +1 -1
- package/dist/commands/dsyms/utils.js +1 -1
- package/dist/commands/dsyms/utils.js.map +1 -1
- package/dist/commands/elf-symbols/cli.d.ts +2 -1
- package/dist/commands/elf-symbols/cli.js +2 -1
- package/dist/commands/elf-symbols/cli.js.map +1 -1
- package/dist/commands/elf-symbols/elf-constants.js +3 -0
- package/dist/commands/elf-symbols/elf-constants.js.map +1 -1
- package/dist/commands/elf-symbols/elf.d.ts +3 -2
- package/dist/commands/elf-symbols/elf.js +7 -4
- package/dist/commands/elf-symbols/elf.js.map +1 -1
- package/dist/commands/elf-symbols/helpers.d.ts +4 -4
- package/dist/commands/elf-symbols/helpers.js +3 -3
- package/dist/commands/elf-symbols/helpers.js.map +1 -1
- package/dist/commands/elf-symbols/renderer.d.ts +1 -1
- package/dist/commands/elf-symbols/renderer.js +3 -3
- package/dist/commands/elf-symbols/renderer.js.map +1 -1
- package/dist/commands/elf-symbols/upload.d.ts +1 -1
- package/dist/commands/elf-symbols/upload.js +14 -17
- package/dist/commands/elf-symbols/upload.js.map +1 -1
- package/dist/commands/flutter-symbols/cli.d.ts +2 -1
- package/dist/commands/flutter-symbols/cli.js +2 -1
- package/dist/commands/flutter-symbols/cli.js.map +1 -1
- package/dist/commands/flutter-symbols/helpers.d.ts +4 -4
- package/dist/commands/flutter-symbols/helpers.js +3 -3
- package/dist/commands/flutter-symbols/helpers.js.map +1 -1
- package/dist/commands/flutter-symbols/renderer.d.ts +1 -1
- package/dist/commands/flutter-symbols/renderer.js +3 -3
- package/dist/commands/flutter-symbols/renderer.js.map +1 -1
- package/dist/commands/flutter-symbols/upload.d.ts +1 -1
- package/dist/commands/flutter-symbols/upload.js +15 -18
- package/dist/commands/flutter-symbols/upload.js.map +1 -1
- package/dist/commands/junit/api.d.ts +2 -2
- package/dist/commands/junit/api.js +1 -1
- package/dist/commands/junit/api.js.map +1 -1
- package/dist/commands/junit/cli.d.ts +2 -1
- package/dist/commands/junit/cli.js +2 -1
- package/dist/commands/junit/cli.js.map +1 -1
- package/dist/commands/junit/interfaces.d.ts +1 -1
- package/dist/commands/junit/renderer.d.ts +1 -1
- package/dist/commands/junit/renderer.js.map +1 -1
- package/dist/commands/junit/upload.js +19 -19
- package/dist/commands/junit/upload.js.map +1 -1
- package/dist/commands/junit/utils.d.ts +1 -2
- package/dist/commands/junit/utils.js +4 -18
- package/dist/commands/junit/utils.js.map +1 -1
- package/dist/commands/measure/cli.d.ts +2 -1
- package/dist/commands/measure/cli.js +2 -1
- package/dist/commands/measure/cli.js.map +1 -1
- package/dist/commands/measure/measure.js +7 -7
- package/dist/commands/measure/measure.js.map +1 -1
- package/dist/commands/pe-symbols/cli.d.ts +2 -1
- package/dist/commands/pe-symbols/cli.js +2 -1
- package/dist/commands/pe-symbols/cli.js.map +1 -1
- package/dist/commands/pe-symbols/helpers.d.ts +4 -4
- package/dist/commands/pe-symbols/helpers.js +3 -3
- package/dist/commands/pe-symbols/helpers.js.map +1 -1
- package/dist/commands/pe-symbols/pe.js +4 -4
- package/dist/commands/pe-symbols/pe.js.map +1 -1
- package/dist/commands/pe-symbols/renderer.d.ts +1 -1
- package/dist/commands/pe-symbols/renderer.js +3 -3
- package/dist/commands/pe-symbols/renderer.js.map +1 -1
- package/dist/commands/pe-symbols/upload.d.ts +1 -1
- package/dist/commands/pe-symbols/upload.js +14 -17
- package/dist/commands/pe-symbols/upload.js.map +1 -1
- package/dist/commands/react-native/cli.d.ts +5 -1
- package/dist/commands/react-native/cli.js +2 -1
- package/dist/commands/react-native/cli.js.map +1 -1
- package/dist/commands/react-native/codepush.js +3 -3
- package/dist/commands/react-native/codepush.js.map +1 -1
- package/dist/commands/react-native/injectDebugId.js +3 -3
- package/dist/commands/react-native/injectDebugId.js.map +1 -1
- package/dist/commands/react-native/interfaces.d.ts +3 -3
- package/dist/commands/react-native/renderer.d.ts +1 -1
- package/dist/commands/react-native/renderer.js +3 -3
- package/dist/commands/react-native/renderer.js.map +1 -1
- package/dist/commands/react-native/upload.d.ts +1 -1
- package/dist/commands/react-native/upload.js +15 -15
- package/dist/commands/react-native/upload.js.map +1 -1
- package/dist/commands/react-native/validation.js +1 -1
- package/dist/commands/react-native/validation.js.map +1 -1
- package/dist/commands/react-native/xcode.js +4 -4
- package/dist/commands/react-native/xcode.js.map +1 -1
- package/dist/commands/sourcemaps/cli.d.ts +2 -1
- package/dist/commands/sourcemaps/cli.js +2 -1
- package/dist/commands/sourcemaps/cli.js.map +1 -1
- package/dist/commands/sourcemaps/interfaces.d.ts +1 -1
- package/dist/commands/sourcemaps/renderer.d.ts +1 -1
- package/dist/commands/sourcemaps/renderer.js +3 -3
- package/dist/commands/sourcemaps/renderer.js.map +1 -1
- package/dist/commands/sourcemaps/upload.d.ts +1 -1
- package/dist/commands/sourcemaps/upload.js +15 -15
- package/dist/commands/sourcemaps/upload.js.map +1 -1
- package/dist/commands/sourcemaps/utils.js +2 -2
- package/dist/commands/sourcemaps/utils.js.map +1 -1
- package/dist/commands/sourcemaps/validation.js +1 -1
- package/dist/commands/sourcemaps/validation.js.map +1 -1
- package/dist/commands/span/cli.d.ts +2 -1
- package/dist/commands/span/cli.js +2 -1
- package/dist/commands/span/cli.js.map +1 -1
- package/dist/commands/span/span.js +1 -1
- package/dist/commands/span/span.js.map +1 -1
- package/dist/commands/trace/api.d.ts +2 -2
- package/dist/commands/trace/api.js +1 -1
- package/dist/commands/trace/api.js.map +1 -1
- package/dist/commands/trace/cli.d.ts +2 -1
- package/dist/commands/trace/cli.js +2 -1
- package/dist/commands/trace/cli.js.map +1 -1
- package/dist/commands/trace/helper.js +8 -8
- package/dist/commands/trace/helper.js.map +1 -1
- package/dist/commands/trace/interfaces.d.ts +1 -1
- package/dist/commands/trace/interfaces.js +1 -1
- package/dist/commands/trace/interfaces.js.map +1 -1
- package/dist/commands/trace/test-utils.d.ts +1 -1
- package/dist/commands/unity-symbols/cli.d.ts +2 -1
- package/dist/commands/unity-symbols/cli.js +2 -1
- package/dist/commands/unity-symbols/cli.js.map +1 -1
- package/dist/commands/unity-symbols/helpers.d.ts +4 -4
- package/dist/commands/unity-symbols/helpers.js +3 -3
- package/dist/commands/unity-symbols/helpers.js.map +1 -1
- package/dist/commands/unity-symbols/renderer.d.ts +1 -1
- package/dist/commands/unity-symbols/renderer.js +3 -3
- package/dist/commands/unity-symbols/renderer.js.map +1 -1
- package/dist/commands/unity-symbols/upload.d.ts +1 -1
- package/dist/commands/unity-symbols/upload.js +14 -14
- package/dist/commands/unity-symbols/upload.js.map +1 -1
- package/dist/commands/version/cli.d.ts +7 -0
- package/dist/commands/version/cli.js +4 -3
- package/dist/commands/version/cli.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/package.json +32 -131
- package/dist/commands/aas/cli.d.ts +0 -1
- package/dist/commands/aas/cli.js +0 -6
- package/dist/commands/aas/cli.js.map +0 -1
- package/dist/commands/aas/common.d.ts +0 -48
- package/dist/commands/aas/common.js +0 -282
- package/dist/commands/aas/common.js.map +0 -1
- package/dist/commands/aas/instrument.d.ts +0 -30
- package/dist/commands/aas/instrument.js +0 -239
- package/dist/commands/aas/instrument.js.map +0 -1
- package/dist/commands/aas/interfaces.d.ts +0 -22
- package/dist/commands/aas/interfaces.js +0 -3
- package/dist/commands/aas/interfaces.js.map +0 -1
- package/dist/commands/aas/uninstrument.d.ts +0 -16
- package/dist/commands/aas/uninstrument.js +0 -100
- package/dist/commands/aas/uninstrument.js.map +0 -1
- package/dist/commands/cloud-run/cli.d.ts +0 -1
- package/dist/commands/cloud-run/cli.js +0 -7
- package/dist/commands/cloud-run/cli.js.map +0 -1
- package/dist/commands/cloud-run/constants.d.ts +0 -3
- package/dist/commands/cloud-run/constants.js +0 -24
- package/dist/commands/cloud-run/constants.js.map +0 -1
- package/dist/commands/cloud-run/flare.d.ts +0 -87
- package/dist/commands/cloud-run/flare.js +0 -631
- package/dist/commands/cloud-run/flare.js.map +0 -1
- package/dist/commands/cloud-run/instrument.d.ts +0 -36
- package/dist/commands/cloud-run/instrument.js +0 -383
- package/dist/commands/cloud-run/instrument.js.map +0 -1
- package/dist/commands/cloud-run/interfaces.d.ts +0 -51
- package/dist/commands/cloud-run/interfaces.js +0 -3
- package/dist/commands/cloud-run/interfaces.js.map +0 -1
- package/dist/commands/cloud-run/prompt.d.ts +0 -5
- package/dist/commands/cloud-run/prompt.js +0 -86
- package/dist/commands/cloud-run/prompt.js.map +0 -1
- package/dist/commands/cloud-run/renderer.d.ts +0 -13
- package/dist/commands/cloud-run/renderer.js +0 -86
- package/dist/commands/cloud-run/renderer.js.map +0 -1
- package/dist/commands/cloud-run/types.d.ts +0 -50
- package/dist/commands/cloud-run/types.js +0 -5
- package/dist/commands/cloud-run/types.js.map +0 -1
- package/dist/commands/cloud-run/uninstrument.d.ts +0 -21
- package/dist/commands/cloud-run/uninstrument.js +0 -186
- package/dist/commands/cloud-run/uninstrument.js.map +0 -1
- package/dist/commands/cloud-run/utils.d.ts +0 -15
- package/dist/commands/cloud-run/utils.js +0 -110
- package/dist/commands/cloud-run/utils.js.map +0 -1
- package/dist/commands/deployment/api.d.ts +0 -2
- package/dist/commands/deployment/api.js +0 -46
- package/dist/commands/deployment/api.js.map +0 -1
- package/dist/commands/deployment/cli.d.ts +0 -1
- package/dist/commands/deployment/cli.js +0 -13
- package/dist/commands/deployment/cli.js.map +0 -1
- package/dist/commands/deployment/constants.d.ts +0 -8
- package/dist/commands/deployment/constants.js +0 -12
- package/dist/commands/deployment/constants.js.map +0 -1
- package/dist/commands/deployment/correlate-image.d.ts +0 -15
- package/dist/commands/deployment/correlate-image.js +0 -121
- package/dist/commands/deployment/correlate-image.js.map +0 -1
- package/dist/commands/deployment/correlate.d.ts +0 -22
- package/dist/commands/deployment/correlate.js +0 -185
- package/dist/commands/deployment/correlate.js.map +0 -1
- package/dist/commands/deployment/gate.d.ts +0 -33
- package/dist/commands/deployment/gate.js +0 -340
- package/dist/commands/deployment/gate.js.map +0 -1
- package/dist/commands/deployment/interfaces.d.ts +0 -43
- package/dist/commands/deployment/interfaces.js +0 -3
- package/dist/commands/deployment/interfaces.js.map +0 -1
- package/dist/commands/deployment/mark.d.ts +0 -21
- package/dist/commands/deployment/mark.js +0 -115
- package/dist/commands/deployment/mark.js.map +0 -1
- package/dist/commands/dora/api.d.ts +0 -8
- package/dist/commands/dora/api.js +0 -58
- package/dist/commands/dora/api.js.map +0 -1
- package/dist/commands/dora/cli.d.ts +0 -1
- package/dist/commands/dora/cli.js +0 -5
- package/dist/commands/dora/cli.js.map +0 -1
- package/dist/commands/dora/deployment.d.ts +0 -28
- package/dist/commands/dora/deployment.js +0 -235
- package/dist/commands/dora/deployment.js.map +0 -1
- package/dist/commands/dora/interfaces.d.ts +0 -18
- package/dist/commands/dora/interfaces.js +0 -3
- package/dist/commands/dora/interfaces.js.map +0 -1
- package/dist/commands/dora/renderer.d.ts +0 -8
- package/dist/commands/dora/renderer.js +0 -24
- package/dist/commands/dora/renderer.js.map +0 -1
- package/dist/commands/gate/api.d.ts +0 -7
- package/dist/commands/gate/api.js +0 -49
- package/dist/commands/gate/api.js.map +0 -1
- package/dist/commands/gate/cli.d.ts +0 -1
- package/dist/commands/gate/cli.js +0 -5
- package/dist/commands/gate/cli.js.map +0 -1
- package/dist/commands/gate/evaluate.d.ts +0 -35
- package/dist/commands/gate/evaluate.js +0 -266
- package/dist/commands/gate/evaluate.js.map +0 -1
- package/dist/commands/gate/interfaces.d.ts +0 -40
- package/dist/commands/gate/interfaces.js +0 -3
- package/dist/commands/gate/interfaces.js.map +0 -1
- package/dist/commands/gate/renderer.d.ts +0 -11
- package/dist/commands/gate/renderer.js +0 -126
- package/dist/commands/gate/renderer.js.map +0 -1
- package/dist/commands/gate/utils.d.ts +0 -14
- package/dist/commands/gate/utils.js +0 -71
- package/dist/commands/gate/utils.js.map +0 -1
- package/dist/commands/git-metadata/api.d.ts +0 -3
- package/dist/commands/git-metadata/api.js +0 -13
- package/dist/commands/git-metadata/api.js.map +0 -1
- package/dist/commands/git-metadata/cli.d.ts +0 -1
- package/dist/commands/git-metadata/cli.js +0 -5
- package/dist/commands/git-metadata/cli.js.map +0 -1
- package/dist/commands/git-metadata/git.d.ts +0 -18
- package/dist/commands/git-metadata/git.js +0 -188
- package/dist/commands/git-metadata/git.js.map +0 -1
- package/dist/commands/git-metadata/gitdb.d.ts +0 -7
- package/dist/commands/git-metadata/gitdb.js +0 -334
- package/dist/commands/git-metadata/gitdb.js.map +0 -1
- package/dist/commands/git-metadata/index.d.ts +0 -1
- package/dist/commands/git-metadata/index.js +0 -18
- package/dist/commands/git-metadata/index.js.map +0 -1
- package/dist/commands/git-metadata/interfaces.d.ts +0 -10
- package/dist/commands/git-metadata/interfaces.js +0 -56
- package/dist/commands/git-metadata/interfaces.js.map +0 -1
- package/dist/commands/git-metadata/library.d.ts +0 -7
- package/dist/commands/git-metadata/library.js +0 -102
- package/dist/commands/git-metadata/library.js.map +0 -1
- package/dist/commands/git-metadata/renderer.d.ts +0 -7
- package/dist/commands/git-metadata/renderer.js +0 -29
- package/dist/commands/git-metadata/renderer.js.map +0 -1
- package/dist/commands/git-metadata/upload.d.ts +0 -20
- package/dist/commands/git-metadata/upload.js +0 -209
- package/dist/commands/git-metadata/upload.js.map +0 -1
- package/dist/commands/lambda/cli.d.ts +0 -1
- package/dist/commands/lambda/cli.js +0 -7
- package/dist/commands/lambda/cli.js.map +0 -1
- package/dist/commands/lambda/constants.d.ts +0 -87
- package/dist/commands/lambda/constants.js +0 -159
- package/dist/commands/lambda/constants.js.map +0 -1
- package/dist/commands/lambda/flare.d.ts +0 -102
- package/dist/commands/lambda/flare.js +0 -685
- package/dist/commands/lambda/flare.js.map +0 -1
- package/dist/commands/lambda/functions/commons.d.ts +0 -131
- package/dist/commands/lambda/functions/commons.js +0 -473
- package/dist/commands/lambda/functions/commons.js.map +0 -1
- package/dist/commands/lambda/functions/instrument.d.ts +0 -7
- package/dist/commands/lambda/functions/instrument.js +0 -271
- package/dist/commands/lambda/functions/instrument.js.map +0 -1
- package/dist/commands/lambda/functions/uninstrument.d.ts +0 -7
- package/dist/commands/lambda/functions/uninstrument.js +0 -156
- package/dist/commands/lambda/functions/uninstrument.js.map +0 -1
- package/dist/commands/lambda/functions/versionChecker.d.ts +0 -3
- package/dist/commands/lambda/functions/versionChecker.js +0 -38
- package/dist/commands/lambda/functions/versionChecker.js.map +0 -1
- package/dist/commands/lambda/instrument.d.ts +0 -41
- package/dist/commands/lambda/instrument.js +0 -439
- package/dist/commands/lambda/instrument.js.map +0 -1
- package/dist/commands/lambda/interfaces.d.ts +0 -91
- package/dist/commands/lambda/interfaces.js +0 -3
- package/dist/commands/lambda/interfaces.js.map +0 -1
- package/dist/commands/lambda/loggroup.d.ts +0 -17
- package/dist/commands/lambda/loggroup.js +0 -140
- package/dist/commands/lambda/loggroup.js.map +0 -1
- package/dist/commands/lambda/prompt.d.ts +0 -12
- package/dist/commands/lambda/prompt.js +0 -265
- package/dist/commands/lambda/prompt.js.map +0 -1
- package/dist/commands/lambda/renderers/__mocks__/instrument-uninstrument-renderer.d.ts +0 -2
- package/dist/commands/lambda/renderers/__mocks__/instrument-uninstrument-renderer.js +0 -11
- package/dist/commands/lambda/renderers/__mocks__/instrument-uninstrument-renderer.js.map +0 -1
- package/dist/commands/lambda/renderers/common-renderer.d.ts +0 -16
- package/dist/commands/lambda/renderers/common-renderer.js +0 -23
- package/dist/commands/lambda/renderers/common-renderer.js.map +0 -1
- package/dist/commands/lambda/renderers/instrument-uninstrument-renderer.d.ts +0 -397
- package/dist/commands/lambda/renderers/instrument-uninstrument-renderer.js +0 -506
- package/dist/commands/lambda/renderers/instrument-uninstrument-renderer.js.map +0 -1
- package/dist/commands/lambda/tags.d.ts +0 -8
- package/dist/commands/lambda/tags.js +0 -74
- package/dist/commands/lambda/tags.js.map +0 -1
- package/dist/commands/lambda/uninstrument.d.ts +0 -37
- package/dist/commands/lambda/uninstrument.js +0 -296
- package/dist/commands/lambda/uninstrument.js.map +0 -1
- package/dist/commands/sarif/api.d.ts +0 -7
- package/dist/commands/sarif/api.js +0 -49
- package/dist/commands/sarif/api.js.map +0 -1
- package/dist/commands/sarif/cli.d.ts +0 -1
- package/dist/commands/sarif/cli.js +0 -5
- package/dist/commands/sarif/cli.js.map +0 -1
- package/dist/commands/sarif/interfaces.d.ts +0 -12
- package/dist/commands/sarif/interfaces.js +0 -3
- package/dist/commands/sarif/interfaces.js.map +0 -1
- package/dist/commands/sarif/json-schema/sarif-schema-2.1.0.json +0 -2885
- package/dist/commands/sarif/renderer.d.ts +0 -11
- package/dist/commands/sarif/renderer.js +0 -97
- package/dist/commands/sarif/renderer.js.map +0 -1
- package/dist/commands/sarif/upload.d.ts +0 -22
- package/dist/commands/sarif/upload.js +0 -210
- package/dist/commands/sarif/upload.js.map +0 -1
- package/dist/commands/sarif/utils.d.ts +0 -21
- package/dist/commands/sarif/utils.js +0 -79
- package/dist/commands/sarif/utils.js.map +0 -1
- package/dist/commands/sarif/validation.d.ts +0 -16
- package/dist/commands/sarif/validation.js +0 -102
- package/dist/commands/sarif/validation.js.map +0 -1
- package/dist/commands/sbom/api.d.ts +0 -7
- package/dist/commands/sbom/api.js +0 -54
- package/dist/commands/sbom/api.js.map +0 -1
- package/dist/commands/sbom/cli.d.ts +0 -1
- package/dist/commands/sbom/cli.js +0 -5
- package/dist/commands/sbom/cli.js.map +0 -1
- package/dist/commands/sbom/constants.d.ts +0 -7
- package/dist/commands/sbom/constants.js +0 -11
- package/dist/commands/sbom/constants.js.map +0 -1
- package/dist/commands/sbom/json-schema/cyclonedx/bom-1.4.schema.json +0 -1687
- package/dist/commands/sbom/json-schema/cyclonedx/bom-1.5.schema.json +0 -3799
- package/dist/commands/sbom/json-schema/cyclonedx/bom-1.6.schema.json +0 -5699
- package/dist/commands/sbom/json-schema/jsf/jsf-0.82.schema.json +0 -244
- package/dist/commands/sbom/json-schema/spdx/spdx.schema.json +0 -737
- package/dist/commands/sbom/language.d.ts +0 -2
- package/dist/commands/sbom/language.js +0 -46
- package/dist/commands/sbom/language.js.map +0 -1
- package/dist/commands/sbom/payload.d.ts +0 -3
- package/dist/commands/sbom/payload.js +0 -344
- package/dist/commands/sbom/payload.js.map +0 -1
- package/dist/commands/sbom/renderer.d.ts +0 -9
- package/dist/commands/sbom/renderer.js +0 -99
- package/dist/commands/sbom/renderer.js.map +0 -1
- package/dist/commands/sbom/types.d.ts +0 -135
- package/dist/commands/sbom/types.js +0 -56
- package/dist/commands/sbom/types.js.map +0 -1
- package/dist/commands/sbom/upload.d.ts +0 -21
- package/dist/commands/sbom/upload.js +0 -153
- package/dist/commands/sbom/upload.js.map +0 -1
- package/dist/commands/sbom/validation.d.ts +0 -27
- package/dist/commands/sbom/validation.js +0 -162
- package/dist/commands/sbom/validation.js.map +0 -1
- package/dist/commands/stepfunctions/awsCommands.d.ts +0 -18
- package/dist/commands/stepfunctions/awsCommands.js +0 -244
- package/dist/commands/stepfunctions/awsCommands.js.map +0 -1
- package/dist/commands/stepfunctions/cli.d.ts +0 -1
- package/dist/commands/stepfunctions/cli.js +0 -6
- package/dist/commands/stepfunctions/cli.js.map +0 -1
- package/dist/commands/stepfunctions/constants.d.ts +0 -3
- package/dist/commands/stepfunctions/constants.js +0 -7
- package/dist/commands/stepfunctions/constants.js.map +0 -1
- package/dist/commands/stepfunctions/helpers.d.ts +0 -51
- package/dist/commands/stepfunctions/helpers.js +0 -232
- package/dist/commands/stepfunctions/helpers.js.map +0 -1
- package/dist/commands/stepfunctions/instrument.d.ts +0 -16
- package/dist/commands/stepfunctions/instrument.js +0 -264
- package/dist/commands/stepfunctions/instrument.js.map +0 -1
- package/dist/commands/stepfunctions/uninstrument.d.ts +0 -15
- package/dist/commands/stepfunctions/uninstrument.js +0 -151
- package/dist/commands/stepfunctions/uninstrument.js.map +0 -1
- package/dist/commands/synthetics/api.d.ts +0 -52
- package/dist/commands/synthetics/api.js +0 -333
- package/dist/commands/synthetics/api.js.map +0 -1
- package/dist/commands/synthetics/base-command.d.ts +0 -35
- package/dist/commands/synthetics/base-command.js +0 -132
- package/dist/commands/synthetics/base-command.js.map +0 -1
- package/dist/commands/synthetics/batch.d.ts +0 -9
- package/dist/commands/synthetics/batch.js +0 -325
- package/dist/commands/synthetics/batch.js.map +0 -1
- package/dist/commands/synthetics/build-and-test.d.ts +0 -25
- package/dist/commands/synthetics/build-and-test.js +0 -196
- package/dist/commands/synthetics/build-and-test.js.map +0 -1
- package/dist/commands/synthetics/cli.d.ts +0 -1
- package/dist/commands/synthetics/cli.js +0 -8
- package/dist/commands/synthetics/cli.js.map +0 -1
- package/dist/commands/synthetics/deploy-tests-command.d.ts +0 -15
- package/dist/commands/synthetics/deploy-tests-command.js +0 -78
- package/dist/commands/synthetics/deploy-tests-command.js.map +0 -1
- package/dist/commands/synthetics/deploy-tests-lib.d.ts +0 -2
- package/dist/commands/synthetics/deploy-tests-lib.js +0 -92
- package/dist/commands/synthetics/deploy-tests-lib.js.map +0 -1
- package/dist/commands/synthetics/errors.d.ts +0 -21
- package/dist/commands/synthetics/errors.js +0 -54
- package/dist/commands/synthetics/errors.js.map +0 -1
- package/dist/commands/synthetics/import-tests-command.d.ts +0 -14
- package/dist/commands/synthetics/import-tests-command.js +0 -75
- package/dist/commands/synthetics/import-tests-command.js.map +0 -1
- package/dist/commands/synthetics/import-tests-lib.d.ts +0 -2
- package/dist/commands/synthetics/import-tests-lib.js +0 -71
- package/dist/commands/synthetics/import-tests-lib.js.map +0 -1
- package/dist/commands/synthetics/index.d.ts +0 -7
- package/dist/commands/synthetics/index.js +0 -44
- package/dist/commands/synthetics/index.js.map +0 -1
- package/dist/commands/synthetics/interfaces.d.ts +0 -739
- package/dist/commands/synthetics/interfaces.js +0 -27
- package/dist/commands/synthetics/interfaces.js.map +0 -1
- package/dist/commands/synthetics/local-test-definition.d.ts +0 -2
- package/dist/commands/synthetics/local-test-definition.js +0 -16
- package/dist/commands/synthetics/local-test-definition.js.map +0 -1
- package/dist/commands/synthetics/mobile.d.ts +0 -28
- package/dist/commands/synthetics/mobile.js +0 -275
- package/dist/commands/synthetics/mobile.js.map +0 -1
- package/dist/commands/synthetics/multilocator.d.ts +0 -2
- package/dist/commands/synthetics/multilocator.js +0 -88
- package/dist/commands/synthetics/multilocator.js.map +0 -1
- package/dist/commands/synthetics/reporters/constants.d.ts +0 -6
- package/dist/commands/synthetics/reporters/constants.js +0 -14
- package/dist/commands/synthetics/reporters/constants.js.map +0 -1
- package/dist/commands/synthetics/reporters/default.d.ts +0 -31
- package/dist/commands/synthetics/reporters/default.js +0 -416
- package/dist/commands/synthetics/reporters/default.js.map +0 -1
- package/dist/commands/synthetics/reporters/junit.d.ts +0 -100
- package/dist/commands/synthetics/reporters/junit.js +0 -425
- package/dist/commands/synthetics/reporters/junit.js.map +0 -1
- package/dist/commands/synthetics/reporters/mobile/app-upload.d.ts +0 -15
- package/dist/commands/synthetics/reporters/mobile/app-upload.js +0 -54
- package/dist/commands/synthetics/reporters/mobile/app-upload.js.map +0 -1
- package/dist/commands/synthetics/run-tests-command.d.ts +0 -31
- package/dist/commands/synthetics/run-tests-command.js +0 -335
- package/dist/commands/synthetics/run-tests-command.js.map +0 -1
- package/dist/commands/synthetics/run-tests-lib.d.ts +0 -21
- package/dist/commands/synthetics/run-tests-lib.js +0 -247
- package/dist/commands/synthetics/run-tests-lib.js.map +0 -1
- package/dist/commands/synthetics/test.d.ts +0 -30
- package/dist/commands/synthetics/test.js +0 -204
- package/dist/commands/synthetics/test.js.map +0 -1
- package/dist/commands/synthetics/tunnel/crypto.d.ts +0 -6
- package/dist/commands/synthetics/tunnel/crypto.js +0 -48
- package/dist/commands/synthetics/tunnel/crypto.js.map +0 -1
- package/dist/commands/synthetics/tunnel/index.d.ts +0 -1
- package/dist/commands/synthetics/tunnel/index.js +0 -6
- package/dist/commands/synthetics/tunnel/index.js.map +0 -1
- package/dist/commands/synthetics/tunnel/tunnel.d.ts +0 -49
- package/dist/commands/synthetics/tunnel/tunnel.js +0 -329
- package/dist/commands/synthetics/tunnel/tunnel.js.map +0 -1
- package/dist/commands/synthetics/tunnel/websocket.d.ts +0 -39
- package/dist/commands/synthetics/tunnel/websocket.js +0 -154
- package/dist/commands/synthetics/tunnel/websocket.js.map +0 -1
- package/dist/commands/synthetics/upload-application-command.d.ts +0 -15
- package/dist/commands/synthetics/upload-application-command.js +0 -97
- package/dist/commands/synthetics/upload-application-command.js.map +0 -1
- package/dist/commands/synthetics/utils/internal.d.ts +0 -52
- package/dist/commands/synthetics/utils/internal.js +0 -297
- package/dist/commands/synthetics/utils/internal.js.map +0 -1
- package/dist/commands/synthetics/utils/public.d.ts +0 -76
- package/dist/commands/synthetics/utils/public.js +0 -509
- package/dist/commands/synthetics/utils/public.js.map +0 -1
- package/dist/commands/tag/cli.d.ts +0 -1
- package/dist/commands/tag/cli.js +0 -5
- package/dist/commands/tag/cli.js.map +0 -1
- package/dist/commands/tag/tag.d.ts +0 -20
- package/dist/commands/tag/tag.js +0 -162
- package/dist/commands/tag/tag.js.map +0 -1
- package/dist/constants.d.ts +0 -38
- package/dist/constants.js +0 -104
- package/dist/constants.js.map +0 -1
- package/dist/helpers/api.d.ts +0 -5
- package/dist/helpers/api.js +0 -16
- package/dist/helpers/api.js.map +0 -1
- package/dist/helpers/apikey.d.ts +0 -15
- package/dist/helpers/apikey.js +0 -85
- package/dist/helpers/apikey.js.map +0 -1
- package/dist/helpers/app.d.ts +0 -3
- package/dist/helpers/app.js +0 -23
- package/dist/helpers/app.js.map +0 -1
- package/dist/helpers/base-intake-url.d.ts +0 -1
- package/dist/helpers/base-intake-url.js +0 -14
- package/dist/helpers/base-intake-url.js.map +0 -1
- package/dist/helpers/ci.d.ts +0 -71
- package/dist/helpers/ci.js +0 -671
- package/dist/helpers/ci.js.map +0 -1
- package/dist/helpers/concurrency.d.ts +0 -1
- package/dist/helpers/concurrency.js +0 -45
- package/dist/helpers/concurrency.js.map +0 -1
- package/dist/helpers/config.d.ts +0 -5
- package/dist/helpers/config.js +0 -3
- package/dist/helpers/config.js.map +0 -1
- package/dist/helpers/env.d.ts +0 -6
- package/dist/helpers/env.js +0 -50
- package/dist/helpers/env.js.map +0 -1
- package/dist/helpers/errors.d.ts +0 -2
- package/dist/helpers/errors.js +0 -7
- package/dist/helpers/errors.js.map +0 -1
- package/dist/helpers/file-finder.d.ts +0 -20
- package/dist/helpers/file-finder.js +0 -203
- package/dist/helpers/file-finder.js.map +0 -1
- package/dist/helpers/filereader.d.ts +0 -21
- package/dist/helpers/filereader.js +0 -59
- package/dist/helpers/filereader.js.map +0 -1
- package/dist/helpers/fips.d.ts +0 -1
- package/dist/helpers/fips.js +0 -24
- package/dist/helpers/fips.js.map +0 -1
- package/dist/helpers/flare.d.ts +0 -43
- package/dist/helpers/flare.js +0 -204
- package/dist/helpers/flare.js.map +0 -1
- package/dist/helpers/formatting.d.ts +0 -5
- package/dist/helpers/formatting.js +0 -13
- package/dist/helpers/formatting.js.map +0 -1
- package/dist/helpers/fs.d.ts +0 -31
- package/dist/helpers/fs.js +0 -117
- package/dist/helpers/fs.js.map +0 -1
- package/dist/helpers/git/format-git-sourcemaps-data.d.ts +0 -16
- package/dist/helpers/git/format-git-sourcemaps-data.js +0 -183
- package/dist/helpers/git/format-git-sourcemaps-data.js.map +0 -1
- package/dist/helpers/git/format-git-span-data.d.ts +0 -2
- package/dist/helpers/git/format-git-span-data.js +0 -54
- package/dist/helpers/git/format-git-span-data.js.map +0 -1
- package/dist/helpers/git/get-git-data.d.ts +0 -13
- package/dist/helpers/git/get-git-data.js +0 -86
- package/dist/helpers/git/get-git-data.js.map +0 -1
- package/dist/helpers/git/instrument-helpers.d.ts +0 -10
- package/dist/helpers/git/instrument-helpers.js +0 -79
- package/dist/helpers/git/instrument-helpers.js.map +0 -1
- package/dist/helpers/glob.d.ts +0 -12
- package/dist/helpers/glob.js +0 -70
- package/dist/helpers/glob.js.map +0 -1
- package/dist/helpers/id.d.ts +0 -2
- package/dist/helpers/id.js +0 -53
- package/dist/helpers/id.js.map +0 -1
- package/dist/helpers/interfaces.d.ts +0 -59
- package/dist/helpers/interfaces.js +0 -3
- package/dist/helpers/interfaces.js.map +0 -1
- package/dist/helpers/logger.d.ts +0 -18
- package/dist/helpers/logger.js +0 -52
- package/dist/helpers/logger.js.map +0 -1
- package/dist/helpers/metrics.d.ts +0 -12
- package/dist/helpers/metrics.js +0 -36
- package/dist/helpers/metrics.js.map +0 -1
- package/dist/helpers/plist.d.ts +0 -44
- package/dist/helpers/plist.js +0 -93
- package/dist/helpers/plist.js.map +0 -1
- package/dist/helpers/prompt.d.ts +0 -9
- package/dist/helpers/prompt.js +0 -58
- package/dist/helpers/prompt.js.map +0 -1
- package/dist/helpers/renderer.d.ts +0 -60
- package/dist/helpers/renderer.js +0 -98
- package/dist/helpers/renderer.js.map +0 -1
- package/dist/helpers/retry.d.ts +0 -2
- package/dist/helpers/retry.js +0 -40
- package/dist/helpers/retry.js.map +0 -1
- package/dist/helpers/tags.d.ts +0 -82
- package/dist/helpers/tags.js +0 -244
- package/dist/helpers/tags.js.map +0 -1
- package/dist/helpers/upload.d.ts +0 -51
- package/dist/helpers/upload.js +0 -86
- package/dist/helpers/upload.js.map +0 -1
- package/dist/helpers/user-provided-git.d.ts +0 -2
- package/dist/helpers/user-provided-git.js +0 -49
- package/dist/helpers/user-provided-git.js.map +0 -1
- package/dist/helpers/utils.d.ts +0 -84
- package/dist/helpers/utils.js +0 -340
- package/dist/helpers/utils.js.map +0 -1
- package/dist/helpers/validation.d.ts +0 -19
- package/dist/helpers/validation.js +0 -77
- package/dist/helpers/validation.js.map +0 -1
- package/dist/helpers/version.d.ts +0 -5
- package/dist/helpers/version.js +0 -25
- package/dist/helpers/version.js.map +0 -1
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Payload } from './interfaces';
|
|
2
|
-
export declare const renderInvalidFile: (sarifReport: string, errorMessages: string[]) => string;
|
|
3
|
-
export declare const renderMissingTags: (missingTags: string[]) => string;
|
|
4
|
-
export declare const renderFailedUpload: (sarifReport: Payload, error: any) => string;
|
|
5
|
-
export declare const renderRetriedUpload: (sarifReport: Payload, errorMessage: string, attempt: number) => string;
|
|
6
|
-
export declare const renderSuccessfulCommand: (fileCount: number, duration: number) => string;
|
|
7
|
-
export declare const renderDryRunUpload: (payload: Payload) => string;
|
|
8
|
-
export declare const renderUpload: (payload: Payload) => string;
|
|
9
|
-
export declare const renderUploadWithSpan: (payload: Payload) => string;
|
|
10
|
-
export declare const renderCommandInfo: (basePaths: string[], env: string, sha: string, concurrency: number, dryRun: boolean, noVerify: boolean) => string;
|
|
11
|
-
export declare const renderFilesNotFound: (basePaths: string[]) => string;
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.renderFilesNotFound = exports.renderCommandInfo = exports.renderUploadWithSpan = exports.renderUpload = exports.renderDryRunUpload = exports.renderSuccessfulCommand = exports.renderRetriedUpload = exports.renderFailedUpload = exports.renderMissingTags = exports.renderInvalidFile = void 0;
|
|
7
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
-
const upath_1 = __importDefault(require("upath"));
|
|
9
|
-
const app_1 = require("../../helpers/app");
|
|
10
|
-
const ICONS = {
|
|
11
|
-
FAILED: '❌',
|
|
12
|
-
SUCCESS: '✅',
|
|
13
|
-
WARNING: '⚠️',
|
|
14
|
-
INFO: 'ℹ️',
|
|
15
|
-
};
|
|
16
|
-
const renderInvalidFile = (sarifReport, errorMessages) => {
|
|
17
|
-
let fullStr = '';
|
|
18
|
-
const reportPath = `[${chalk_1.default.bold.dim(sarifReport)}]`;
|
|
19
|
-
fullStr += chalk_1.default.red(`${ICONS.FAILED} Invalid SARIF report file ${reportPath}.\n`);
|
|
20
|
-
fullStr += chalk_1.default.red(`The report is too large, not a valid JSON or is not compliant with the SARIF json schema v2.1.0.\n`);
|
|
21
|
-
fullStr += chalk_1.default.red(`Error(s) found:\n`);
|
|
22
|
-
for (const errorMessage of errorMessages) {
|
|
23
|
-
fullStr += chalk_1.default.red(` - ${errorMessage}\n`);
|
|
24
|
-
}
|
|
25
|
-
return fullStr;
|
|
26
|
-
};
|
|
27
|
-
exports.renderInvalidFile = renderInvalidFile;
|
|
28
|
-
const renderMissingTags = (missingTags) => {
|
|
29
|
-
const styledPath = `[${chalk_1.default.bold.dim(process.cwd())}]`;
|
|
30
|
-
let fullStr = '';
|
|
31
|
-
fullStr += chalk_1.default.red(`There are missing git tags in ${styledPath}:\n`);
|
|
32
|
-
missingTags.forEach((tag) => {
|
|
33
|
-
fullStr += chalk_1.default.red(` - ${tag}\n`);
|
|
34
|
-
});
|
|
35
|
-
fullStr += chalk_1.default.red(`To fix this, ensure that the git information above is available for your commit.\n`);
|
|
36
|
-
return fullStr;
|
|
37
|
-
};
|
|
38
|
-
exports.renderMissingTags = renderMissingTags;
|
|
39
|
-
const renderFailedUpload = (sarifReport, error) => {
|
|
40
|
-
var _a;
|
|
41
|
-
const reportPath = `[${chalk_1.default.bold.dim(sarifReport.reportPath)}]`;
|
|
42
|
-
let fullStr = '';
|
|
43
|
-
fullStr += chalk_1.default.red(`${ICONS.FAILED} Failed upload SARIF report file ${reportPath}: ${error.message}\n`);
|
|
44
|
-
if ((_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.status) {
|
|
45
|
-
fullStr += chalk_1.default.red(`API status code: ${error.response.status}\n`);
|
|
46
|
-
}
|
|
47
|
-
return fullStr;
|
|
48
|
-
};
|
|
49
|
-
exports.renderFailedUpload = renderFailedUpload;
|
|
50
|
-
const renderRetriedUpload = (sarifReport, errorMessage, attempt) => {
|
|
51
|
-
const sarifReportPath = `[${chalk_1.default.bold.dim(sarifReport.reportPath)}]`;
|
|
52
|
-
return chalk_1.default.yellow(`[attempt ${attempt}] Retrying SARIF report upload ${sarifReportPath}: ${errorMessage}\n`);
|
|
53
|
-
};
|
|
54
|
-
exports.renderRetriedUpload = renderRetriedUpload;
|
|
55
|
-
const renderSuccessfulCommand = (fileCount, duration) => {
|
|
56
|
-
let fullStr = '';
|
|
57
|
-
fullStr += chalk_1.default.green(`${ICONS.SUCCESS} Uploaded ${fileCount} files in ${duration} seconds.\n`);
|
|
58
|
-
fullStr += chalk_1.default.green(`${ICONS.INFO} Results available on ${(0, app_1.getBaseUrl)()}ci/code-analysis\n`);
|
|
59
|
-
fullStr += chalk_1.default.green('=================================================================================================\n');
|
|
60
|
-
return fullStr;
|
|
61
|
-
};
|
|
62
|
-
exports.renderSuccessfulCommand = renderSuccessfulCommand;
|
|
63
|
-
const renderDryRunUpload = (payload) => `[DRYRUN] ${(0, exports.renderUploadWithSpan)(payload)}`;
|
|
64
|
-
exports.renderDryRunUpload = renderDryRunUpload;
|
|
65
|
-
const renderUpload = (payload) => `Uploading SARIF report in ${payload.reportPath}\n`;
|
|
66
|
-
exports.renderUpload = renderUpload;
|
|
67
|
-
const renderUploadWithSpan = (payload) => `Uploading SARIF report to ${payload.reportPath} with tags ${JSON.stringify(payload.spanTags)}\n`;
|
|
68
|
-
exports.renderUploadWithSpan = renderUploadWithSpan;
|
|
69
|
-
const renderCommandInfo = (basePaths, env, sha, concurrency, dryRun, noVerify) => {
|
|
70
|
-
let fullStr = '';
|
|
71
|
-
if (dryRun) {
|
|
72
|
-
fullStr += chalk_1.default.yellow(`${ICONS.WARNING} DRY-RUN MODE ENABLED. WILL NOT UPLOAD SARIF REPORT\n`);
|
|
73
|
-
}
|
|
74
|
-
if (noVerify) {
|
|
75
|
-
fullStr += chalk_1.default.yellow(`${ICONS.INFO} --no-verify enabled. The reports will be uploaded without client validation.\n`);
|
|
76
|
-
}
|
|
77
|
-
fullStr += chalk_1.default.green(`Starting upload with concurrency ${concurrency}. \n`);
|
|
78
|
-
if (basePaths.length === 1 && !!upath_1.default.extname(basePaths[0])) {
|
|
79
|
-
fullStr += chalk_1.default.green(`Will upload SARIF report file ${basePaths[0]}\n`);
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
fullStr += chalk_1.default.green(`Will look for SARIF report files in ${basePaths.join(', ')}\n`);
|
|
83
|
-
}
|
|
84
|
-
fullStr += `Only one upload per commit, env and tool\n`;
|
|
85
|
-
fullStr += `Preparing upload for sha:${sha} env:${env}\n`;
|
|
86
|
-
return fullStr;
|
|
87
|
-
};
|
|
88
|
-
exports.renderCommandInfo = renderCommandInfo;
|
|
89
|
-
const renderFilesNotFound = (basePaths) => {
|
|
90
|
-
let fullStr = '';
|
|
91
|
-
const paths = basePaths.length === 1 && !!upath_1.default.extname(basePaths[0]) ? basePaths[0] : basePaths.join(', ');
|
|
92
|
-
fullStr += chalk_1.default.yellow(`${ICONS.WARNING} Cannot find valid SARIF report files to upload in ${paths}.\n`);
|
|
93
|
-
fullStr += chalk_1.default.yellow(`Check the files exist and are valid.\n`);
|
|
94
|
-
return fullStr;
|
|
95
|
-
};
|
|
96
|
-
exports.renderFilesNotFound = renderFilesNotFound;
|
|
97
|
-
//# sourceMappingURL=renderer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../../src/commands/sarif/renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Command } from 'clipanion';
|
|
2
|
-
export declare class UploadSarifReportCommand extends Command {
|
|
3
|
-
static paths: string[][];
|
|
4
|
-
static usage: import("clipanion").Usage;
|
|
5
|
-
private basePaths;
|
|
6
|
-
private dryRun;
|
|
7
|
-
private env;
|
|
8
|
-
private maxConcurrency;
|
|
9
|
-
private serviceFromCli;
|
|
10
|
-
private tags;
|
|
11
|
-
private gitPath;
|
|
12
|
-
private noVerify;
|
|
13
|
-
private noCiTags;
|
|
14
|
-
private config;
|
|
15
|
-
private fips;
|
|
16
|
-
private fipsIgnoreError;
|
|
17
|
-
private fipsConfig;
|
|
18
|
-
execute(): Promise<1 | undefined>;
|
|
19
|
-
private uploadSarifReport;
|
|
20
|
-
private getApiHelper;
|
|
21
|
-
private getMatchingSarifReports;
|
|
22
|
-
}
|
|
@@ -1,210 +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
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
-
};
|
|
37
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
-
exports.UploadSarifReportCommand = void 0;
|
|
39
|
-
const fs_1 = __importDefault(require("fs"));
|
|
40
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
41
|
-
const clipanion_1 = require("clipanion");
|
|
42
|
-
const upath_1 = __importDefault(require("upath"));
|
|
43
|
-
const constants_1 = require("../../constants");
|
|
44
|
-
const concurrency_1 = require("../../helpers/concurrency");
|
|
45
|
-
const env_1 = require("../../helpers/env");
|
|
46
|
-
const fips_1 = require("../../helpers/fips");
|
|
47
|
-
const glob_1 = require("../../helpers/glob");
|
|
48
|
-
const retry_1 = require("../../helpers/retry");
|
|
49
|
-
const tags_1 = require("../../helpers/tags");
|
|
50
|
-
const utils_1 = require("../../helpers/utils");
|
|
51
|
-
const validation = __importStar(require("../../helpers/validation"));
|
|
52
|
-
const api_1 = require("./api");
|
|
53
|
-
const renderer_1 = require("./renderer");
|
|
54
|
-
const utils_2 = require("./utils");
|
|
55
|
-
const validation_1 = require("./validation");
|
|
56
|
-
class UploadSarifReportCommand extends clipanion_1.Command {
|
|
57
|
-
constructor() {
|
|
58
|
-
var _a, _b;
|
|
59
|
-
super(...arguments);
|
|
60
|
-
this.basePaths = clipanion_1.Option.Rest({ required: 1 });
|
|
61
|
-
this.dryRun = clipanion_1.Option.Boolean('--dry-run', false);
|
|
62
|
-
this.env = clipanion_1.Option.String('--env', 'ci');
|
|
63
|
-
this.maxConcurrency = clipanion_1.Option.String('--max-concurrency', '20', { validator: validation.isInteger() });
|
|
64
|
-
this.serviceFromCli = clipanion_1.Option.String('--service');
|
|
65
|
-
this.tags = clipanion_1.Option.Array('--tags');
|
|
66
|
-
this.gitPath = clipanion_1.Option.String('--git-repository');
|
|
67
|
-
this.noVerify = clipanion_1.Option.Boolean('--no-verify', false);
|
|
68
|
-
this.noCiTags = clipanion_1.Option.Boolean('--no-ci-tags', false);
|
|
69
|
-
this.config = {
|
|
70
|
-
apiKey: process.env.DATADOG_API_KEY || process.env.DD_API_KEY,
|
|
71
|
-
env: process.env.DD_ENV,
|
|
72
|
-
envVarTags: process.env.DD_TAGS,
|
|
73
|
-
};
|
|
74
|
-
this.fips = clipanion_1.Option.Boolean('--fips', false);
|
|
75
|
-
this.fipsIgnoreError = clipanion_1.Option.Boolean('--fips-ignore-error', false);
|
|
76
|
-
this.fipsConfig = {
|
|
77
|
-
fips: (_a = (0, env_1.toBoolean)(process.env[constants_1.FIPS_ENV_VAR])) !== null && _a !== void 0 ? _a : false,
|
|
78
|
-
fipsIgnoreError: (_b = (0, env_1.toBoolean)(process.env[constants_1.FIPS_IGNORE_ERROR_ENV_VAR])) !== null && _b !== void 0 ? _b : false,
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
execute() {
|
|
82
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
83
|
-
(0, fips_1.enableFips)(this.fips || this.fipsConfig.fips, this.fipsIgnoreError || this.fipsConfig.fipsIgnoreError);
|
|
84
|
-
// TODO(julien): remove this notice in April 2025
|
|
85
|
-
if (this.serviceFromCli) {
|
|
86
|
-
this.context.stderr.write('The CLI flag `--service` is deprecated and will be removed in a future version of datadog-ci\n');
|
|
87
|
-
this.context.stderr.write('To associate findings with services, consider using the service-to-repo mapping from service catalog\n');
|
|
88
|
-
this.context.stderr.write('Learn more at https://docs.datadoghq.com/getting_started/code_security/?tab=staticcodeanalysissast#link-datadog-services-to-repository-scan-results\n');
|
|
89
|
-
}
|
|
90
|
-
if (!this.basePaths || !this.basePaths.length) {
|
|
91
|
-
this.context.stderr.write('Missing basePath\n');
|
|
92
|
-
return 1;
|
|
93
|
-
}
|
|
94
|
-
if (!this.config.env) {
|
|
95
|
-
this.config.env = this.env;
|
|
96
|
-
}
|
|
97
|
-
const api = this.getApiHelper();
|
|
98
|
-
// Normalizing the basePath to resolve .. and .
|
|
99
|
-
this.basePaths = this.basePaths.map((basePath) => upath_1.default.normalize(basePath));
|
|
100
|
-
const spanTags = yield (0, tags_1.getSpanTags)(this.config, this.tags, !this.noCiTags, this.gitPath);
|
|
101
|
-
// Gather any missing mandatory git fields to display to the user
|
|
102
|
-
const missingGitFields = (0, tags_1.getMissingRequiredGitTags)(spanTags);
|
|
103
|
-
if (missingGitFields.length > 0) {
|
|
104
|
-
this.context.stdout.write((0, renderer_1.renderMissingTags)(missingGitFields));
|
|
105
|
-
return 1;
|
|
106
|
-
}
|
|
107
|
-
const payloads = yield this.getMatchingSarifReports(spanTags);
|
|
108
|
-
if (payloads.length === 0) {
|
|
109
|
-
this.context.stdout.write((0, renderer_1.renderFilesNotFound)(this.basePaths));
|
|
110
|
-
return 1;
|
|
111
|
-
}
|
|
112
|
-
const sha = spanTags[tags_1.GIT_SHA] || 'sha-not-found';
|
|
113
|
-
const env = this.config.env || 'env-not-set';
|
|
114
|
-
this.context.stdout.write((0, renderer_1.renderCommandInfo)(this.basePaths, env, sha, this.maxConcurrency, this.dryRun, this.noVerify));
|
|
115
|
-
const upload = (payload) => this.uploadSarifReport(api, payload);
|
|
116
|
-
const initialTime = new Date().getTime();
|
|
117
|
-
yield (0, concurrency_1.doWithMaxConcurrency)(this.maxConcurrency, payloads, upload);
|
|
118
|
-
const totalTimeSeconds = (Date.now() - initialTime) / 1000;
|
|
119
|
-
this.context.stdout.write((0, renderer_1.renderSuccessfulCommand)(payloads.length, totalTimeSeconds));
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
uploadSarifReport(api, sarifReport) {
|
|
123
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
124
|
-
if (this.dryRun) {
|
|
125
|
-
this.context.stdout.write((0, renderer_1.renderDryRunUpload)(sarifReport));
|
|
126
|
-
return;
|
|
127
|
-
}
|
|
128
|
-
try {
|
|
129
|
-
yield (0, retry_1.retryRequest)(() => api.uploadSarifReport(sarifReport, this.context.stdout.write.bind(this.context.stdout)), {
|
|
130
|
-
onRetry: (e, attempt) => {
|
|
131
|
-
this.context.stderr.write((0, renderer_1.renderRetriedUpload)(sarifReport, e.message, attempt));
|
|
132
|
-
},
|
|
133
|
-
retries: 5,
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
catch (error) {
|
|
137
|
-
this.context.stderr.write((0, renderer_1.renderFailedUpload)(sarifReport, error));
|
|
138
|
-
throw error;
|
|
139
|
-
}
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
getApiHelper() {
|
|
143
|
-
if (!this.config.apiKey) {
|
|
144
|
-
this.context.stdout.write(`Neither ${chalk_1.default.red.bold('DATADOG_API_KEY')} nor ${chalk_1.default.red.bold('DD_API_KEY')} is in your environment.\n`);
|
|
145
|
-
throw new Error('API key is missing');
|
|
146
|
-
}
|
|
147
|
-
return (0, api_1.apiConstructor)((0, utils_2.getBaseIntakeUrl)(), this.config.apiKey);
|
|
148
|
-
}
|
|
149
|
-
getMatchingSarifReports(spanTags) {
|
|
150
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
151
|
-
const sarifReports = (this.basePaths || []).reduce((acc, basePath) => {
|
|
152
|
-
const isFile = !!upath_1.default.extname(basePath);
|
|
153
|
-
if (isFile) {
|
|
154
|
-
return acc.concat(fs_1.default.existsSync(basePath) ? [basePath] : []);
|
|
155
|
-
}
|
|
156
|
-
return acc.concat((0, glob_1.globSync)((0, utils_1.buildPath)(basePath, '*.sarif'), { dotRelative: true }));
|
|
157
|
-
}, []);
|
|
158
|
-
const validUniqueFiles = [...new Set(sarifReports)].filter((sarifReport) => {
|
|
159
|
-
if (this.noVerify) {
|
|
160
|
-
return true;
|
|
161
|
-
}
|
|
162
|
-
const validationErrorMessage = (0, validation_1.validateSarif)(sarifReport);
|
|
163
|
-
if (validationErrorMessage) {
|
|
164
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
165
|
-
this.context.stdout.write((0, renderer_1.renderInvalidFile)(sarifReport, [validationErrorMessage]));
|
|
166
|
-
return false;
|
|
167
|
-
}
|
|
168
|
-
const potentialErrors = (0, validation_1.checkForError)(sarifReport);
|
|
169
|
-
if (potentialErrors.length > 0) {
|
|
170
|
-
this.context.stdout.write((0, renderer_1.renderInvalidFile)(sarifReport, potentialErrors));
|
|
171
|
-
return false;
|
|
172
|
-
}
|
|
173
|
-
return true;
|
|
174
|
-
});
|
|
175
|
-
return validUniqueFiles.map((sarifReport) => {
|
|
176
|
-
return {
|
|
177
|
-
reportPath: sarifReport,
|
|
178
|
-
spanTags,
|
|
179
|
-
service: (0, utils_2.getServiceFromSarifTool)(sarifReport),
|
|
180
|
-
};
|
|
181
|
-
});
|
|
182
|
-
});
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
exports.UploadSarifReportCommand = UploadSarifReportCommand;
|
|
186
|
-
UploadSarifReportCommand.paths = [['sarif', 'upload']];
|
|
187
|
-
UploadSarifReportCommand.usage = clipanion_1.Command.Usage({
|
|
188
|
-
category: 'Static Analysis',
|
|
189
|
-
description: 'Upload SARIF reports files to Datadog.',
|
|
190
|
-
details: `
|
|
191
|
-
This command will upload SARIF reports files to Datadog.\n
|
|
192
|
-
See README for details.
|
|
193
|
-
`,
|
|
194
|
-
examples: [
|
|
195
|
-
['Upload all SARIF report files in current directory', 'datadog-ci sarif upload .'],
|
|
196
|
-
[
|
|
197
|
-
'Upload all SARIF report files in src/sarif-go-reports and src/sarif-java-reports',
|
|
198
|
-
'datadog-ci sarif upload src/sarif-go-reports src/sarif-java-reports',
|
|
199
|
-
],
|
|
200
|
-
[
|
|
201
|
-
'Upload all SARIF report files in current directory and add extra tags globally',
|
|
202
|
-
'datadog-ci sarif upload --tags key1:value1 --tags key2:value2 .',
|
|
203
|
-
],
|
|
204
|
-
[
|
|
205
|
-
'Upload all SARIF report files in current directory to the datadoghq.eu site',
|
|
206
|
-
'DATADOG_SITE=datadoghq.eu datadog-ci sarif upload .',
|
|
207
|
-
],
|
|
208
|
-
],
|
|
209
|
-
});
|
|
210
|
-
//# sourceMappingURL=upload.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"upload.js","sourceRoot":"","sources":["../../../src/commands/sarif/upload.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export declare const getBaseIntakeUrl: () => string;
|
|
2
|
-
export declare const TAG_DATADOG_TYPE_TYPE_STATIC = "DATADOG_RULE_TYPE:STATIC_ANALYSIS";
|
|
3
|
-
export declare const TAG_DATADOG_TYPE_TYPE_SECRET = "DATADOG_RULE_TYPE:SECRET";
|
|
4
|
-
export declare const SERVICE_DATADOG_ANALYZER = "datadog-analyzer";
|
|
5
|
-
export declare const SERVICE_DATADOG_ANALYZER_SA_ONLY = "datadog-analyzer-sa-only";
|
|
6
|
-
export declare const SERVICE_DATADOG_ANALYZER_SECRETS_ONLY = "datadog-analyzer-secrets-only";
|
|
7
|
-
export declare const SERVICE_THIRD_PARTY_ANALYZER = "third-party-analyzer";
|
|
8
|
-
/**
|
|
9
|
-
* Define the service and env based on the SARIF contents reports
|
|
10
|
-
* - if the report is produced by the datadog static analyzer, we look if the report
|
|
11
|
-
* contains only static analysis or secrets errors and change service
|
|
12
|
-
* - if the report is produced by a third party tool, we report it as is and cannot
|
|
13
|
-
* infer the nature of the results. We still try to get the first tool from the runs.
|
|
14
|
-
*
|
|
15
|
-
* The objective of this function is to make sure that if a user uploads one report
|
|
16
|
-
* for static analysis only and one report for secrets only, they will have a different
|
|
17
|
-
* service and env for each report so that they are not discarded later in our backend.
|
|
18
|
-
*
|
|
19
|
-
* @param filePath
|
|
20
|
-
*/
|
|
21
|
-
export declare const getServiceFromSarifTool: (filePath: string) => string;
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getServiceFromSarifTool = exports.SERVICE_THIRD_PARTY_ANALYZER = exports.SERVICE_DATADOG_ANALYZER_SECRETS_ONLY = exports.SERVICE_DATADOG_ANALYZER_SA_ONLY = exports.SERVICE_DATADOG_ANALYZER = exports.TAG_DATADOG_TYPE_TYPE_SECRET = exports.TAG_DATADOG_TYPE_TYPE_STATIC = exports.getBaseIntakeUrl = void 0;
|
|
7
|
-
const fs_1 = __importDefault(require("fs"));
|
|
8
|
-
const getBaseIntakeUrl = () => {
|
|
9
|
-
if (process.env.DATADOG_SITE || process.env.DD_SITE) {
|
|
10
|
-
return `https://cicodescan-intake.${process.env.DATADOG_SITE || process.env.DD_SITE}`;
|
|
11
|
-
}
|
|
12
|
-
return 'https://cicodescan-intake.datadoghq.com';
|
|
13
|
-
};
|
|
14
|
-
exports.getBaseIntakeUrl = getBaseIntakeUrl;
|
|
15
|
-
exports.TAG_DATADOG_TYPE_TYPE_STATIC = 'DATADOG_RULE_TYPE:STATIC_ANALYSIS';
|
|
16
|
-
exports.TAG_DATADOG_TYPE_TYPE_SECRET = 'DATADOG_RULE_TYPE:SECRET';
|
|
17
|
-
exports.SERVICE_DATADOG_ANALYZER = 'datadog-analyzer';
|
|
18
|
-
exports.SERVICE_DATADOG_ANALYZER_SA_ONLY = 'datadog-analyzer-sa-only';
|
|
19
|
-
exports.SERVICE_DATADOG_ANALYZER_SECRETS_ONLY = 'datadog-analyzer-secrets-only';
|
|
20
|
-
exports.SERVICE_THIRD_PARTY_ANALYZER = 'third-party-analyzer';
|
|
21
|
-
/**
|
|
22
|
-
* Define the service and env based on the SARIF contents reports
|
|
23
|
-
* - if the report is produced by the datadog static analyzer, we look if the report
|
|
24
|
-
* contains only static analysis or secrets errors and change service
|
|
25
|
-
* - if the report is produced by a third party tool, we report it as is and cannot
|
|
26
|
-
* infer the nature of the results. We still try to get the first tool from the runs.
|
|
27
|
-
*
|
|
28
|
-
* The objective of this function is to make sure that if a user uploads one report
|
|
29
|
-
* for static analysis only and one report for secrets only, they will have a different
|
|
30
|
-
* service and env for each report so that they are not discarded later in our backend.
|
|
31
|
-
*
|
|
32
|
-
* @param filePath
|
|
33
|
-
*/
|
|
34
|
-
const getServiceFromSarifTool = (filePath) => {
|
|
35
|
-
let otherTool = exports.SERVICE_THIRD_PARTY_ANALYZER;
|
|
36
|
-
const ruleTypes = new Set();
|
|
37
|
-
try {
|
|
38
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
39
|
-
const report = JSON.parse(String(fs_1.default.readFileSync(filePath)));
|
|
40
|
-
if ('runs' in report) {
|
|
41
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
42
|
-
for (const run of report['runs']) {
|
|
43
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
44
|
-
if ('tool' in run && 'driver' in run['tool'] && 'rules' in run['tool']['driver']) {
|
|
45
|
-
for (const rule of run['tool']['driver']['rules']) {
|
|
46
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
47
|
-
if ('properties' in rule && 'tags' in rule['properties']) {
|
|
48
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
49
|
-
for (const tag of rule['properties']['tags']) {
|
|
50
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access
|
|
51
|
-
if (tag.includes('DATADOG_RULE_TYPE')) {
|
|
52
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
53
|
-
ruleTypes.add(tag);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment
|
|
62
|
-
otherTool = report['runs'][0]['tool']['driver']['name'];
|
|
63
|
-
}
|
|
64
|
-
catch (error) {
|
|
65
|
-
// ignore
|
|
66
|
-
}
|
|
67
|
-
if (ruleTypes.has(exports.TAG_DATADOG_TYPE_TYPE_STATIC) && ruleTypes.has(exports.TAG_DATADOG_TYPE_TYPE_SECRET)) {
|
|
68
|
-
return exports.SERVICE_DATADOG_ANALYZER;
|
|
69
|
-
}
|
|
70
|
-
if (ruleTypes.has(exports.TAG_DATADOG_TYPE_TYPE_STATIC) && !ruleTypes.has(exports.TAG_DATADOG_TYPE_TYPE_SECRET)) {
|
|
71
|
-
return exports.SERVICE_DATADOG_ANALYZER_SA_ONLY;
|
|
72
|
-
}
|
|
73
|
-
if (!ruleTypes.has(exports.TAG_DATADOG_TYPE_TYPE_STATIC) && ruleTypes.has(exports.TAG_DATADOG_TYPE_TYPE_SECRET)) {
|
|
74
|
-
return exports.SERVICE_DATADOG_ANALYZER_SECRETS_ONLY;
|
|
75
|
-
}
|
|
76
|
-
return otherTool;
|
|
77
|
-
};
|
|
78
|
-
exports.getServiceFromSarifTool = getServiceFromSarifTool;
|
|
79
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/commands/sarif/utils.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAmB;AAEZ,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE;QACnD,OAAO,6BAA6B,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;KACtF;IAED,OAAO,yCAAyC,CAAA;AAClD,CAAC,CAAA;AANY,QAAA,gBAAgB,oBAM5B;AAEY,QAAA,4BAA4B,GAAG,mCAAmC,CAAA;AAClE,QAAA,4BAA4B,GAAG,0BAA0B,CAAA;AACzD,QAAA,wBAAwB,GAAG,kBAAkB,CAAA;AAC7C,QAAA,gCAAgC,GAAG,0BAA0B,CAAA;AAC7D,QAAA,qCAAqC,GAAG,+BAA+B,CAAA;AACvE,QAAA,4BAA4B,GAAG,sBAAsB,CAAA;AAElE;;;;;;;;;;;;GAYG;AACI,MAAM,uBAAuB,GAAG,CAAC,QAAgB,EAAU,EAAE;IAClE,IAAI,SAAS,GAAW,oCAA4B,CAAA;IACpD,MAAM,SAAS,GAAgB,IAAI,GAAG,EAAE,CAAA;IACxC,IAAI;QACF,mEAAmE;QACnE,MAAM,MAAM,GAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAEjE,IAAI,MAAM,IAAI,MAAM,EAAE;YACpB,sEAAsE;YACtE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE;gBAChC,sEAAsE;gBACtE,IAAI,MAAM,IAAI,GAAG,IAAI,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EAAE;oBAChF,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE;wBACjD,sEAAsE;wBACtE,IAAI,YAAY,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE;4BACxD,sEAAsE;4BACtE,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,EAAE;gCAC5C,wGAAwG;gCACxG,IAAI,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;oCACrC,iEAAiE;oCACjE,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;iCACnB;6BACF;yBACF;qBACF;iBACF;aACF;SACF;QAED,8GAA8G;QAC9G,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAA;KACxD;IAAC,OAAO,KAAK,EAAE;QACd,SAAS;KACV;IAED,IAAI,SAAS,CAAC,GAAG,CAAC,oCAA4B,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,oCAA4B,CAAC,EAAE;QAC9F,OAAO,gCAAwB,CAAA;KAChC;IAED,IAAI,SAAS,CAAC,GAAG,CAAC,oCAA4B,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,oCAA4B,CAAC,EAAE;QAC/F,OAAO,wCAAgC,CAAA;KACxC;IAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,oCAA4B,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,oCAA4B,CAAC,EAAE;QAC/F,OAAO,6CAAqC,CAAA;KAC7C;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAhDY,QAAA,uBAAuB,2BAgDnC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Validate the SARIF file and check if the file is too large or not valid
|
|
3
|
-
* against the SARIF schema.
|
|
4
|
-
*
|
|
5
|
-
* @param sarifReportPath - the path of the SARIF file
|
|
6
|
-
*/
|
|
7
|
-
export declare const validateSarif: (sarifReportPath: string) => string | undefined;
|
|
8
|
-
/**
|
|
9
|
-
* Functions that looks for errors specific to how Datadog processes SARIF file. This way, we
|
|
10
|
-
* show the error directly to the user instead of uploading a file we cannot process in our backend.
|
|
11
|
-
*
|
|
12
|
-
* The function returns a list of errors to show. The return value is empty if there is no error.
|
|
13
|
-
*
|
|
14
|
-
* @param filePath - the path of the SARIF file.
|
|
15
|
-
*/
|
|
16
|
-
export declare const checkForError: (filePath: string) => string[];
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.checkForError = exports.validateSarif = void 0;
|
|
7
|
-
const fs_1 = __importDefault(require("fs"));
|
|
8
|
-
const ajv_1 = __importDefault(require("ajv"));
|
|
9
|
-
const ajv_formats_1 = __importDefault(require("ajv-formats"));
|
|
10
|
-
const sarif_schema_2_1_0_json_1 = __importDefault(require("./json-schema/sarif-schema-2.1.0.json"));
|
|
11
|
-
const maxSarifFileSize = 20 * 1024 * 1024; // 20MB in bytes
|
|
12
|
-
/**
|
|
13
|
-
* Validate the SARIF file and check if the file is too large or not valid
|
|
14
|
-
* against the SARIF schema.
|
|
15
|
-
*
|
|
16
|
-
* @param sarifReportPath - the path of the SARIF file
|
|
17
|
-
*/
|
|
18
|
-
const validateSarif = (sarifReportPath) => {
|
|
19
|
-
try {
|
|
20
|
-
const stats = fs_1.default.statSync(sarifReportPath); // Synchronously get file stats
|
|
21
|
-
const fileSize = stats.size;
|
|
22
|
-
if (fileSize > maxSarifFileSize) {
|
|
23
|
-
return `file size too large (size: ${fileSize / 1024 / 1024} MB, max size: ${maxSarifFileSize / 1024 / 1024} MB)`;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
catch (err) {
|
|
27
|
-
return err.message;
|
|
28
|
-
}
|
|
29
|
-
const ajv = new ajv_1.default({ allErrors: true });
|
|
30
|
-
(0, ajv_formats_1.default)(ajv);
|
|
31
|
-
const sarifJsonSchemaValidate = ajv.compile(sarif_schema_2_1_0_json_1.default);
|
|
32
|
-
try {
|
|
33
|
-
const sarifReportContent = JSON.parse(String(fs_1.default.readFileSync(sarifReportPath)));
|
|
34
|
-
const valid = sarifJsonSchemaValidate(sarifReportContent);
|
|
35
|
-
if (!valid) {
|
|
36
|
-
const errors = sarifJsonSchemaValidate.errors || [];
|
|
37
|
-
const errorMessages = errors.map((error) => {
|
|
38
|
-
return `${error.instancePath}: ${error.message}`;
|
|
39
|
-
});
|
|
40
|
-
return errorMessages.join('\n');
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
catch (error) {
|
|
44
|
-
return error.message;
|
|
45
|
-
}
|
|
46
|
-
return undefined;
|
|
47
|
-
};
|
|
48
|
-
exports.validateSarif = validateSarif;
|
|
49
|
-
/**
|
|
50
|
-
* Functions that looks for errors specific to how Datadog processes SARIF file. This way, we
|
|
51
|
-
* show the error directly to the user instead of uploading a file we cannot process in our backend.
|
|
52
|
-
*
|
|
53
|
-
* The function returns a list of errors to show. The return value is empty if there is no error.
|
|
54
|
-
*
|
|
55
|
-
* @param filePath - the path of the SARIF file.
|
|
56
|
-
*/
|
|
57
|
-
const checkForError = (filePath) => {
|
|
58
|
-
const report = JSON.parse(String(fs_1.default.readFileSync(filePath)));
|
|
59
|
-
const res = [];
|
|
60
|
-
if ('runs' in report) {
|
|
61
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
62
|
-
for (const run of report['runs']) {
|
|
63
|
-
const rules = [];
|
|
64
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
65
|
-
if ('tool' in run && 'driver' in run['tool'] && 'rules' in run['tool']['driver']) {
|
|
66
|
-
for (const rule of run['tool']['driver']['rules']) {
|
|
67
|
-
if ('id' in rule) {
|
|
68
|
-
rules.push(rule['id']);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
73
|
-
if ('tool' in run && 'extensions' in run['tool']) {
|
|
74
|
-
for (const extension of run['tool']['extensions']) {
|
|
75
|
-
if ('rules' in extension) {
|
|
76
|
-
for (const rule of extension['rules']) {
|
|
77
|
-
if ('id' in rule) {
|
|
78
|
-
rules.push(rule['id']);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
if ('results' in run) {
|
|
85
|
-
for (const result of run['results']) {
|
|
86
|
-
if (!('ruleId' in result)) {
|
|
87
|
-
res.push('a result should have a ruleId');
|
|
88
|
-
continue;
|
|
89
|
-
}
|
|
90
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment
|
|
91
|
-
const ruleId = result['ruleId'];
|
|
92
|
-
if (rules.indexOf(ruleId) === -1) {
|
|
93
|
-
res.push(`result references rule ${ruleId} but rule not found in the tool section`);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
return res;
|
|
100
|
-
};
|
|
101
|
-
exports.checkForError = checkForError;
|
|
102
|
-
//# sourceMappingURL=validation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/commands/sarif/validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { AxiosPromise, AxiosResponse } from 'axios';
|
|
2
|
-
import { ScaRequest } from './types';
|
|
3
|
-
/**
|
|
4
|
-
* Get the function to upload our results to the intake.
|
|
5
|
-
* @param apiKey
|
|
6
|
-
*/
|
|
7
|
-
export declare const getApiHelper: (apiKey: string, appKey: string) => (scaRequest: ScaRequest) => AxiosPromise<AxiosResponse>;
|