@featurevisor/core 1.35.3 → 2.0.1

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 (252) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +0 -6
  3. package/coverage/clover.xml +321 -237
  4. package/coverage/coverage-final.json +8 -8
  5. package/coverage/lcov-report/index.html +77 -47
  6. package/coverage/lcov-report/lib/builder/allocator.js.html +14 -14
  7. package/coverage/lcov-report/lib/builder/index.html +16 -16
  8. package/coverage/lcov-report/lib/builder/revision.js.html +3 -3
  9. package/coverage/lcov-report/lib/builder/traffic.js.html +88 -64
  10. package/coverage/lcov-report/lib/list/index.html +116 -0
  11. package/coverage/lcov-report/lib/{tester → list}/matrix.js.html +90 -66
  12. package/coverage/lcov-report/lib/tester/helpers.js.html +295 -0
  13. package/coverage/lcov-report/lib/tester/index.html +20 -35
  14. package/coverage/lcov-report/src/builder/allocator.ts.html +2 -2
  15. package/coverage/lcov-report/src/builder/index.html +15 -15
  16. package/coverage/lcov-report/src/builder/revision.ts.html +1 -1
  17. package/coverage/lcov-report/src/builder/traffic.ts.html +96 -24
  18. package/coverage/lcov-report/src/list/index.html +116 -0
  19. package/coverage/lcov-report/src/{tester → list}/matrix.ts.html +87 -21
  20. package/coverage/lcov-report/src/tester/helpers.ts.html +313 -0
  21. package/coverage/lcov-report/src/tester/index.html +20 -35
  22. package/coverage/lcov.info +592 -436
  23. package/lib/assess-distribution/index.d.ts +1 -1
  24. package/lib/assess-distribution/index.js +102 -162
  25. package/lib/assess-distribution/index.js.map +1 -1
  26. package/lib/benchmark/index.js +87 -143
  27. package/lib/benchmark/index.js.map +1 -1
  28. package/lib/builder/allocator.d.ts +1 -1
  29. package/lib/builder/allocator.js +12 -12
  30. package/lib/builder/allocator.js.map +1 -1
  31. package/lib/builder/allocator.spec.js +22 -22
  32. package/lib/builder/allocator.spec.js.map +1 -1
  33. package/lib/builder/buildDatafile.d.ts +4 -3
  34. package/lib/builder/buildDatafile.js +311 -388
  35. package/lib/builder/buildDatafile.js.map +1 -1
  36. package/lib/builder/buildProject.d.ts +2 -1
  37. package/lib/builder/buildProject.js +96 -183
  38. package/lib/builder/buildProject.js.map +1 -1
  39. package/lib/builder/convertToV1.d.ts +10 -0
  40. package/lib/builder/convertToV1.js +119 -0
  41. package/lib/builder/convertToV1.js.map +1 -0
  42. package/lib/builder/getFeatureRanges.d.ts +1 -1
  43. package/lib/builder/getFeatureRanges.js +32 -105
  44. package/lib/builder/getFeatureRanges.js.map +1 -1
  45. package/lib/builder/hashes.d.ts +4 -0
  46. package/lib/builder/hashes.js +70 -0
  47. package/lib/builder/hashes.js.map +1 -0
  48. package/lib/builder/revision.js +2 -2
  49. package/lib/builder/revision.js.map +1 -1
  50. package/lib/builder/revision.spec.js +1 -1
  51. package/lib/builder/revision.spec.js.map +1 -1
  52. package/lib/builder/traffic.d.ts +1 -1
  53. package/lib/builder/traffic.js +57 -49
  54. package/lib/builder/traffic.js.map +1 -1
  55. package/lib/builder/traffic.spec.js +14 -14
  56. package/lib/builder/traffic.spec.js.map +1 -1
  57. package/lib/cli/cli.js +60 -129
  58. package/lib/cli/cli.js.map +1 -1
  59. package/lib/cli/plugins.js +14 -16
  60. package/lib/cli/plugins.js.map +1 -1
  61. package/lib/config/parsers.js +1 -1
  62. package/lib/config/parsers.js.map +1 -1
  63. package/lib/config/projectConfig.d.ts +8 -6
  64. package/lib/config/projectConfig.js +31 -72
  65. package/lib/config/projectConfig.js.map +1 -1
  66. package/lib/datasource/adapter.d.ts +1 -1
  67. package/lib/datasource/adapter.js +2 -5
  68. package/lib/datasource/adapter.js.map +1 -1
  69. package/lib/datasource/datasource.d.ts +2 -1
  70. package/lib/datasource/datasource.js +107 -148
  71. package/lib/datasource/datasource.js.map +1 -1
  72. package/lib/datasource/filesystemAdapter.d.ts +1 -1
  73. package/lib/datasource/filesystemAdapter.js +224 -360
  74. package/lib/datasource/filesystemAdapter.js.map +1 -1
  75. package/lib/evaluate/index.d.ts +1 -1
  76. package/lib/evaluate/index.js +120 -188
  77. package/lib/evaluate/index.js.map +1 -1
  78. package/lib/find-duplicate-segments/findDuplicateSegments.d.ts +1 -1
  79. package/lib/find-duplicate-segments/findDuplicateSegments.js +40 -128
  80. package/lib/find-duplicate-segments/findDuplicateSegments.js.map +1 -1
  81. package/lib/find-duplicate-segments/index.js +27 -82
  82. package/lib/find-duplicate-segments/index.js.map +1 -1
  83. package/lib/find-usage/index.d.ts +7 -5
  84. package/lib/find-usage/index.js +333 -507
  85. package/lib/find-usage/index.js.map +1 -1
  86. package/lib/generate-code/index.js +36 -91
  87. package/lib/generate-code/index.js.map +1 -1
  88. package/lib/generate-code/typescript.js +117 -157
  89. package/lib/generate-code/typescript.js.map +1 -1
  90. package/lib/index.d.ts +0 -1
  91. package/lib/index.js +0 -1
  92. package/lib/index.js.map +1 -1
  93. package/lib/info/index.js +45 -133
  94. package/lib/info/index.js.map +1 -1
  95. package/lib/init/index.d.ts +1 -1
  96. package/lib/init/index.js +16 -64
  97. package/lib/init/index.js.map +1 -1
  98. package/lib/linter/attributeSchema.d.ts +21 -6
  99. package/lib/linter/attributeSchema.js +18 -4
  100. package/lib/linter/attributeSchema.js.map +1 -1
  101. package/lib/linter/checkCircularDependency.d.ts +1 -1
  102. package/lib/linter/checkCircularDependency.js +22 -80
  103. package/lib/linter/checkCircularDependency.js.map +1 -1
  104. package/lib/linter/checkPercentageExceedingSlot.d.ts +1 -1
  105. package/lib/linter/checkPercentageExceedingSlot.js +36 -76
  106. package/lib/linter/checkPercentageExceedingSlot.js.map +1 -1
  107. package/lib/linter/conditionSchema.d.ts +1 -1
  108. package/lib/linter/conditionSchema.js +89 -41
  109. package/lib/linter/conditionSchema.js.map +1 -1
  110. package/lib/linter/featureSchema.d.ts +345 -197
  111. package/lib/linter/featureSchema.js +313 -172
  112. package/lib/linter/featureSchema.js.map +1 -1
  113. package/lib/linter/groupSchema.js +6 -6
  114. package/lib/linter/groupSchema.js.map +1 -1
  115. package/lib/linter/lintProject.js +306 -480
  116. package/lib/linter/lintProject.js.map +1 -1
  117. package/lib/linter/printError.js +7 -7
  118. package/lib/linter/printError.js.map +1 -1
  119. package/lib/linter/segmentSchema.js +2 -2
  120. package/lib/linter/segmentSchema.js.map +1 -1
  121. package/lib/linter/testSchema.d.ts +155 -3
  122. package/lib/linter/testSchema.js +47 -17
  123. package/lib/linter/testSchema.js.map +1 -1
  124. package/lib/list/index.d.ts +1 -0
  125. package/lib/list/index.js +349 -517
  126. package/lib/list/index.js.map +1 -1
  127. package/lib/{tester → list}/matrix.d.ts +1 -1
  128. package/lib/{tester → list}/matrix.js +50 -42
  129. package/lib/list/matrix.js.map +1 -0
  130. package/lib/{tester → list}/matrix.spec.js +7 -7
  131. package/lib/list/matrix.spec.js.map +1 -0
  132. package/lib/site/exportSite.js +25 -71
  133. package/lib/site/exportSite.js.map +1 -1
  134. package/lib/site/generateHistory.d.ts +1 -1
  135. package/lib/site/generateHistory.js +26 -82
  136. package/lib/site/generateHistory.js.map +1 -1
  137. package/lib/site/generateSiteSearchIndex.d.ts +1 -1
  138. package/lib/site/generateSiteSearchIndex.js +182 -259
  139. package/lib/site/generateSiteSearchIndex.js.map +1 -1
  140. package/lib/site/getLastModifiedFromHistory.d.ts +1 -1
  141. package/lib/site/getLastModifiedFromHistory.js +2 -2
  142. package/lib/site/getLastModifiedFromHistory.js.map +1 -1
  143. package/lib/site/getOwnerAndRepoFromUrl.js +6 -6
  144. package/lib/site/getOwnerAndRepoFromUrl.js.map +1 -1
  145. package/lib/site/getRelativePaths.js +7 -7
  146. package/lib/site/getRelativePaths.js.map +1 -1
  147. package/lib/site/getRepoDetails.js +20 -20
  148. package/lib/site/getRepoDetails.js.map +1 -1
  149. package/lib/site/index.js +25 -73
  150. package/lib/site/index.js.map +1 -1
  151. package/lib/site/serveSite.js +10 -10
  152. package/lib/site/serveSite.js.map +1 -1
  153. package/lib/tester/helpers.d.ts +2 -0
  154. package/lib/tester/helpers.js +71 -0
  155. package/lib/tester/helpers.js.map +1 -0
  156. package/lib/tester/helpers.spec.js +115 -0
  157. package/lib/tester/helpers.spec.js.map +1 -0
  158. package/lib/tester/index.d.ts +0 -1
  159. package/lib/tester/index.js +0 -1
  160. package/lib/tester/index.js.map +1 -1
  161. package/lib/tester/prettyDuration.js +11 -11
  162. package/lib/tester/prettyDuration.js.map +1 -1
  163. package/lib/tester/printTestResult.d.ts +1 -1
  164. package/lib/tester/printTestResult.js +35 -15
  165. package/lib/tester/printTestResult.js.map +1 -1
  166. package/lib/tester/testFeature.d.ts +4 -2
  167. package/lib/tester/testFeature.js +264 -226
  168. package/lib/tester/testFeature.js.map +1 -1
  169. package/lib/tester/testProject.d.ts +3 -7
  170. package/lib/tester/testProject.js +145 -246
  171. package/lib/tester/testProject.js.map +1 -1
  172. package/lib/tester/testSegment.d.ts +5 -2
  173. package/lib/tester/testSegment.js +65 -102
  174. package/lib/tester/testSegment.js.map +1 -1
  175. package/lib/utils/extractKeys.d.ts +2 -1
  176. package/lib/utils/extractKeys.js +57 -12
  177. package/lib/utils/extractKeys.js.map +1 -1
  178. package/lib/utils/git.d.ts +1 -1
  179. package/lib/utils/git.js +23 -23
  180. package/lib/utils/git.js.map +1 -1
  181. package/lib/utils/pretty.js +2 -4
  182. package/lib/utils/pretty.js.map +1 -1
  183. package/package.json +5 -6
  184. package/src/assess-distribution/index.ts +3 -2
  185. package/src/benchmark/index.ts +3 -3
  186. package/src/builder/allocator.spec.ts +1 -1
  187. package/src/builder/allocator.ts +1 -1
  188. package/src/builder/buildDatafile.ts +161 -124
  189. package/src/builder/buildProject.ts +6 -3
  190. package/src/builder/convertToV1.ts +166 -0
  191. package/src/builder/getFeatureRanges.ts +1 -1
  192. package/src/builder/hashes.ts +109 -0
  193. package/src/builder/traffic.ts +40 -16
  194. package/src/cli/cli.ts +1 -1
  195. package/src/cli/plugins.ts +0 -2
  196. package/src/config/projectConfig.ts +13 -10
  197. package/src/datasource/adapter.ts +1 -1
  198. package/src/datasource/datasource.ts +23 -2
  199. package/src/datasource/filesystemAdapter.ts +11 -12
  200. package/src/evaluate/index.ts +7 -6
  201. package/src/find-duplicate-segments/findDuplicateSegments.ts +1 -1
  202. package/src/find-usage/index.ts +111 -44
  203. package/src/generate-code/index.ts +1 -3
  204. package/src/generate-code/typescript.ts +7 -29
  205. package/src/index.ts +0 -1
  206. package/src/info/index.ts +2 -2
  207. package/src/init/index.ts +2 -2
  208. package/src/linter/attributeSchema.ts +18 -2
  209. package/src/linter/checkCircularDependency.ts +1 -1
  210. package/src/linter/checkPercentageExceedingSlot.ts +28 -8
  211. package/src/linter/conditionSchema.ts +66 -10
  212. package/src/linter/featureSchema.ts +312 -116
  213. package/src/linter/lintProject.ts +9 -4
  214. package/src/linter/testSchema.ts +42 -3
  215. package/src/list/index.ts +18 -30
  216. package/src/{tester → list}/matrix.ts +33 -11
  217. package/src/site/exportSite.ts +2 -4
  218. package/src/site/generateHistory.ts +1 -1
  219. package/src/site/generateSiteSearchIndex.ts +58 -50
  220. package/src/site/getLastModifiedFromHistory.ts +1 -1
  221. package/src/tester/helpers.spec.ts +149 -0
  222. package/src/tester/helpers.ts +76 -0
  223. package/src/tester/index.ts +0 -1
  224. package/src/tester/printTestResult.ts +25 -3
  225. package/src/tester/testFeature.ts +270 -124
  226. package/src/tester/testProject.ts +28 -49
  227. package/src/tester/testSegment.ts +48 -40
  228. package/src/utils/extractKeys.ts +58 -1
  229. package/src/utils/git.ts +1 -1
  230. package/tsconfig.cjs.json +1 -0
  231. package/coverage/lcov-report/lib/tester/checkIfObjectsAreEqual.js.html +0 -151
  232. package/coverage/lcov-report/src/tester/checkIfObjectsAreEqual.ts.html +0 -157
  233. package/lib/restore/index.d.ts +0 -4
  234. package/lib/restore/index.js +0 -91
  235. package/lib/restore/index.js.map +0 -1
  236. package/lib/tester/checkIfArraysAreEqual.d.ts +0 -1
  237. package/lib/tester/checkIfArraysAreEqual.js +0 -18
  238. package/lib/tester/checkIfArraysAreEqual.js.map +0 -1
  239. package/lib/tester/checkIfObjectsAreEqual.d.ts +0 -1
  240. package/lib/tester/checkIfObjectsAreEqual.js +0 -23
  241. package/lib/tester/checkIfObjectsAreEqual.js.map +0 -1
  242. package/lib/tester/checkIfObjectsAreEqual.spec.js +0 -26
  243. package/lib/tester/checkIfObjectsAreEqual.spec.js.map +0 -1
  244. package/lib/tester/matrix.js.map +0 -1
  245. package/lib/tester/matrix.spec.js.map +0 -1
  246. package/src/restore/index.ts +0 -42
  247. package/src/tester/checkIfArraysAreEqual.ts +0 -16
  248. package/src/tester/checkIfObjectsAreEqual.spec.ts +0 -31
  249. package/src/tester/checkIfObjectsAreEqual.ts +0 -24
  250. /package/lib/{tester → list}/matrix.spec.d.ts +0 -0
  251. /package/lib/tester/{checkIfObjectsAreEqual.spec.d.ts → helpers.spec.d.ts} +0 -0
  252. /package/src/{tester → list}/matrix.spec.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"buildDatafile.js","sourceRoot":"","sources":["../../src/builder/buildDatafile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CA,8CAuBC;AAWD,sCAuWC;AApbD,uBAAyB;AA0BzB,oCAA0D;AAE1D,kCAAmG;AAEnG,qCAAuC;AACvC,uDAAsD;AAYtD,SAAsB,iBAAiB,CAAC,OAA8B;;;;;;yBAGhE,OAAO,CAAC,UAAU,EAAlB,wBAAkB;oBACE,qBAAM,OAAO,CAAC,UAAU,CAAC,wBAAwB,CAAC,OAAO,CAAC,UAAU,CAAC,EAAA;;oBAArF,aAAa,GAAG,SAAqE;oBAC3F,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;;wBAG1B,qBAAM,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,EAAA;;oBAAvE,aAAa,GAAG,SAAuD;oBACrD,qBAAM,aAAa,CACzC,OAAO,CAAC,aAAa,EACrB,OAAO,CAAC,UAAU,EAClB;4BACE,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,uBAAc;4BACtD,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,QAAQ;4BACtC,WAAW,EAAE,OAAO,CAAC,WAAW;4BAChC,QAAQ,EAAE,iBAAiB;4BAC3B,OAAO,EAAE,OAAO,CAAC,OAAO;yBACzB,EACD,aAAa,CACd,EAAA;;oBAXK,eAAe,GAAG,SAWvB;oBAED,sBAAO,eAAe,EAAC;;;;CACxB;AAWD,SAAsB,aAAa,CACjC,aAA4B,EAC5B,UAAsB,EACtB,OAAqB,EACrB,aAA4B;;;;;;;oBAEtB,eAAe,GAAsB;wBACzC,aAAa,EAAE,OAAO,CAAC,aAAa;wBACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ;wBAC1B,UAAU,EAAE,EAAE;wBACd,QAAQ,EAAE,EAAE;wBACZ,QAAQ,EAAE,EAAE;qBACb,CAAC;oBAEI,oBAAoB,GAAG,IAAI,GAAG,EAAc,CAAC;oBAC7C,sBAAsB,GAAG,IAAI,GAAG,EAAgB,CAAC;oBACX,qBAAM,IAAA,mCAAgB,EAAC,aAAa,EAAE,UAAU,CAAC,EAAA;;oBAAvF,KAAsC,SAAiD,EAArF,aAAa,mBAAA,EAAE,gBAAgB,sBAAA;oBAGjC,QAAQ,GAAc,EAAE,CAAC;oBACzB,iBAAiB,GAAG,aAAa,CAAC,qBAAqB,CAAC;yBAE1D,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAhC,wBAAgC;oBACb,qBAAM,UAAU,CAAC,YAAY,EAAE,EAAA;;oBAA9C,YAAY,GAAG,SAA+B;0BAEf,EAAZ,6BAAY;;;yBAAZ,CAAA,0BAAY,CAAA;oBAA1B,UAAU;oBACG,qBAAM,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,EAAA;;oBAAxD,aAAa,GAAG,SAAwC;oBAE9D,IAAI,aAAa,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;wBACpC,wBAAS;oBACX,CAAC;oBAED,IAAI,OAAO,CAAC,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;wBAClE,wBAAS;oBACX,CAAC;oBAED,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;wBACpE,wBAAS;oBACX,CAAC;oBAEG,MAAM,SAAoB,CAAC;oBAC3B,KAAK,SAAQ,CAAC;oBACd,KAAK,SAAqB,CAAC;oBAE/B,IAAI,OAAO,CAAC,WAAW,IAAI,aAAa,CAAC,YAAY,EAAE,CAAC;wBACtD,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;wBAChE,KAAK,GAAG,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;wBAC9D,KAAK,GAAG,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;oBAChE,CAAC;yBAAM,CAAC;wBACN,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;wBAC9B,KAAK,GAAG,aAAa,CAAC,KAAe,CAAC;wBACtC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;oBAC9B,CAAC;oBAED,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;wBACrB,wBAAS;oBACX,CAAC;oBAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;wBACpB,UAAU,GAAG,MAAM,CAAC;wBAE1B,IAAI,OAAO,CAAC,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;4BAC1D,wBAAS;wBACX,CAAC;oBACH,CAAC;oBAED,WAA8B,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,EAAE,CAAC;wBAAtB,UAAU;wBACb,oBAAoB,GAAG,IAAA,2CAAmC,EAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;wBACtF,oBAAoB,CAAC,OAAO,CAAC,UAAC,UAAU,IAAK,OAAA,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,EAApC,CAAoC,CAAC,CAAC;oBACrF,CAAC;oBAEK,OAAO,GAAY;wBACvB,GAAG,EAAE,UAAU;wBACf,UAAU,EAAE,aAAa,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;wBAChE,QAAQ,EAAE,aAAa,CAAC,QAAQ,IAAI,aAAa,CAAC,eAAe;wBACjE,QAAQ,EAAE,aAAa,CAAC,QAAQ;wBAChC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC;4BACjD,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,UAAC,SAAoB;gCAChD,IAAM,eAAe,GAAQ;oCAC3B,KAAK,EAAE,SAAS,CAAC,KAAK;oCACtB,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,oIAAoI;iCAC/J,CAAC;gCAEF,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;oCACzB,OAAO,eAAe,CAAC;gCACzB,CAAC;gCAED,eAAe,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,UAAC,QAAkB;oCACrE,IAAM,cAAc,GAAQ;wCAC1B,GAAG,EAAE,QAAQ,CAAC,GAAG;wCACjB,KAAK,EAAE,QAAQ,CAAC,KAAK;qCACtB,CAAC;oCAEF,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;wCACxB,OAAO,cAAc,CAAC;oCACxB,CAAC;oCAED,cAAc,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,UAAC,QAA0B;wCAC3E,IAAI,OAAO,QAAQ,CAAC,UAAU,KAAK,WAAW,EAAE,CAAC;4CAC/C,IAAM,sBAAsB,GAAG,IAAA,0CAAkC,EAC/D,QAAQ,CAAC,UAAU,CACpB,CAAC;4CACF,sBAAsB,CAAC,OAAO,CAAC,UAAC,YAAY;gDAC1C,OAAA,sBAAsB,CAAC,GAAG,CAAC,YAAY,CAAC;4CAAxC,CAAwC,CACzC,CAAC;4CAEF,OAAO;gDACL,UAAU,EAAE,aAAa,CAAC,SAAS;oDACjC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC;oDACrC,CAAC,CAAC,QAAQ,CAAC,UAAU;gDACvB,KAAK,EAAE,QAAQ,CAAC,KAAK;6CACtB,CAAC;wCACJ,CAAC;wCAED,IAAI,OAAO,QAAQ,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;4CAC7C,IAAM,oBAAoB,GAAG,IAAA,2CAAmC,EAC9D,QAAQ,CAAC,QAAyC,CACnD,CAAC;4CACF,oBAAoB,CAAC,OAAO,CAAC,UAAC,UAAU;gDACtC,OAAA,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC;4CAApC,CAAoC,CACrC,CAAC;4CAEF,OAAO;gDACL,QAAQ,EACN,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ,IAAI,aAAa,CAAC,SAAS;oDAC9D,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;oDACnC,CAAC,CAAC,QAAQ,CAAC,QAAQ;gDACvB,KAAK,EAAE,QAAQ,CAAC,KAAK;6CACtB,CAAC;wCACJ,CAAC;wCAED,OAAO,QAAQ,CAAC;oCAClB,CAAC,CAAC,CAAC;oCAEH,OAAO,cAAc,CAAC;gCACxB,CAAC,CAAC,CAAC;gCAEH,OAAO,eAAe,CAAC;4BACzB,CAAC,CAAC;4BACJ,CAAC,CAAC,SAAS;wBACb,OAAO,EAAE,IAAA,oBAAU,EACjB,aAAa,CAAC,UAAU,EACxB,KAAK,EACL,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,EAClC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CACpC,CAAC,GAAG,CAAC,UAAC,CAAU;4BACf,6BACK,CAAC,KACJ,QAAQ,EACN,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,aAAa,CAAC,SAAS;oCACvD,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;oCAC5B,CAAC,CAAC,CAAC,CAAC,QAAQ,IAChB;wBACJ,CAAC,CAAC;wBACF,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,SAAS;qBACnD,CAAC;oBAEF,wGAAwG;oBACxG,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG;wBACnC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;4BAC3C,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,UAAC,CAAY;gCAClC,OAAO;oCACL,KAAK,EAAE,CAAC,CAAC,KAAK;oCACd,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC;iCACtB,CAAC;4BACJ,CAAC,CAAC;4BACJ,CAAC,CAAC,SAAS;wBACb,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,CAAU;4BACtC,OAAO;gCACL,GAAG,EAAE,CAAC,CAAC,GAAG;gCACV,UAAU,EAAE,CAAC,CAAC,UAAU;gCACxB,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,UAAC,CAAa;oCACzC,OAAO;wCACL,SAAS,EAAE,CAAC,CAAC,SAAS;wCACtB,KAAK,EAAE,CAAC,CAAC,KAAK;qCACf,CAAC;gCACJ,CAAC,CAAC;6BACH,CAAC;wBACJ,CAAC,CAAC;qBACH,CAAC;oBAEF,IAAI,gBAAgB,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC;wBAC1C,OAAO,CAAC,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAClD,CAAC;oBAED,IAAI,aAAa,CAAC,eAAe,EAAE,CAAC;wBAClC,OAAO,CAAC,eAAe,GAAG,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAiB;4BACrF,OAAO;gCACL,GAAG,EAAE,CAAC,CAAC,GAAG;gCACV,IAAI,EAAE,CAAC,CAAC,IAAI;gCACZ,YAAY,EAAE,CAAC,CAAC,YAAY;gCAC5B,UAAU,EAAE,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;6BACrD,CAAC;wBACJ,CAAC,CAAC,CAAC;oBACL,CAAC;oBAED,IAAI,KAAK,EAAE,CAAC;wBACV,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;wBAEtB,MAAA,OAAO,CAAC,KAAK,0CAAE,OAAO,CAAC,UAAC,CAAC;4BACvB,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gCACf,IAAM,oBAAoB,GAAG,IAAA,2CAAmC,EAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gCAC7E,oBAAoB,CAAC,OAAO,CAAC,UAAC,UAAU,IAAK,OAAA,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,EAApC,CAAoC,CAAC,CAAC;4BACrF,CAAC;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC;oBAED,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;;oBAtLA,IAAY,CAAA;;;oBA2LjC,QAAQ,GAAc,EAAE,CAAC;oBACzB,iBAAiB,GAAG,aAAa,CAAC,qBAAqB,CAAC;yBAE1D,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAhC,yBAAgC;oBACb,qBAAM,UAAU,CAAC,YAAY,EAAE,EAAA;;oBAA9C,YAAY,GAAG,SAA+B;0BAEf,EAAZ,6BAAY;;;yBAAZ,CAAA,0BAAY,CAAA;oBAA1B,UAAU;oBACG,qBAAM,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,EAAA;;oBAAxD,aAAa,GAAG,SAAwC;oBAE9D,IAAI,aAAa,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;wBACpC,yBAAS;oBACX,CAAC;oBAED,IAAI,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,KAAK,EAAE,CAAC;wBACnD,yBAAS;oBACX,CAAC;oBAEK,sBAAsB,GAAG,IAAA,0CAAkC,EAC/D,aAAa,CAAC,UAAqC,CACpD,CAAC;oBACF,sBAAsB,CAAC,OAAO,CAAC,UAAC,YAAY,IAAK,OAAA,sBAAsB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAxC,CAAwC,CAAC,CAAC;oBAErF,OAAO,GAAY;wBACvB,GAAG,EAAE,UAAU;wBACf,UAAU,EACR,OAAO,aAAa,CAAC,UAAU,KAAK,QAAQ,IAAI,aAAa,CAAC,SAAS,KAAK,IAAI;4BAC9E,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC;4BAC1C,CAAC,CAAC,aAAa,CAAC,UAAU;qBAC/B,CAAC;oBAEF,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;;oBAxBA,IAAY,CAAA;;;oBA6BjC,UAAU,GAAgB,EAAE,CAAC;oBAC7B,mBAAmB,GAAG,aAAa,CAAC,uBAAuB,CAAC;yBAE9D,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAlC,yBAAkC;oBACb,qBAAM,UAAU,CAAC,cAAc,EAAE,EAAA;;oBAAlD,cAAc,GAAG,SAAiC;0BAEf,EAAd,iCAAc;;;yBAAd,CAAA,4BAAc,CAAA;oBAA9B,YAAY;oBACG,qBAAM,UAAU,CAAC,aAAa,CAAC,YAAY,CAAC,EAAA;;oBAA9D,eAAe,GAAG,SAA4C;oBAEpE,IAAI,eAAe,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;wBACtC,yBAAS;oBACX,CAAC;oBAED,IAAI,sBAAsB,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,KAAK,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;wBACnF,yBAAS;oBACX,CAAC;oBAEK,SAAS,GAAc;wBAC3B,GAAG,EAAE,YAAY;wBACjB,IAAI,EAAE,eAAe,CAAC,IAAI;qBAC3B,CAAC;oBAEF,IAAI,eAAe,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;wBACrC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;oBAC3B,CAAC;oBAED,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;;;oBApBF,IAAc,CAAA;;;oBAwB3C,UAAU;oBACV,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;wBACd,cAAc,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,EAAL,CAAK,CAAC,CAAC;wBAC5C,cAAc,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,EAAL,CAAK,CAAC,CAAC;wBAC5C,gBAAgB,GAAG,UAAU,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,EAAL,CAAK,CAAC,CAAC;wBAEtD,KAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;gDAE9B,UAAU;gCACnB,IAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,KAAK,UAAU,EAApB,CAAoB,CAAY,CAAC;gCAE9E,QAAQ,CAAC,OAAO,uBACX,eAAe,KAClB,GAAG,EAAE,UAAG,eAAe,CAAC,GAAG,cAAI,CAAC,CAAE,IAClC,CAAC;;4BAPL,UAAU;4BACV,WAAuC,EAAd,iCAAc,EAAd,4BAAc,EAAd,IAAc;gCAA5B,UAAU;wCAAV,UAAU;6BAOpB;gDAGU,UAAU;gCACnB,IAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,KAAK,UAAU,EAApB,CAAoB,CAAY,CAAC;gCAE9E,QAAQ,CAAC,OAAO,uBACX,eAAe,KAClB,GAAG,EAAE,UAAG,eAAe,CAAC,GAAG,cAAI,CAAC,CAAE,IAClC,CAAC;;4BAPL,UAAU;4BACV,WAAuC,EAAd,iCAAc,EAAd,4BAAc,EAAd,IAAc;gCAA5B,UAAU;wCAAV,UAAU;6BAOpB;gDAGU,YAAY;gCACrB,IAAM,iBAAiB,GAAG,UAAU,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,KAAK,YAAY,EAAtB,CAAsB,CAAc,CAAC;gCAEtF,UAAU,CAAC,OAAO,uBACb,iBAAiB,KACpB,GAAG,EAAE,UAAG,iBAAiB,CAAC,GAAG,cAAI,CAAC,CAAE,IACpC,CAAC;;4BAPL,YAAY;4BACZ,WAA2C,EAAhB,qCAAgB,EAAhB,8BAAgB,EAAhB,IAAgB;gCAAhC,YAAY;wCAAZ,YAAY;6BAOtB;wBACH,CAAC;oBACH,CAAC;oBAED,YAAY;oBACZ,IAAI,OAAO,CAAC,aAAa,KAAK,GAAG,EAAE,CAAC;wBAE5B,iBAAiB,GAAsB;4BAC3C,aAAa,EAAE,GAAG;4BAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;4BAC1B,UAAU,EAAE,EAAE;4BACd,QAAQ,EAAE,EAAE;4BACZ,QAAQ,EAAE,EAAE;yBACb,CAAC;wBAEF,iBAAiB,CAAC,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,SAAS;4BAC9D,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;4BAC/B,OAAO,GAAG,CAAC;wBACb,CAAC,EAAE,EAAE,CAAC,CAAC;wBAEP,iBAAiB,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,OAAO;4BACxD,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;4BAC3B,OAAO,GAAG,CAAC;wBACb,CAAC,EAAE,EAAE,CAAC,CAAC;wBAEP,iBAAiB,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,OAAO;4BACxD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;gCAC3C,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,UAAC,IAAI,EAAE,cAAc;oCAC5E,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC;oCAE1C,OAAO,IAAI,CAAC;gCACd,CAAC,EAAE,EAAE,CAAC,CAAC;4BACT,CAAC;4BAED,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;4BAC3B,OAAO,GAAG,CAAC;wBACb,CAAC,EAAE,EAAE,CAAC,CAAC;wBAEP,sBAAO,iBAAiB,EAAC;oBAC3B,CAAC;oBAED,oBAAoB;oBACpB,eAAe,CAAC,UAAU,GAAG,UAAU,CAAC;oBACxC,eAAe,CAAC,QAAQ,GAAG,QAAQ,CAAC;oBACpC,eAAe,CAAC,QAAQ,GAAG,QAAQ,CAAC;oBAEpC,sBAAO,eAAe,EAAC;;;;CACxB"}
