slnodejs 6.1.2 → 6.1.10
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/browser-agent/dist/browser-agent-all.js +101189 -0
- package/browser-agent/dist/browser-agent-all.min.js +57 -0
- package/browser-agent/package.json +44 -0
- package/lib/cli.js +1 -1
- package/package.json +125 -124
- package/tsOutputs/api.d.ts +10 -12
- package/tsOutputs/api.js +115 -116
- package/tsOutputs/build-scanner/ast-utils.js +38 -38
- package/tsOutputs/build-scanner/ast-utils.js.map +1 -1
- package/tsOutputs/build-scanner/build-diff-process.js +352 -352
- package/tsOutputs/build-scanner/cia.js +95 -95
- package/tsOutputs/build-scanner/configuration-loader.js +17 -17
- package/tsOutputs/build-scanner/current-agent-instance.js +5 -5
- package/tsOutputs/build-scanner/default-values-resolver.js +42 -42
- package/tsOutputs/build-scanner/entities-mapper.js +35 -35
- package/tsOutputs/build-scanner/file-and-folder-utils.js +176 -176
- package/tsOutputs/build-scanner/file-system/actual-file.js +66 -66
- package/tsOutputs/build-scanner/file-system/actual-file.js.map +1 -1
- package/tsOutputs/build-scanner/git-format-builder.js +68 -68
- package/tsOutputs/build-scanner/global-error-handler.js +20 -20
- package/tsOutputs/build-scanner/instrumentation/browser-instrumenter.js +299 -299
- package/tsOutputs/build-scanner/instrumentation/file-instrumenter.js +271 -271
- package/tsOutputs/build-scanner/instrumentation/file-instrumenter.js.map +1 -1
- package/tsOutputs/build-scanner/instrumentation/instrumentation-utils.js +58 -58
- package/tsOutputs/build-scanner/instrumentation/instrumented-file-size-reducer.js +159 -159
- package/tsOutputs/build-scanner/instrumentation/markup-file-instrumenter.js +187 -185
- package/tsOutputs/build-scanner/instrumentation/markup-file-instrumenter.js.map +1 -1
- package/tsOutputs/build-scanner/instrumentation/sync-instrumenter.js +39 -39
- package/tsOutputs/build-scanner/js_diff/ast-node-types.js +44 -44
- package/tsOutputs/build-scanner/js_diff/branch-key.js +10 -10
- package/tsOutputs/build-scanner/js_diff/branch-signature.js +156 -156
- package/tsOutputs/build-scanner/js_diff/create-node-key.js +7 -7
- package/tsOutputs/build-scanner/js_diff/dry-run-files-mapping.js +23 -23
- package/tsOutputs/build-scanner/js_diff/file-signature.js +234 -234
- package/tsOutputs/build-scanner/js_diff/files-mapping.js +456 -460
- package/tsOutputs/build-scanner/js_diff/files-mapping.js.map +1 -1
- package/tsOutputs/build-scanner/js_diff/generated-file-signature.js +143 -143
- package/tsOutputs/build-scanner/js_diff/globalMethodIndexer.js +26 -26
- package/tsOutputs/build-scanner/js_diff/guess-method-location.js +100 -100
- package/tsOutputs/build-scanner/js_diff/guess-method-name.js +54 -54
- package/tsOutputs/build-scanner/js_diff/method-signature.js +142 -142
- package/tsOutputs/build-scanner/js_diff/sl-mapper.js +136 -136
- package/tsOutputs/build-scanner/js_diff/source-data-enricher.js +89 -89
- package/tsOutputs/build-scanner/js_diff/source-files-notifier.js +31 -31
- package/tsOutputs/build-scanner/js_diff/source-position-mapper.js +29 -29
- package/tsOutputs/build-scanner/mappings/ensure-files-handler.service.js +213 -213
- package/tsOutputs/build-scanner/mappings/ensure-files-handler.service.js.map +1 -1
- package/tsOutputs/build-scanner/mappings/file-element-utils.js +46 -46
- package/tsOutputs/build-scanner/mappings/file-element-utils.js.map +1 -1
- package/tsOutputs/build-scanner/mappings/file-enricher.js +209 -204
- package/tsOutputs/build-scanner/mappings/file-enricher.js.map +1 -1
- package/tsOutputs/build-scanner/mappings/files-data-container.js +51 -51
- package/tsOutputs/build-scanner/mappings/files-data-container.js.map +1 -1
- package/tsOutputs/build-scanner/mappings/scm-file-fixer.js +79 -77
- package/tsOutputs/build-scanner/mappings/scm-file-fixer.js.map +1 -1
- package/tsOutputs/build-scanner/markup-files-parser.js +71 -71
- package/tsOutputs/build-scanner/nopt-types.js +19 -19
- package/tsOutputs/build-scanner/nopt-usage-2.js +56 -56
- package/tsOutputs/build-scanner/polyfills.js +6 -6
- package/tsOutputs/build-scanner/scm/parse-log.js +5 -5
- package/tsOutputs/build-scanner/scm/scm-files-container.js +49 -49
- package/tsOutputs/build-scanner/sl-config-cia-cli.js +175 -175
- package/tsOutputs/build-scanner/utils.js +91 -91
- package/tsOutputs/cli-parse/agent-instance-data.d.ts +2 -2
- package/tsOutputs/cli-parse/agent-instance-data.js +6 -6
- package/tsOutputs/cli-parse/child-process-wrapper.js +82 -82
- package/tsOutputs/cli-parse/child-process-wrapper.js.map +1 -1
- package/tsOutputs/cli-parse/cli.js +509 -509
- package/tsOutputs/cli-parse/constants/constants.js +56 -55
- package/tsOutputs/cli-parse/constants/constants.js.map +1 -1
- package/tsOutputs/cli-parse/constants/third-parties.js +10 -10
- package/tsOutputs/cli-parse/contracts.js +2 -2
- package/tsOutputs/cli-parse/custom-commander.js +44 -44
- package/tsOutputs/cli-parse/executors/base-executor.js +254 -263
- package/tsOutputs/cli-parse/executors/base-executor.js.map +1 -1
- package/tsOutputs/cli-parse/executors/build-args-dto.js +55 -55
- package/tsOutputs/cli-parse/executors/build-end-executor.js +117 -115
- package/tsOutputs/cli-parse/executors/build-end-executor.js.map +1 -1
- package/tsOutputs/cli-parse/executors/build-executor.js +149 -147
- package/tsOutputs/cli-parse/executors/build-executor.js.map +1 -1
- package/tsOutputs/cli-parse/executors/config-executor.js +114 -112
- package/tsOutputs/cli-parse/executors/config-executor.js.map +1 -1
- package/tsOutputs/cli-parse/executors/dry-run/base-data.js +55 -55
- package/tsOutputs/cli-parse/executors/dry-run/base-data.js.map +1 -1
- package/tsOutputs/cli-parse/executors/dry-run/build-mapping-data.js +230 -228
- package/tsOutputs/cli-parse/executors/dry-run/build-mapping-data.js.map +1 -1
- package/tsOutputs/cli-parse/executors/dry-run/dry-run-executor.js +279 -277
- package/tsOutputs/cli-parse/executors/dry-run/dry-run-executor.js.map +1 -1
- package/tsOutputs/cli-parse/executors/dry-run/dry-run-validation.js +122 -120
- package/tsOutputs/cli-parse/executors/dry-run/dry-run-validation.js.map +1 -1
- package/tsOutputs/cli-parse/executors/dry-run/footprints-data.js +132 -130
- package/tsOutputs/cli-parse/executors/dry-run/footprints-data.js.map +1 -1
- package/tsOutputs/cli-parse/executors/dry-run/helper-methods.js +104 -104
- package/tsOutputs/cli-parse/executors/dry-run/helper-methods.js.map +1 -1
- package/tsOutputs/cli-parse/executors/end-execution-executor.js +90 -88
- package/tsOutputs/cli-parse/executors/end-execution-executor.js.map +1 -1
- package/tsOutputs/cli-parse/executors/integration-build-components-executor.js +134 -132
- package/tsOutputs/cli-parse/executors/integration-build-components-executor.js.map +1 -1
- package/tsOutputs/cli-parse/executors/integration-build-delete-components-executor.js +75 -73
- package/tsOutputs/cli-parse/executors/integration-build-delete-components-executor.js.map +1 -1
- package/tsOutputs/cli-parse/executors/integration-build-update-components-executor.js +73 -71
- package/tsOutputs/cli-parse/executors/integration-build-update-components-executor.js.map +1 -1
- package/tsOutputs/cli-parse/executors/mocha-executor.js +124 -122
- package/tsOutputs/cli-parse/executors/mocha-executor.js.map +1 -1
- package/tsOutputs/cli-parse/executors/nyc-report-executor.js +106 -104
- package/tsOutputs/cli-parse/executors/nyc-report-executor.js.map +1 -1
- package/tsOutputs/cli-parse/executors/pr-config-executor.js +85 -83
- package/tsOutputs/cli-parse/executors/pr-config-executor.js.map +1 -1
- package/tsOutputs/cli-parse/executors/run-executor.js +95 -93
- package/tsOutputs/cli-parse/executors/run-executor.js.map +1 -1
- package/tsOutputs/cli-parse/executors/start-execution-executor.js +93 -91
- package/tsOutputs/cli-parse/executors/start-execution-executor.js.map +1 -1
- package/tsOutputs/cli-parse/executors/test-executions-executor.js +77 -75
- package/tsOutputs/cli-parse/executors/test-executions-executor.js.map +1 -1
- package/tsOutputs/cli-parse/executors/test-listener-executor.js +151 -149
- package/tsOutputs/cli-parse/executors/test-listener-executor.js.map +1 -1
- package/tsOutputs/cli-parse/executors/test-runner-build-session-data-builder.js +77 -75
- package/tsOutputs/cli-parse/executors/test-runner-build-session-data-builder.js.map +1 -1
- package/tsOutputs/cli-parse/executors/upload-report-executor.js +118 -116
- package/tsOutputs/cli-parse/executors/upload-report-executor.js.map +1 -1
- package/tsOutputs/cli-parse/utils.js +32 -32
- package/tsOutputs/cli-parse/utils.js.map +1 -1
- package/tsOutputs/common/agent-events/agent-events-conracts.d.ts +123 -123
- package/tsOutputs/common/agent-events/agent-events-conracts.js +56 -56
- package/tsOutputs/common/agent-events/agent-events-controller.d.ts +45 -45
- package/tsOutputs/common/agent-events/agent-events-controller.js +301 -301
- package/tsOutputs/common/agent-events/agent-events-controller.js.map +1 -1
- package/tsOutputs/common/agent-events/agent-instance-info-builder.d.ts +22 -22
- package/tsOutputs/common/agent-events/agent-instance-info-builder.js +63 -63
- package/tsOutputs/common/agent-events/agent-instance-info-builder.js.map +1 -1
- package/tsOutputs/common/agent-events/agent-start-info-builder.d.ts +14 -14
- package/tsOutputs/common/agent-events/agent-start-info-builder.js +23 -23
- package/tsOutputs/common/agent-events/ci-info-builder.d.ts +7 -7
- package/tsOutputs/common/agent-events/ci-info-builder.js +30 -30
- package/tsOutputs/common/agent-events/cockpit-notifier.d.ts +26 -26
- package/tsOutputs/common/agent-events/cockpit-notifier.js +119 -119
- package/tsOutputs/common/agent-events/dry-run-agent-events-controller.d.ts +7 -7
- package/tsOutputs/common/agent-events/dry-run-agent-events-controller.js +33 -31
- package/tsOutputs/common/agent-events/dry-run-agent-events-controller.js.map +1 -1
- package/tsOutputs/common/agent-events/machine-info-builder.d.ts +7 -7
- package/tsOutputs/common/agent-events/machine-info-builder.js +35 -35
- package/tsOutputs/common/agent-events/machine-info-builder.js.map +1 -1
- package/tsOutputs/common/agent-events/nodejs-env-info-builder.d.ts +8 -8
- package/tsOutputs/common/agent-events/nodejs-env-info-builder.js +19 -19
- package/tsOutputs/common/agent-events/sensitive-data-filter.d.ts +2 -2
- package/tsOutputs/common/agent-events/sensitive-data-filter.js +54 -54
- package/tsOutputs/common/agent-instance-data.d.ts +10 -10
- package/tsOutputs/common/agent-instance-data.js +39 -39
- package/tsOutputs/common/agent-instance-data.js.map +1 -1
- package/tsOutputs/common/config-process/config-loader.d.ts +8 -8
- package/tsOutputs/common/config-process/config-loader.js +86 -86
- package/tsOutputs/common/config-process/config-system.d.ts +88 -88
- package/tsOutputs/common/config-process/config-system.js +293 -293
- package/tsOutputs/common/config-process/config.d.ts +60 -60
- package/tsOutputs/common/config-process/config.js +92 -90
- package/tsOutputs/common/config-process/config.js.map +1 -1
- package/tsOutputs/common/config-process/index.d.ts +21 -21
- package/tsOutputs/common/config-process/index.js +127 -125
- package/tsOutputs/common/config-process/index.js.map +1 -1
- package/tsOutputs/common/constants/constants.d.ts +18 -18
- package/tsOutputs/common/constants/constants.js +29 -29
- package/tsOutputs/common/constants/sl-env-vars.d.ts +52 -52
- package/tsOutputs/common/constants/sl-env-vars.js +122 -122
- package/tsOutputs/common/contracts.d.ts +123 -123
- package/tsOutputs/common/contracts.js +2 -2
- package/tsOutputs/common/coverage-elements/contracts.d.ts +25 -25
- package/tsOutputs/common/coverage-elements/contracts.js +8 -8
- package/tsOutputs/common/coverage-elements/file-element.d.ts +35 -35
- package/tsOutputs/common/coverage-elements/file-element.js +158 -158
- package/tsOutputs/common/coverage-elements/istanbul-unique-id-converter.d.ts +12 -12
- package/tsOutputs/common/coverage-elements/istanbul-unique-id-converter.js +97 -95
- package/tsOutputs/common/coverage-elements/istanbul-unique-id-converter.js.map +1 -1
- package/tsOutputs/common/coverage-elements/new-id-resolver.d.ts +3 -3
- package/tsOutputs/common/coverage-elements/new-id-resolver.js +45 -45
- package/tsOutputs/common/coverage-elements/new-id-resolver.js.map +1 -1
- package/tsOutputs/common/coverage-elements/original-module-loader.d.ts +41 -41
- package/tsOutputs/common/coverage-elements/original-module-loader.js +189 -189
- package/tsOutputs/common/coverage-elements/unique-id-converter.d.ts +32 -32
- package/tsOutputs/common/coverage-elements/unique-id-converter.js +234 -234
- package/tsOutputs/common/environment-data-service.d.ts +15 -15
- package/tsOutputs/common/environment-data-service.js +60 -60
- package/tsOutputs/common/events-process/events-contracts.d.ts +52 -52
- package/tsOutputs/common/events-process/events-contracts.js +19 -19
- package/tsOutputs/common/events-process/events-creator.js +40 -42
- package/tsOutputs/common/events-process/events-creator.js.map +1 -1
- package/tsOutputs/common/events-process/index.d.ts +42 -42
- package/tsOutputs/common/events-process/index.js +266 -265
- package/tsOutputs/common/events-process/index.js.map +1 -1
- package/tsOutputs/common/footprints-process/collection-interval.d.ts +10 -10
- package/tsOutputs/common/footprints-process/collection-interval.js +27 -27
- package/tsOutputs/common/footprints-process/collection-interval.js.map +1 -1
- package/tsOutputs/common/footprints-process/footprints-service-proxy.d.ts +12 -12
- package/tsOutputs/common/footprints-process/footprints-service-proxy.js +51 -51
- package/tsOutputs/common/footprints-process/index.d.ts +71 -71
- package/tsOutputs/common/footprints-process/index.js +264 -264
- package/tsOutputs/common/footprints-process/index.js.map +1 -1
- package/tsOutputs/common/footprints-process/istanbul-to-footprints-contract.d.ts +98 -98
- package/tsOutputs/common/footprints-process/istanbul-to-footprints-contract.js +9 -9
- package/tsOutputs/common/footprints-process/istanbul-to-footprints.d.ts +47 -47
- package/tsOutputs/common/footprints-process/istanbul-to-footprints.js +421 -421
- package/tsOutputs/common/footprints-process/istanbul-to-footprints.js.map +1 -1
- package/tsOutputs/common/footprints-process/production-footprints-handler.d.ts +54 -54
- package/tsOutputs/common/footprints-process/production-footprints-handler.js +308 -308
- package/tsOutputs/common/footprints-process/production-footprints-handler.js.map +1 -1
- package/tsOutputs/common/footprints-process-v6/base-browser-hits-converter.d.ts +20 -20
- package/tsOutputs/common/footprints-process-v6/base-browser-hits-converter.js +65 -63
- package/tsOutputs/common/footprints-process-v6/base-browser-hits-converter.js.map +1 -1
- package/tsOutputs/common/footprints-process-v6/buffer-size-helper.d.ts +15 -15
- package/tsOutputs/common/footprints-process-v6/buffer-size-helper.js +40 -40
- package/tsOutputs/common/footprints-process-v6/contracts.d.ts +181 -184
- package/tsOutputs/common/footprints-process-v6/contracts.js +9 -9
- package/tsOutputs/common/footprints-process-v6/footprints-buffer.d.ts +34 -36
- package/tsOutputs/common/footprints-process-v6/footprints-buffer.js +135 -147
- package/tsOutputs/common/footprints-process-v6/footprints-buffer.js.map +1 -1
- package/tsOutputs/common/footprints-process-v6/hits-collector.d.ts +24 -24
- package/tsOutputs/common/footprints-process-v6/hits-collector.js +168 -168
- package/tsOutputs/common/footprints-process-v6/hits-converter.d.ts +28 -30
- package/tsOutputs/common/footprints-process-v6/hits-converter.js +114 -135
- package/tsOutputs/common/footprints-process-v6/hits-converter.js.map +1 -1
- package/tsOutputs/common/footprints-process-v6/index.d.ts +40 -41
- package/tsOutputs/common/footprints-process-v6/index.js +258 -304
- package/tsOutputs/common/footprints-process-v6/index.js.map +1 -1
- package/tsOutputs/common/footprints-process-v6/location-formatter.d.ts +6 -6
- package/tsOutputs/common/footprints-process-v6/location-formatter.js +25 -25
- package/tsOutputs/common/footprints-process-v6/relative-path-resolver.d.ts +8 -8
- package/tsOutputs/common/footprints-process-v6/relative-path-resolver.js +28 -28
- package/tsOutputs/common/footprints-process-v6/remote-browser-hits-converter.d.ts +9 -9
- package/tsOutputs/common/footprints-process-v6/remote-browser-hits-converter.js +40 -38
- package/tsOutputs/common/footprints-process-v6/remote-browser-hits-converter.js.map +1 -1
- package/tsOutputs/common/footprints-process-v6/remote-footprints-process.d.ts +8 -8
- package/tsOutputs/common/footprints-process-v6/remote-footprints-process.js +34 -32
- package/tsOutputs/common/footprints-process-v6/remote-footprints-process.js.map +1 -1
- package/tsOutputs/common/footprints-process-v6/remote-hits-collector.d.ts +14 -14
- package/tsOutputs/common/footprints-process-v6/remote-hits-collector.js +41 -39
- package/tsOutputs/common/footprints-process-v6/remote-hits-collector.js.map +1 -1
- package/tsOutputs/common/footprints-process-v6/source-map-data.d.ts +9 -9
- package/tsOutputs/common/footprints-process-v6/source-map-data.js +32 -32
- package/tsOutputs/common/footprints-process-v6/source-map-data.js.map +1 -1
- package/tsOutputs/common/http/backend-proxy-interface.d.ts +33 -33
- package/tsOutputs/common/http/backend-proxy-interface.js +2 -2
- package/tsOutputs/common/http/backend-proxy.d.ts +54 -54
- package/tsOutputs/common/http/backend-proxy.js +408 -408
- package/tsOutputs/common/http/contracts.d.ts +280 -280
- package/tsOutputs/common/http/contracts.js +158 -156
- package/tsOutputs/common/http/contracts.js.map +1 -1
- package/tsOutputs/common/http/dry-run-proxy.js +106 -106
- package/tsOutputs/common/http/entities-mapper.d.ts +4 -4
- package/tsOutputs/common/http/entities-mapper.js +17 -17
- package/tsOutputs/common/http/http-client.d.ts +21 -21
- package/tsOutputs/common/http/http-client.js +191 -195
- package/tsOutputs/common/http/http-client.js.map +1 -1
- package/tsOutputs/common/http/http-verb.d.ts +6 -6
- package/tsOutputs/common/http/http-verb.js +10 -10
- package/tsOutputs/common/http/sl-routes.d.ts +70 -70
- package/tsOutputs/common/http/sl-routes.js +218 -218
- package/tsOutputs/common/ignored-files-handler.js +122 -122
- package/tsOutputs/common/ignored-files-handler.js.map +1 -1
- package/tsOutputs/common/logger.d.ts +40 -40
- package/tsOutputs/common/logger.js +190 -188
- package/tsOutputs/common/logger.js.map +1 -1
- package/tsOutputs/common/messages-formatter.d.ts +6 -6
- package/tsOutputs/common/messages-formatter.js +21 -21
- package/tsOutputs/common/queue.d.ts +19 -19
- package/tsOutputs/common/queue.js +57 -55
- package/tsOutputs/common/queue.js.map +1 -1
- package/tsOutputs/common/scm/contracts.js +2 -2
- package/tsOutputs/common/scm/git-cloner.js +137 -137
- package/tsOutputs/common/scm/git-cloner.js.map +1 -1
- package/tsOutputs/common/scm/git-format-builder.js +72 -72
- package/tsOutputs/common/scm/git.js +411 -411
- package/tsOutputs/common/scm/git.js.map +1 -1
- package/tsOutputs/common/scm/none.js +115 -115
- package/tsOutputs/common/scm/scm-factory.js +21 -21
- package/tsOutputs/common/short-name-to-file-mapper.js +79 -79
- package/tsOutputs/common/source-map-handler.d.ts +58 -58
- package/tsOutputs/common/source-map-handler.js +197 -197
- package/tsOutputs/common/source-map-reader.js +84 -84
- package/tsOutputs/common/source-maps-utils.d.ts +3 -3
- package/tsOutputs/common/source-maps-utils.js +39 -39
- package/tsOutputs/common/state-tracker-fpv6.d.ts +6 -6
- package/tsOutputs/common/state-tracker-fpv6.js +44 -42
- package/tsOutputs/common/state-tracker-fpv6.js.map +1 -1
- package/tsOutputs/common/state-tracker.d.ts +49 -49
- package/tsOutputs/common/state-tracker.js +301 -299
- package/tsOutputs/common/state-tracker.js.map +1 -1
- package/tsOutputs/common/system-date.d.ts +2 -2
- package/tsOutputs/common/system-date.js +21 -21
- package/tsOutputs/common/utils/abstract-data-builder.d.ts +10 -10
- package/tsOutputs/common/utils/abstract-data-builder.js +24 -24
- package/tsOutputs/common/utils/abstract-data-builder.js.map +1 -1
- package/tsOutputs/common/utils/build-session-data-builder.d.ts +18 -18
- package/tsOutputs/common/utils/build-session-data-builder.js +137 -135
- package/tsOutputs/common/utils/build-session-data-builder.js.map +1 -1
- package/tsOutputs/common/utils/dependency-utils.js +69 -69
- package/tsOutputs/common/utils/files-utils.d.ts +6 -6
- package/tsOutputs/common/utils/files-utils.js +45 -45
- package/tsOutputs/common/utils/parsing-utils.d.ts +4 -4
- package/tsOutputs/common/utils/parsing-utils.js +29 -29
- package/tsOutputs/common/utils/test-utils/mock-server-utils/contracts.js +10 -10
- package/tsOutputs/common/utils/test-utils/mock-server-utils/mock-server-proxy.js +248 -248
- package/tsOutputs/common/utils/timer-utils.d.ts +3 -3
- package/tsOutputs/common/utils/timer-utils.js +12 -12
- package/tsOutputs/common/utils/token-data-builder.d.ts +21 -21
- package/tsOutputs/common/utils/token-data-builder.js +97 -95
- package/tsOutputs/common/utils/token-data-builder.js.map +1 -1
- package/tsOutputs/common/utils/validation-utils.d.ts +3 -3
- package/tsOutputs/common/utils/validation-utils.js +18 -18
- package/tsOutputs/common/uuid.js +23 -23
- package/tsOutputs/common/watchdog.d.ts +96 -96
- package/tsOutputs/common/watchdog.js +151 -149
- package/tsOutputs/common/watchdog.js.map +1 -1
- package/tsOutputs/mocha-reporter/constants.js +27 -27
- package/tsOutputs/mocha-reporter/end-execution.js +22 -22
- package/tsOutputs/mocha-reporter/index.js +323 -323
- package/tsOutputs/test-listener/IConsoleLogger.js +5 -5
- package/tsOutputs/test-listener/SlNodeJsProxy.js +96 -96
- package/tsOutputs/test-listener/UserMessageHelper.js +47 -47
- package/tsOutputs/test-listener/agent-loader.js +58 -58
- package/tsOutputs/test-listener/agent.d.ts +53 -53
- package/tsOutputs/test-listener/agent.js +273 -273
- package/tsOutputs/test-listener/agent.js.map +1 -1
- package/tsOutputs/test-listener/api.js +157 -157
- package/tsOutputs/test-listener/base-proxy.d.ts +15 -15
- package/tsOutputs/test-listener/base-proxy.js +133 -133
- package/tsOutputs/test-listener/bootstrap.js +16 -16
- package/tsOutputs/test-listener/child-process-patcher.js +136 -136
- package/tsOutputs/test-listener/child-process-patcher.js.map +1 -1
- package/tsOutputs/test-listener/cli.js +64 -64
- package/tsOutputs/test-listener/coloring/http-coloring.d.ts +15 -15
- package/tsOutputs/test-listener/coloring/http-coloring.js +188 -188
- package/tsOutputs/test-listener/coloring/icoloring-provider.d.ts +10 -10
- package/tsOutputs/test-listener/coloring/icoloring-provider.js +2 -2
- package/tsOutputs/test-listener/coloring/listening-port.d.ts +20 -20
- package/tsOutputs/test-listener/coloring/listening-port.js +48 -48
- package/tsOutputs/test-listener/command-line-arg-parser.js +91 -91
- package/tsOutputs/test-listener/config-process/config-loader.js +104 -104
- package/tsOutputs/test-listener/config-process/config-system.d.ts +88 -88
- package/tsOutputs/test-listener/config-process/config-system.js +285 -285
- package/tsOutputs/test-listener/config-process/index.js +128 -126
- package/tsOutputs/test-listener/config-process/index.js.map +1 -1
- package/tsOutputs/test-listener/config.d.ts +50 -50
- package/tsOutputs/test-listener/config.js +82 -80
- package/tsOutputs/test-listener/config.js.map +1 -1
- package/tsOutputs/test-listener/contracts.d.ts +72 -72
- package/tsOutputs/test-listener/contracts.js +2 -2
- package/tsOutputs/test-listener/entities/BasicConfigurationData.js +72 -72
- package/tsOutputs/test-listener/entities/build-scanner/ConfigModeData.js +50 -48
- package/tsOutputs/test-listener/entities/build-scanner/ConfigModeData.js.map +1 -1
- package/tsOutputs/test-listener/entities/build-scanner/ScanModeData.js +53 -51
- package/tsOutputs/test-listener/entities/build-scanner/ScanModeData.js.map +1 -1
- package/tsOutputs/test-listener/environment-data-service.d.ts +11 -11
- package/tsOutputs/test-listener/environment-data-service.js +60 -60
- package/tsOutputs/test-listener/execution-process/contracts.js +5 -5
- package/tsOutputs/test-listener/execution-process/entities-mapper.js +49 -49
- package/tsOutputs/test-listener/execution-process/execution-service-proxy.js +207 -205
- package/tsOutputs/test-listener/execution-process/execution-service-proxy.js.map +1 -1
- package/tsOutputs/test-listener/execution-process/index.js +163 -163
- package/tsOutputs/test-listener/factory.d.ts +87 -87
- package/tsOutputs/test-listener/factory.js +285 -285
- package/tsOutputs/test-listener/footprints-process/footprints-service-proxy.js +52 -50
- package/tsOutputs/test-listener/footprints-process/footprints-service-proxy.js.map +1 -1
- package/tsOutputs/test-listener/footprints-process/index.js +230 -230
- package/tsOutputs/test-listener/footprints-process/index.js.map +1 -1
- package/tsOutputs/test-listener/footprints-process/istanbul-to-footprints-base.js +130 -130
- package/tsOutputs/test-listener/footprints-process/istanbul-to-footprints-contract.js +2 -2
- package/tsOutputs/test-listener/footprints-process/istanbul-to-footprints-v3.js +290 -288
- package/tsOutputs/test-listener/footprints-process/istanbul-to-footprints-v3.js.map +1 -1
- package/tsOutputs/test-listener/integrations/SlGulp.js +104 -104
- package/tsOutputs/test-listener/logs-process/index.d.ts +48 -48
- package/tsOutputs/test-listener/logs-process/index.js +142 -142
- package/tsOutputs/test-listener/logs-process/index.js.map +1 -1
- package/tsOutputs/test-listener/logs-process/log-service-proxy.d.ts +9 -9
- package/tsOutputs/test-listener/logs-process/log-service-proxy.js +31 -29
- package/tsOutputs/test-listener/logs-process/log-service-proxy.js.map +1 -1
- package/tsOutputs/test-listener/nyc-report-executor-fpv6.js +143 -143
- package/tsOutputs/test-listener/nyc-report-executor-fpv6.js.map +1 -1
- package/tsOutputs/test-listener/nyc-report-executor.js +144 -144
- package/tsOutputs/test-listener/nyc-report-executor.js.map +1 -1
- package/tsOutputs/test-listener/queue.js +57 -55
- package/tsOutputs/test-listener/queue.js.map +1 -1
- package/tsOutputs/test-listener/remote-agent.d.ts +42 -42
- package/tsOutputs/test-listener/remote-agent.js +200 -200
- package/tsOutputs/test-listener/remote-agent.js.map +1 -1
- package/tsOutputs/test-listener/resolvers/AppNameResolver.js +34 -32
- package/tsOutputs/test-listener/resolvers/AppNameResolver.js.map +1 -1
- package/tsOutputs/test-listener/resolvers/ArgumentResolver.js +64 -64
- package/tsOutputs/test-listener/resolvers/ArgumentResolver.js.map +1 -1
- package/tsOutputs/test-listener/resolvers/BuildResolver.js +33 -31
- package/tsOutputs/test-listener/resolvers/BuildResolver.js.map +1 -1
- package/tsOutputs/test-listener/resolvers/BuildSessionIdFileResolver.js +33 -31
- package/tsOutputs/test-listener/resolvers/BuildSessionIdFileResolver.js.map +1 -1
- package/tsOutputs/test-listener/resolvers/BuildSessionIdResolver.js +36 -34
- package/tsOutputs/test-listener/resolvers/BuildSessionIdResolver.js.map +1 -1
- package/tsOutputs/test-listener/resolvers/ProxyResolver.js +33 -31
- package/tsOutputs/test-listener/resolvers/ProxyResolver.js.map +1 -1
- package/tsOutputs/test-listener/resolvers/TokenResolver.js +33 -31
- package/tsOutputs/test-listener/resolvers/TokenResolver.js.map +1 -1
- package/tsOutputs/test-listener/state-tracker-process/index.js +162 -160
- package/tsOutputs/test-listener/state-tracker-process/index.js.map +1 -1
- package/tsOutputs/test-listener/state-tracker-process/state-tracker-proxy.d.ts +8 -8
- package/tsOutputs/test-listener/state-tracker-process/state-tracker-proxy.js +71 -69
- package/tsOutputs/test-listener/state-tracker-process/state-tracker-proxy.js.map +1 -1
- package/tsOutputs/test-listener/test-recommendation-handler.d.ts +29 -29
- package/tsOutputs/test-listener/test-recommendation-handler.js +161 -161
- package/tsOutputs/test-listener/upload-report-handler.js +96 -96
- package/tsOutputs/test-listener/utils.js +68 -68
- package/tsOutputs/test-listener/uuid.d.ts +3 -3
- package/tsOutputs/test-listener/uuid.js +23 -23
- package/tsOutputs/test-listener/wait-for-multiple-callbacks.d.ts +22 -22
- package/tsOutputs/test-listener/wait-for-multiple-callbacks.js +60 -60
- package/tsOutputs/test-listener/watchdog.d.ts +89 -89
- package/tsOutputs/test-listener/watchdog.js +146 -144
- package/tsOutputs/test-listener/watchdog.js.map +1 -1
- package/tsOutputs/build-scanner/complexity-metrics/complexity-metrics.js +0 -1
- package/tsOutputs/build-scanner/complexity-metrics/complexity-metrics.js.map +0 -1
- package/tsOutputs/build-scanner/js_diff/code-metrics-spec.js +0 -1
- package/tsOutputs/build-scanner/js_diff/code-metrics-spec.js.map +0 -1
- package/tsOutputs/build-scanner/js_diff/code-metrics.js +0 -1
- package/tsOutputs/build-scanner/js_diff/code-metrics.js.map +0 -1
- package/tsOutputs/build-scanner/mappings/contracts.js +0 -3
- package/tsOutputs/build-scanner/mappings/contracts.js.map +0 -1
|
@@ -1,353 +1,353 @@
|
|
|
1
|
-
var Promise = require('promise');
|
|
2
|
-
var FilesMapping = require("./js_diff/files-mapping");
|
|
3
|
-
var EnsureFilesHandlerService = require("./mappings/ensure-files-handler.service").EnsureFilesHandlerService;
|
|
4
|
-
var DryRunFilesMapping = require("./js_diff/dry-run-files-mapping");
|
|
5
|
-
// TODO: Find a way to get version number without relative path
|
|
6
|
-
// var version = require("../package.json").version;
|
|
7
|
-
var version = "1.0.0";
|
|
8
|
-
var utils = require('./utils.js');
|
|
9
|
-
var os = require("os");
|
|
10
|
-
var DefaultValuesResolver = require('./default-values-resolver');
|
|
11
|
-
var fileAndFolderUtils = require("./file-and-folder-utils");
|
|
12
|
-
var BrowserInstrumenter = require('./instrumentation/browser-instrumenter');
|
|
13
|
-
var dvr = new DefaultValuesResolver();
|
|
14
|
-
var SlMapper = require("./js_diff/sl-mapper").SlMapper;
|
|
15
|
-
var ScmFilesContainer = require("./scm/scm-files-container");
|
|
16
|
-
var CiaEnvVars = require("../common/constants/sl-env-vars").SlEnvVars.CIA;
|
|
17
|
-
var globalErrorHandler = require('./global-error-handler');
|
|
18
|
-
function BuildDiffProcess(buildArgs, backendProxy, scmFactory, parsedDependencies, logger) {
|
|
19
|
-
var log = logger.child({
|
|
20
|
-
className: "BuildDiffProcess"
|
|
21
|
-
});
|
|
22
|
-
function createBuildDiffPromiseChain(buildArguments) {
|
|
23
|
-
parsedDependencies = parsedDependencies || [];
|
|
24
|
-
var handlerParams = {
|
|
25
|
-
buildArguments: buildArguments,
|
|
26
|
-
cfg: buildArguments,
|
|
27
|
-
finalOutput: {
|
|
28
|
-
meta: createMetaTag(buildArguments),
|
|
29
|
-
version: "2.0",
|
|
30
|
-
files: [],
|
|
31
|
-
dependencies: parsedDependencies
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
var promiseChain = Promise.resolve();
|
|
35
|
-
if (parsedDependencies.length == 0) { //If there are dependencies, no need to require workspacepath, scm, commit, and no need to perform actual scanning
|
|
36
|
-
var scmInstance;
|
|
37
|
-
if (buildArguments.workspacepath) {
|
|
38
|
-
scmInstance = scmFactory.createScmByType(buildArguments.scm, buildArguments, buildArguments.workspacepath, globalErrorHandler);
|
|
39
|
-
if (scmInstance) {
|
|
40
|
-
handlerParams.finalOutput.meta.scm = buildArguments.scm;
|
|
41
|
-
log.info("Created an scmInstance of type '" + buildArguments.scm + "'. Searching for a local repository at '" + buildArguments.workspacepath + "'.");
|
|
42
|
-
if (!buildArguments.commit && !scmInstance.detectCommitVersion) {
|
|
43
|
-
return Promise.reject("'commit' command-line argument is required, since automatic detection by the " + buildArguments.scm + " SCM is not supported");
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
log.warn("Unsupported scm type: '" + buildArguments.scm + "'.");
|
|
48
|
-
}
|
|
49
|
-
//2. If there is a mapping, get the diffs
|
|
50
|
-
if (scmInstance) {
|
|
51
|
-
promiseChain = promiseChain.then(function () { return collectScmData(buildArguments, handlerParams, scmInstance); });
|
|
52
|
-
}
|
|
53
|
-
promiseChain = promiseChain.then(function () {
|
|
54
|
-
log.info("Handling files and sending information in the new Build Scanner Format (with UniqueID).");
|
|
55
|
-
var fileMappingInstance = buildArguments.isDryRunMode ? DryRunFilesMapping : FilesMapping;
|
|
56
|
-
var filesMapping = new fileMappingInstance(handlerParams, log);
|
|
57
|
-
return filesMapping.process();
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
//4. Submit the final output to the server
|
|
62
|
-
var slMapper;
|
|
63
|
-
promiseChain = promiseChain.then(function () {
|
|
64
|
-
slMapper = new SlMapper(CiaEnvVars.getSlMappingPath(), backendProxy, buildArguments.buildSessionId, logger);
|
|
65
|
-
var fixer = new EnsureFilesHandlerService(logger, handlerParams.buildArguments, handlerParams.scmFilesContainer, handlerParams.scmRootDir, handlerParams.cfg, slMapper);
|
|
66
|
-
var result = fixer.ensureProcess(handlerParams.finalOutput);
|
|
67
|
-
handlerParams.finalOutput = result.output;
|
|
68
|
-
// if (buildArguments.instrumentForBrowsers) {
|
|
69
|
-
// promiseChain = promiseChain.then(function () {
|
|
70
|
-
// return submitSlMapping(promiseChain, slMapper, buildArguments.uniqueModuleId, logger)
|
|
71
|
-
// })
|
|
72
|
-
// }
|
|
73
|
-
if (buildArguments.instrumentationOnly) {
|
|
74
|
-
log.info("No need to submit the files to server as the 'instrumentationOnly' flag is on.");
|
|
75
|
-
return Promise.resolve();
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
//TODO: [SLDEV-4708] When the call to the server fails, the agent is "silent" and not showing any error message.
|
|
79
|
-
return backendProxy.submitBuildMapping(handlerParams.finalOutput);
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
//5. Print the counters
|
|
83
|
-
promiseChain = promiseChain.then(function () {
|
|
84
|
-
var mapping = handlerParams.finalOutput;
|
|
85
|
-
if (!buildArguments.isDryRunMode && mapping != null && mapping.counters != null && mapping.counters.methods != null && mapping.counters.branches != null) {
|
|
86
|
-
console.log("Reported " + mapping.counters.methods + " methods and " + mapping.counters.branches + " branches in " + mapping.files.length + " files.");
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
//6. Create instrumented browser files.
|
|
90
|
-
if (buildArguments.instrumentForBrowsers) {
|
|
91
|
-
promiseChain = promiseChain.then(function () {
|
|
92
|
-
return submitSlMapping(promiseChain, slMapper, buildArguments.uniqueModuleId, logger);
|
|
93
|
-
});
|
|
94
|
-
promiseChain = promiseChain.then(function () {
|
|
95
|
-
if (handlerParams.finalOutput && handlerParams.finalOutput.files && !buildArguments.isDryRunMode) {
|
|
96
|
-
delete handlerParams.finalOutput.files;
|
|
97
|
-
}
|
|
98
|
-
var promise = new Promise(function (resolve, reject) {
|
|
99
|
-
var resolveWithoutHash = true;
|
|
100
|
-
var delayShutdownInSeconds = buildArguments.delayShutdownInSeconds || 30;
|
|
101
|
-
var downloadAgent = buildArguments.downloadAgent != null ? buildArguments.downloadAgent : true;
|
|
102
|
-
var instrumentationConfig = {
|
|
103
|
-
appName: buildArguments.appname,
|
|
104
|
-
build: buildArguments.build,
|
|
105
|
-
customerId: buildArguments.customerId,
|
|
106
|
-
branch: buildArguments.branch,
|
|
107
|
-
sourceRoot: buildArguments.workspacepath,
|
|
108
|
-
files: getProcessedFiles(buildArguments, handlerParams.processedFiles, logger),
|
|
109
|
-
outputPath: buildArguments.outputpath,
|
|
110
|
-
copyAllFilesToOutput: buildArguments.copyAllFilesToOutput !== false,
|
|
111
|
-
buildSessionId: buildArguments.buildSessionId,
|
|
112
|
-
esModules: buildArguments["es6Modules"],
|
|
113
|
-
server: buildArguments.server,
|
|
114
|
-
token: buildArguments.token,
|
|
115
|
-
instrumentationType: "browser",
|
|
116
|
-
resolveWithoutHash: resolveWithoutHash,
|
|
117
|
-
delayShutdownInSeconds: delayShutdownInSeconds,
|
|
118
|
-
downloadAgent: downloadAgent,
|
|
119
|
-
workspacepath: buildArguments.workspacepath,
|
|
120
|
-
slMappingPath: CiaEnvVars.getSlMappingPath(),
|
|
121
|
-
slMappingUrl: CiaEnvVars.getSlMappingUrl() || CiaEnvVars.getSlMappingPath(),
|
|
122
|
-
labId: buildArguments.labid,
|
|
123
|
-
babylonPlugins: buildArguments.babylonPlugins,
|
|
124
|
-
usebranchcoverage: buildArguments.usebranchcoverage
|
|
125
|
-
};
|
|
126
|
-
log.info("'instrumentForBrowsers' flag is on. Starting instrumentation. Instrumentation config: %s", instrumentationConfig);
|
|
127
|
-
var callback = function (err, processedFiles) {
|
|
128
|
-
if (buildArguments.isDryRunMode) {
|
|
129
|
-
return resolve({ err: err, processedFiles: processedFiles });
|
|
130
|
-
}
|
|
131
|
-
else if (err) {
|
|
132
|
-
log.info("Finished the instrumentation with an error. Error: %s", err);
|
|
133
|
-
reject(err);
|
|
134
|
-
}
|
|
135
|
-
else {
|
|
136
|
-
log.info("Finished the instrumentation successfully");
|
|
137
|
-
return resolve();
|
|
138
|
-
}
|
|
139
|
-
};
|
|
140
|
-
runBrowserInstrumentation(log, instrumentationConfig, callback, slMapper);
|
|
141
|
-
});
|
|
142
|
-
return promise;
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
return promiseChain;
|
|
146
|
-
}
|
|
147
|
-
function collectScmData(buildArguments, handlerParams, scmInstance) {
|
|
148
|
-
var promiseChain = Promise.resolve();
|
|
149
|
-
//2.1 Get repository url from the SCM
|
|
150
|
-
promiseChain = promiseChain.then(function () {
|
|
151
|
-
log.info("Getting repository URL.");
|
|
152
|
-
return getRepositoryUrl(handlerParams, scmInstance);
|
|
153
|
-
});
|
|
154
|
-
//2.2 Get all contributors from the scm
|
|
155
|
-
if (buildArguments.sendContributors) {
|
|
156
|
-
promiseChain = promiseChain.then(function () {
|
|
157
|
-
log.info("Getting contributors.");
|
|
158
|
-
return getContributors(handlerParams, scmInstance);
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
//2.3 Get branch history from the SCM
|
|
162
|
-
promiseChain = promiseChain.then(function () {
|
|
163
|
-
log.info("Loading branch history.");
|
|
164
|
-
return loadBranchHistory(handlerParams, scmInstance);
|
|
165
|
-
});
|
|
166
|
-
//2.4 Get all commits effected each file
|
|
167
|
-
if (buildArguments.sendContributors) {
|
|
168
|
-
promiseChain = promiseChain.then(function (mapping) {
|
|
169
|
-
log.info("Getting commits per file.");
|
|
170
|
-
return getCommitsPerFile(handlerParams, scmInstance);
|
|
171
|
-
});
|
|
172
|
-
}
|
|
173
|
-
//2.5 if commit was not specified, automatically detect it
|
|
174
|
-
if (!buildArguments.commit) {
|
|
175
|
-
promiseChain = promiseChain.then(function () {
|
|
176
|
-
log.info("Couldn't find a 'commit' on the 'buildArguments'. Trying to detect the commit version.");
|
|
177
|
-
return scmInstance.detectCommitVersion(handlerParams, log).then(function (commit) {
|
|
178
|
-
if (commit) {
|
|
179
|
-
handlerParams.finalOutput.meta.commit = commit;
|
|
180
|
-
}
|
|
181
|
-
});
|
|
182
|
-
});
|
|
183
|
-
}
|
|
184
|
-
//2.6 Find repository root directory
|
|
185
|
-
promiseChain = promiseChain.then(function () {
|
|
186
|
-
return scmInstance.getRootDirectory(handlerParams, log).then(function (rootDir) {
|
|
187
|
-
handlerParams.scmRootDir = rootDir;
|
|
188
|
-
});
|
|
189
|
-
});
|
|
190
|
-
//2.6 Get list of all files in git
|
|
191
|
-
promiseChain = promiseChain.then(function () {
|
|
192
|
-
return scmInstance.getFiles(handlerParams, log).then(function (scmFiles) {
|
|
193
|
-
if (scmFiles && Array.isArray(scmFiles)) {
|
|
194
|
-
var scmFilesContainer = new ScmFilesContainer(logger);
|
|
195
|
-
scmFiles.forEach(function (file) {
|
|
196
|
-
scmFilesContainer.addFile(file);
|
|
197
|
-
});
|
|
198
|
-
handlerParams.scmFilesContainer = scmFilesContainer;
|
|
199
|
-
}
|
|
200
|
-
});
|
|
201
|
-
});
|
|
202
|
-
return promiseChain;
|
|
203
|
-
}
|
|
204
|
-
this.run = function run(buildArguments) {
|
|
205
|
-
return createBuildDiffPromiseChain(buildArguments);
|
|
206
|
-
};
|
|
207
|
-
function runBrowserInstrumentation(log, instrumentationConfig, callback, slMapper) {
|
|
208
|
-
log.info("Running browser instrumentation.");
|
|
209
|
-
instrumentationConfig.extensionsToInstrument = dvr.getFileExtensions();
|
|
210
|
-
var bi = new BrowserInstrumenter(instrumentationConfig, log, slMapper);
|
|
211
|
-
bi.instrument(callback);
|
|
212
|
-
}
|
|
213
|
-
function loadBranchHistory(handlerParams, scmInstance) {
|
|
214
|
-
return scmInstance.getBranchHistory(handlerParams, log).then(function (gitLog) {
|
|
215
|
-
if (gitLog && gitLog.commitHistory && gitLog.commitHistory.length && gitLog.commitLog && gitLog.commitLog.length) {
|
|
216
|
-
log.info('Branch history loaded (' + gitLog.commitHistory.length + ' commits)');
|
|
217
|
-
handlerParams.finalOutput.meta.history = gitLog.commitHistory;
|
|
218
|
-
handlerParams.finalOutput.meta.commitLog = gitLog.commitLog;
|
|
219
|
-
}
|
|
220
|
-
else {
|
|
221
|
-
logBranchHistoryNotFound(gitLog, log);
|
|
222
|
-
}
|
|
223
|
-
return loadCommitIndexMap(gitLog, handlerParams, log);
|
|
224
|
-
});
|
|
225
|
-
}
|
|
226
|
-
function getRepositoryUrl(handlerParams, scmInstance) {
|
|
227
|
-
return scmInstance.getRepositoryUrl(handlerParams, log).then(function (repositoryUrl) {
|
|
228
|
-
if (repositoryUrl) {
|
|
229
|
-
log.info('Repository Url loaded (' + repositoryUrl + ')');
|
|
230
|
-
handlerParams.finalOutput.meta.repositoryUrl = repositoryUrl;
|
|
231
|
-
}
|
|
232
|
-
return repositoryUrl;
|
|
233
|
-
});
|
|
234
|
-
}
|
|
235
|
-
function getContributors(handlerParams, scmInstance) {
|
|
236
|
-
return scmInstance.getContributors(handlerParams, log).then(function (contributorsLog) {
|
|
237
|
-
if (contributorsLog && contributorsLog.contributors && contributorsLog.emailToIndexMap) {
|
|
238
|
-
log.info('Contributors list loaded (' + contributorsLog.contributors.length + ' contributors)');
|
|
239
|
-
handlerParams.finalOutput.meta.contributors = contributorsLog.contributors;
|
|
240
|
-
handlerParams.emailToIndexMap = contributorsLog.emailToIndexMap;
|
|
241
|
-
}
|
|
242
|
-
else {
|
|
243
|
-
logContributorsNotFound(contributorsLog, log);
|
|
244
|
-
}
|
|
245
|
-
return contributorsLog;
|
|
246
|
-
});
|
|
247
|
-
}
|
|
248
|
-
function getCommitsPerFile(handlerParams, scmInstance) {
|
|
249
|
-
return scmInstance.getCommitsPerFile(handlerParams, log).then(function (fileToCommitsMap) {
|
|
250
|
-
if (fileToCommitsMap != null) {
|
|
251
|
-
log.info('File commit map loaded (' + Object.keys(fileToCommitsMap).length + ' records)');
|
|
252
|
-
handlerParams.fileToCommitsMap = fileToCommitsMap;
|
|
253
|
-
}
|
|
254
|
-
else {
|
|
255
|
-
log.error("Commits map is null or undefined.");
|
|
256
|
-
}
|
|
257
|
-
return fileToCommitsMap;
|
|
258
|
-
});
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
function logContributorsNotFound(contributorsLog, log) {
|
|
262
|
-
var fieldsMap = {
|
|
263
|
-
contributorsLog: !contributorsLog,
|
|
264
|
-
contributors: contributorsLog && !contributorsLog.contributors,
|
|
265
|
-
emailToIndexMap: contributorsLog && !contributorsLog.emailToIndexMap
|
|
266
|
-
};
|
|
267
|
-
var missing = utils.getMissingProperties(fieldsMap);
|
|
268
|
-
log.error("Contributors list not loaded, missing fields: " + missing);
|
|
269
|
-
}
|
|
270
|
-
function logBranchHistoryNotFound(gitLog, log) {
|
|
271
|
-
var fieldsMap = {
|
|
272
|
-
gitLog: !gitLog,
|
|
273
|
-
commitHistory: gitLog && !gitLog.commitHistory,
|
|
274
|
-
commitHistoryLength: gitLog && gitLog.commitHistory && !gitLog.commitHistory.length,
|
|
275
|
-
commitLog: gitLog && !gitLog.commitLog,
|
|
276
|
-
commitLogLength: gitLog && gitLog.commitLog && !gitLog.commitLog.length
|
|
277
|
-
};
|
|
278
|
-
var missing = utils.getMissingProperties(fieldsMap);
|
|
279
|
-
log.error("Branch history not loaded, missing fields: " + missing);
|
|
280
|
-
}
|
|
281
|
-
function clone(o) {
|
|
282
|
-
//if (!o) return o; //Unreachable
|
|
283
|
-
return JSON.parse(JSON.stringify(o));
|
|
284
|
-
}
|
|
285
|
-
var getProcessedFiles = function (buildArguments, processedFiles, logger) {
|
|
286
|
-
var folderToScan = buildArguments.workspacepath;
|
|
287
|
-
return fileAndFolderUtils.scanDirRecursively(folderToScan, logger);
|
|
288
|
-
};
|
|
289
|
-
var loadCommitIndexMap = function (gitLog, handlerParams, log) {
|
|
290
|
-
if (!handlerParams.buildArguments.sendContributors) {
|
|
291
|
-
return gitLog;
|
|
292
|
-
}
|
|
293
|
-
if (gitLog && gitLog.commitToIndexMap) {
|
|
294
|
-
handlerParams.commitToIndexMap = gitLog.commitToIndexMap;
|
|
295
|
-
}
|
|
296
|
-
else {
|
|
297
|
-
log.error("Commit log index map not loaded");
|
|
298
|
-
}
|
|
299
|
-
return gitLog;
|
|
300
|
-
};
|
|
301
|
-
function createMetaTag(buildArguments) {
|
|
302
|
-
return {
|
|
303
|
-
"generated": new Date().valueOf(),
|
|
304
|
-
"build": buildArguments.build,
|
|
305
|
-
"commit": buildArguments.commit,
|
|
306
|
-
"customerId": buildArguments.customerId,
|
|
307
|
-
"appName": buildArguments.appname,
|
|
308
|
-
//"technologies": "nodejs",
|
|
309
|
-
"technology": "nodejs",
|
|
310
|
-
"branch": buildArguments.branch,
|
|
311
|
-
"environment": {
|
|
312
|
-
agentVersion: version,
|
|
313
|
-
agentType: "nodeJsBuildScanner",
|
|
314
|
-
processArgv: process.argv,
|
|
315
|
-
machineName: os.hostname(),
|
|
316
|
-
platform: os.platform(),
|
|
317
|
-
os: os.type(),
|
|
318
|
-
osVersion: os.release(),
|
|
319
|
-
arch: os.arch(),
|
|
320
|
-
processId: process.pid,
|
|
321
|
-
ipAddress: clone(os.networkInterfaces()),
|
|
322
|
-
dependencies: clone(process.versions),
|
|
323
|
-
runtime: process.version
|
|
324
|
-
},
|
|
325
|
-
"authors": buildArguments.author,
|
|
326
|
-
"logsUrl": buildArguments.logsUrl,
|
|
327
|
-
"jobName": buildArguments.jobName,
|
|
328
|
-
"moduleName": buildArguments.uniqueModuleId,
|
|
329
|
-
"uniqueModuleId": buildArguments.uniqueModuleId,
|
|
330
|
-
"configurationData": buildArguments,
|
|
331
|
-
"scmProvider": buildArguments.scmProvider,
|
|
332
|
-
"scmVersion": buildArguments.scmVersion,
|
|
333
|
-
"scmBaseUrl": buildArguments.scmBaseUrl,
|
|
334
|
-
"buildSessionId": buildArguments.buildSessionId
|
|
335
|
-
};
|
|
336
|
-
}
|
|
337
|
-
function submitSlMapping(promiseChain, slMapper, uniqueModuleId, logger) {
|
|
338
|
-
return new Promise(function (resolve, reject) {
|
|
339
|
-
if (!CiaEnvVars.getSlMappingPath()) {
|
|
340
|
-
slMapper.postToServer(uniqueModuleId).then(function () {
|
|
341
|
-
return resolve();
|
|
342
|
-
}, function (err) {
|
|
343
|
-
return reject(err);
|
|
344
|
-
});
|
|
345
|
-
}
|
|
346
|
-
else {
|
|
347
|
-
logger.info("Sl mapping path was set to '%s', skipping post to server");
|
|
348
|
-
return resolve();
|
|
349
|
-
}
|
|
350
|
-
});
|
|
351
|
-
}
|
|
352
|
-
module.exports.BuildDiffProcess = BuildDiffProcess;
|
|
1
|
+
var Promise = require('promise');
|
|
2
|
+
var FilesMapping = require("./js_diff/files-mapping");
|
|
3
|
+
var EnsureFilesHandlerService = require("./mappings/ensure-files-handler.service").EnsureFilesHandlerService;
|
|
4
|
+
var DryRunFilesMapping = require("./js_diff/dry-run-files-mapping");
|
|
5
|
+
// TODO: Find a way to get version number without relative path
|
|
6
|
+
// var version = require("../package.json").version;
|
|
7
|
+
var version = "1.0.0";
|
|
8
|
+
var utils = require('./utils.js');
|
|
9
|
+
var os = require("os");
|
|
10
|
+
var DefaultValuesResolver = require('./default-values-resolver');
|
|
11
|
+
var fileAndFolderUtils = require("./file-and-folder-utils");
|
|
12
|
+
var BrowserInstrumenter = require('./instrumentation/browser-instrumenter');
|
|
13
|
+
var dvr = new DefaultValuesResolver();
|
|
14
|
+
var SlMapper = require("./js_diff/sl-mapper").SlMapper;
|
|
15
|
+
var ScmFilesContainer = require("./scm/scm-files-container");
|
|
16
|
+
var CiaEnvVars = require("../common/constants/sl-env-vars").SlEnvVars.CIA;
|
|
17
|
+
var globalErrorHandler = require('./global-error-handler');
|
|
18
|
+
function BuildDiffProcess(buildArgs, backendProxy, scmFactory, parsedDependencies, logger) {
|
|
19
|
+
var log = logger.child({
|
|
20
|
+
className: "BuildDiffProcess"
|
|
21
|
+
});
|
|
22
|
+
function createBuildDiffPromiseChain(buildArguments) {
|
|
23
|
+
parsedDependencies = parsedDependencies || [];
|
|
24
|
+
var handlerParams = {
|
|
25
|
+
buildArguments: buildArguments,
|
|
26
|
+
cfg: buildArguments,
|
|
27
|
+
finalOutput: {
|
|
28
|
+
meta: createMetaTag(buildArguments),
|
|
29
|
+
version: "2.0",
|
|
30
|
+
files: [],
|
|
31
|
+
dependencies: parsedDependencies
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
var promiseChain = Promise.resolve();
|
|
35
|
+
if (parsedDependencies.length == 0) { //If there are dependencies, no need to require workspacepath, scm, commit, and no need to perform actual scanning
|
|
36
|
+
var scmInstance;
|
|
37
|
+
if (buildArguments.workspacepath) {
|
|
38
|
+
scmInstance = scmFactory.createScmByType(buildArguments.scm, buildArguments, buildArguments.workspacepath, globalErrorHandler);
|
|
39
|
+
if (scmInstance) {
|
|
40
|
+
handlerParams.finalOutput.meta.scm = buildArguments.scm;
|
|
41
|
+
log.info("Created an scmInstance of type '" + buildArguments.scm + "'. Searching for a local repository at '" + buildArguments.workspacepath + "'.");
|
|
42
|
+
if (!buildArguments.commit && !scmInstance.detectCommitVersion) {
|
|
43
|
+
return Promise.reject("'commit' command-line argument is required, since automatic detection by the " + buildArguments.scm + " SCM is not supported");
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
log.warn("Unsupported scm type: '" + buildArguments.scm + "'.");
|
|
48
|
+
}
|
|
49
|
+
//2. If there is a mapping, get the diffs
|
|
50
|
+
if (scmInstance) {
|
|
51
|
+
promiseChain = promiseChain.then(function () { return collectScmData(buildArguments, handlerParams, scmInstance); });
|
|
52
|
+
}
|
|
53
|
+
promiseChain = promiseChain.then(function () {
|
|
54
|
+
log.info("Handling files and sending information in the new Build Scanner Format (with UniqueID).");
|
|
55
|
+
var fileMappingInstance = buildArguments.isDryRunMode ? DryRunFilesMapping : FilesMapping;
|
|
56
|
+
var filesMapping = new fileMappingInstance(handlerParams, log);
|
|
57
|
+
return filesMapping.process();
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//4. Submit the final output to the server
|
|
62
|
+
var slMapper;
|
|
63
|
+
promiseChain = promiseChain.then(function () {
|
|
64
|
+
slMapper = new SlMapper(CiaEnvVars.getSlMappingPath(), backendProxy, buildArguments.buildSessionId, logger);
|
|
65
|
+
var fixer = new EnsureFilesHandlerService(logger, handlerParams.buildArguments, handlerParams.scmFilesContainer, handlerParams.scmRootDir, handlerParams.cfg, slMapper);
|
|
66
|
+
var result = fixer.ensureProcess(handlerParams.finalOutput);
|
|
67
|
+
handlerParams.finalOutput = result.output;
|
|
68
|
+
// if (buildArguments.instrumentForBrowsers) {
|
|
69
|
+
// promiseChain = promiseChain.then(function () {
|
|
70
|
+
// return submitSlMapping(promiseChain, slMapper, buildArguments.uniqueModuleId, logger)
|
|
71
|
+
// })
|
|
72
|
+
// }
|
|
73
|
+
if (buildArguments.instrumentationOnly) {
|
|
74
|
+
log.info("No need to submit the files to server as the 'instrumentationOnly' flag is on.");
|
|
75
|
+
return Promise.resolve();
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
//TODO: [SLDEV-4708] When the call to the server fails, the agent is "silent" and not showing any error message.
|
|
79
|
+
return backendProxy.submitBuildMapping(handlerParams.finalOutput);
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
//5. Print the counters
|
|
83
|
+
promiseChain = promiseChain.then(function () {
|
|
84
|
+
var mapping = handlerParams.finalOutput;
|
|
85
|
+
if (!buildArguments.isDryRunMode && mapping != null && mapping.counters != null && mapping.counters.methods != null && mapping.counters.branches != null) {
|
|
86
|
+
console.log("Reported " + mapping.counters.methods + " methods and " + mapping.counters.branches + " branches in " + mapping.files.length + " files.");
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
//6. Create instrumented browser files.
|
|
90
|
+
if (buildArguments.instrumentForBrowsers) {
|
|
91
|
+
promiseChain = promiseChain.then(function () {
|
|
92
|
+
return submitSlMapping(promiseChain, slMapper, buildArguments.uniqueModuleId, logger);
|
|
93
|
+
});
|
|
94
|
+
promiseChain = promiseChain.then(function () {
|
|
95
|
+
if (handlerParams.finalOutput && handlerParams.finalOutput.files && !buildArguments.isDryRunMode) {
|
|
96
|
+
delete handlerParams.finalOutput.files;
|
|
97
|
+
}
|
|
98
|
+
var promise = new Promise(function (resolve, reject) {
|
|
99
|
+
var resolveWithoutHash = true;
|
|
100
|
+
var delayShutdownInSeconds = buildArguments.delayShutdownInSeconds || 30;
|
|
101
|
+
var downloadAgent = buildArguments.downloadAgent != null ? buildArguments.downloadAgent : true;
|
|
102
|
+
var instrumentationConfig = {
|
|
103
|
+
appName: buildArguments.appname,
|
|
104
|
+
build: buildArguments.build,
|
|
105
|
+
customerId: buildArguments.customerId,
|
|
106
|
+
branch: buildArguments.branch,
|
|
107
|
+
sourceRoot: buildArguments.workspacepath,
|
|
108
|
+
files: getProcessedFiles(buildArguments, handlerParams.processedFiles, logger),
|
|
109
|
+
outputPath: buildArguments.outputpath,
|
|
110
|
+
copyAllFilesToOutput: buildArguments.copyAllFilesToOutput !== false,
|
|
111
|
+
buildSessionId: buildArguments.buildSessionId,
|
|
112
|
+
esModules: buildArguments["es6Modules"],
|
|
113
|
+
server: buildArguments.server,
|
|
114
|
+
token: buildArguments.token,
|
|
115
|
+
instrumentationType: "browser",
|
|
116
|
+
resolveWithoutHash: resolveWithoutHash,
|
|
117
|
+
delayShutdownInSeconds: delayShutdownInSeconds,
|
|
118
|
+
downloadAgent: downloadAgent,
|
|
119
|
+
workspacepath: buildArguments.workspacepath,
|
|
120
|
+
slMappingPath: CiaEnvVars.getSlMappingPath(),
|
|
121
|
+
slMappingUrl: CiaEnvVars.getSlMappingUrl() || CiaEnvVars.getSlMappingPath(),
|
|
122
|
+
labId: buildArguments.labid,
|
|
123
|
+
babylonPlugins: buildArguments.babylonPlugins,
|
|
124
|
+
usebranchcoverage: buildArguments.usebranchcoverage
|
|
125
|
+
};
|
|
126
|
+
log.info("'instrumentForBrowsers' flag is on. Starting instrumentation. Instrumentation config: %s", instrumentationConfig);
|
|
127
|
+
var callback = function (err, processedFiles) {
|
|
128
|
+
if (buildArguments.isDryRunMode) {
|
|
129
|
+
return resolve({ err: err, processedFiles: processedFiles });
|
|
130
|
+
}
|
|
131
|
+
else if (err) {
|
|
132
|
+
log.info("Finished the instrumentation with an error. Error: %s", err);
|
|
133
|
+
reject(err);
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
log.info("Finished the instrumentation successfully");
|
|
137
|
+
return resolve();
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
runBrowserInstrumentation(log, instrumentationConfig, callback, slMapper);
|
|
141
|
+
});
|
|
142
|
+
return promise;
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
return promiseChain;
|
|
146
|
+
}
|
|
147
|
+
function collectScmData(buildArguments, handlerParams, scmInstance) {
|
|
148
|
+
var promiseChain = Promise.resolve();
|
|
149
|
+
//2.1 Get repository url from the SCM
|
|
150
|
+
promiseChain = promiseChain.then(function () {
|
|
151
|
+
log.info("Getting repository URL.");
|
|
152
|
+
return getRepositoryUrl(handlerParams, scmInstance);
|
|
153
|
+
});
|
|
154
|
+
//2.2 Get all contributors from the scm
|
|
155
|
+
if (buildArguments.sendContributors) {
|
|
156
|
+
promiseChain = promiseChain.then(function () {
|
|
157
|
+
log.info("Getting contributors.");
|
|
158
|
+
return getContributors(handlerParams, scmInstance);
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
//2.3 Get branch history from the SCM
|
|
162
|
+
promiseChain = promiseChain.then(function () {
|
|
163
|
+
log.info("Loading branch history.");
|
|
164
|
+
return loadBranchHistory(handlerParams, scmInstance);
|
|
165
|
+
});
|
|
166
|
+
//2.4 Get all commits effected each file
|
|
167
|
+
if (buildArguments.sendContributors) {
|
|
168
|
+
promiseChain = promiseChain.then(function (mapping) {
|
|
169
|
+
log.info("Getting commits per file.");
|
|
170
|
+
return getCommitsPerFile(handlerParams, scmInstance);
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
//2.5 if commit was not specified, automatically detect it
|
|
174
|
+
if (!buildArguments.commit) {
|
|
175
|
+
promiseChain = promiseChain.then(function () {
|
|
176
|
+
log.info("Couldn't find a 'commit' on the 'buildArguments'. Trying to detect the commit version.");
|
|
177
|
+
return scmInstance.detectCommitVersion(handlerParams, log).then(function (commit) {
|
|
178
|
+
if (commit) {
|
|
179
|
+
handlerParams.finalOutput.meta.commit = commit;
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
//2.6 Find repository root directory
|
|
185
|
+
promiseChain = promiseChain.then(function () {
|
|
186
|
+
return scmInstance.getRootDirectory(handlerParams, log).then(function (rootDir) {
|
|
187
|
+
handlerParams.scmRootDir = rootDir;
|
|
188
|
+
});
|
|
189
|
+
});
|
|
190
|
+
//2.6 Get list of all files in git
|
|
191
|
+
promiseChain = promiseChain.then(function () {
|
|
192
|
+
return scmInstance.getFiles(handlerParams, log).then(function (scmFiles) {
|
|
193
|
+
if (scmFiles && Array.isArray(scmFiles)) {
|
|
194
|
+
var scmFilesContainer = new ScmFilesContainer(logger);
|
|
195
|
+
scmFiles.forEach(function (file) {
|
|
196
|
+
scmFilesContainer.addFile(file);
|
|
197
|
+
});
|
|
198
|
+
handlerParams.scmFilesContainer = scmFilesContainer;
|
|
199
|
+
}
|
|
200
|
+
});
|
|
201
|
+
});
|
|
202
|
+
return promiseChain;
|
|
203
|
+
}
|
|
204
|
+
this.run = function run(buildArguments) {
|
|
205
|
+
return createBuildDiffPromiseChain(buildArguments);
|
|
206
|
+
};
|
|
207
|
+
function runBrowserInstrumentation(log, instrumentationConfig, callback, slMapper) {
|
|
208
|
+
log.info("Running browser instrumentation.");
|
|
209
|
+
instrumentationConfig.extensionsToInstrument = dvr.getFileExtensions();
|
|
210
|
+
var bi = new BrowserInstrumenter(instrumentationConfig, log, slMapper);
|
|
211
|
+
bi.instrument(callback);
|
|
212
|
+
}
|
|
213
|
+
function loadBranchHistory(handlerParams, scmInstance) {
|
|
214
|
+
return scmInstance.getBranchHistory(handlerParams, log).then(function (gitLog) {
|
|
215
|
+
if (gitLog && gitLog.commitHistory && gitLog.commitHistory.length && gitLog.commitLog && gitLog.commitLog.length) {
|
|
216
|
+
log.info('Branch history loaded (' + gitLog.commitHistory.length + ' commits)');
|
|
217
|
+
handlerParams.finalOutput.meta.history = gitLog.commitHistory;
|
|
218
|
+
handlerParams.finalOutput.meta.commitLog = gitLog.commitLog;
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
logBranchHistoryNotFound(gitLog, log);
|
|
222
|
+
}
|
|
223
|
+
return loadCommitIndexMap(gitLog, handlerParams, log);
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
function getRepositoryUrl(handlerParams, scmInstance) {
|
|
227
|
+
return scmInstance.getRepositoryUrl(handlerParams, log).then(function (repositoryUrl) {
|
|
228
|
+
if (repositoryUrl) {
|
|
229
|
+
log.info('Repository Url loaded (' + repositoryUrl + ')');
|
|
230
|
+
handlerParams.finalOutput.meta.repositoryUrl = repositoryUrl;
|
|
231
|
+
}
|
|
232
|
+
return repositoryUrl;
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
function getContributors(handlerParams, scmInstance) {
|
|
236
|
+
return scmInstance.getContributors(handlerParams, log).then(function (contributorsLog) {
|
|
237
|
+
if (contributorsLog && contributorsLog.contributors && contributorsLog.emailToIndexMap) {
|
|
238
|
+
log.info('Contributors list loaded (' + contributorsLog.contributors.length + ' contributors)');
|
|
239
|
+
handlerParams.finalOutput.meta.contributors = contributorsLog.contributors;
|
|
240
|
+
handlerParams.emailToIndexMap = contributorsLog.emailToIndexMap;
|
|
241
|
+
}
|
|
242
|
+
else {
|
|
243
|
+
logContributorsNotFound(contributorsLog, log);
|
|
244
|
+
}
|
|
245
|
+
return contributorsLog;
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
function getCommitsPerFile(handlerParams, scmInstance) {
|
|
249
|
+
return scmInstance.getCommitsPerFile(handlerParams, log).then(function (fileToCommitsMap) {
|
|
250
|
+
if (fileToCommitsMap != null) {
|
|
251
|
+
log.info('File commit map loaded (' + Object.keys(fileToCommitsMap).length + ' records)');
|
|
252
|
+
handlerParams.fileToCommitsMap = fileToCommitsMap;
|
|
253
|
+
}
|
|
254
|
+
else {
|
|
255
|
+
log.error("Commits map is null or undefined.");
|
|
256
|
+
}
|
|
257
|
+
return fileToCommitsMap;
|
|
258
|
+
});
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
function logContributorsNotFound(contributorsLog, log) {
|
|
262
|
+
var fieldsMap = {
|
|
263
|
+
contributorsLog: !contributorsLog,
|
|
264
|
+
contributors: contributorsLog && !contributorsLog.contributors,
|
|
265
|
+
emailToIndexMap: contributorsLog && !contributorsLog.emailToIndexMap
|
|
266
|
+
};
|
|
267
|
+
var missing = utils.getMissingProperties(fieldsMap);
|
|
268
|
+
log.error("Contributors list not loaded, missing fields: " + missing);
|
|
269
|
+
}
|
|
270
|
+
function logBranchHistoryNotFound(gitLog, log) {
|
|
271
|
+
var fieldsMap = {
|
|
272
|
+
gitLog: !gitLog,
|
|
273
|
+
commitHistory: gitLog && !gitLog.commitHistory,
|
|
274
|
+
commitHistoryLength: gitLog && gitLog.commitHistory && !gitLog.commitHistory.length,
|
|
275
|
+
commitLog: gitLog && !gitLog.commitLog,
|
|
276
|
+
commitLogLength: gitLog && gitLog.commitLog && !gitLog.commitLog.length
|
|
277
|
+
};
|
|
278
|
+
var missing = utils.getMissingProperties(fieldsMap);
|
|
279
|
+
log.error("Branch history not loaded, missing fields: " + missing);
|
|
280
|
+
}
|
|
281
|
+
function clone(o) {
|
|
282
|
+
//if (!o) return o; //Unreachable
|
|
283
|
+
return JSON.parse(JSON.stringify(o));
|
|
284
|
+
}
|
|
285
|
+
var getProcessedFiles = function (buildArguments, processedFiles, logger) {
|
|
286
|
+
var folderToScan = buildArguments.workspacepath;
|
|
287
|
+
return fileAndFolderUtils.scanDirRecursively(folderToScan, logger);
|
|
288
|
+
};
|
|
289
|
+
var loadCommitIndexMap = function (gitLog, handlerParams, log) {
|
|
290
|
+
if (!handlerParams.buildArguments.sendContributors) {
|
|
291
|
+
return gitLog;
|
|
292
|
+
}
|
|
293
|
+
if (gitLog && gitLog.commitToIndexMap) {
|
|
294
|
+
handlerParams.commitToIndexMap = gitLog.commitToIndexMap;
|
|
295
|
+
}
|
|
296
|
+
else {
|
|
297
|
+
log.error("Commit log index map not loaded");
|
|
298
|
+
}
|
|
299
|
+
return gitLog;
|
|
300
|
+
};
|
|
301
|
+
function createMetaTag(buildArguments) {
|
|
302
|
+
return {
|
|
303
|
+
"generated": new Date().valueOf(),
|
|
304
|
+
"build": buildArguments.build,
|
|
305
|
+
"commit": buildArguments.commit,
|
|
306
|
+
"customerId": buildArguments.customerId,
|
|
307
|
+
"appName": buildArguments.appname,
|
|
308
|
+
//"technologies": "nodejs",
|
|
309
|
+
"technology": "nodejs",
|
|
310
|
+
"branch": buildArguments.branch,
|
|
311
|
+
"environment": {
|
|
312
|
+
agentVersion: version,
|
|
313
|
+
agentType: "nodeJsBuildScanner",
|
|
314
|
+
processArgv: process.argv,
|
|
315
|
+
machineName: os.hostname(),
|
|
316
|
+
platform: os.platform(),
|
|
317
|
+
os: os.type(),
|
|
318
|
+
osVersion: os.release(),
|
|
319
|
+
arch: os.arch(),
|
|
320
|
+
processId: process.pid,
|
|
321
|
+
ipAddress: clone(os.networkInterfaces()),
|
|
322
|
+
dependencies: clone(process.versions),
|
|
323
|
+
runtime: process.version
|
|
324
|
+
},
|
|
325
|
+
"authors": buildArguments.author,
|
|
326
|
+
"logsUrl": buildArguments.logsUrl,
|
|
327
|
+
"jobName": buildArguments.jobName,
|
|
328
|
+
"moduleName": buildArguments.uniqueModuleId,
|
|
329
|
+
"uniqueModuleId": buildArguments.uniqueModuleId,
|
|
330
|
+
"configurationData": buildArguments,
|
|
331
|
+
"scmProvider": buildArguments.scmProvider,
|
|
332
|
+
"scmVersion": buildArguments.scmVersion,
|
|
333
|
+
"scmBaseUrl": buildArguments.scmBaseUrl,
|
|
334
|
+
"buildSessionId": buildArguments.buildSessionId
|
|
335
|
+
};
|
|
336
|
+
}
|
|
337
|
+
function submitSlMapping(promiseChain, slMapper, uniqueModuleId, logger) {
|
|
338
|
+
return new Promise(function (resolve, reject) {
|
|
339
|
+
if (!CiaEnvVars.getSlMappingPath()) {
|
|
340
|
+
slMapper.postToServer(uniqueModuleId).then(function () {
|
|
341
|
+
return resolve();
|
|
342
|
+
}, function (err) {
|
|
343
|
+
return reject(err);
|
|
344
|
+
});
|
|
345
|
+
}
|
|
346
|
+
else {
|
|
347
|
+
logger.info("Sl mapping path was set to '%s', skipping post to server");
|
|
348
|
+
return resolve();
|
|
349
|
+
}
|
|
350
|
+
});
|
|
351
|
+
}
|
|
352
|
+
module.exports.BuildDiffProcess = BuildDiffProcess;
|
|
353
353
|
//# sourceMappingURL=build-diff-process.js.map
|