@featurevisor/core 1.35.3 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (251) hide show
  1. package/README.md +0 -6
  2. package/coverage/clover.xml +321 -237
  3. package/coverage/coverage-final.json +8 -8
  4. package/coverage/lcov-report/index.html +77 -47
  5. package/coverage/lcov-report/lib/builder/allocator.js.html +14 -14
  6. package/coverage/lcov-report/lib/builder/index.html +16 -16
  7. package/coverage/lcov-report/lib/builder/revision.js.html +3 -3
  8. package/coverage/lcov-report/lib/builder/traffic.js.html +88 -64
  9. package/coverage/lcov-report/lib/list/index.html +116 -0
  10. package/coverage/lcov-report/lib/{tester → list}/matrix.js.html +90 -66
  11. package/coverage/lcov-report/lib/tester/helpers.js.html +295 -0
  12. package/coverage/lcov-report/lib/tester/index.html +20 -35
  13. package/coverage/lcov-report/src/builder/allocator.ts.html +2 -2
  14. package/coverage/lcov-report/src/builder/index.html +15 -15
  15. package/coverage/lcov-report/src/builder/revision.ts.html +1 -1
  16. package/coverage/lcov-report/src/builder/traffic.ts.html +96 -24
  17. package/coverage/lcov-report/src/list/index.html +116 -0
  18. package/coverage/lcov-report/src/{tester → list}/matrix.ts.html +87 -21
  19. package/coverage/lcov-report/src/tester/helpers.ts.html +313 -0
  20. package/coverage/lcov-report/src/tester/index.html +20 -35
  21. package/coverage/lcov.info +592 -436
  22. package/lib/assess-distribution/index.d.ts +1 -1
  23. package/lib/assess-distribution/index.js +102 -162
  24. package/lib/assess-distribution/index.js.map +1 -1
  25. package/lib/benchmark/index.js +87 -143
  26. package/lib/benchmark/index.js.map +1 -1
  27. package/lib/builder/allocator.d.ts +1 -1
  28. package/lib/builder/allocator.js +12 -12
  29. package/lib/builder/allocator.js.map +1 -1
  30. package/lib/builder/allocator.spec.js +22 -22
  31. package/lib/builder/allocator.spec.js.map +1 -1
  32. package/lib/builder/buildDatafile.d.ts +4 -3
  33. package/lib/builder/buildDatafile.js +311 -388
  34. package/lib/builder/buildDatafile.js.map +1 -1
  35. package/lib/builder/buildProject.d.ts +2 -1
  36. package/lib/builder/buildProject.js +96 -183
  37. package/lib/builder/buildProject.js.map +1 -1
  38. package/lib/builder/convertToV1.d.ts +10 -0
  39. package/lib/builder/convertToV1.js +119 -0
  40. package/lib/builder/convertToV1.js.map +1 -0
  41. package/lib/builder/getFeatureRanges.d.ts +1 -1
  42. package/lib/builder/getFeatureRanges.js +32 -105
  43. package/lib/builder/getFeatureRanges.js.map +1 -1
  44. package/lib/builder/hashes.d.ts +4 -0
  45. package/lib/builder/hashes.js +70 -0
  46. package/lib/builder/hashes.js.map +1 -0
  47. package/lib/builder/revision.js +2 -2
  48. package/lib/builder/revision.js.map +1 -1
  49. package/lib/builder/revision.spec.js +1 -1
  50. package/lib/builder/revision.spec.js.map +1 -1
  51. package/lib/builder/traffic.d.ts +1 -1
  52. package/lib/builder/traffic.js +57 -49
  53. package/lib/builder/traffic.js.map +1 -1
  54. package/lib/builder/traffic.spec.js +14 -14
  55. package/lib/builder/traffic.spec.js.map +1 -1
  56. package/lib/cli/cli.js +60 -129
  57. package/lib/cli/cli.js.map +1 -1
  58. package/lib/cli/plugins.js +14 -16
  59. package/lib/cli/plugins.js.map +1 -1
  60. package/lib/config/parsers.js +1 -1
  61. package/lib/config/parsers.js.map +1 -1
  62. package/lib/config/projectConfig.d.ts +8 -6
  63. package/lib/config/projectConfig.js +31 -72
  64. package/lib/config/projectConfig.js.map +1 -1
  65. package/lib/datasource/adapter.d.ts +1 -1
  66. package/lib/datasource/adapter.js +2 -5
  67. package/lib/datasource/adapter.js.map +1 -1
  68. package/lib/datasource/datasource.d.ts +2 -1
  69. package/lib/datasource/datasource.js +107 -148
  70. package/lib/datasource/datasource.js.map +1 -1
  71. package/lib/datasource/filesystemAdapter.d.ts +1 -1
  72. package/lib/datasource/filesystemAdapter.js +224 -360
  73. package/lib/datasource/filesystemAdapter.js.map +1 -1
  74. package/lib/evaluate/index.d.ts +1 -1
  75. package/lib/evaluate/index.js +120 -188
  76. package/lib/evaluate/index.js.map +1 -1
  77. package/lib/find-duplicate-segments/findDuplicateSegments.d.ts +1 -1
  78. package/lib/find-duplicate-segments/findDuplicateSegments.js +40 -128
  79. package/lib/find-duplicate-segments/findDuplicateSegments.js.map +1 -1
  80. package/lib/find-duplicate-segments/index.js +27 -82
  81. package/lib/find-duplicate-segments/index.js.map +1 -1
  82. package/lib/find-usage/index.d.ts +7 -5
  83. package/lib/find-usage/index.js +333 -507
  84. package/lib/find-usage/index.js.map +1 -1
  85. package/lib/generate-code/index.js +36 -91
  86. package/lib/generate-code/index.js.map +1 -1
  87. package/lib/generate-code/typescript.js +117 -157
  88. package/lib/generate-code/typescript.js.map +1 -1
  89. package/lib/index.d.ts +0 -1
  90. package/lib/index.js +0 -1
  91. package/lib/index.js.map +1 -1
  92. package/lib/info/index.js +45 -133
  93. package/lib/info/index.js.map +1 -1
  94. package/lib/init/index.d.ts +1 -1
  95. package/lib/init/index.js +16 -64
  96. package/lib/init/index.js.map +1 -1
  97. package/lib/linter/attributeSchema.d.ts +21 -6
  98. package/lib/linter/attributeSchema.js +18 -4
  99. package/lib/linter/attributeSchema.js.map +1 -1
  100. package/lib/linter/checkCircularDependency.d.ts +1 -1
  101. package/lib/linter/checkCircularDependency.js +22 -80
  102. package/lib/linter/checkCircularDependency.js.map +1 -1
  103. package/lib/linter/checkPercentageExceedingSlot.d.ts +1 -1
  104. package/lib/linter/checkPercentageExceedingSlot.js +36 -76
  105. package/lib/linter/checkPercentageExceedingSlot.js.map +1 -1
  106. package/lib/linter/conditionSchema.d.ts +1 -1
  107. package/lib/linter/conditionSchema.js +89 -41
  108. package/lib/linter/conditionSchema.js.map +1 -1
  109. package/lib/linter/featureSchema.d.ts +345 -197
  110. package/lib/linter/featureSchema.js +313 -172
  111. package/lib/linter/featureSchema.js.map +1 -1
  112. package/lib/linter/groupSchema.js +6 -6
  113. package/lib/linter/groupSchema.js.map +1 -1
  114. package/lib/linter/lintProject.js +306 -480
  115. package/lib/linter/lintProject.js.map +1 -1
  116. package/lib/linter/printError.js +7 -7
  117. package/lib/linter/printError.js.map +1 -1
  118. package/lib/linter/segmentSchema.js +2 -2
  119. package/lib/linter/segmentSchema.js.map +1 -1
  120. package/lib/linter/testSchema.d.ts +155 -3
  121. package/lib/linter/testSchema.js +47 -17
  122. package/lib/linter/testSchema.js.map +1 -1
  123. package/lib/list/index.d.ts +1 -0
  124. package/lib/list/index.js +349 -517
  125. package/lib/list/index.js.map +1 -1
  126. package/lib/{tester → list}/matrix.d.ts +1 -1
  127. package/lib/{tester → list}/matrix.js +50 -42
  128. package/lib/list/matrix.js.map +1 -0
  129. package/lib/{tester → list}/matrix.spec.js +7 -7
  130. package/lib/list/matrix.spec.js.map +1 -0
  131. package/lib/site/exportSite.js +25 -71
  132. package/lib/site/exportSite.js.map +1 -1
  133. package/lib/site/generateHistory.d.ts +1 -1
  134. package/lib/site/generateHistory.js +26 -82
  135. package/lib/site/generateHistory.js.map +1 -1
  136. package/lib/site/generateSiteSearchIndex.d.ts +1 -1
  137. package/lib/site/generateSiteSearchIndex.js +182 -259
  138. package/lib/site/generateSiteSearchIndex.js.map +1 -1
  139. package/lib/site/getLastModifiedFromHistory.d.ts +1 -1
  140. package/lib/site/getLastModifiedFromHistory.js +2 -2
  141. package/lib/site/getLastModifiedFromHistory.js.map +1 -1
  142. package/lib/site/getOwnerAndRepoFromUrl.js +6 -6
  143. package/lib/site/getOwnerAndRepoFromUrl.js.map +1 -1
  144. package/lib/site/getRelativePaths.js +7 -7
  145. package/lib/site/getRelativePaths.js.map +1 -1
  146. package/lib/site/getRepoDetails.js +20 -20
  147. package/lib/site/getRepoDetails.js.map +1 -1
  148. package/lib/site/index.js +25 -73
  149. package/lib/site/index.js.map +1 -1
  150. package/lib/site/serveSite.js +10 -10
  151. package/lib/site/serveSite.js.map +1 -1
  152. package/lib/tester/helpers.d.ts +2 -0
  153. package/lib/tester/helpers.js +71 -0
  154. package/lib/tester/helpers.js.map +1 -0
  155. package/lib/tester/helpers.spec.js +115 -0
  156. package/lib/tester/helpers.spec.js.map +1 -0
  157. package/lib/tester/index.d.ts +0 -1
  158. package/lib/tester/index.js +0 -1
  159. package/lib/tester/index.js.map +1 -1
  160. package/lib/tester/prettyDuration.js +11 -11
  161. package/lib/tester/prettyDuration.js.map +1 -1
  162. package/lib/tester/printTestResult.d.ts +1 -1
  163. package/lib/tester/printTestResult.js +35 -15
  164. package/lib/tester/printTestResult.js.map +1 -1
  165. package/lib/tester/testFeature.d.ts +4 -2
  166. package/lib/tester/testFeature.js +264 -226
  167. package/lib/tester/testFeature.js.map +1 -1
  168. package/lib/tester/testProject.d.ts +3 -7
  169. package/lib/tester/testProject.js +145 -246
  170. package/lib/tester/testProject.js.map +1 -1
  171. package/lib/tester/testSegment.d.ts +5 -2
  172. package/lib/tester/testSegment.js +65 -102
  173. package/lib/tester/testSegment.js.map +1 -1
  174. package/lib/utils/extractKeys.d.ts +2 -1
  175. package/lib/utils/extractKeys.js +57 -12
  176. package/lib/utils/extractKeys.js.map +1 -1
  177. package/lib/utils/git.d.ts +1 -1
  178. package/lib/utils/git.js +23 -23
  179. package/lib/utils/git.js.map +1 -1
  180. package/lib/utils/pretty.js +2 -4
  181. package/lib/utils/pretty.js.map +1 -1
  182. package/package.json +5 -6
  183. package/src/assess-distribution/index.ts +3 -2
  184. package/src/benchmark/index.ts +3 -3
  185. package/src/builder/allocator.spec.ts +1 -1
  186. package/src/builder/allocator.ts +1 -1
  187. package/src/builder/buildDatafile.ts +161 -124
  188. package/src/builder/buildProject.ts +6 -3
  189. package/src/builder/convertToV1.ts +166 -0
  190. package/src/builder/getFeatureRanges.ts +1 -1
  191. package/src/builder/hashes.ts +109 -0
  192. package/src/builder/traffic.ts +40 -16
  193. package/src/cli/cli.ts +1 -1
  194. package/src/cli/plugins.ts +0 -2
  195. package/src/config/projectConfig.ts +13 -10
  196. package/src/datasource/adapter.ts +1 -1
  197. package/src/datasource/datasource.ts +23 -2
  198. package/src/datasource/filesystemAdapter.ts +11 -12
  199. package/src/evaluate/index.ts +7 -6
  200. package/src/find-duplicate-segments/findDuplicateSegments.ts +1 -1
  201. package/src/find-usage/index.ts +111 -44
  202. package/src/generate-code/index.ts +1 -3
  203. package/src/generate-code/typescript.ts +7 -29
  204. package/src/index.ts +0 -1
  205. package/src/info/index.ts +2 -2
  206. package/src/init/index.ts +2 -2
  207. package/src/linter/attributeSchema.ts +18 -2
  208. package/src/linter/checkCircularDependency.ts +1 -1
  209. package/src/linter/checkPercentageExceedingSlot.ts +28 -8
  210. package/src/linter/conditionSchema.ts +66 -10
  211. package/src/linter/featureSchema.ts +312 -116
  212. package/src/linter/lintProject.ts +9 -4
  213. package/src/linter/testSchema.ts +42 -3
  214. package/src/list/index.ts +18 -30
  215. package/src/{tester → list}/matrix.ts +33 -11
  216. package/src/site/exportSite.ts +2 -4
  217. package/src/site/generateHistory.ts +1 -1
  218. package/src/site/generateSiteSearchIndex.ts +58 -50
  219. package/src/site/getLastModifiedFromHistory.ts +1 -1
  220. package/src/tester/helpers.spec.ts +149 -0
  221. package/src/tester/helpers.ts +76 -0
  222. package/src/tester/index.ts +0 -1
  223. package/src/tester/printTestResult.ts +25 -3
  224. package/src/tester/testFeature.ts +270 -124
  225. package/src/tester/testProject.ts +28 -49
  226. package/src/tester/testSegment.ts +48 -40
  227. package/src/utils/extractKeys.ts +58 -1
  228. package/src/utils/git.ts +1 -1
  229. package/tsconfig.cjs.json +1 -0
  230. package/coverage/lcov-report/lib/tester/checkIfObjectsAreEqual.js.html +0 -151
  231. package/coverage/lcov-report/src/tester/checkIfObjectsAreEqual.ts.html +0 -157
  232. package/lib/restore/index.d.ts +0 -4
  233. package/lib/restore/index.js +0 -91
  234. package/lib/restore/index.js.map +0 -1
  235. package/lib/tester/checkIfArraysAreEqual.d.ts +0 -1
  236. package/lib/tester/checkIfArraysAreEqual.js +0 -18
  237. package/lib/tester/checkIfArraysAreEqual.js.map +0 -1
  238. package/lib/tester/checkIfObjectsAreEqual.d.ts +0 -1
  239. package/lib/tester/checkIfObjectsAreEqual.js +0 -23
  240. package/lib/tester/checkIfObjectsAreEqual.js.map +0 -1
  241. package/lib/tester/checkIfObjectsAreEqual.spec.js +0 -26
  242. package/lib/tester/checkIfObjectsAreEqual.spec.js.map +0 -1
  243. package/lib/tester/matrix.js.map +0 -1
  244. package/lib/tester/matrix.spec.js.map +0 -1
  245. package/src/restore/index.ts +0 -42
  246. package/src/tester/checkIfArraysAreEqual.ts +0 -16
  247. package/src/tester/checkIfObjectsAreEqual.spec.ts +0 -31
  248. package/src/tester/checkIfObjectsAreEqual.ts +0 -24
  249. /package/lib/{tester → list}/matrix.spec.d.ts +0 -0
  250. /package/lib/tester/{checkIfObjectsAreEqual.spec.d.ts → helpers.spec.d.ts} +0 -0
  251. /package/src/{tester → list}/matrix.spec.ts +0 -0
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.checkIfObjectsAreEqual = checkIfObjectsAreEqual;
4
- function checkIfObjectsAreEqual(a, b) {
5
- if (a === b) {
6
- return true;
7
- }
8
- if (typeof a !== "object" || a === null || typeof b !== "object" || b === null) {
9
- return false;
10
- }
11
- var keysA = Object.keys(a), keysB = Object.keys(b);
12
- if (keysA.length !== keysB.length) {
13
- return false;
14
- }
15
- for (var _i = 0, keysA_1 = keysA; _i < keysA_1.length; _i++) {
16
- var key = keysA_1[_i];
17
- if (!keysB.includes(key) || !checkIfObjectsAreEqual(a[key], b[key])) {
18
- return false;
19
- }
20
- }
21
- return true;
22
- }
23
- //# sourceMappingURL=checkIfObjectsAreEqual.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkIfObjectsAreEqual.js","sourceRoot":"","sources":["../../src/tester/checkIfObjectsAreEqual.ts"],"names":[],"mappings":";;AAAA,wDAuBC;AAvBD,SAAgB,sBAAsB,CAAC,CAAC,EAAE,CAAC;IACzC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAC1B,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEzB,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAkB,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,EAAE,CAAC;QAArB,IAAM,GAAG,cAAA;QACZ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACpE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var checkIfObjectsAreEqual_1 = require("./checkIfObjectsAreEqual");
4
- describe("core :: tester :: checkIfObjectsAreEqual", function () {
5
- test("should return true if objects are equal", function () {
6
- var a = { a: 1, b: 2 };
7
- var b = { a: 1, b: 2 };
8
- expect((0, checkIfObjectsAreEqual_1.checkIfObjectsAreEqual)(a, b)).toBe(true);
9
- });
10
- test("should return false if objects are not equal", function () {
11
- var a = { a: 1, b: 2 };
12
- var b = { a: 1, b: 3 };
13
- expect((0, checkIfObjectsAreEqual_1.checkIfObjectsAreEqual)(a, b)).toBe(false);
14
- });
15
- test("should return true if nested objects are equal", function () {
16
- var a = { a: 1, b: { c: 3 } };
17
- var b = { a: 1, b: { c: 3 } };
18
- expect((0, checkIfObjectsAreEqual_1.checkIfObjectsAreEqual)(a, b)).toBe(true);
19
- });
20
- test("should return false if nested objects are not equal", function () {
21
- var a = { a: 1, b: { c: 3 } };
22
- var b = { a: 5, b: { c: 4 } };
23
- expect((0, checkIfObjectsAreEqual_1.checkIfObjectsAreEqual)(a, b)).toBe(false);
24
- });
25
- });
26
- //# sourceMappingURL=checkIfObjectsAreEqual.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkIfObjectsAreEqual.spec.js","sourceRoot":"","sources":["../../src/tester/checkIfObjectsAreEqual.spec.ts"],"names":[],"mappings":";;AAAA,mEAAkE;AAElE,QAAQ,CAAC,0CAA0C,EAAE;IACnD,IAAI,CAAC,yCAAyC,EAAE;QAC9C,IAAM,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACzB,IAAM,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAEzB,MAAM,CAAC,IAAA,+CAAsB,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,8CAA8C,EAAE;QACnD,IAAM,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACzB,IAAM,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAEzB,MAAM,CAAC,IAAA,+CAAsB,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,gDAAgD,EAAE;QACrD,IAAM,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,IAAM,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAEhC,MAAM,CAAC,IAAA,+CAAsB,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qDAAqD,EAAE;QAC1D,IAAM,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,IAAM,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAEhC,MAAM,CAAC,IAAA,+CAAsB,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"matrix.js","sourceRoot":"","sources":["../../src/tester/matrix.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"matrix.spec.js","sourceRoot":"","sources":["../../src/tester/matrix.spec.ts"],"names":[],"mappings":";;AAAA,mCAAiD;AAEjD,QAAQ,CAAC,0BAA0B,EAAE;IACnC,IAAI,CAAC,+CAA+C,EAAE;QACpD,IAAM,MAAM,GAAG,EAAE,CAAC;QAClB,IAAM,YAAY,GAAG,IAAA,8BAAqB,EAAC,MAAM,CAAC,CAAC;QAEnD,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,mDAAmD,EAAE;QACxD,IAAM,MAAM,GAAG;YACb,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACT,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;SACd,CAAC;QACF,IAAM,YAAY,GAAG,IAAA,8BAAqB,EAAC,MAAM,CAAC,CAAC;QAEnD,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC;YAC3B,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE;YAChB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE;YAEhB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE;YAChB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE;SACjB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qDAAqD,EAAE;QAC1D,IAAM,MAAM,GAAG;YACb,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACT,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;YACb,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC;SACjB,CAAC;QACF,IAAM,YAAY,GAAG,IAAA,8BAAqB,EAAC,MAAM,CAAC,CAAC;QAEnD,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC;YAC3B,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE;YACzB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE;YAE1B,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE;YACzB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE;YAE1B,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE;YACzB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE;YAE1B,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE;YACzB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE;SAC3B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,42 +0,0 @@
1
- import * as path from "path";
2
- import { execSync } from "child_process";
3
-
4
- import { Dependencies } from "../dependencies";
5
- import { Plugin } from "../cli";
6
-
7
- export async function restoreProject(deps: Dependencies) {
8
- const { rootDirectoryPath, projectConfig } = deps;
9
-
10
- const relativeStateDirPath = path.relative(rootDirectoryPath, projectConfig.stateDirectoryPath);
11
- const cmd = `git checkout -- ${relativeStateDirPath}${path.sep}`;
12
-
13
- try {
14
- execSync(cmd, {
15
- cwd: rootDirectoryPath,
16
- });
17
-
18
- console.log("State files restored successfully.");
19
- } catch (e) {
20
- console.log("error:", e.message);
21
-
22
- throw new Error("Failed to restore state files.");
23
- }
24
- }
25
-
26
- export const restorePlugin: Plugin = {
27
- command: "restore",
28
- handler: async function ({ rootDirectoryPath, projectConfig, datasource, parsed }) {
29
- await restoreProject({
30
- rootDirectoryPath,
31
- projectConfig,
32
- datasource,
33
- options: parsed,
34
- });
35
- },
36
- examples: [
37
- {
38
- command: "restore",
39
- description: "restore state files",
40
- },
41
- ],
42
- };
@@ -1,16 +0,0 @@
1
- // @TODO: make it better
2
- export function checkIfArraysAreEqual(a, b) {
3
- if (!Array.isArray(a) || !Array.isArray(b)) {
4
- return false;
5
- }
6
-
7
- if (a.length !== b.length) return false;
8
-
9
- for (let i = 0; i < a.length; ++i) {
10
- if (a[i] !== b[i]) {
11
- return false;
12
- }
13
- }
14
-
15
- return true;
16
- }
@@ -1,31 +0,0 @@
1
- import { checkIfObjectsAreEqual } from "./checkIfObjectsAreEqual";
2
-
3
- describe("core :: tester :: checkIfObjectsAreEqual", function () {
4
- test("should return true if objects are equal", function () {
5
- const a = { a: 1, b: 2 };
6
- const b = { a: 1, b: 2 };
7
-
8
- expect(checkIfObjectsAreEqual(a, b)).toBe(true);
9
- });
10
-
11
- test("should return false if objects are not equal", function () {
12
- const a = { a: 1, b: 2 };
13
- const b = { a: 1, b: 3 };
14
-
15
- expect(checkIfObjectsAreEqual(a, b)).toBe(false);
16
- });
17
-
18
- test("should return true if nested objects are equal", function () {
19
- const a = { a: 1, b: { c: 3 } };
20
- const b = { a: 1, b: { c: 3 } };
21
-
22
- expect(checkIfObjectsAreEqual(a, b)).toBe(true);
23
- });
24
-
25
- test("should return false if nested objects are not equal", function () {
26
- const a = { a: 1, b: { c: 3 } };
27
- const b = { a: 5, b: { c: 4 } };
28
-
29
- expect(checkIfObjectsAreEqual(a, b)).toBe(false);
30
- });
31
- });
@@ -1,24 +0,0 @@
1
- export function checkIfObjectsAreEqual(a, b) {
2
- if (a === b) {
3
- return true;
4
- }
5
-
6
- if (typeof a !== "object" || a === null || typeof b !== "object" || b === null) {
7
- return false;
8
- }
9
-
10
- const keysA = Object.keys(a),
11
- keysB = Object.keys(b);
12
-
13
- if (keysA.length !== keysB.length) {
14
- return false;
15
- }
16
-
17
- for (const key of keysA) {
18
- if (!keysB.includes(key) || !checkIfObjectsAreEqual(a[key], b[key])) {
19
- return false;
20
- }
21
- }
22
-
23
- return true;
24
- }
File without changes
File without changes