1
+ {"version":3,"file":"buildDatafile.js","sourceRoot":"","sources":["../../src/builder/buildDatafile.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,11 @@ import { Dependencies } from "../dependencies";
2
2
  import { Plugin } from "../cli";
3
3
  export interface BuildCLIOptions {
4
4
  revision?: string;
5
+ revisionFromHash?: boolean;
5
6
  schemaVersion?: string;
6
7
  environment?: string;
7
8
  feature?: string;
8
- print?: boolean;
9
+ json?: boolean;
9
10
  pretty?: boolean;
10
11
  stateFiles?: boolean;
11
12
  inflate?: number;
@@ -1,196 +1,109 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
2
  Object.defineProperty(exports, "__esModule", { value: true });
39
3
  exports.buildPlugin = void 0;
40
4
  exports.buildProject = buildProject;
41
- var config_1 = require("../config");
42
- var revision_1 = require("./revision");
43
- var buildDatafile_1 = require("./buildDatafile");
44
- function buildForEnvironment(_a) {
45
- return __awaiter(this, arguments, void 0, function (_b) {
46
- var existingState, _i, tags_1, tag, datafileContent;
47
- var projectConfig = _b.projectConfig, datasource = _b.datasource, nextRevision = _b.nextRevision, environment = _b.environment, tags = _b.tags, cliOptions = _b.cliOptions;
48
- return __generator(this, function (_c) {
49
- switch (_c.label) {
50
- case 0:
51
- console.log("\nBuilding datafiles for environment: ".concat(environment));
52
- return [4 /*yield*/, datasource.readState(environment)];
53
- case 1:
54
- existingState = _c.sent();
55
- _i = 0, tags_1 = tags;
56
- _c.label = 2;
57
- case 2:
58
- if (!(_i < tags_1.length)) return [3 /*break*/, 6];
59
- tag = tags_1[_i];
60
- console.log("\n => Tag: ".concat(tag));
61
- return [4 /*yield*/, (0, buildDatafile_1.buildDatafile)(projectConfig, datasource, {
62
- schemaVersion: cliOptions.schemaVersion || config_1.SCHEMA_VERSION,
63
- revision: nextRevision,
64
- environment: environment,
65
- tag: tag,
66
- inflate: cliOptions.inflate,
67
- }, existingState)];
68
- case 3:
69
- datafileContent = _c.sent();
70
- // write datafile for environment/tag
71
- return [4 /*yield*/, datasource.writeDatafile(datafileContent, {
72
- environment: environment,
73
- tag: tag,
74
- datafilesDir: cliOptions.datafilesDir,
75
- })];
76
- case 4:
77
- // write datafile for environment/tag
78
- _c.sent();
79
- _c.label = 5;
80
- case 5:
81
- _i++;
82
- return [3 /*break*/, 2];
83
- case 6:
84
- if (!(typeof cliOptions.stateFiles === "undefined" || cliOptions.stateFiles)) return [3 /*break*/, 9];
85
- // write state for environment
86
- return [4 /*yield*/, datasource.writeState(environment, existingState)];
87
- case 7:
88
- // write state for environment
89
- _c.sent();
90
- // write revision
91
- return [4 /*yield*/, datasource.writeRevision(nextRevision)];
92
- case 8:
93
- // write revision
94
- _c.sent();
95
- _c.label = 9;
96
- case 9: return [2 /*return*/];
97
- }
5
+ const config_1 = require("../config");
6
+ const revision_1 = require("./revision");
7
+ const buildDatafile_1 = require("./buildDatafile");
8
+ async function buildForEnvironment({ projectConfig, datasource, nextRevision, environment, tags, cliOptions, }) {
9
+ console.log(`\nBuilding datafiles for environment: ${environment}`);
10
+ const existingState = await datasource.readState(environment);
11
+ for (const tag of tags) {
12
+ console.log(`\n => Tag: ${tag}`);
13
+ const datafileContent = await (0, buildDatafile_1.buildDatafile)(projectConfig, datasource, {
14
+ schemaVersion: cliOptions.schemaVersion || config_1.SCHEMA_VERSION,
15
+ revision: nextRevision,
16
+ revisionFromHash: cliOptions.revisionFromHash,
17
+ environment: environment,
18
+ tag: tag,
19
+ inflate: cliOptions.inflate,
20
+ }, existingState);
21
+ // write datafile for environment/tag
22
+ await datasource.writeDatafile(datafileContent, {
23
+ environment,
24
+ tag,
25
+ datafilesDir: cliOptions.datafilesDir,
98
26
  });
99
- });
27
+ }
28
+ if (typeof cliOptions.stateFiles === "undefined" || cliOptions.stateFiles) {
29
+ // write state for environment
30
+ await datasource.writeState(environment, existingState);
31
+ // write revision
32
+ await datasource.writeRevision(nextRevision);
33
+ }
100
34
  }
101
- function buildProject(deps_1) {
102
- return __awaiter(this, arguments, void 0, function (deps, cliOptions) {
103
- var projectConfig, datasource, datafileContent, tags, environments, currentRevision, nextRevision, _i, environments_1, environment;
104
- if (cliOptions === void 0) { cliOptions = {}; }
105
- return __generator(this, function (_a) {
106
- switch (_a.label) {
107
- case 0:
108
- projectConfig = deps.projectConfig, datasource = deps.datasource;
109
- if (!(cliOptions.environment && cliOptions.print)) return [3 /*break*/, 2];
110
- return [4 /*yield*/, (0, buildDatafile_1.getCustomDatafile)({
111
- featureKey: cliOptions.feature,
112
- environment: cliOptions.environment,
113
- projectConfig: projectConfig,
114
- datasource: datasource,
115
- revision: cliOptions.revision,
116
- schemaVersion: cliOptions.schemaVersion,
117
- })];
118
- case 1:
119
- datafileContent = _a.sent();
120
- if (cliOptions.pretty) {
121
- console.log(JSON.stringify(datafileContent, null, 2));
122
- }
123
- else {
124
- console.log(JSON.stringify(datafileContent));
125
- }
126
- return [2 /*return*/];
127
- case 2:
128
- tags = projectConfig.tags;
129
- environments = projectConfig.environments;
130
- return [4 /*yield*/, datasource.readRevision()];
131
- case 3:
132
- currentRevision = _a.sent();
133
- console.log("\nCurrent revision:", currentRevision);
134
- nextRevision = (cliOptions.revision && cliOptions.revision.toString()) || (0, revision_1.getNextRevision)(currentRevision);
135
- if (!Array.isArray(environments)) return [3 /*break*/, 7];
136
- _i = 0, environments_1 = environments;
137
- _a.label = 4;
138
- case 4:
139
- if (!(_i < environments_1.length)) return [3 /*break*/, 7];
140
- environment = environments_1[_i];
141
- return [4 /*yield*/, buildForEnvironment({
142
- projectConfig: projectConfig,
143
- datasource: datasource,
144
- nextRevision: nextRevision,
145
- environment: environment,
146
- tags: tags,
147
- cliOptions: cliOptions,
148
- })];
149
- case 5:
150
- _a.sent();
151
- _a.label = 6;
152
- case 6:
153
- _i++;
154
- return [3 /*break*/, 4];
155
- case 7:
156
- if (!(environments === false)) return [3 /*break*/, 9];
157
- return [4 /*yield*/, buildForEnvironment({
158
- projectConfig: projectConfig,
159
- datasource: datasource,
160
- nextRevision: nextRevision,
161
- environment: false,
162
- tags: tags,
163
- cliOptions: cliOptions,
164
- })];
165
- case 8:
166
- _a.sent();
167
- _a.label = 9;
168
- case 9:
169
- console.log("\nLatest revision:", nextRevision);
170
- return [2 /*return*/];
171
- }
35
+ async function buildProject(deps, cliOptions = {}) {
36
+ const { projectConfig, datasource } = deps;
37
+ /**
38
+ * This build process does not write to disk, and prints only to stdout.
39
+ *
40
+ * This is ideally for test runners in other languages,
41
+ * when they wish to get datafile for a single feature and/or environment,
42
+ * so they can run tests against their own SDKs in other languages.
43
+ *
44
+ * This way we centralize the datafile generation in one place,
45
+ * while tests can be run anywhere else.
46
+ */
47
+ if (cliOptions.environment && cliOptions.json) {
48
+ const datafileContent = await (0, buildDatafile_1.getCustomDatafile)({
49
+ featureKey: cliOptions.feature,
50
+ environment: cliOptions.environment,
51
+ projectConfig,
52
+ datasource,
53
+ revision: cliOptions.revision,
54
+ schemaVersion: cliOptions.schemaVersion,
55
+ });
56
+ if (cliOptions.pretty) {
57
+ console.log(JSON.stringify(datafileContent, null, 2));
58
+ }
59
+ else {
60
+ console.log(JSON.stringify(datafileContent));
61
+ }
62
+ return;
63
+ }
64
+ /**
65
+ * Regular build process that writes to disk.
66
+ */
67
+ const tags = projectConfig.tags;
68
+ const environments = projectConfig.environments;
69
+ const currentRevision = await datasource.readRevision();
70
+ console.log("\nCurrent revision:", currentRevision);
71
+ const nextRevision = (cliOptions.revision && cliOptions.revision.toString()) || (0, revision_1.getNextRevision)(currentRevision);
72
+ // with environments
73
+ if (Array.isArray(environments)) {
74
+ for (const environment of environments) {
75
+ await buildForEnvironment({
76
+ projectConfig,
77
+ datasource,
78
+ nextRevision,
79
+ environment,
80
+ tags,
81
+ cliOptions,
82
+ });
83
+ }
84
+ }
85
+ // no environment
86
+ if (environments === false) {
87
+ await buildForEnvironment({
88
+ projectConfig,
89
+ datasource,
90
+ nextRevision,
91
+ environment: false,
92
+ tags,
93
+ cliOptions,
172
94
  });
173
- });
95
+ }
96
+ console.log("\nLatest revision:", nextRevision);
174
97
  }
175
98
  exports.buildPlugin = {
176
99
  command: "build",
177
- handler: function (_a) {
178
- return __awaiter(this, arguments, void 0, function (_b) {
179
- var rootDirectoryPath = _b.rootDirectoryPath, projectConfig = _b.projectConfig, datasource = _b.datasource, parsed = _b.parsed;
180
- return __generator(this, function (_c) {
181
- switch (_c.label) {
182
- case 0: return [4 /*yield*/, buildProject({
183
- rootDirectoryPath: rootDirectoryPath,
184
- projectConfig: projectConfig,
185
- datasource: datasource,
186
- options: parsed,
187
- }, parsed)];
188
- case 1:
189
- _c.sent();
190
- return [2 /*return*/];
191
- }
192
- });
193
- });
100
+ handler: async function ({ rootDirectoryPath, projectConfig, datasource, parsed }) {
101
+ await buildProject({
102
+ rootDirectoryPath,
103
+ projectConfig,
104
+ datasource,
105
+ options: parsed,
106
+ }, parsed);
194
107
  },
195
108
  examples: [
196
109
  {
@@ -1 +1 @@
1
- {"version":3,"file":"buildProject.js","sourceRoot":"","sources":["../../src/builder/buildProject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildProject.js","sourceRoot":"","sources":["../../src/builder/buildProject.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { DatafileContentV1, Feature, Segment, Attribute } from "@featurevisor/types";
2
+ import { ProjectConfig } from "../config";
3
+ export interface ConvertToV1Options {
4
+ revision: string;
5
+ projectConfig: ProjectConfig;
6
+ attributes: Attribute[];
7
+ features: Feature[];
8
+ segments: Segment[];
9
+ }
10
+ export declare function convertToV1(options: ConvertToV1Options): DatafileContentV1;
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertToV1 = convertToV1;
4
+ function convertToV1(options) {
5
+ const datafileContent = {
6
+ schemaVersion: "1",
7
+ revision: options.revision,
8
+ attributes: options.attributes,
9
+ segments: options.segments,
10
+ features: [],
11
+ };
12
+ const { features, projectConfig } = options;
13
+ for (const feature of features) {
14
+ const featureV1 = {
15
+ key: feature.key,
16
+ deprecated: feature.deprecated,
17
+ bucketBy: feature.bucketBy,
18
+ required: feature.required,
19
+ traffic: feature.traffic,
20
+ force: feature.force,
21
+ ranges: feature.ranges,
22
+ };
23
+ if (feature.variablesSchema && !Array.isArray(feature.variablesSchema)) {
24
+ const variablesSchemaObject = feature.variablesSchema;
25
+ const variablesSchemaArray = [];
26
+ const variableKeys = Object.keys(variablesSchemaObject);
27
+ for (const variableKey of variableKeys) {
28
+ const v = variablesSchemaObject[variableKey];
29
+ variablesSchemaArray.push({
30
+ key: variableKey,
31
+ type: v.type,
32
+ defaultValue: v.defaultValue,
33
+ deprecated: v.deprecated === true ? true : undefined,
34
+ });
35
+ }
36
+ featureV1.variablesSchema = variablesSchemaArray;
37
+ }
38
+ if (feature.variations) {
39
+ const variationsV1 = feature.variations.map((variation) => {
40
+ const variationV1 = {
41
+ value: variation.value,
42
+ weight: variation.weight || 0, // weight is not used in v1 datafile, but needed for state files
43
+ };
44
+ // variables
45
+ const variablesResult = {};
46
+ if (variation.variables) {
47
+ const variableKeys = Object.keys(variation.variables);
48
+ for (const variableKey of variableKeys) {
49
+ const variableValue = variation.variables[variableKey];
50
+ variablesResult[variableKey] = {
51
+ key: variableKey,
52
+ value: variableValue,
53
+ };
54
+ }
55
+ }
56
+ if (variation.variableOverrides) {
57
+ const variableKeys = Object.keys(variation.variableOverrides);
58
+ for (const variableKey of variableKeys) {
59
+ const overrides = variation.variableOverrides[variableKey];
60
+ if (typeof variablesResult[variableKey] === "undefined") {
61
+ const variableSchema = feature.variablesSchema?.[variableKey];
62
+ variablesResult[variableKey] = {
63
+ key: variableKey,
64
+ value: variableSchema?.defaultValue, // default value if no variable is defined
65
+ };
66
+ }
67
+ variablesResult[variableKey].overrides = overrides.map((override) => {
68
+ if (typeof override.conditions !== "undefined") {
69
+ return {
70
+ conditions: projectConfig.stringify
71
+ ? JSON.stringify(override.conditions)
72
+ : override.conditions,
73
+ value: override.value,
74
+ };
75
+ }
76
+ if (typeof override.segments !== "undefined") {
77
+ return {
78
+ segments: typeof override.segments !== "string" && projectConfig.stringify
79
+ ? JSON.stringify(override.segments)
80
+ : override.segments,
81
+ value: override.value,
82
+ };
83
+ }
84
+ return {
85
+ value: override.value,
86
+ };
87
+ });
88
+ }
89
+ }
90
+ variationV1.variables = Object.keys(variablesResult).map((variableKey) => {
91
+ const variable = variablesResult[variableKey];
92
+ return {
93
+ key: variable.key,
94
+ value: variable.value,
95
+ overrides: variable.overrides,
96
+ };
97
+ });
98
+ return variationV1;
99
+ });
100
+ featureV1.variations = variationsV1;
101
+ if (featureV1.force) {
102
+ featureV1.force = featureV1.force.map((force) => {
103
+ if (force.conditions &&
104
+ typeof force.conditions === "string" &&
105
+ force.conditions !== "*") {
106
+ force.conditions = JSON.parse(force.conditions);
107
+ }
108
+ if (force.segments && typeof force.segments === "string" && force.segments !== "*") {
109
+ force.segments = JSON.parse(force.segments);
110
+ }
111
+ return force;
112
+ });
113
+ }
114
+ datafileContent.features.push(featureV1);
115
+ }
116
+ }
117
+ return datafileContent;
118
+ }
119
+ //# sourceMappingURL=convertToV1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertToV1.js","sourceRoot":"","sources":["../../src/builder/convertToV1.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { FeatureKey, Range } from "@featurevisor/types";
1
+ import type { FeatureKey, Range } from "@featurevisor/types";
2
2
  import { ProjectConfig } from "../config";
3
3
  import { Datasource } from "../datasource";
4
4
  export type FeatureRanges = Map<FeatureKey, Range[]>;