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,59 +1,59 @@
|
|
|
1
|
-
//**********************************************************/
|
|
2
|
-
// Bug Fix: Webpack plugin breaks JavaScript code when require.ensure() is used (Duda Mobile)
|
|
3
|
-
// See https://sealights.atlassian.net/browse/SLDEV-2115
|
|
4
|
-
//
|
|
5
|
-
// Basically this is a workaround for:
|
|
6
|
-
// https://github.com/estools/escodegen/issues/336
|
|
7
|
-
//**********************************************************/
|
|
8
|
-
function removeWebpackComments(input) {
|
|
9
|
-
// This regex should capture block comment filled with stars, globally.
|
|
10
|
-
// Good:
|
|
11
|
-
// /**/
|
|
12
|
-
// /***/
|
|
13
|
-
// /*****************/
|
|
14
|
-
// Bad:
|
|
15
|
-
// /*/
|
|
16
|
-
// //
|
|
17
|
-
// /***a*/
|
|
18
|
-
//
|
|
19
|
-
var regex = new RegExp("\/[\*]{2,}\/", "g");
|
|
20
|
-
while (true) {
|
|
21
|
-
//Execute the regex, each time on a different part of the input string.
|
|
22
|
-
var currentMatch = regex.exec(input);
|
|
23
|
-
if (!currentMatch)
|
|
24
|
-
break;
|
|
25
|
-
var matchIndex = currentMatch.index;
|
|
26
|
-
var matchLength = currentMatch[0].length;
|
|
27
|
-
var whiteSpace = createWhiteSpace(matchLength);
|
|
28
|
-
//Replace the matching comment with whitespace.
|
|
29
|
-
input = replaceAt(input, matchIndex, whiteSpace);
|
|
30
|
-
}
|
|
31
|
-
return input;
|
|
32
|
-
}
|
|
33
|
-
function createWhiteSpace(length) {
|
|
34
|
-
var arr = new Array(++length);
|
|
35
|
-
return arr.join(" ");
|
|
36
|
-
}
|
|
37
|
-
function replaceAt(string, index, replacement) {
|
|
38
|
-
return string.substr(0, index) + replacement + string.substr(index + replacement.length);
|
|
39
|
-
}
|
|
40
|
-
//**********************************************************/
|
|
41
|
-
// Bug Fix: When instrumenting a 'React' based page, page loading breaks due to a missing space after a 'return' statement.
|
|
42
|
-
//
|
|
43
|
-
// Instead of having " return</div>" which breaks the page, we change it to
|
|
44
|
-
// " return </div>"
|
|
45
|
-
//**********************************************************/
|
|
46
|
-
function fixMissingSpaceAfterReturnStatement(input) {
|
|
47
|
-
return input.replace(/;return</g, ";return <");
|
|
48
|
-
}
|
|
49
|
-
function isFileInstrumentedSuccessfully(instrumentationContent, outputFile) {
|
|
50
|
-
instrumentationContent = instrumentationContent || "";
|
|
51
|
-
if (!instrumentationContent.match("var cov_")) {
|
|
52
|
-
throw new Error("Instrumented content for file '" + outputFile + "' is not as expected.");
|
|
53
|
-
}
|
|
54
|
-
return true;
|
|
55
|
-
}
|
|
56
|
-
module.exports.removeWebpackComments = removeWebpackComments;
|
|
57
|
-
module.exports.fixMissingSpaceAfterReturnStatement = fixMissingSpaceAfterReturnStatement;
|
|
58
|
-
module.exports.isFileInstrumentedSuccessfully = isFileInstrumentedSuccessfully;
|
|
1
|
+
//**********************************************************/
|
|
2
|
+
// Bug Fix: Webpack plugin breaks JavaScript code when require.ensure() is used (Duda Mobile)
|
|
3
|
+
// See https://sealights.atlassian.net/browse/SLDEV-2115
|
|
4
|
+
//
|
|
5
|
+
// Basically this is a workaround for:
|
|
6
|
+
// https://github.com/estools/escodegen/issues/336
|
|
7
|
+
//**********************************************************/
|
|
8
|
+
function removeWebpackComments(input) {
|
|
9
|
+
// This regex should capture block comment filled with stars, globally.
|
|
10
|
+
// Good:
|
|
11
|
+
// /**/
|
|
12
|
+
// /***/
|
|
13
|
+
// /*****************/
|
|
14
|
+
// Bad:
|
|
15
|
+
// /*/
|
|
16
|
+
// //
|
|
17
|
+
// /***a*/
|
|
18
|
+
//
|
|
19
|
+
var regex = new RegExp("\/[\*]{2,}\/", "g");
|
|
20
|
+
while (true) {
|
|
21
|
+
//Execute the regex, each time on a different part of the input string.
|
|
22
|
+
var currentMatch = regex.exec(input);
|
|
23
|
+
if (!currentMatch)
|
|
24
|
+
break;
|
|
25
|
+
var matchIndex = currentMatch.index;
|
|
26
|
+
var matchLength = currentMatch[0].length;
|
|
27
|
+
var whiteSpace = createWhiteSpace(matchLength);
|
|
28
|
+
//Replace the matching comment with whitespace.
|
|
29
|
+
input = replaceAt(input, matchIndex, whiteSpace);
|
|
30
|
+
}
|
|
31
|
+
return input;
|
|
32
|
+
}
|
|
33
|
+
function createWhiteSpace(length) {
|
|
34
|
+
var arr = new Array(++length);
|
|
35
|
+
return arr.join(" ");
|
|
36
|
+
}
|
|
37
|
+
function replaceAt(string, index, replacement) {
|
|
38
|
+
return string.substr(0, index) + replacement + string.substr(index + replacement.length);
|
|
39
|
+
}
|
|
40
|
+
//**********************************************************/
|
|
41
|
+
// Bug Fix: When instrumenting a 'React' based page, page loading breaks due to a missing space after a 'return' statement.
|
|
42
|
+
//
|
|
43
|
+
// Instead of having " return</div>" which breaks the page, we change it to
|
|
44
|
+
// " return </div>"
|
|
45
|
+
//**********************************************************/
|
|
46
|
+
function fixMissingSpaceAfterReturnStatement(input) {
|
|
47
|
+
return input.replace(/;return</g, ";return <");
|
|
48
|
+
}
|
|
49
|
+
function isFileInstrumentedSuccessfully(instrumentationContent, outputFile) {
|
|
50
|
+
instrumentationContent = instrumentationContent || "";
|
|
51
|
+
if (!instrumentationContent.match("var cov_")) {
|
|
52
|
+
throw new Error("Instrumented content for file '" + outputFile + "' is not as expected.");
|
|
53
|
+
}
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
56
|
+
module.exports.removeWebpackComments = removeWebpackComments;
|
|
57
|
+
module.exports.fixMissingSpaceAfterReturnStatement = fixMissingSpaceAfterReturnStatement;
|
|
58
|
+
module.exports.isFileInstrumentedSuccessfully = isFileInstrumentedSuccessfully;
|
|
59
59
|
//# sourceMappingURL=instrumentation-utils.js.map
|
|
@@ -1,160 +1,160 @@
|
|
|
1
|
-
var babelGenerator = require("@babel/generator");
|
|
2
|
-
var babelParser = require("@babel/parser");
|
|
3
|
-
var CockpitNotifier = require("../../common/agent-events/cockpit-notifier").CockpitNotifier;
|
|
4
|
-
var astTypes = require("ast-types");
|
|
5
|
-
var plugins = ["*", ["decorators", { decoratorsBeforeExport: true }]];
|
|
6
|
-
var updateStatementCoverageCommand = ".s\\[\\d+\\]\\++";
|
|
7
|
-
var updateBranchCoverageCommand = ".b\\[\\d+\\]\\[\\d+\\]\\++";
|
|
8
|
-
var propNameToShort = {
|
|
9
|
-
start: "st",
|
|
10
|
-
end: "e",
|
|
11
|
-
line: "l",
|
|
12
|
-
column: "c",
|
|
13
|
-
name: "n",
|
|
14
|
-
decl: "d",
|
|
15
|
-
loc: "lc",
|
|
16
|
-
type: "t",
|
|
17
|
-
locations: "lcs"
|
|
18
|
-
};
|
|
19
|
-
function reduceContentSize(filename, instrumentedCode, babylonPlugins, shouldRemoveBranchCoverage, shouldMinifyOutput, logger) {
|
|
20
|
-
try {
|
|
21
|
-
var ast = createAST(instrumentedCode, babylonPlugins);
|
|
22
|
-
var coverageObjectNode = getCoverageObjectNode(ast);
|
|
23
|
-
var coverageObjectName = coverageObjectNode.id.name;
|
|
24
|
-
reduceCoverageObjectSize(coverageObjectNode, shouldRemoveBranchCoverage);
|
|
25
|
-
var updateStatementCoverageRegEx = new RegExp(coverageObjectName + updateStatementCoverageCommand);
|
|
26
|
-
var updateBranchCoverageRegEx = new RegExp(coverageObjectName + updateBranchCoverageCommand);
|
|
27
|
-
removeRedundantUpdateCommands(ast, shouldRemoveBranchCoverage, updateStatementCoverageRegEx, updateBranchCoverageRegEx);
|
|
28
|
-
var finalContent = parseASTToCode(ast, shouldMinifyOutput);
|
|
29
|
-
validateFinalContent(finalContent, shouldRemoveBranchCoverage, updateStatementCoverageRegEx, updateBranchCoverageRegEx);
|
|
30
|
-
return finalContent;
|
|
31
|
-
}
|
|
32
|
-
catch (e) {
|
|
33
|
-
var message = "Error while removing statement coverage from '" + filename + "' Error: '" + e + "'";
|
|
34
|
-
CockpitNotifier.sendError(message);
|
|
35
|
-
logger.warn(message + " Using file with statement coverage data");
|
|
36
|
-
return instrumentedCode;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
function verifyUpdateCoverageRemoved(finalContent, updateStatementCoverageRegEx, coverageElement) {
|
|
40
|
-
var match = finalContent.match(updateStatementCoverageRegEx);
|
|
41
|
-
if (match != null) {
|
|
42
|
-
throw new Error("Expected all " + coverageElement + " related expression to be removed");
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
function validateFinalContent(finalContent, shouldRemoveBranchCoverage, updateStatementCoverageRegEx, updateBranchCoverageRegEx) {
|
|
46
|
-
verifyUpdateCoverageRemoved(finalContent, updateStatementCoverageRegEx, "statement");
|
|
47
|
-
if (shouldRemoveBranchCoverage) {
|
|
48
|
-
verifyUpdateCoverageRemoved(finalContent, updateBranchCoverageRegEx, "branch");
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
function shouldConvertToEmptyObject(path, shouldRemoveBranchCoverage) {
|
|
52
|
-
return isStatementCoverageRelatedObject(path.value) || (shouldRemoveBranchCoverage && isBranchCoverageRelatedObject(path.value));
|
|
53
|
-
}
|
|
54
|
-
function shouldUseShortPropNames(path, shouldRemoveBranchCoverage) {
|
|
55
|
-
if (path && path.key && path.key.name) {
|
|
56
|
-
return path.key.name == "fnMap" || (!shouldRemoveBranchCoverage && path.key.name == "branchMap");
|
|
57
|
-
}
|
|
58
|
-
return isStatementCoverageRelatedObject(path.value) || (shouldRemoveBranchCoverage && isBranchCoverageRelatedObject(path.value));
|
|
59
|
-
}
|
|
60
|
-
function nodeShouldBeDeleted(path, updateStatementCoverageRegEx, shouldRemoveBranchCoverage, updateBranchCoverageRegEx) {
|
|
61
|
-
return isStatementCoverageUpdateExpresion(path.node, updateStatementCoverageRegEx) || (shouldRemoveBranchCoverage && isBranchCoverageUpdateExpresion(path.node, updateBranchCoverageRegEx));
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Traverse over the ast and deletes statement (and branch) coverage update commands (cov_1234.s[1]++)
|
|
65
|
-
* @param ast
|
|
66
|
-
* @param shouldRemoveBranchCoverage
|
|
67
|
-
* @param updateStatementCoverageRegEx
|
|
68
|
-
* @param updateBranchCoverageRegEx
|
|
69
|
-
*/
|
|
70
|
-
function removeRedundantUpdateCommands(ast, shouldRemoveBranchCoverage, updateStatementCoverageRegEx, updateBranchCoverageRegEx) {
|
|
71
|
-
astTypes.visit(ast, {
|
|
72
|
-
visitUpdateExpression: function (path) {
|
|
73
|
-
if (nodeShouldBeDeleted(path, updateStatementCoverageRegEx, shouldRemoveBranchCoverage, updateBranchCoverageRegEx)) {
|
|
74
|
-
path.prune();
|
|
75
|
-
}
|
|
76
|
-
this.traverse(path);
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Traverse over the ast of the coverage object and do the followings:
|
|
82
|
-
* 1. Set 'statementMap' and 's' to empty objects
|
|
83
|
-
* 2. If user not use branchCoverage, remove also set also 'branchMap' and 'b' to empty projects
|
|
84
|
-
* 3. Convert elements metadata (start, end, name, etc...) to short names based on 'propNameToShort'
|
|
85
|
-
* @param ast
|
|
86
|
-
* @param shouldRemoveBranchCoverage
|
|
87
|
-
*/
|
|
88
|
-
function reduceCoverageObjectSize(ast, shouldRemoveBranchCoverage) {
|
|
89
|
-
astTypes.visit(ast, {
|
|
90
|
-
visitObjectProperty: function (path) {
|
|
91
|
-
if (shouldConvertToEmptyObject(path, shouldRemoveBranchCoverage)) {
|
|
92
|
-
path.value.value.properties = [];
|
|
93
|
-
}
|
|
94
|
-
else if (shouldUseShortPropNames(path.value, shouldRemoveBranchCoverage)) {
|
|
95
|
-
convertToShortPropNames(path.value);
|
|
96
|
-
}
|
|
97
|
-
this.traverse(path);
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
function convertToShortPropNames(path) {
|
|
102
|
-
astTypes.visit(path, {
|
|
103
|
-
visitObjectProperty: function (path) {
|
|
104
|
-
if (path && path.value && path.value.key && path.value.key.name) {
|
|
105
|
-
path.value.key.name = propNameToShort[path.value.key.name] || path.value.key.name;
|
|
106
|
-
}
|
|
107
|
-
this.traverse(path);
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
function getCoverageObjectNode(ast) {
|
|
112
|
-
var coverageObject;
|
|
113
|
-
astTypes.visit(ast, {
|
|
114
|
-
visitVariableDeclarator: function (path) {
|
|
115
|
-
if (path.value && path.value.id && path.value.id.name && path.value.id.name.startsWith("cov_")) {
|
|
116
|
-
coverageObject = path.value;
|
|
117
|
-
this.abort();
|
|
118
|
-
}
|
|
119
|
-
this.traverse(path);
|
|
120
|
-
}
|
|
121
|
-
});
|
|
122
|
-
if (!coverageObject) {
|
|
123
|
-
throw new Error("Could find coverage object");
|
|
124
|
-
}
|
|
125
|
-
return coverageObject;
|
|
126
|
-
}
|
|
127
|
-
function parseASTToCode(ast, minified) {
|
|
128
|
-
try {
|
|
129
|
-
return babelGenerator.default(ast, {
|
|
130
|
-
comments: false,
|
|
131
|
-
compact: true,
|
|
132
|
-
minified: minified
|
|
133
|
-
}, '').code;
|
|
134
|
-
}
|
|
135
|
-
catch (e) {
|
|
136
|
-
throw e;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
function createAST(instrumentedCode, babylonPlugins) {
|
|
140
|
-
return babelParser.parse(instrumentedCode, {
|
|
141
|
-
sourceType: "unambiguous",
|
|
142
|
-
plugins: plugins.concat(babylonPlugins)
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
function isStatementCoverageRelatedObject(node) {
|
|
146
|
-
return node && node.key && (node.key.name === "statementMap" || node.key.name === "s") && node.value;
|
|
147
|
-
}
|
|
148
|
-
function isBranchCoverageRelatedObject(node) {
|
|
149
|
-
return node && node.key && (node.key.name === "branchMap" || node.key.name === "b") && node.value;
|
|
150
|
-
}
|
|
151
|
-
function isStatementCoverageUpdateExpresion(node, updateStatementCoverageRegEx) {
|
|
152
|
-
var expressionCode = parseASTToCode(node, false);
|
|
153
|
-
return updateStatementCoverageRegEx.test(expressionCode);
|
|
154
|
-
}
|
|
155
|
-
function isBranchCoverageUpdateExpresion(node, updateBranchCoverageRegEx) {
|
|
156
|
-
var expressionCode = parseASTToCode(node, false);
|
|
157
|
-
return updateBranchCoverageRegEx.test(expressionCode);
|
|
158
|
-
}
|
|
159
|
-
module.exports.reduceContentSize = reduceContentSize;
|
|
1
|
+
var babelGenerator = require("@babel/generator");
|
|
2
|
+
var babelParser = require("@babel/parser");
|
|
3
|
+
var CockpitNotifier = require("../../common/agent-events/cockpit-notifier").CockpitNotifier;
|
|
4
|
+
var astTypes = require("ast-types");
|
|
5
|
+
var plugins = ["*", ["decorators", { decoratorsBeforeExport: true }]];
|
|
6
|
+
var updateStatementCoverageCommand = ".s\\[\\d+\\]\\++";
|
|
7
|
+
var updateBranchCoverageCommand = ".b\\[\\d+\\]\\[\\d+\\]\\++";
|
|
8
|
+
var propNameToShort = {
|
|
9
|
+
start: "st",
|
|
10
|
+
end: "e",
|
|
11
|
+
line: "l",
|
|
12
|
+
column: "c",
|
|
13
|
+
name: "n",
|
|
14
|
+
decl: "d",
|
|
15
|
+
loc: "lc",
|
|
16
|
+
type: "t",
|
|
17
|
+
locations: "lcs"
|
|
18
|
+
};
|
|
19
|
+
function reduceContentSize(filename, instrumentedCode, babylonPlugins, shouldRemoveBranchCoverage, shouldMinifyOutput, logger) {
|
|
20
|
+
try {
|
|
21
|
+
var ast = createAST(instrumentedCode, babylonPlugins);
|
|
22
|
+
var coverageObjectNode = getCoverageObjectNode(ast);
|
|
23
|
+
var coverageObjectName = coverageObjectNode.id.name;
|
|
24
|
+
reduceCoverageObjectSize(coverageObjectNode, shouldRemoveBranchCoverage);
|
|
25
|
+
var updateStatementCoverageRegEx = new RegExp(coverageObjectName + updateStatementCoverageCommand);
|
|
26
|
+
var updateBranchCoverageRegEx = new RegExp(coverageObjectName + updateBranchCoverageCommand);
|
|
27
|
+
removeRedundantUpdateCommands(ast, shouldRemoveBranchCoverage, updateStatementCoverageRegEx, updateBranchCoverageRegEx);
|
|
28
|
+
var finalContent = parseASTToCode(ast, shouldMinifyOutput);
|
|
29
|
+
validateFinalContent(finalContent, shouldRemoveBranchCoverage, updateStatementCoverageRegEx, updateBranchCoverageRegEx);
|
|
30
|
+
return finalContent;
|
|
31
|
+
}
|
|
32
|
+
catch (e) {
|
|
33
|
+
var message = "Error while removing statement coverage from '" + filename + "' Error: '" + e + "'";
|
|
34
|
+
CockpitNotifier.sendError(message);
|
|
35
|
+
logger.warn(message + " Using file with statement coverage data");
|
|
36
|
+
return instrumentedCode;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
function verifyUpdateCoverageRemoved(finalContent, updateStatementCoverageRegEx, coverageElement) {
|
|
40
|
+
var match = finalContent.match(updateStatementCoverageRegEx);
|
|
41
|
+
if (match != null) {
|
|
42
|
+
throw new Error("Expected all " + coverageElement + " related expression to be removed");
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
function validateFinalContent(finalContent, shouldRemoveBranchCoverage, updateStatementCoverageRegEx, updateBranchCoverageRegEx) {
|
|
46
|
+
verifyUpdateCoverageRemoved(finalContent, updateStatementCoverageRegEx, "statement");
|
|
47
|
+
if (shouldRemoveBranchCoverage) {
|
|
48
|
+
verifyUpdateCoverageRemoved(finalContent, updateBranchCoverageRegEx, "branch");
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
function shouldConvertToEmptyObject(path, shouldRemoveBranchCoverage) {
|
|
52
|
+
return isStatementCoverageRelatedObject(path.value) || (shouldRemoveBranchCoverage && isBranchCoverageRelatedObject(path.value));
|
|
53
|
+
}
|
|
54
|
+
function shouldUseShortPropNames(path, shouldRemoveBranchCoverage) {
|
|
55
|
+
if (path && path.key && path.key.name) {
|
|
56
|
+
return path.key.name == "fnMap" || (!shouldRemoveBranchCoverage && path.key.name == "branchMap");
|
|
57
|
+
}
|
|
58
|
+
return isStatementCoverageRelatedObject(path.value) || (shouldRemoveBranchCoverage && isBranchCoverageRelatedObject(path.value));
|
|
59
|
+
}
|
|
60
|
+
function nodeShouldBeDeleted(path, updateStatementCoverageRegEx, shouldRemoveBranchCoverage, updateBranchCoverageRegEx) {
|
|
61
|
+
return isStatementCoverageUpdateExpresion(path.node, updateStatementCoverageRegEx) || (shouldRemoveBranchCoverage && isBranchCoverageUpdateExpresion(path.node, updateBranchCoverageRegEx));
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Traverse over the ast and deletes statement (and branch) coverage update commands (cov_1234.s[1]++)
|
|
65
|
+
* @param ast
|
|
66
|
+
* @param shouldRemoveBranchCoverage
|
|
67
|
+
* @param updateStatementCoverageRegEx
|
|
68
|
+
* @param updateBranchCoverageRegEx
|
|
69
|
+
*/
|
|
70
|
+
function removeRedundantUpdateCommands(ast, shouldRemoveBranchCoverage, updateStatementCoverageRegEx, updateBranchCoverageRegEx) {
|
|
71
|
+
astTypes.visit(ast, {
|
|
72
|
+
visitUpdateExpression: function (path) {
|
|
73
|
+
if (nodeShouldBeDeleted(path, updateStatementCoverageRegEx, shouldRemoveBranchCoverage, updateBranchCoverageRegEx)) {
|
|
74
|
+
path.prune();
|
|
75
|
+
}
|
|
76
|
+
this.traverse(path);
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Traverse over the ast of the coverage object and do the followings:
|
|
82
|
+
* 1. Set 'statementMap' and 's' to empty objects
|
|
83
|
+
* 2. If user not use branchCoverage, remove also set also 'branchMap' and 'b' to empty projects
|
|
84
|
+
* 3. Convert elements metadata (start, end, name, etc...) to short names based on 'propNameToShort'
|
|
85
|
+
* @param ast
|
|
86
|
+
* @param shouldRemoveBranchCoverage
|
|
87
|
+
*/
|
|
88
|
+
function reduceCoverageObjectSize(ast, shouldRemoveBranchCoverage) {
|
|
89
|
+
astTypes.visit(ast, {
|
|
90
|
+
visitObjectProperty: function (path) {
|
|
91
|
+
if (shouldConvertToEmptyObject(path, shouldRemoveBranchCoverage)) {
|
|
92
|
+
path.value.value.properties = [];
|
|
93
|
+
}
|
|
94
|
+
else if (shouldUseShortPropNames(path.value, shouldRemoveBranchCoverage)) {
|
|
95
|
+
convertToShortPropNames(path.value);
|
|
96
|
+
}
|
|
97
|
+
this.traverse(path);
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
function convertToShortPropNames(path) {
|
|
102
|
+
astTypes.visit(path, {
|
|
103
|
+
visitObjectProperty: function (path) {
|
|
104
|
+
if (path && path.value && path.value.key && path.value.key.name) {
|
|
105
|
+
path.value.key.name = propNameToShort[path.value.key.name] || path.value.key.name;
|
|
106
|
+
}
|
|
107
|
+
this.traverse(path);
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
function getCoverageObjectNode(ast) {
|
|
112
|
+
var coverageObject;
|
|
113
|
+
astTypes.visit(ast, {
|
|
114
|
+
visitVariableDeclarator: function (path) {
|
|
115
|
+
if (path.value && path.value.id && path.value.id.name && path.value.id.name.startsWith("cov_")) {
|
|
116
|
+
coverageObject = path.value;
|
|
117
|
+
this.abort();
|
|
118
|
+
}
|
|
119
|
+
this.traverse(path);
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
if (!coverageObject) {
|
|
123
|
+
throw new Error("Could find coverage object");
|
|
124
|
+
}
|
|
125
|
+
return coverageObject;
|
|
126
|
+
}
|
|
127
|
+
function parseASTToCode(ast, minified) {
|
|
128
|
+
try {
|
|
129
|
+
return babelGenerator.default(ast, {
|
|
130
|
+
comments: false,
|
|
131
|
+
compact: true,
|
|
132
|
+
minified: minified
|
|
133
|
+
}, '').code;
|
|
134
|
+
}
|
|
135
|
+
catch (e) {
|
|
136
|
+
throw e;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
function createAST(instrumentedCode, babylonPlugins) {
|
|
140
|
+
return babelParser.parse(instrumentedCode, {
|
|
141
|
+
sourceType: "unambiguous",
|
|
142
|
+
plugins: plugins.concat(babylonPlugins)
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
function isStatementCoverageRelatedObject(node) {
|
|
146
|
+
return node && node.key && (node.key.name === "statementMap" || node.key.name === "s") && node.value;
|
|
147
|
+
}
|
|
148
|
+
function isBranchCoverageRelatedObject(node) {
|
|
149
|
+
return node && node.key && (node.key.name === "branchMap" || node.key.name === "b") && node.value;
|
|
150
|
+
}
|
|
151
|
+
function isStatementCoverageUpdateExpresion(node, updateStatementCoverageRegEx) {
|
|
152
|
+
var expressionCode = parseASTToCode(node, false);
|
|
153
|
+
return updateStatementCoverageRegEx.test(expressionCode);
|
|
154
|
+
}
|
|
155
|
+
function isBranchCoverageUpdateExpresion(node, updateBranchCoverageRegEx) {
|
|
156
|
+
var expressionCode = parseASTToCode(node, false);
|
|
157
|
+
return updateBranchCoverageRegEx.test(expressionCode);
|
|
158
|
+
}
|
|
159
|
+
module.exports.reduceContentSize = reduceContentSize;
|
|
160
160
|
//# sourceMappingURL=instrumented-file-size-reducer.js.map
|