slnodejs 6.0.34 → 6.1.70

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.
Files changed (203) hide show
  1. package/browser-agent/dist/browser-agent-all.js +195 -111
  2. package/browser-agent/dist/browser-agent-all.min.js +28 -28
  3. package/browser-agent/package.json +2 -2
  4. package/package.json +6 -5
  5. package/tsOutputs/api.d.ts +2 -0
  6. package/tsOutputs/api.js +2 -1
  7. package/tsOutputs/build-scanner/ast-utils.js +39 -0
  8. package/tsOutputs/build-scanner/ast-utils.js.map +1 -0
  9. package/tsOutputs/build-scanner/build-diff-process.js +15 -9
  10. package/tsOutputs/build-scanner/build-diff-process.js.map +1 -1
  11. package/tsOutputs/build-scanner/file-system/actual-file.js +38 -18
  12. package/tsOutputs/build-scanner/file-system/actual-file.js.map +1 -1
  13. package/tsOutputs/build-scanner/instrumentation/file-instrumenter.js +6 -6
  14. package/tsOutputs/build-scanner/instrumentation/file-instrumenter.js.map +1 -1
  15. package/tsOutputs/build-scanner/instrumentation/markup-file-instrumenter.js +5 -8
  16. package/tsOutputs/build-scanner/instrumentation/markup-file-instrumenter.js.map +1 -1
  17. package/tsOutputs/build-scanner/js_diff/dry-run-files-mapping.js +1 -1
  18. package/tsOutputs/build-scanner/js_diff/dry-run-files-mapping.js.map +1 -1
  19. package/tsOutputs/build-scanner/js_diff/file-signature.js +9 -19
  20. package/tsOutputs/build-scanner/js_diff/file-signature.js.map +1 -1
  21. package/tsOutputs/build-scanner/js_diff/files-mapping.js +11 -24
  22. package/tsOutputs/build-scanner/js_diff/files-mapping.js.map +1 -1
  23. package/tsOutputs/build-scanner/js_diff/generated-file-signature.js.map +1 -1
  24. package/tsOutputs/build-scanner/js_diff/guess-method-location.js +3 -0
  25. package/tsOutputs/build-scanner/js_diff/guess-method-location.js.map +1 -1
  26. package/tsOutputs/build-scanner/js_diff/method-signature.js +3 -1
  27. package/tsOutputs/build-scanner/js_diff/method-signature.js.map +1 -1
  28. package/tsOutputs/build-scanner/js_diff/sl-mapper.js +61 -0
  29. package/tsOutputs/build-scanner/js_diff/sl-mapper.js.map +1 -1
  30. package/tsOutputs/build-scanner/js_diff/source-data-enricher.js +1 -1
  31. package/tsOutputs/build-scanner/js_diff/source-data-enricher.js.map +1 -1
  32. package/tsOutputs/build-scanner/mappings/contracts.js +3 -0
  33. package/tsOutputs/build-scanner/mappings/contracts.js.map +1 -0
  34. package/tsOutputs/build-scanner/mappings/ensure-files-handler.service.js +214 -0
  35. package/tsOutputs/build-scanner/mappings/ensure-files-handler.service.js.map +1 -0
  36. package/tsOutputs/build-scanner/mappings/file-element-utils.js +47 -0
  37. package/tsOutputs/build-scanner/mappings/file-element-utils.js.map +1 -0
  38. package/tsOutputs/build-scanner/mappings/file-enricher.js +207 -0
  39. package/tsOutputs/build-scanner/mappings/file-enricher.js.map +1 -0
  40. package/tsOutputs/build-scanner/mappings/files-data-container.js +52 -0
  41. package/tsOutputs/build-scanner/mappings/files-data-container.js.map +1 -0
  42. package/tsOutputs/build-scanner/mappings/scm-file-fixer.js +80 -0
  43. package/tsOutputs/build-scanner/mappings/scm-file-fixer.js.map +1 -0
  44. package/tsOutputs/cli-parse/child-process-wrapper.js +3 -3
  45. package/tsOutputs/cli-parse/child-process-wrapper.js.map +1 -1
  46. package/tsOutputs/cli-parse/cli.js +10 -8
  47. package/tsOutputs/cli-parse/cli.js.map +1 -1
  48. package/tsOutputs/cli-parse/constants/constants.js +9 -9
  49. package/tsOutputs/cli-parse/constants/constants.js.map +1 -1
  50. package/tsOutputs/cli-parse/custom-commander.js +2 -2
  51. package/tsOutputs/cli-parse/custom-commander.js.map +1 -1
  52. package/tsOutputs/cli-parse/executors/base-executor.js +35 -26
  53. package/tsOutputs/cli-parse/executors/base-executor.js.map +1 -1
  54. package/tsOutputs/cli-parse/executors/build-end-executor.js +1 -1
  55. package/tsOutputs/cli-parse/executors/build-end-executor.js.map +1 -1
  56. package/tsOutputs/cli-parse/executors/build-executor.js +2 -2
  57. package/tsOutputs/cli-parse/executors/build-executor.js.map +1 -1
  58. package/tsOutputs/cli-parse/executors/config-executor.js +5 -2
  59. package/tsOutputs/cli-parse/executors/config-executor.js.map +1 -1
  60. package/tsOutputs/cli-parse/executors/dry-run/base-data.js +4 -4
  61. package/tsOutputs/cli-parse/executors/dry-run/base-data.js.map +1 -1
  62. package/tsOutputs/cli-parse/executors/dry-run/build-mapping-data.js +21 -21
  63. package/tsOutputs/cli-parse/executors/dry-run/build-mapping-data.js.map +1 -1
  64. package/tsOutputs/cli-parse/executors/dry-run/dry-run-executor.js +25 -23
  65. package/tsOutputs/cli-parse/executors/dry-run/dry-run-executor.js.map +1 -1
  66. package/tsOutputs/cli-parse/executors/dry-run/dry-run-validation.js +1 -1
  67. package/tsOutputs/cli-parse/executors/dry-run/dry-run-validation.js.map +1 -1
  68. package/tsOutputs/cli-parse/executors/dry-run/footprints-data.js +79 -19
  69. package/tsOutputs/cli-parse/executors/dry-run/footprints-data.js.map +1 -1
  70. package/tsOutputs/cli-parse/executors/dry-run/helper-methods.js +15 -10
  71. package/tsOutputs/cli-parse/executors/dry-run/helper-methods.js.map +1 -1
  72. package/tsOutputs/cli-parse/executors/end-execution-executor.js +1 -1
  73. package/tsOutputs/cli-parse/executors/end-execution-executor.js.map +1 -1
  74. package/tsOutputs/cli-parse/executors/integration-build-components-executor.js +1 -1
  75. package/tsOutputs/cli-parse/executors/integration-build-components-executor.js.map +1 -1
  76. package/tsOutputs/cli-parse/executors/mocha-executor.js +1 -1
  77. package/tsOutputs/cli-parse/executors/mocha-executor.js.map +1 -1
  78. package/tsOutputs/cli-parse/executors/nyc-report-executor.js +3 -3
  79. package/tsOutputs/cli-parse/executors/nyc-report-executor.js.map +1 -1
  80. package/tsOutputs/cli-parse/executors/start-execution-executor.js +1 -1
  81. package/tsOutputs/cli-parse/executors/start-execution-executor.js.map +1 -1
  82. package/tsOutputs/cli-parse/executors/test-listener-executor.js +1 -1
  83. package/tsOutputs/cli-parse/executors/test-listener-executor.js.map +1 -1
  84. package/tsOutputs/cli-parse/executors/test-runner-build-session-data-builder.js +1 -1
  85. package/tsOutputs/cli-parse/executors/test-runner-build-session-data-builder.js.map +1 -1
  86. package/tsOutputs/cli-parse/executors/upload-report-executor.js +1 -1
  87. package/tsOutputs/cli-parse/executors/upload-report-executor.js.map +1 -1
  88. package/tsOutputs/cli-parse/utils.js +5 -5
  89. package/tsOutputs/cli-parse/utils.js.map +1 -1
  90. package/tsOutputs/common/agent-events/agent-events-controller.js +7 -7
  91. package/tsOutputs/common/agent-events/agent-events-controller.js.map +1 -1
  92. package/tsOutputs/common/agent-events/agent-instance-info-builder.js +1 -1
  93. package/tsOutputs/common/agent-events/agent-instance-info-builder.js.map +1 -1
  94. package/tsOutputs/common/agent-events/cockpit-notifier.js +1 -1
  95. package/tsOutputs/common/agent-events/machine-info-builder.js +1 -1
  96. package/tsOutputs/common/agent-events/machine-info-builder.js.map +1 -1
  97. package/tsOutputs/common/agent-events/sensitive-data-filter.js +1 -1
  98. package/tsOutputs/common/agent-events/sensitive-data-filter.js.map +1 -1
  99. package/tsOutputs/common/agent-instance-data.js +2 -2
  100. package/tsOutputs/common/agent-instance-data.js.map +1 -1
  101. package/tsOutputs/common/config-process/config.js +1 -1
  102. package/tsOutputs/common/config-process/config.js.map +1 -1
  103. package/tsOutputs/common/constants/constants.js +1 -1
  104. package/tsOutputs/common/constants/constants.js.map +1 -1
  105. package/tsOutputs/common/contracts.d.ts +1 -0
  106. package/tsOutputs/common/coverage-elements/new-id-resolver.js +7 -7
  107. package/tsOutputs/common/coverage-elements/new-id-resolver.js.map +1 -1
  108. package/tsOutputs/common/coverage-elements/unique-id-converter.js +4 -4
  109. package/tsOutputs/common/coverage-elements/unique-id-converter.js.map +1 -1
  110. package/tsOutputs/common/events-process/events-creator.js +2 -2
  111. package/tsOutputs/common/events-process/events-creator.js.map +1 -1
  112. package/tsOutputs/common/events-process/index.js +4 -4
  113. package/tsOutputs/common/events-process/index.js.map +1 -1
  114. package/tsOutputs/common/footprints-process/collection-interval.js +2 -2
  115. package/tsOutputs/common/footprints-process/collection-interval.js.map +1 -1
  116. package/tsOutputs/common/footprints-process/index.js +2 -2
  117. package/tsOutputs/common/footprints-process/index.js.map +1 -1
  118. package/tsOutputs/common/footprints-process/istanbul-to-footprints.js +5 -5
  119. package/tsOutputs/common/footprints-process/istanbul-to-footprints.js.map +1 -1
  120. package/tsOutputs/common/footprints-process/production-footprints-handler.js +4 -4
  121. package/tsOutputs/common/footprints-process/production-footprints-handler.js.map +1 -1
  122. package/tsOutputs/common/footprints-process-v6/base-browser-hits-converter.js +1 -1
  123. package/tsOutputs/common/footprints-process-v6/base-browser-hits-converter.js.map +1 -1
  124. package/tsOutputs/common/footprints-process-v6/hits-converter.js +12 -3
  125. package/tsOutputs/common/footprints-process-v6/hits-converter.js.map +1 -1
  126. package/tsOutputs/common/footprints-process-v6/index.js +6 -6
  127. package/tsOutputs/common/footprints-process-v6/index.js.map +1 -1
  128. package/tsOutputs/common/footprints-process-v6/location-formatter.js +2 -2
  129. package/tsOutputs/common/footprints-process-v6/location-formatter.js.map +1 -1
  130. package/tsOutputs/common/footprints-process-v6/source-map-data.js +1 -1
  131. package/tsOutputs/common/footprints-process-v6/source-map-data.js.map +1 -1
  132. package/tsOutputs/common/http/backend-proxy.d.ts +1 -0
  133. package/tsOutputs/common/http/backend-proxy.js +10 -0
  134. package/tsOutputs/common/http/backend-proxy.js.map +1 -1
  135. package/tsOutputs/common/http/contracts.d.ts +78 -1
  136. package/tsOutputs/common/http/contracts.js +1 -1
  137. package/tsOutputs/common/http/contracts.js.map +1 -1
  138. package/tsOutputs/common/http/http-client.js +15 -11
  139. package/tsOutputs/common/http/http-client.js.map +1 -1
  140. package/tsOutputs/common/http/sl-routes.js +1 -1
  141. package/tsOutputs/common/http/sl-routes.js.map +1 -1
  142. package/tsOutputs/common/ignored-files-handler.js +2 -2
  143. package/tsOutputs/common/ignored-files-handler.js.map +1 -1
  144. package/tsOutputs/common/logger.js +4 -4
  145. package/tsOutputs/common/logger.js.map +1 -1
  146. package/tsOutputs/common/scm/git-cloner.js +138 -0
  147. package/tsOutputs/common/scm/git-cloner.js.map +1 -0
  148. package/tsOutputs/common/scm/git-format-builder.js +1 -1
  149. package/tsOutputs/common/scm/git.js +1 -1
  150. package/tsOutputs/common/scm/git.js.map +1 -1
  151. package/tsOutputs/common/short-name-to-file-mapper.js +3 -3
  152. package/tsOutputs/common/short-name-to-file-mapper.js.map +1 -1
  153. package/tsOutputs/common/source-map-handler.js +7 -7
  154. package/tsOutputs/common/source-map-handler.js.map +1 -1
  155. package/tsOutputs/common/source-map-reader.js +7 -7
  156. package/tsOutputs/common/source-map-reader.js.map +1 -1
  157. package/tsOutputs/common/state-tracker-fpv6.js +1 -1
  158. package/tsOutputs/common/state-tracker-fpv6.js.map +1 -1
  159. package/tsOutputs/common/state-tracker.js +5 -8
  160. package/tsOutputs/common/state-tracker.js.map +1 -1
  161. package/tsOutputs/common/utils/abstract-data-builder.js +2 -2
  162. package/tsOutputs/common/utils/abstract-data-builder.js.map +1 -1
  163. package/tsOutputs/common/utils/build-session-data-builder.js +3 -3
  164. package/tsOutputs/common/utils/build-session-data-builder.js.map +1 -1
  165. package/tsOutputs/common/utils/files-utils.d.ts +1 -0
  166. package/tsOutputs/common/utils/files-utils.js +9 -0
  167. package/tsOutputs/common/utils/files-utils.js.map +1 -1
  168. package/tsOutputs/common/utils/test-utils/mock-server-utils/mock-server-proxy.js +3 -3
  169. package/tsOutputs/common/utils/test-utils/mock-server-utils/mock-server-proxy.js.map +1 -1
  170. package/tsOutputs/common/utils/token-data-builder.js +2 -2
  171. package/tsOutputs/common/utils/token-data-builder.js.map +1 -1
  172. package/tsOutputs/common/utils/validation-utils.js +2 -2
  173. package/tsOutputs/common/utils/validation-utils.js.map +1 -1
  174. package/tsOutputs/test-listener/agent.js +3 -3
  175. package/tsOutputs/test-listener/agent.js.map +1 -1
  176. package/tsOutputs/test-listener/child-process-patcher.js +1 -1
  177. package/tsOutputs/test-listener/child-process-patcher.js.map +1 -1
  178. package/tsOutputs/test-listener/execution-process/execution-service-proxy.js +1 -1
  179. package/tsOutputs/test-listener/execution-process/execution-service-proxy.js.map +1 -1
  180. package/tsOutputs/test-listener/footprints-process/index.js +2 -2
  181. package/tsOutputs/test-listener/footprints-process/index.js.map +1 -1
  182. package/tsOutputs/test-listener/footprints-process/istanbul-to-footprints-base.js +1 -1
  183. package/tsOutputs/test-listener/footprints-process/istanbul-to-footprints-base.js.map +1 -1
  184. package/tsOutputs/test-listener/logs-process/index.js +1 -1
  185. package/tsOutputs/test-listener/logs-process/index.js.map +1 -1
  186. package/tsOutputs/test-listener/nyc-report-executor-fpv6.js +10 -3
  187. package/tsOutputs/test-listener/nyc-report-executor-fpv6.js.map +1 -1
  188. package/tsOutputs/test-listener/nyc-report-executor.js +3 -3
  189. package/tsOutputs/test-listener/nyc-report-executor.js.map +1 -1
  190. package/tsOutputs/test-listener/remote-agent.js +1 -1
  191. package/tsOutputs/test-listener/remote-agent.js.map +1 -1
  192. package/tsOutputs/test-listener/resolvers/ArgumentResolver.js +2 -2
  193. package/tsOutputs/test-listener/resolvers/ArgumentResolver.js.map +1 -1
  194. package/tsOutputs/test-listener/state-tracker-process/index.js +2 -2
  195. package/tsOutputs/test-listener/state-tracker-process/index.js.map +1 -1
  196. package/tsOutputs/test-listener/state-tracker-process/state-tracker-proxy.js +1 -1
  197. package/tsOutputs/test-listener/state-tracker-process/state-tracker-proxy.js.map +1 -1
  198. package/tsOutputs/test-listener/test-recommendation-handler.js +4 -4
  199. package/tsOutputs/test-listener/test-recommendation-handler.js.map +1 -1
  200. package/tsOutputs/test-listener/upload-report-handler.js +1 -1
  201. package/tsOutputs/test-listener/upload-report-handler.js.map +1 -1
  202. package/tsOutputs/build-scanner/git-format-builder.js +0 -69
  203. package/tsOutputs/build-scanner/git-format-builder.js.map +0 -1
@@ -0,0 +1,214 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.EnsureFilesHandlerService = void 0;
15
+ var files_data_container_1 = require("./files-data-container");
16
+ var path_1 = require("path");
17
+ var ActualFile = require("../file-system/actual-file");
18
+ var file_element_utils_1 = require("./file-element-utils");
19
+ var file_enricher_1 = require("./file-enricher");
20
+ var scm_file_fixer_1 = require("./scm-file-fixer");
21
+ var files_utils_1 = require("../../common/utils/files-utils");
22
+ var SourceFileNotifier = require("../js_diff/source-files-notifier");
23
+ var EnsureFilesHandlerService = /** @class */ (function () {
24
+ function EnsureFilesHandlerService(logger, opts, scmFilesContainer, scmRootDir, config, slMapper) {
25
+ this.logger = logger;
26
+ this.opts = opts;
27
+ this.scmFilesContainer = scmFilesContainer;
28
+ this.scmRootDir = scmRootDir;
29
+ this.config = config;
30
+ this.slMapper = slMapper;
31
+ this.WEBPACK_PREFIX = 'webpack:///';
32
+ this.WEBPACK_BOOTSTRAP_FILE = 'webpack/bootstrap';
33
+ this.WEBPACK_LAZY_FILE = '$_lazy';
34
+ this.WEBPACK_SRC_ASYNC = 'src async';
35
+ this.WEBPACK_SRC_LAZY = 'src lazy';
36
+ this.WEBPACK_RESOURCE_SIGN = '~'; // Webpack replace 'node_modules' with '~'
37
+ this.NODE_MODULES = 'node_modules';
38
+ this.THIRD_PARTIES_FOLDERS = [
39
+ this.WEBPACK_BOOTSTRAP_FILE,
40
+ this.WEBPACK_LAZY_FILE,
41
+ this.WEBPACK_RESOURCE_SIGN,
42
+ this.NODE_MODULES,
43
+ this.WEBPACK_SRC_ASYNC,
44
+ this.WEBPACK_SRC_LAZY
45
+ ];
46
+ this.filesDataContainer = new files_data_container_1.FilesDataContainer();
47
+ this.scmFileFixer = new scm_file_fixer_1.ScmFileFixer(this.scmFilesContainer, this.slMapper);
48
+ this.sourceFilesNotifier = new SourceFileNotifier(logger);
49
+ }
50
+ EnsureFilesHandlerService.prototype.ensureProcess = function (req) {
51
+ var result = __assign(__assign({}, req), { files: [] });
52
+ for (var _i = 0, _a = req.files; _i < _a.length; _i++) {
53
+ var jsFile = _a[_i];
54
+ var sourceFileObject = new ActualFile(jsFile.logicalPath, jsFile.absolutePath);
55
+ this.handleMappingOneFile(jsFile, sourceFileObject);
56
+ }
57
+ result.files = this.filesDataContainer.files;
58
+ if (this.opts.projectRoot) {
59
+ var root = this.opts.projectRoot;
60
+ if (root === '.') {
61
+ root = process.cwd();
62
+ }
63
+ root = (0, path_1.normalize)(root);
64
+ result.files = this.fixFilesPathByPath(result.files, root);
65
+ }
66
+ else if (this.scmFilesContainer) {
67
+ result.files = this.scmFileFixer.fixFilesPath(result.files, this.scmRootDir);
68
+ }
69
+ else {
70
+ result.files = this.fixFilesPathByPath(result.files, process.cwd());
71
+ }
72
+ var enricher = new file_enricher_1.FileEnricher(this.logger, this.opts, this.scmRootDir, this.scmFilesContainer, this.config);
73
+ var resultAfterEnrich = enricher.enrichFiles(result);
74
+ this.deleteRedundantFields(resultAfterEnrich);
75
+ return { output: resultAfterEnrich };
76
+ };
77
+ EnsureFilesHandlerService.prototype.deleteRedundantFields = function (output) {
78
+ output.files.forEach(function (f) {
79
+ f.methods.forEach(function (m) { var _a; return (_a = m === null || m === void 0 ? void 0 : m.meta) === null || _a === void 0 ? true : delete _a.identifierPosition; });
80
+ });
81
+ };
82
+ EnsureFilesHandlerService.prototype.fixFilesPathByPath = function (uniqueFiles, projectRoot) {
83
+ var _this = this;
84
+ var fixedProjectRoot = (0, path_1.normalize)(projectRoot);
85
+ var _loop_1 = function (file) {
86
+ var fileFixedPath = files_utils_1.FilesUtils.adjustPathSlashes((0, path_1.normalize)(file.logicalPath).replace(fixedProjectRoot, ''));
87
+ if (fileFixedPath.indexOf('/') === 0) {
88
+ fileFixedPath = fileFixedPath.substring(1);
89
+ }
90
+ file.logicalPath = fileFixedPath;
91
+ file.physicalPath = fileFixedPath;
92
+ file.absolutePath = files_utils_1.FilesUtils.adjustPathSlashes((0, path_1.join)(fixedProjectRoot, file.physicalPath));
93
+ file.methods.forEach(function (method) {
94
+ method.uniqueId = "".concat(file.logicalPath, "@").concat(method.position.join(','));
95
+ _this.slMapper.addUniqueId(method.uniqueIdKey, method.uniqueId);
96
+ delete method.uniqueIdKey;
97
+ });
98
+ file.branches.forEach(function (branch) {
99
+ var position = (0, file_element_utils_1.getBranchPosition)(branch);
100
+ branch.uniqueId = "".concat(file.logicalPath, "|").concat(position.join(','), "|").concat(branch.index);
101
+ _this.slMapper.addUniqueId(branch.uniqueIdKey, branch.uniqueId);
102
+ delete branch.uniqueIdKey;
103
+ });
104
+ };
105
+ for (var _i = 0, uniqueFiles_1 = uniqueFiles; _i < uniqueFiles_1.length; _i++) {
106
+ var file = uniqueFiles_1[_i];
107
+ _loop_1(file);
108
+ }
109
+ return uniqueFiles;
110
+ };
111
+ EnsureFilesHandlerService.prototype.handleMappingOneFile = function (generatedFile, sourceFileObject) {
112
+ var _a;
113
+ var sourceMaps = sourceFileObject.readSourceMapsWithRaw(this.logger);
114
+ if (!sourceMaps.consumer) {
115
+ this.filesDataContainer.addFile(generatedFile);
116
+ }
117
+ else {
118
+ var codeElementMetrics = { hasColumnInfo: false };
119
+ this.addMethods(generatedFile, sourceMaps.consumer, codeElementMetrics);
120
+ this.addBranches(generatedFile, sourceMaps.consumer, codeElementMetrics);
121
+ this.sourceFilesNotifier.notifySources((_a = sourceMaps.rawSourceMaps) === null || _a === void 0 ? void 0 : _a.sources, generatedFile.absolutePath, codeElementMetrics.hasColumnInfo);
122
+ }
123
+ };
124
+ EnsureFilesHandlerService.prototype.trimWebpackPrefix = function (source) {
125
+ if (source.indexOf(this.WEBPACK_PREFIX) === 0) {
126
+ source = source.substring(this.WEBPACK_PREFIX.length);
127
+ }
128
+ return source;
129
+ };
130
+ EnsureFilesHandlerService.prototype.cleanPath = function (source) {
131
+ source = this.trimWebpackPrefix(source);
132
+ if (source.indexOf('/') === 0) {
133
+ source = source.substring(1);
134
+ }
135
+ return (0, path_1.normalize)(source);
136
+ };
137
+ EnsureFilesHandlerService.prototype.getMappingPositionForMethod = function (sourceMaps, method) {
138
+ var _a, _b;
139
+ var startMap = sourceMaps.originalPositionFor({
140
+ line: method.position[0],
141
+ column: method.position[1]
142
+ });
143
+ var endMap = sourceMaps.originalPositionFor({
144
+ line: method.endPosition[0],
145
+ column: method.endPosition[1]
146
+ });
147
+ var identifierPosition = sourceMaps.originalPositionFor({
148
+ line: (_a = method === null || method === void 0 ? void 0 : method.meta) === null || _a === void 0 ? void 0 : _a.identifierPosition[0],
149
+ column: (_b = method === null || method === void 0 ? void 0 : method.meta) === null || _b === void 0 ? void 0 : _b.identifierPosition[1]
150
+ });
151
+ return { startMap: startMap, endMap: endMap, identifierPosition: identifierPosition };
152
+ };
153
+ EnsureFilesHandlerService.prototype.getMappingPositionForBranch = function (sourceMaps, branch) {
154
+ var startMap = sourceMaps.originalPositionFor({
155
+ line: branch.position[0],
156
+ column: branch.position[1]
157
+ });
158
+ var parentStartMap = sourceMaps.originalPositionFor({
159
+ line: branch.parentPosition[0],
160
+ column: branch.parentPosition[1]
161
+ });
162
+ var endMap = sourceMaps.originalPositionFor({
163
+ line: branch.endPosition[0],
164
+ column: branch.endPosition[1]
165
+ });
166
+ return { startMap: startMap, endMap: endMap, parentStartMap: parentStartMap };
167
+ };
168
+ EnsureFilesHandlerService.prototype.addMethods = function (generatedFile, sourceMaps, codeElementMetrics) {
169
+ for (var _i = 0, _a = generatedFile.methods; _i < _a.length; _i++) {
170
+ var method = _a[_i];
171
+ var _b = this.getMappingPositionForMethod(sourceMaps, method), startMap = _b.startMap, endMap = _b.endMap, identifierPosition = _b.identifierPosition;
172
+ if (identifierPosition) {
173
+ method.meta.identifierPosition = [identifierPosition.line, identifierPosition.column];
174
+ }
175
+ if (this.isMapValid(startMap)) {
176
+ if (+startMap.column !== 0) {
177
+ codeElementMetrics.hasColumnInfo = true;
178
+ }
179
+ var cleanPath = this.cleanPath(startMap.source);
180
+ var generatedFileMethodKey = "".concat(generatedFile.absolutePath, "@").concat(method.position.join(','));
181
+ this.filesDataContainer.addMethod(cleanPath, (0, file_element_utils_1.createMethod)(startMap, endMap, method, generatedFileMethodKey));
182
+ }
183
+ }
184
+ };
185
+ EnsureFilesHandlerService.prototype.addBranches = function (generatedFile, sourceMaps, codeElementMetrics) {
186
+ for (var _i = 0, _a = generatedFile.branches; _i < _a.length; _i++) {
187
+ var branch = _a[_i];
188
+ var branchInfo = branch;
189
+ var _b = this.getMappingPositionForBranch(sourceMaps, branch), startMap = _b.startMap, endMap = _b.endMap, parentStartMap = _b.parentStartMap;
190
+ if (this.isMapValid(startMap)) {
191
+ if (+startMap.column !== 0) {
192
+ codeElementMetrics.hasColumnInfo = true;
193
+ }
194
+ var cleanPath = this.cleanPath(startMap.source);
195
+ var generatedFileBranchKey = "".concat(generatedFile.absolutePath, "|").concat(branchInfo.parentPosition.join(','), "|").concat(branchInfo.index);
196
+ this.filesDataContainer.addBranch(cleanPath, (0, file_element_utils_1.createBranch)(startMap, endMap, parentStartMap, branchInfo, cleanPath, generatedFileBranchKey));
197
+ }
198
+ }
199
+ };
200
+ EnsureFilesHandlerService.prototype.fixPathByScm = function (sourceFile) {
201
+ var gitFiles = this.scmFilesContainer.getScmPath(sourceFile);
202
+ return (gitFiles === null || gitFiles === void 0 ? void 0 : gitFiles.length) == 1 ? gitFiles[0] : null;
203
+ };
204
+ EnsureFilesHandlerService.prototype.isMapValid = function (map) {
205
+ if (!map.source) {
206
+ return false;
207
+ }
208
+ var mapFix = this.trimWebpackPrefix(map.source);
209
+ return mapFix && !this.THIRD_PARTIES_FOLDERS.some(function (str) { return mapFix.includes(str); });
210
+ };
211
+ return EnsureFilesHandlerService;
212
+ }());
213
+ exports.EnsureFilesHandlerService = EnsureFilesHandlerService;
214
+ //# sourceMappingURL=ensure-files-handler.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensure-files-handler.service.js","sourceRoot":"","sources":["../../../build-scanner/mappings/ensure-files-handler.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getBranchPosition = exports.createBranch = exports.createMethod = void 0;
4
+ var logger_1 = require("../../common/logger");
5
+ var logger = logger_1.LoggerFactory.getCreateApplicationLogger();
6
+ function createMethod(startMap, endMap, method, uniqueIdKey) {
7
+ var _a, _b;
8
+ return {
9
+ endPosition: [endMap.line, endMap.column],
10
+ position: [startMap.line, startMap.column],
11
+ meta: method.meta,
12
+ techSpecificInfo: method.techSpecificInfo,
13
+ displayName: (_b = (_a = startMap.name) !== null && _a !== void 0 ? _a : method.displayName) !== null && _b !== void 0 ? _b : '(Anonymous)',
14
+ hash: method.hash,
15
+ idxInMapping: method.idxInMapping,
16
+ sigHash: method.sigHash,
17
+ uniqueIdKey: uniqueIdKey,
18
+ };
19
+ }
20
+ exports.createMethod = createMethod;
21
+ function createBranch(startPosition, endPosition, parentPosition, branchInfo, logicalPath, uniqueIdKey) {
22
+ return {
23
+ filename: logicalPath,
24
+ type: branchInfo.type,
25
+ endPosition: [endPosition.line, endPosition.column],
26
+ position: [startPosition.line, startPosition.column],
27
+ hash: branchInfo.hash,
28
+ index: branchInfo.index,
29
+ parentPosition: [parentPosition.line, parentPosition.column],
30
+ enclosingMethodIdx: branchInfo.enclosingMethodIdx,
31
+ techSpecificInfo: branchInfo.techSpecificInfo || {},
32
+ uniqueIdKey: uniqueIdKey
33
+ };
34
+ }
35
+ exports.createBranch = createBranch;
36
+ function getBranchPosition(branch) {
37
+ if (branch.type !== 'IfStatement') {
38
+ return branch.position;
39
+ }
40
+ if (!isNaN(branch.parentPosition[0]) && !isNaN(branch.parentPosition[1])) {
41
+ return branch.parentPosition;
42
+ }
43
+ logger.info("Branch at position '".concat(branch.position, "' in file '").concat(branch.filename, "' is an if statement inside async methods using branch position instead of parent"));
44
+ return branch.position;
45
+ }
46
+ exports.getBranchPosition = getBranchPosition;
47
+ //# sourceMappingURL=file-element-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-element-utils.js","sourceRoot":"","sources":["../../../build-scanner/mappings/file-element-utils.ts"],"names":[],"mappings":";;;AAAA,8CAAkD;AAGlD,IAAM,MAAM,GAAG,sBAAa,CAAC,0BAA0B,EAAE,CAAC;AAC1D,SAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW;;IAC9D,OAAO;QACH,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;QACzC,QAAQ,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC;QAC1C,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,WAAW,EAAE,MAAA,MAAA,QAAQ,CAAC,IAAI,mCAAI,MAAM,CAAC,WAAW,mCAAI,aAAa;QACjE,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,WAAW,EAAE,WAAW;KAC3B,CAAA;AACL,CAAC;AAZD,oCAYC;AAID,SAAgB,YAAY,CAAC,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW;IACzG,OAAO;QACH,QAAQ,EAAE,WAAW;QACrB,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,WAAW,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC;QACnD,QAAQ,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC;QACpD,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,cAAc,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;QAC5D,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;QACjD,gBAAgB,EAAE,UAAU,CAAC,gBAAgB,IAAI,EAAE;QACnD,WAAW,EAAE,WAAW;KAE3B,CAAC;AACN,CAAC;AAdD,oCAcC;AAED,SAAgB,iBAAiB,CAAC,MAAkB;IAChD,IAAG,MAAM,CAAC,IAAI,KAAK,aAAa,EAAC;QAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC;KAC1B;IAED,IAAG,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAC;QACpE,OAAO,MAAM,CAAC,cAAc,CAAA;KAC/B;IAED,MAAM,CAAC,IAAI,CAAC,8BAAuB,MAAM,CAAC,QAAQ,wBAAc,MAAM,CAAC,QAAQ,sFAAmF,CAAC,CAAC;IACpK,OAAO,MAAM,CAAC,QAAQ,CAAC;AAC3B,CAAC;AAXD,8CAWC"}
@@ -0,0 +1,207 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
14
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
15
+ if (ar || !(i in from)) {
16
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
17
+ ar[i] = from[i];
18
+ }
19
+ }
20
+ return to.concat(ar || Array.prototype.slice.call(from));
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.FileEnricher = void 0;
24
+ var FileSignature = require("../js_diff/file-signature");
25
+ var path = require("path");
26
+ var fs = require("fs");
27
+ var logger_1 = require("../../common/logger");
28
+ var logger = logger_1.LoggerFactory.getCreateApplicationLogger();
29
+ var FileEnricher = /** @class */ (function () {
30
+ function FileEnricher(logger, opts, scmRootDir, scmFilesContainer, config) {
31
+ this.logger = logger;
32
+ this.opts = opts;
33
+ this.scmRootDir = scmRootDir;
34
+ this.scmFilesContainer = scmFilesContainer;
35
+ this.config = config;
36
+ }
37
+ FileEnricher.prototype.enrichFiles = function (res) {
38
+ var result = __assign(__assign({}, res), { files: __spreadArray([], res.files, true) });
39
+ for (var _i = 0, _a = result.files; _i < _a.length; _i++) {
40
+ var file = _a[_i];
41
+ if (file.absolutePath && file.fromSourceMaps) {
42
+ if (this.isFileSupported(file.absolutePath)) {
43
+ var currentFileSource = this.getFileSignature(file);
44
+ file.methods = this.enrichItems(currentFileSource, file.methods, CodeElementsType.METHOD, file.positionToMethod, file.endPositionToMethod);
45
+ file.branches = this.enrichItems(currentFileSource, file.branches, CodeElementsType.BRANCH, file.positionToBranch, {});
46
+ }
47
+ }
48
+ else {
49
+ logger.info("File ".concat(file.absolutePath, " not resolved from source maps, skipping enrichment"));
50
+ }
51
+ }
52
+ return result;
53
+ };
54
+ FileEnricher.prototype.isFileSupported = function (absolutePath) {
55
+ if (!fs.existsSync(absolutePath)) {
56
+ logger.warn("Source file '".concat(absolutePath, "' does not exists, skipping enrichment"));
57
+ return false;
58
+ }
59
+ var validExtensions = ['.ts', '.jsx', '.js', '.tsx'];
60
+ var extension = path.extname(absolutePath);
61
+ if (!validExtensions.includes(extension)) {
62
+ logger.info("Extension '".concat(extension, "' for file '").concat(absolutePath, "' is not supported, skipping enrichment"));
63
+ return false;
64
+ }
65
+ return true;
66
+ };
67
+ FileEnricher.prototype.getItemsMap = function (resolvePositionToElement, currentFileSource, type, resolveEndPositionToElement) {
68
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
69
+ var sourceFileStartPositionMap = type == CodeElementsType.METHOD ? currentFileSource.positionToMethod : currentFileSource.positionToBranchMap;
70
+ var sourceFileEndPositionMap = type == CodeElementsType.METHOD ? currentFileSource.endPositionToMethod : {};
71
+ var sourceElements = type == CodeElementsType.METHOD ? currentFileSource.methods : currentFileSource.branches;
72
+ var sourceFileIdxToStartPosition = this.itemIndexToPosition(sourceFileStartPositionMap);
73
+ var resolvedIdxToStartPosition = this.itemIndexToPosition(resolvePositionToElement);
74
+ var resolvedIdxToEndPosition = type === CodeElementsType.BRANCH ? {} : this.itemIndexToPosition(resolveEndPositionToElement);
75
+ var itemsToEnrich = [];
76
+ var itemsToMarkAsAutoGenerate = [];
77
+ var itemsToAdd = [];
78
+ for (var _i = 0, _l = Object.entries(resolvedIdxToStartPosition); _i < _l.length; _i++) {
79
+ var _m = _l[_i], idx = _m[0], startPositions = _m[1];
80
+ var sourceIdxByStart = this.getIdxByPosition(startPositions, sourceFileStartPositionMap);
81
+ var sourceIdxByEnd = type === CodeElementsType.BRANCH ? -1 : this.getIdxByPosition(resolvedIdxToEndPosition[+idx], sourceFileEndPositionMap);
82
+ if (sourceIdxByStart > -1) {
83
+ itemsToEnrich.push({ resolvedIdx: +idx, sourceIdx: sourceIdxByStart });
84
+ logger.debug("Item starts at '".concat((_c = (_b = (_a = sourceElements[sourceIdxByStart]) === null || _a === void 0 ? void 0 : _a.srcData) === null || _b === void 0 ? void 0 : _b.position) === null || _c === void 0 ? void 0 : _c.join(','), "' in file '").concat(currentFileSource.absolutePath, "' will be enriched"));
85
+ }
86
+ else if (sourceIdxByEnd > -1 && ((_e = (_d = sourceElements[sourceIdxByEnd]) === null || _d === void 0 ? void 0 : _d.techSpecificInfo) === null || _e === void 0 ? void 0 : _e.isDecorated)) {
87
+ itemsToEnrich.push({ resolvedIdx: +idx, sourceIdx: sourceIdxByEnd });
88
+ logger.debug("Item starts at '".concat((_h = (_g = (_f = sourceElements[sourceIdxByEnd]) === null || _f === void 0 ? void 0 : _f.srcData) === null || _g === void 0 ? void 0 : _g.position) === null || _h === void 0 ? void 0 : _h.join(','), "' in file '").concat(currentFileSource.absolutePath, "' is a decorated method, will be enriched by end position matching"));
89
+ }
90
+ else {
91
+ itemsToMarkAsAutoGenerate.push(+idx);
92
+ logger.debug("Could not find source element in any of the following positions '".concat(startPositions.join(' || '), "' in file '").concat(currentFileSource.absolutePath, "', marking as auto generated"));
93
+ }
94
+ }
95
+ if (type === CodeElementsType.METHOD) {
96
+ for (var _o = 0, _p = Object.entries(sourceFileIdxToStartPosition); _o < _p.length; _o++) {
97
+ var _q = _p[_o], idx = _q[0], startPositions = _q[1];
98
+ var resolvedIdxByStart = this.getIdxByPosition(startPositions, resolvePositionToElement);
99
+ var resolvedIdxByEnd = this.getIdxByPosition(resolvedIdxToEndPosition[+idx], resolveEndPositionToElement);
100
+ var isDecorated = resolvedIdxByEnd > -1 && ((_k = (_j = sourceElements[+idx]) === null || _j === void 0 ? void 0 : _j.techSpecificInfo) === null || _k === void 0 ? void 0 : _k.isDecorated) == true;
101
+ if (resolvedIdxByStart === -1 && !isDecorated) {
102
+ itemsToAdd.push(+idx);
103
+ logger.debug("Element in file '".concat(currentFileSource.absolutePath, "' at position '").concat(sourceElements[idx].position, "' not exists in generated file"));
104
+ }
105
+ }
106
+ }
107
+ return { itemsToEnrich: itemsToEnrich, itemsToMarkAsAutoGenerate: itemsToMarkAsAutoGenerate, itemsToAdd: itemsToAdd };
108
+ };
109
+ FileEnricher.prototype.getIdxByPosition = function (startPositions, sourceFilePositionMap) {
110
+ if (startPositions === void 0) { startPositions = []; }
111
+ for (var _i = 0, startPositions_1 = startPositions; _i < startPositions_1.length; _i++) {
112
+ var position = startPositions_1[_i];
113
+ var sourceIdx = sourceFilePositionMap[position];
114
+ if (sourceIdx > -1) {
115
+ return sourceIdx;
116
+ }
117
+ }
118
+ return -1;
119
+ };
120
+ FileEnricher.prototype.enrichItems = function (currentFileSource, codeItems, type, positionToElement, resolveEndPositionToElement) {
121
+ var result = [];
122
+ if (currentFileSource) {
123
+ var _a = this.getItemsMap(positionToElement, currentFileSource, type, resolveEndPositionToElement), itemsToEnrich = _a.itemsToEnrich, itemsToMarkAsAutoGenerate = _a.itemsToMarkAsAutoGenerate;
124
+ for (var _i = 0, itemsToMarkAsAutoGenerate_1 = itemsToMarkAsAutoGenerate; _i < itemsToMarkAsAutoGenerate_1.length; _i++) {
125
+ var idx = itemsToMarkAsAutoGenerate_1[_i];
126
+ var codeItem = codeItems[idx];
127
+ var codeItemCopy = __assign({}, codeItem);
128
+ codeItemCopy.techSpecificInfo.autoGenerated = true;
129
+ result.push(codeItemCopy);
130
+ }
131
+ for (var _b = 0, itemsToEnrich_1 = itemsToEnrich; _b < itemsToEnrich_1.length; _b++) {
132
+ var item = itemsToEnrich_1[_b];
133
+ var codeItem = codeItems[item.resolvedIdx];
134
+ var codeItemCopy = __assign({}, codeItem);
135
+ if (type === CodeElementsType.METHOD) {
136
+ this.handleMethod(codeItemCopy, currentFileSource.methods[item.sourceIdx]);
137
+ }
138
+ result.push(codeItemCopy);
139
+ }
140
+ // for (const idx of itemsToAdd) {
141
+ // if (type === CodeElementsType.METHOD) {
142
+ // const codeItem = currentFileSource.methods[idx];
143
+ // result.push(EntitiesMapper.toServerMethod(codeItem));
144
+ // } else {
145
+ // const codeItem = currentFileSource.branches[idx];
146
+ // result.push(EntitiesMapper.toServerBranch(codeItem) as any);
147
+ // }
148
+ // }
149
+ }
150
+ return result;
151
+ };
152
+ FileEnricher.prototype.itemIndexToPosition = function (positionMap) {
153
+ var itemToPosition = {};
154
+ for (var _i = 0, _a = Object.entries(positionMap); _i < _a.length; _i++) {
155
+ var _b = _a[_i], position = _b[0], idx = _b[1];
156
+ itemToPosition[idx] = itemToPosition[idx] || [];
157
+ itemToPosition[idx].push(position);
158
+ }
159
+ return itemToPosition;
160
+ };
161
+ FileEnricher.prototype.handleMethod = function (resolvedMethod, method) {
162
+ resolvedMethod.displayName = method.srcData.displayName;
163
+ resolvedMethod.meta = __assign({}, method.meta);
164
+ resolvedMethod.techSpecificInfo = __assign({}, method.techSpecificInfo);
165
+ if (resolvedMethod.techSpecificInfo.isAsync) {
166
+ resolvedMethod.hash = method.srcData.hash;
167
+ resolvedMethod.sigHash = method.srcData.sigHash;
168
+ }
169
+ };
170
+ FileEnricher.prototype.getFileSignature = function (file) {
171
+ var _a;
172
+ var currentPlugs = (_a = this.opts.babylonPlugins) !== null && _a !== void 0 ? _a : [];
173
+ var opts = {
174
+ es6Modules: true,
175
+ babylonPlugins: ['classProperties'].concat(currentPlugs),
176
+ projectRoot: this.opts.projectRoot,
177
+ scmRootDir: this.scmRootDir,
178
+ isBranchCoverage: this.config.useBranchCoverage || this.opts.usebranchcoverage
179
+ };
180
+ var extension = path.extname(file.absolutePath);
181
+ if (extension === '.ts' || extension === '.tsx') {
182
+ opts.babylonPlugins.push('typescript');
183
+ }
184
+ var fileContent = fs.readFileSync(file.absolutePath, 'utf-8');
185
+ do {
186
+ try {
187
+ return FileSignature.create(file.absolutePath, file.logicalPath, fileContent, null, opts, this.scmFilesContainer, this.logger);
188
+ }
189
+ catch (error) {
190
+ if (error.missingPlugin) {
191
+ opts.babylonPlugins = __spreadArray([error.missingPlugin[0]], opts.babylonPlugins, true);
192
+ }
193
+ else {
194
+ throw error;
195
+ }
196
+ }
197
+ } while (true);
198
+ };
199
+ return FileEnricher;
200
+ }());
201
+ exports.FileEnricher = FileEnricher;
202
+ var CodeElementsType;
203
+ (function (CodeElementsType) {
204
+ CodeElementsType["BRANCH"] = "branch";
205
+ CodeElementsType["METHOD"] = "method";
206
+ })(CodeElementsType || (CodeElementsType = {}));
207
+ //# sourceMappingURL=file-enricher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-enricher.js","sourceRoot":"","sources":["../../../build-scanner/mappings/file-enricher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FilesDataContainer = void 0;
4
+ var FilesDataContainer = /** @class */ (function () {
5
+ function FilesDataContainer() {
6
+ this._files = {};
7
+ }
8
+ Object.defineProperty(FilesDataContainer.prototype, "files", {
9
+ get: function () {
10
+ return Object.values(this._files);
11
+ },
12
+ enumerable: false,
13
+ configurable: true
14
+ });
15
+ FilesDataContainer.prototype.addFile = function (file) {
16
+ if (!(file.absolutePath in this._files)) {
17
+ this._files[file.absolutePath] = file;
18
+ }
19
+ };
20
+ FilesDataContainer.prototype.addMethod = function (path, method) {
21
+ var _a;
22
+ this._files[path] = this._files[path] || this.createEmptyFileData(path);
23
+ var index = this._files[path].methods.push(method) - 1;
24
+ this._files[path].positionToMethod[method.position.join(',')] = index;
25
+ this._files[path].endPositionToMethod[method.endPosition.join(',')] = index;
26
+ if ((_a = method.meta.identifierPosition) === null || _a === void 0 ? void 0 : _a.every(function (x) { return x !== null; })) {
27
+ this._files[path].positionToMethod[method.meta.identifierPosition.join(',')] = index;
28
+ }
29
+ };
30
+ FilesDataContainer.prototype.addBranch = function (path, branch) {
31
+ this._files[path] = this._files[path] || this.createEmptyFileData(path);
32
+ var index = this._files[path].branches.push(branch) - 1;
33
+ this._files[path].positionToBranch["".concat(branch.position.join(','), "|").concat(branch.index)] = index;
34
+ };
35
+ FilesDataContainer.prototype.createEmptyFileData = function (cleanPath) {
36
+ return {
37
+ lines: [],
38
+ methods: [],
39
+ branches: [],
40
+ logicalPath: cleanPath,
41
+ physicalPath: '',
42
+ hash: '',
43
+ fromSourceMaps: true,
44
+ positionToMethod: {},
45
+ positionToBranch: {},
46
+ endPositionToMethod: {}
47
+ };
48
+ };
49
+ return FilesDataContainer;
50
+ }());
51
+ exports.FilesDataContainer = FilesDataContainer;
52
+ //# sourceMappingURL=files-data-container.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"files-data-container.js","sourceRoot":"","sources":["../../../build-scanner/mappings/files-data-container.ts"],"names":[],"mappings":";;;AAEA;IAAA;QAEY,WAAM,GAAgC,EAAE,CAAC;IA2CrD,CAAC;IAzCG,sBAAI,qCAAK;aAAT;YACI,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;;;OAAA;IAED,oCAAO,GAAP,UAAQ,IAAc;QAClB,IAAG,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE;YACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;SACzC;IACL,CAAC;IAED,sCAAS,GAAT,UAAU,IAAY,EAAE,MAAkB;;QACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACxE,IAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;QACtE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;QAC5E,IAAG,MAAA,MAAM,CAAC,IAAI,CAAC,kBAAkB,0CAAE,KAAK,CAAC,UAAA,CAAC,IAAG,OAAA,CAAC,KAAI,IAAI,EAAT,CAAS,CAAC,EAAE;YACrD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;SACxF;IACL,CAAC;IAED,sCAAS,GAAT,UAAU,IAAY,EAAE,MAAkB;QACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACxE,IAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,UAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,cAAI,MAAM,CAAC,KAAK,CAAE,CAAC,GAAG,KAAK,CAAC;IAC/F,CAAC;IAEO,gDAAmB,GAA3B,UAA4B,SAAS;QACjC,OAAO;YACH,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,EAAE;YACZ,WAAW,EAAE,SAAS;YACtB,YAAY,EAAE,EAAE;YAChB,IAAI,EAAE,EAAE;YACR,cAAc,EAAE,IAAI;YACpB,gBAAgB,EAAC,EAAE;YACnB,gBAAgB,EAAC,EAAE;YACnB,mBAAmB,EAAC,EAAE;SACzB,CAAC;IACN,CAAC;IAEL,yBAAC;AAAD,CAAC,AA7CD,IA6CC;AA7CY,gDAAkB"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
+ if (ar || !(i in from)) {
5
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
+ ar[i] = from[i];
7
+ }
8
+ }
9
+ return to.concat(ar || Array.prototype.slice.call(from));
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ScmFileFixer = void 0;
13
+ var files_utils_1 = require("../../common/utils/files-utils");
14
+ var path_1 = require("path");
15
+ var logger_1 = require("../../common/logger");
16
+ var file_element_utils_1 = require("./file-element-utils");
17
+ var logger = logger_1.LoggerFactory.getCreateApplicationLogger();
18
+ var ScmFileFixer = /** @class */ (function () {
19
+ function ScmFileFixer(scmFilesContainer, slMapper) {
20
+ this.scmFilesContainer = scmFilesContainer;
21
+ this.slMapper = slMapper;
22
+ }
23
+ ScmFileFixer.prototype.fixFilesPath = function (uniqueFiles, scmRootDir) {
24
+ var duplicatesMatchFiles = [];
25
+ var prefixToAdd = '';
26
+ var uniqueFileCopy = __spreadArray([], uniqueFiles, true);
27
+ for (var _i = 0, uniqueFiles_1 = uniqueFiles; _i < uniqueFiles_1.length; _i++) {
28
+ var file = uniqueFiles_1[_i];
29
+ var filesFromScm = this.fixPathByScm(file.logicalPath);
30
+ if (filesFromScm.length > 1) {
31
+ duplicatesMatchFiles.push(file);
32
+ }
33
+ else if (filesFromScm.length === 1) {
34
+ var fullScmFilePath = filesFromScm[0];
35
+ prefixToAdd = fullScmFilePath.replace(file.logicalPath, '');
36
+ this.fixOneFile(file, fullScmFilePath, scmRootDir);
37
+ }
38
+ else {
39
+ logger.info("Cannot find file ".concat(file.logicalPath, " in git. File is auto generated."));
40
+ var indexToRemove = uniqueFileCopy.indexOf(file);
41
+ uniqueFileCopy.splice(indexToRemove, 1);
42
+ }
43
+ }
44
+ for (var _a = 0, duplicatesMatchFiles_1 = duplicatesMatchFiles; _a < duplicatesMatchFiles_1.length; _a++) {
45
+ var fileToFix = duplicatesMatchFiles_1[_a];
46
+ var fullScmFile = files_utils_1.FilesUtils.adjustPathSlashes("".concat(prefixToAdd).concat(fileToFix.logicalPath));
47
+ this.fixOneFile(fileToFix, fullScmFile, scmRootDir);
48
+ }
49
+ return uniqueFileCopy;
50
+ };
51
+ ScmFileFixer.prototype.fixOneFile = function (file, fullScmFilePath, scmRootDir) {
52
+ var _this = this;
53
+ file.logicalPath = files_utils_1.FilesUtils.adjustPathSlashes(fullScmFilePath);
54
+ file.physicalPath = files_utils_1.FilesUtils.adjustPathSlashes(fullScmFilePath);
55
+ file.absolutePath = (0, path_1.join)(scmRootDir, file.physicalPath);
56
+ file.methods.forEach(function (method) {
57
+ method.uniqueId = "".concat(files_utils_1.FilesUtils.adjustPathSlashes(file.logicalPath), "@").concat(method.position.join(','));
58
+ _this.slMapper.addUniqueId(method.uniqueIdKey, method.uniqueId);
59
+ delete method.uniqueIdKey;
60
+ });
61
+ file.branches.forEach(function (branch) {
62
+ var position = (0, file_element_utils_1.getBranchPosition)(branch);
63
+ branch.uniqueId = "".concat(files_utils_1.FilesUtils.adjustPathSlashes(file.logicalPath), "|").concat(position.join(','), "|").concat(branch.index);
64
+ _this.slMapper.addUniqueId(branch.uniqueIdKey, branch.uniqueId);
65
+ delete branch.uniqueIdKey;
66
+ });
67
+ };
68
+ ScmFileFixer.prototype.fixPathByScm = function (sourceFile) {
69
+ var gitFiles = this.scmFilesContainer.getScmPath(sourceFile);
70
+ if (gitFiles === null) {
71
+ return [];
72
+ }
73
+ else {
74
+ return gitFiles;
75
+ }
76
+ };
77
+ return ScmFileFixer;
78
+ }());
79
+ exports.ScmFileFixer = ScmFileFixer;
80
+ //# sourceMappingURL=scm-file-fixer.js.map