oc 0.49.6 → 0.49.9

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 (305) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +2 -15
  3. package/dist/cli/commands.d.ts +163 -163
  4. package/dist/cli/commands.js +162 -162
  5. package/dist/cli/domain/clean.d.ts +2 -2
  6. package/dist/cli/domain/clean.js +24 -27
  7. package/dist/cli/domain/get-components-by-dir.d.ts +1 -1
  8. package/dist/cli/domain/get-components-by-dir.js +41 -48
  9. package/dist/cli/domain/get-mocked-plugins.d.ts +10 -10
  10. package/dist/cli/domain/get-mocked-plugins.js +89 -87
  11. package/dist/cli/domain/handle-dependencies/ensure-compiler-is-declared-as-devDependency.d.ts +6 -6
  12. package/dist/cli/domain/handle-dependencies/ensure-compiler-is-declared-as-devDependency.js +16 -17
  13. package/dist/cli/domain/handle-dependencies/get-compiler.d.ts +10 -10
  14. package/dist/cli/domain/handle-dependencies/get-compiler.js +28 -28
  15. package/dist/cli/domain/handle-dependencies/get-missing-dependencies.d.ts +1 -1
  16. package/dist/cli/domain/handle-dependencies/get-missing-dependencies.js +18 -18
  17. package/dist/cli/domain/handle-dependencies/index.d.ts +10 -9
  18. package/dist/cli/domain/handle-dependencies/index.js +70 -64
  19. package/dist/cli/domain/handle-dependencies/install-compiler.d.ts +8 -8
  20. package/dist/cli/domain/handle-dependencies/install-compiler.js +54 -47
  21. package/dist/cli/domain/handle-dependencies/install-missing-dependencies.d.ts +5 -5
  22. package/dist/cli/domain/handle-dependencies/install-missing-dependencies.js +59 -55
  23. package/dist/cli/domain/handle-dependencies/link-missing-dependencies.d.ts +6 -6
  24. package/dist/cli/domain/handle-dependencies/link-missing-dependencies.js +32 -36
  25. package/dist/cli/domain/handle-dependencies/require-template.d.ts +17 -17
  26. package/dist/cli/domain/handle-dependencies/require-template.js +34 -34
  27. package/dist/cli/domain/init-template/index.d.ts +10 -10
  28. package/dist/cli/domain/init-template/index.js +40 -42
  29. package/dist/cli/domain/init-template/install-template.d.ts +11 -11
  30. package/dist/cli/domain/init-template/install-template.js +54 -53
  31. package/dist/cli/domain/init-template/scaffold.d.ts +11 -11
  32. package/dist/cli/domain/init-template/scaffold.js +30 -30
  33. package/dist/cli/domain/local.d.ts +2 -2
  34. package/dist/cli/domain/local.js +82 -81
  35. package/dist/cli/domain/mock.d.ts +5 -5
  36. package/dist/cli/domain/mock.js +33 -33
  37. package/dist/cli/domain/package-components.d.ts +9 -9
  38. package/dist/cli/domain/package-components.js +67 -70
  39. package/dist/cli/domain/registry.d.ts +6 -6
  40. package/dist/cli/domain/registry.js +136 -149
  41. package/dist/cli/domain/url-parser.d.ts +14 -14
  42. package/dist/cli/domain/url-parser.js +31 -31
  43. package/dist/cli/domain/watch.d.ts +1 -1
  44. package/dist/cli/domain/watch.js +29 -29
  45. package/dist/cli/facade/clean.d.ts +16 -10
  46. package/dist/cli/facade/clean.js +58 -48
  47. package/dist/cli/facade/dev.d.ts +114 -21
  48. package/dist/cli/facade/dev.js +176 -190
  49. package/dist/cli/facade/init.d.ts +18 -11
  50. package/dist/cli/facade/init.js +39 -37
  51. package/dist/cli/facade/mock.d.ts +18 -11
  52. package/dist/cli/facade/mock.js +12 -13
  53. package/dist/cli/facade/package.d.ts +18 -11
  54. package/dist/cli/facade/package.js +49 -51
  55. package/dist/cli/facade/preview.d.ts +14 -9
  56. package/dist/cli/facade/preview.js +20 -18
  57. package/dist/cli/facade/publish.d.ts +23 -14
  58. package/dist/cli/facade/publish.js +145 -165
  59. package/dist/cli/facade/registry-add.d.ts +14 -9
  60. package/dist/cli/facade/registry-add.js +18 -17
  61. package/dist/cli/facade/registry-ls.d.ts +10 -7
  62. package/dist/cli/facade/registry-ls.js +27 -25
  63. package/dist/cli/facade/registry-remove.d.ts +14 -9
  64. package/dist/cli/facade/registry-remove.js +18 -17
  65. package/dist/cli/facade/registry.d.ts +5 -2
  66. package/dist/cli/facade/registry.js +9 -6
  67. package/dist/cli/index.d.ts +1 -1
  68. package/dist/cli/index.js +91 -93
  69. package/dist/cli/logger.d.ts +8 -8
  70. package/dist/cli/logger.js +19 -19
  71. package/dist/cli/programmatic-api.d.ts +84 -84
  72. package/dist/cli/programmatic-api.js +66 -66
  73. package/dist/cli/validate-command.d.ts +2 -2
  74. package/dist/cli/validate-command.js +18 -18
  75. package/dist/components/oc-client/_package/package.json +1 -1
  76. package/dist/components/oc-client/package.json +1 -1
  77. package/dist/index.d.ts +3 -3
  78. package/dist/index.js +12 -12
  79. package/dist/oc-cli.d.ts +2 -2
  80. package/dist/oc-cli.js +3 -3
  81. package/dist/registry/app-start.d.ts +2 -2
  82. package/dist/registry/app-start.js +44 -44
  83. package/dist/registry/domain/authentication.d.ts +7 -8
  84. package/dist/registry/domain/authentication.js +53 -50
  85. package/dist/registry/domain/components-cache/components-list.d.ts +8 -7
  86. package/dist/registry/domain/components-cache/components-list.js +50 -64
  87. package/dist/registry/domain/components-cache/index.d.ts +7 -6
  88. package/dist/registry/domain/components-cache/index.js +76 -79
  89. package/dist/registry/domain/components-details.d.ts +6 -5
  90. package/dist/registry/domain/components-details.js +64 -75
  91. package/dist/registry/domain/events-handler.d.ts +40 -40
  92. package/dist/registry/domain/events-handler.js +37 -37
  93. package/dist/registry/domain/extract-package.d.ts +8 -8
  94. package/dist/registry/domain/extract-package.js +26 -29
  95. package/dist/registry/domain/get-package-json-from-temp-dir.d.ts +2 -2
  96. package/dist/registry/domain/get-package-json-from-temp-dir.js +11 -11
  97. package/dist/registry/domain/nested-renderer.d.ts +14 -13
  98. package/dist/registry/domain/nested-renderer.js +59 -95
  99. package/dist/registry/domain/options-sanitiser.d.ts +6 -6
  100. package/dist/registry/domain/options-sanitiser.js +106 -104
  101. package/dist/registry/domain/plugins-initialiser.d.ts +3 -1
  102. package/dist/registry/domain/plugins-initialiser.js +95 -99
  103. package/dist/registry/domain/register-templates.d.ts +5 -5
  104. package/dist/registry/domain/register-templates.js +30 -30
  105. package/dist/registry/domain/repository.d.ts +2 -2
  106. package/dist/registry/domain/repository.js +237 -259
  107. package/dist/registry/domain/require-wrapper.d.ts +2 -2
  108. package/dist/registry/domain/require-wrapper.js +33 -34
  109. package/dist/registry/domain/sanitiser.d.ts +2 -2
  110. package/dist/registry/domain/sanitiser.js +52 -52
  111. package/dist/registry/domain/storage-adapter.d.ts +10 -0
  112. package/dist/registry/domain/storage-adapter.js +55 -0
  113. package/dist/registry/domain/url-builder.d.ts +10 -10
  114. package/dist/registry/domain/url-builder.js +60 -60
  115. package/dist/registry/domain/validators/component-parameters.d.ts +11 -11
  116. package/dist/registry/domain/validators/component-parameters.js +79 -79
  117. package/dist/registry/domain/validators/index.d.ts +16 -16
  118. package/dist/registry/domain/validators/index.js +29 -29
  119. package/dist/registry/domain/validators/node-version.d.ts +15 -15
  120. package/dist/registry/domain/validators/node-version.js +40 -40
  121. package/dist/registry/domain/validators/oc-cli-version.d.ts +15 -15
  122. package/dist/registry/domain/validators/oc-cli-version.js +34 -34
  123. package/dist/registry/domain/validators/package-json-validator.d.ts +13 -13
  124. package/dist/registry/domain/validators/package-json-validator.js +23 -23
  125. package/dist/registry/domain/validators/plugins-requirements.d.ts +9 -9
  126. package/dist/registry/domain/validators/plugins-requirements.js +22 -22
  127. package/dist/registry/domain/validators/registry-configuration.d.ts +9 -9
  128. package/dist/registry/domain/validators/registry-configuration.js +113 -113
  129. package/dist/registry/domain/validators/uploaded-package.d.ts +14 -14
  130. package/dist/registry/domain/validators/uploaded-package.js +25 -25
  131. package/dist/registry/domain/version-handler.d.ts +2 -2
  132. package/dist/registry/domain/version-handler.js +22 -22
  133. package/dist/registry/index.d.ts +48 -48
  134. package/dist/registry/index.js +107 -120
  135. package/dist/registry/middleware/base-url-handler.d.ts +2 -2
  136. package/dist/registry/middleware/base-url-handler.js +12 -12
  137. package/dist/registry/middleware/cors.d.ts +2 -2
  138. package/dist/registry/middleware/cors.js +11 -11
  139. package/dist/registry/middleware/discovery-handler.d.ts +2 -2
  140. package/dist/registry/middleware/discovery-handler.js +15 -15
  141. package/dist/registry/middleware/file-uploads.d.ts +2 -2
  142. package/dist/registry/middleware/file-uploads.js +23 -23
  143. package/dist/registry/middleware/index.d.ts +7 -3
  144. package/dist/registry/middleware/index.js +51 -47
  145. package/dist/registry/middleware/request-handler.d.ts +2 -2
  146. package/dist/registry/middleware/request-handler.js +30 -30
  147. package/dist/registry/router.d.ts +3 -3
  148. package/dist/registry/router.js +56 -58
  149. package/dist/registry/routes/component-info.d.ts +3 -3
  150. package/dist/registry/routes/component-info.js +90 -89
  151. package/dist/registry/routes/component-preview.d.ts +3 -3
  152. package/dist/registry/routes/component-preview.js +68 -67
  153. package/dist/registry/routes/component.d.ts +3 -3
  154. package/dist/registry/routes/component.js +43 -43
  155. package/dist/registry/routes/components.d.ts +3 -3
  156. package/dist/registry/routes/components.js +78 -78
  157. package/dist/registry/routes/dependencies.d.ts +3 -3
  158. package/dist/registry/routes/dependencies.js +28 -28
  159. package/dist/registry/routes/helpers/apply-default-values.d.ts +2 -2
  160. package/dist/registry/routes/helpers/apply-default-values.js +13 -13
  161. package/dist/registry/routes/helpers/get-available-dependencies.d.ts +8 -8
  162. package/dist/registry/routes/helpers/get-available-dependencies.js +24 -24
  163. package/dist/registry/routes/helpers/get-component-fallback.d.ts +17 -22
  164. package/dist/registry/routes/helpers/get-component-fallback.js +91 -91
  165. package/dist/registry/routes/helpers/get-component-retrieving-info.d.ts +20 -20
  166. package/dist/registry/routes/helpers/get-component-retrieving-info.js +24 -24
  167. package/dist/registry/routes/helpers/get-component.d.ts +33 -33
  168. package/dist/registry/routes/helpers/get-component.js +406 -405
  169. package/dist/registry/routes/helpers/get-components-history.d.ts +8 -8
  170. package/dist/registry/routes/helpers/get-components-history.js +28 -28
  171. package/dist/registry/routes/helpers/is-url-discoverable.d.ts +3 -3
  172. package/dist/registry/routes/helpers/is-url-discoverable.js +22 -16
  173. package/dist/registry/routes/index.d.ts +3 -3
  174. package/dist/registry/routes/index.js +93 -92
  175. package/dist/registry/routes/plugins.d.ts +3 -3
  176. package/dist/registry/routes/plugins.js +17 -17
  177. package/dist/registry/routes/publish.d.ts +3 -3
  178. package/dist/registry/routes/publish.js +97 -96
  179. package/dist/registry/routes/static-redirector.d.ts +3 -3
  180. package/dist/registry/routes/static-redirector.js +63 -63
  181. package/dist/registry/views/index.d.ts +2 -2
  182. package/dist/registry/views/index.js +39 -39
  183. package/dist/registry/views/info.d.ts +16 -16
  184. package/dist/registry/views/info.js +44 -41
  185. package/dist/registry/views/partials/component-author.d.ts +8 -8
  186. package/dist/registry/views/partials/component-author.js +20 -20
  187. package/dist/registry/views/partials/component-parameters.d.ts +5 -5
  188. package/dist/registry/views/partials/component-parameters.js +24 -24
  189. package/dist/registry/views/partials/component-state.d.ts +5 -5
  190. package/dist/registry/views/partials/component-state.js +6 -6
  191. package/dist/registry/views/partials/component-versions.d.ts +5 -5
  192. package/dist/registry/views/partials/component-versions.js +9 -9
  193. package/dist/registry/views/partials/components-dependencies.d.ts +2 -2
  194. package/dist/registry/views/partials/components-dependencies.js +12 -12
  195. package/dist/registry/views/partials/components-history.d.ts +2 -2
  196. package/dist/registry/views/partials/components-history.js +10 -10
  197. package/dist/registry/views/partials/components-list.d.ts +2 -2
  198. package/dist/registry/views/partials/components-list.js +26 -26
  199. package/dist/registry/views/partials/components-plugins.d.ts +2 -2
  200. package/dist/registry/views/partials/components-plugins.js +8 -8
  201. package/dist/registry/views/partials/components-templates.d.ts +2 -2
  202. package/dist/registry/views/partials/components-templates.js +14 -14
  203. package/dist/registry/views/partials/layout.d.ts +8 -8
  204. package/dist/registry/views/partials/layout.js +11 -11
  205. package/dist/registry/views/partials/property.d.ts +2 -2
  206. package/dist/registry/views/partials/property.js +11 -11
  207. package/dist/registry/views/partials/selected-checkbox.d.ts +4 -4
  208. package/dist/registry/views/partials/selected-checkbox.js +7 -7
  209. package/dist/registry/views/preview.d.ts +8 -8
  210. package/dist/registry/views/preview.js +9 -9
  211. package/dist/registry/views/static/index.d.ts +2 -2
  212. package/dist/registry/views/static/index.js +3 -3
  213. package/dist/registry/views/static/info.d.ts +2 -2
  214. package/dist/registry/views/static/info.js +15 -4
  215. package/dist/registry/views/static/style.d.ts +2 -2
  216. package/dist/registry/views/static/style.js +3 -3
  217. package/dist/resources/index.d.ts +134 -134
  218. package/dist/resources/index.js +145 -145
  219. package/dist/resources/settings.d.ts +17 -17
  220. package/dist/resources/settings.js +18 -18
  221. package/dist/types.d.ts +287 -285
  222. package/dist/types.js +2 -2
  223. package/dist/utils/clean-require.d.ts +16 -16
  224. package/dist/utils/clean-require.js +18 -18
  225. package/dist/utils/date-stringify.d.ts +1 -1
  226. package/dist/utils/date-stringify.js +22 -22
  227. package/dist/utils/error-to-string.d.ts +1 -1
  228. package/dist/utils/error-to-string.js +15 -15
  229. package/dist/utils/is-template-legacy.d.ts +3 -3
  230. package/dist/utils/is-template-legacy.js +6 -6
  231. package/dist/utils/is-template-valid.d.ts +4 -4
  232. package/dist/utils/is-template-valid.js +12 -12
  233. package/dist/utils/module-exists.d.ts +1 -1
  234. package/dist/utils/module-exists.js +15 -15
  235. package/dist/utils/npm-utils.d.ts +20 -22
  236. package/dist/utils/npm-utils.js +74 -63
  237. package/dist/utils/put.d.ts +2 -1
  238. package/dist/utils/put.js +29 -48
  239. package/dist/utils/strip-version.d.ts +1 -1
  240. package/dist/utils/strip-version.js +11 -11
  241. package/logintervals.md +1 -1
  242. package/package.json +6 -1
  243. package/src/cli/domain/clean.ts +10 -20
  244. package/src/cli/domain/get-components-by-dir.ts +12 -26
  245. package/src/cli/domain/get-mocked-plugins.ts +32 -26
  246. package/src/cli/domain/handle-dependencies/ensure-compiler-is-declared-as-devDependency.ts +8 -12
  247. package/src/cli/domain/handle-dependencies/get-compiler.ts +8 -11
  248. package/src/cli/domain/handle-dependencies/index.ts +55 -109
  249. package/src/cli/domain/handle-dependencies/install-compiler.ts +22 -15
  250. package/src/cli/domain/handle-dependencies/install-missing-dependencies.ts +19 -13
  251. package/src/cli/domain/handle-dependencies/link-missing-dependencies.ts +8 -16
  252. package/src/cli/domain/init-template/index.ts +13 -20
  253. package/src/cli/domain/init-template/install-template.ts +11 -12
  254. package/src/cli/domain/init-template/scaffold.ts +9 -12
  255. package/src/cli/domain/local.ts +19 -22
  256. package/src/cli/domain/mock.ts +32 -36
  257. package/src/cli/domain/package-components.ts +14 -25
  258. package/src/cli/domain/registry.ts +80 -116
  259. package/src/cli/domain/watch.ts +1 -1
  260. package/src/cli/facade/clean.ts +37 -37
  261. package/src/cli/facade/dev.ts +159 -182
  262. package/src/cli/facade/init.ts +36 -38
  263. package/src/cli/facade/mock.ts +11 -10
  264. package/src/cli/facade/package.ts +44 -49
  265. package/src/cli/facade/preview.ts +20 -18
  266. package/src/cli/facade/publish.ts +134 -172
  267. package/src/cli/facade/registry-add.ts +16 -15
  268. package/src/cli/facade/registry-ls.ts +27 -22
  269. package/src/cli/facade/registry-remove.ts +16 -15
  270. package/src/cli/facade/registry.ts +7 -5
  271. package/src/cli/index.ts +3 -5
  272. package/src/components/oc-client/_package/package.json +1 -1
  273. package/src/components/oc-client/package.json +1 -1
  274. package/src/globals.d.ts +38 -0
  275. package/src/oc-cli.js +0 -0
  276. package/src/registry/app-start.ts +27 -31
  277. package/src/registry/domain/authentication.ts +5 -13
  278. package/src/registry/domain/components-cache/components-list.ts +45 -67
  279. package/src/registry/domain/components-cache/index.ts +55 -60
  280. package/src/registry/domain/components-details.ts +49 -75
  281. package/src/registry/domain/extract-package.ts +19 -27
  282. package/src/registry/domain/get-package-json-from-temp-dir.ts +3 -4
  283. package/src/registry/domain/nested-renderer.ts +64 -122
  284. package/src/registry/domain/options-sanitiser.ts +6 -3
  285. package/src/registry/domain/plugins-initialiser.ts +45 -49
  286. package/src/registry/domain/repository.ts +129 -235
  287. package/src/registry/domain/require-wrapper.ts +1 -2
  288. package/src/registry/domain/storage-adapter.ts +85 -0
  289. package/src/registry/index.ts +48 -79
  290. package/src/registry/middleware/index.ts +10 -2
  291. package/src/registry/router.ts +2 -10
  292. package/src/registry/routes/component-info.ts +4 -3
  293. package/src/registry/routes/component-preview.ts +3 -2
  294. package/src/registry/routes/components.ts +1 -1
  295. package/src/registry/routes/helpers/get-component-fallback.ts +3 -9
  296. package/src/registry/routes/helpers/get-component.ts +11 -9
  297. package/src/registry/routes/helpers/is-url-discoverable.ts +14 -15
  298. package/src/registry/routes/index.ts +18 -13
  299. package/src/registry/routes/publish.ts +31 -34
  300. package/src/registry/views/info.ts +5 -2
  301. package/src/registry/views/static/info.ts +12 -1
  302. package/src/resources/settings.ts +1 -1
  303. package/src/types.ts +80 -141
  304. package/src/utils/npm-utils.ts +38 -37
  305. package/src/utils/put.ts +15 -37
package/logintervals.md CHANGED
@@ -1 +1 @@
1
- [{"to":"v0.49.6","from":"v0.49.5"},{"to":"v0.49.5","from":"v0.49.4"},{"to":"v0.49.4","from":"v0.49.3"},{"to":"v0.49.3","from":"v0.49.2"},{"to":"v0.49.2","from":"v0.49.1"},{"to":"v0.49.1","from":"v0.49.0"},{"to":"v0.49.0","from":"v0.48.23"},{"to":"v0.48.23","from":"v0.48.22"},{"to":"v0.48.22","from":"v0.48.21"},{"to":"v0.48.21","from":"v0.48.19"},{"to":"v0.48.19","from":"v0.48.18"},{"to":"v0.48.18","from":"v0.48.17"},{"to":"v0.48.17","from":"v0.48.16"},{"to":"v0.48.16","from":"v0.48.15"},{"to":"v0.48.15","from":"v0.48.14"},{"to":"v0.48.14","from":"v0.48.13"},{"to":"v0.48.13","from":"v0.48.12"},{"to":"v0.48.12","from":"v0.48.11"},{"to":"v0.48.11","from":"v0.48.10"},{"to":"v0.48.10","from":"v0.48.9"},{"to":"v0.48.9","from":"v0.48.7"},{"to":"v0.48.7","from":"v0.48.6"},{"to":"v0.48.6","from":"v0.48.5"},{"to":"v0.48.5","from":"v0.48.4"},{"to":"v0.48.4","from":"v0.48.3"},{"to":"v0.48.3","from":"v0.48.2"},{"to":"v0.48.2","from":"v0.48.1"},{"to":"v0.48.1","from":"v0.48.0"},{"to":"v0.48.0","from":"v0.47.1"},{"to":"v0.47.1","from":"v0.47.0"},{"to":"v0.47.0","from":"v0.46.0"},{"to":"v0.46.0","from":"v0.45.4"},{"to":"v0.45.4","from":"v0.45.3"},{"to":"v0.45.3","from":"v0.45.2"},{"to":"v0.45.2","from":"v0.45.1"},{"to":"v0.45.1","from":"v0.45.0"},{"to":"v0.45.0","from":"v0.44.13"},{"to":"v0.44.13","from":"v0.44.12"},{"to":"v0.44.12","from":"v0.44.11"},{"to":"v0.44.11","from":"v0.44.10"},{"to":"v0.44.10","from":"v0.44.9"},{"to":"v0.44.9","from":"v0.44.8"},{"to":"v0.44.8","from":"v0.44.7"},{"to":"v0.44.7","from":"v0.44.6"},{"to":"v0.44.6","from":"v0.44.5"},{"to":"v0.44.5","from":"v0.44.4"},{"to":"v0.44.4","from":"v0.44.3"},{"to":"v0.44.3","from":"v0.44.2"},{"to":"v0.44.2","from":"v0.44.1"},{"to":"v0.44.1","from":"v0.44.0"},{"to":"v0.44.0","from":"v0.43.2"},{"to":"v0.43.2","from":"v0.43.1"},{"to":"v0.43.1","from":"v0.43.0"},{"to":"v0.43.0","from":"v0.42.26"},{"to":"v0.42.26","from":"v0.42.25"},{"to":"v0.42.25","from":"v0.42.24"},{"to":"v0.42.24","from":"v0.42.23"},{"to":"v0.42.23","from":"v0.42.22"},{"to":"v0.42.22","from":"v0.42.21"},{"to":"v0.42.21","from":"v0.42.20"},{"to":"v0.42.20","from":"v0.42.19"},{"to":"v0.42.19","from":"v0.42.18"},{"to":"v0.42.18","from":"v0.42.17"},{"to":"v0.42.17","from":"v0.42.16"},{"to":"v0.42.16","from":"v0.42.15"},{"to":"v0.42.15","from":"v0.42.14"},{"to":"v0.42.14","from":"v0.42.13"},{"to":"v0.42.13","from":"v0.42.12"},{"to":"v0.42.12","from":"v0.42.10"},{"to":"v0.42.10","from":"v0.42.9"},{"to":"v0.42.9","from":"v0.42.8"},{"to":"v0.42.8","from":"v0.42.7"},{"to":"v0.42.7","from":"v0.42.6"},{"to":"v0.42.6","from":"v0.42.5"},{"to":"v0.42.5","from":"v0.42.4"},{"to":"v0.42.4","from":"v0.42.3"},{"to":"v0.42.3","from":"v0.42.2"},{"to":"v0.42.2","from":"v0.42.1"},{"to":"v0.42.1","from":"v0.42.0"},{"to":"v0.42.0","from":"v0.41.16"},{"to":"v0.41.16","from":"v0.41.15"},{"to":"v0.41.15","from":"v0.41.14"},{"to":"v0.41.14","from":"v0.41.13"},{"to":"v0.41.13","from":"v0.41.12"},{"to":"v0.41.12","from":"v0.41.11"},{"to":"v0.41.11","from":"v0.41.10"},{"to":"v0.41.10","from":"v0.41.9"},{"to":"v0.41.9","from":"v0.41.8"},{"to":"v0.41.8","from":"v0.41.7"},{"to":"v0.41.7","from":"v0.41.6"},{"to":"v0.41.6","from":"v0.41.5"},{"to":"v0.41.5","from":"v0.41.4"},{"to":"v0.41.4","from":"v0.41.3"},{"to":"v0.41.3","from":"v0.41.2"},{"to":"v0.41.2","from":"v0.41.1"},{"to":"v0.41.1","from":"v0.41.0"},{"to":"v0.41.0","from":"v0.40.10"},{"to":"v0.40.10","from":"v0.40.9"},{"to":"v0.40.9","from":"v0.40.8"},{"to":"v0.40.8","from":"v0.40.7"},{"to":"v0.40.7","from":"v0.40.6"},{"to":"v0.40.6","from":"v0.40.5"},{"to":"v0.40.5","from":"v0.40.4"},{"to":"v0.40.4","from":"v0.40.3"},{"to":"v0.40.3","from":"v0.40.2"},{"to":"v0.40.2","from":"v0.40.1"},{"to":"v0.40.1","from":"v0.40.0"},{"to":"v0.40.0","from":"v0.39.8"},{"to":"v0.39.8","from":"v0.39.7"},{"to":"v0.39.7","from":"v0.39.6"},{"to":"v0.39.6","from":"v0.39.5"},{"to":"v0.39.5","from":"v0.39.4"},{"to":"v0.39.4","from":"v0.39.3"},{"to":"v0.39.3","from":"v0.39.2"},{"to":"v0.39.2","from":"v0.39.1"},{"to":"v0.39.1","from":"v0.39.0"},{"to":"v0.39.0","from":"v0.38.8"},{"to":"v0.38.8","from":"v0.38.7"},{"to":"v0.38.7","from":"v0.38.6"},{"to":"v0.38.6","from":"v0.38.5"},{"to":"v0.38.5","from":"v0.38.4"},{"to":"v0.38.4","from":"v0.38.3"},{"to":"v0.38.3","from":"v0.38.2"},{"to":"v0.38.2","from":"v0.38.1"},{"to":"v0.38.1","from":"v0.38.0"},{"to":"v0.38.0","from":"v0.37.11"},{"to":"v0.37.11","from":"v0.37.10"},{"to":"v0.37.10","from":"v0.37.9"},{"to":"v0.37.9","from":"v0.37.8"},{"to":"v0.37.8","from":"v0.37.7"},{"to":"v0.37.7","from":"v0.37.6"},{"to":"v0.37.6","from":"v0.37.5"},{"to":"v0.37.5","from":"v0.37.4"},{"to":"v0.37.4","from":"v0.37.3"},{"to":"v0.37.3","from":"v0.37.2"},{"to":"v0.37.2","from":"v0.37.1"},{"to":"v0.37.1","from":"v0.37.0"},{"to":"v0.37.0","from":"v0.36.28"},{"to":"v0.36.28","from":"v0.36.27"},{"to":"v0.36.27","from":"v0.36.26"},{"to":"v0.36.26","from":"v0.36.25"},{"to":"v0.36.25","from":"v0.36.24"},{"to":"v0.36.24","from":"v0.36.23"},{"to":"v0.36.23","from":"v0.36.22"},{"to":"v0.36.22","from":"v0.36.21"},{"to":"v0.36.21","from":"v0.36.20"},{"to":"v0.36.20","from":"v0.36.19"},{"to":"v0.36.19","from":"v0.36.18"},{"to":"v0.36.18","from":"v0.36.17"},{"to":"v0.36.17","from":"v0.36.16"},{"to":"v0.36.16","from":"v0.36.15"},{"to":"v0.36.15","from":"v0.36.14"},{"to":"v0.36.14","from":"v0.36.13"},{"to":"v0.36.13","from":"v0.36.12"},{"to":"v0.36.12","from":"v0.36.11"},{"to":"v0.36.11","from":"v0.36.10"},{"to":"v0.36.10","from":"v0.36.9"},{"to":"v0.36.9","from":"v0.36.8"},{"to":"v0.36.8","from":"v0.36.7"},{"to":"v0.36.7","from":"v0.36.6"},{"to":"v0.36.6","from":"v0.36.5"},{"to":"v0.36.5","from":"v0.36.4"},{"to":"v0.36.4","from":"v0.36.3"},{"to":"v0.36.3","from":"v0.36.2"},{"to":"v0.36.2","from":"v0.36.1"},{"to":"v0.36.1","from":"v0.36.0"},{"to":"v0.36.0","from":"v0.35.6"},{"to":"v0.35.6","from":"v0.35.5"},{"to":"v0.35.5","from":"v0.35.4"},{"to":"v0.35.4","from":"v0.35.3"},{"to":"v0.35.3","from":"v0.35.2"},{"to":"v0.35.2","from":"v0.35.1"},{"to":"v0.35.1","from":"v0.35.0"},{"to":"v0.35.0","from":"v0.34.8"},{"to":"v0.34.8","from":"v0.34.7"},{"to":"v0.34.7","from":"v0.34.6"},{"to":"v0.34.6","from":"v0.34.5"},{"to":"v0.34.5","from":"v0.34.4"},{"to":"v0.34.4","from":"v0.34.3"},{"to":"v0.34.3","from":"v0.34.2"},{"to":"v0.34.2","from":"v0.34.1"},{"to":"v0.34.1","from":"v0.34.0"},{"to":"v0.34.0","from":"v0.33.31"},{"to":"v0.33.31","from":"v0.33.30"},{"to":"v0.33.30","from":"v0.33.29"},{"to":"v0.33.29","from":"v0.33.28"},{"to":"v0.33.28","from":"v0.33.27"},{"to":"v0.33.27","from":"v0.33.26"},{"to":"v0.33.26","from":"v0.33.25"},{"to":"v0.33.25","from":"v0.33.24"},{"to":"v0.33.24","from":"v0.33.23"},{"to":"v0.33.23","from":"v0.33.22"},{"to":"v0.33.22","from":"v0.33.21"},{"to":"v0.33.21","from":"v0.33.20"},{"to":"v0.33.20","from":"v0.33.19"},{"to":"v0.33.19","from":"v0.33.18"},{"to":"v0.33.18","from":"v0.33.17"},{"to":"v0.33.17","from":"v0.33.16"},{"to":"v0.33.16","from":"v0.33.15"},{"to":"v0.33.15","from":"v0.33.14"},{"to":"v0.33.14","from":"v0.33.13"},{"to":"v0.33.13","from":"v0.33.12"},{"to":"v0.33.12","from":"v0.33.11"},{"to":"v0.33.11","from":"v0.33.10"},{"to":"v0.33.10","from":"v0.33.9"},{"to":"v0.33.9","from":"v0.33.8"},{"to":"v0.33.8","from":"v0.33.7"},{"to":"v0.33.7","from":"v0.33.6"},{"to":"v0.33.6","from":"v0.33.5"},{"to":"v0.33.5","from":"v0.33.4"},{"to":"v0.33.4","from":"v0.33.3"},{"to":"v0.33.3","from":"v0.33.2"},{"to":"v0.33.2","from":"v0.33.1"},{"to":"v0.33.1","from":"v0.33.0"},{"to":"v0.33.0","from":"v0.32.6"},{"to":"v0.32.6","from":"v0.32.5"},{"to":"v0.32.5","from":"v0.32.4"},{"to":"v0.32.4","from":"v0.32.3"},{"to":"v0.32.3","from":"v0.32.2"},{"to":"v0.32.2","from":"v0.32.1"},{"to":"v0.32.1","from":"v0.32.0"},{"to":"v0.32.0","from":"v0.31.2"},{"to":"v0.31.2","from":"v0.31.1"},{"to":"v0.31.1","from":"v0.31.0"},{"to":"v0.31.0","from":"v0.30.9"},{"to":"v0.30.9","from":"v0.30.8"},{"to":"v0.30.8","from":"v0.30.7"},{"to":"v0.30.7","from":"v0.30.6"},{"to":"v0.30.6","from":"v0.30.5"},{"to":"v0.30.5","from":"v0.30.4"},{"to":"v0.30.4","from":"v0.30.3"},{"to":"v0.30.3","from":"v0.30.2"},{"to":"v0.30.2","from":"v0.30.1"},{"to":"v0.30.1","from":"v0.30.0"},{"to":"v0.30.0","from":"v0.29.4"},{"to":"v0.29.4","from":"v0.29.3"},{"to":"v0.29.3","from":"v0.29.2"},{"to":"v0.29.2","from":"v0.29.1"},{"to":"v0.29.1","from":"v0.29.0"},{"to":"v0.29.0","from":"v0.28.9"},{"to":"v0.28.9","from":"v0.28.8"},{"to":"v0.28.8","from":"v0.28.7"},{"to":"v0.28.7","from":"v0.28.6"},{"to":"v0.28.6","from":"v0.28.5"},{"to":"v0.28.5","from":"v0.28.4"},{"to":"v0.28.4","from":"v0.28.3"},{"to":"v0.28.3","from":"v0.28.2"},{"to":"v0.28.2","from":"v0.28.1"},{"to":"v0.28.1","from":"v0.28.0"},{"to":"v0.28.0","from":"v0.27.9"},{"to":"v0.27.9","from":"v0.27.8"},{"to":"v0.27.8","from":"v0.27.7"},{"to":"v0.27.7","from":"v0.27.6"},{"to":"v0.27.6","from":"v0.27.5"},{"to":"v0.27.5","from":"v0.27.4"},{"to":"v0.27.4","from":"v0.27.3"},{"to":"v0.27.3","from":"v0.27.2"},{"to":"v0.27.2","from":"v0.27.1"},{"to":"v0.27.1","from":"v0.27.0"},{"to":"v0.27.0","from":"v0.26.2"},{"to":"v0.26.2","from":"v0.26.1"},{"to":"v0.26.1","from":"v0.26.0"},{"to":"v0.26.0","from":"v0.25.0"},{"to":"v0.25.0","from":"v0.24.1"},{"to":"v0.24.1","from":"v0.24.0"},{"to":"v0.24.0","from":"v0.23.7"},{"to":"v0.23.7","from":"v0.23.6"},{"to":"v0.23.6","from":"v0.23.5"},{"to":"v0.23.5","from":"v0.23.4"},{"to":"v0.23.4","from":"v0.23.3"},{"to":"v0.23.3","from":"v0.23.2"},{"to":"v0.23.2","from":"v0.23.1"},{"to":"v0.23.1","from":"v0.23.0"},{"to":"v0.23.0","from":"v0.22.3"},{"to":"v0.22.3","from":"v0.22.2"},{"to":"v0.22.2","from":"v0.22.1"},{"to":"v0.22.1","from":"v0.22.0"},{"to":"v0.22.0","from":"v0.21.0"},{"to":"v0.21.0","from":"v0.20.5"},{"to":"v0.20.5","from":"v0.20.4"},{"to":"v0.20.4","from":"v0.20.3"},{"to":"v0.20.3","from":"v0.20.2"},{"to":"v0.20.2","from":"v0.20.1"},{"to":"v0.20.1","from":"v0.20.0"},{"to":"v0.20.0","from":"v0.19.5"},{"to":"v0.19.5","from":"v0.19.4"},{"to":"v0.19.4","from":"v0.19.3"},{"to":"v0.19.3","from":"v0.19.2"},{"to":"v0.19.2","from":"v0.19.1"},{"to":"v0.19.1","from":"v0.19.0"},{"to":"v0.19.0","from":"6181a540729a7179d7a9d41489dfc241335cf1b5"}]
1
+ [{"to":"v0.49.9","from":"v0.49.8"},{"to":"v0.49.8","from":"v0.49.7"},{"to":"v0.49.7","from":"v0.49.6"},{"to":"v0.49.6","from":"v0.49.5"},{"to":"v0.49.5","from":"v0.49.4"},{"to":"v0.49.4","from":"v0.49.3"},{"to":"v0.49.3","from":"v0.49.2"},{"to":"v0.49.2","from":"v0.49.1"},{"to":"v0.49.1","from":"v0.49.0"},{"to":"v0.49.0","from":"v0.48.23"},{"to":"v0.48.23","from":"v0.48.22"},{"to":"v0.48.22","from":"v0.48.21"},{"to":"v0.48.21","from":"v0.48.19"},{"to":"v0.48.19","from":"v0.48.18"},{"to":"v0.48.18","from":"v0.48.17"},{"to":"v0.48.17","from":"v0.48.16"},{"to":"v0.48.16","from":"v0.48.15"},{"to":"v0.48.15","from":"v0.48.14"},{"to":"v0.48.14","from":"v0.48.13"},{"to":"v0.48.13","from":"v0.48.12"},{"to":"v0.48.12","from":"v0.48.11"},{"to":"v0.48.11","from":"v0.48.10"},{"to":"v0.48.10","from":"v0.48.9"},{"to":"v0.48.9","from":"v0.48.7"},{"to":"v0.48.7","from":"v0.48.6"},{"to":"v0.48.6","from":"v0.48.5"},{"to":"v0.48.5","from":"v0.48.4"},{"to":"v0.48.4","from":"v0.48.3"},{"to":"v0.48.3","from":"v0.48.2"},{"to":"v0.48.2","from":"v0.48.1"},{"to":"v0.48.1","from":"v0.48.0"},{"to":"v0.48.0","from":"v0.47.1"},{"to":"v0.47.1","from":"v0.47.0"},{"to":"v0.47.0","from":"v0.46.0"},{"to":"v0.46.0","from":"v0.45.4"},{"to":"v0.45.4","from":"v0.45.3"},{"to":"v0.45.3","from":"v0.45.2"},{"to":"v0.45.2","from":"v0.45.1"},{"to":"v0.45.1","from":"v0.45.0"},{"to":"v0.45.0","from":"v0.44.13"},{"to":"v0.44.13","from":"v0.44.12"},{"to":"v0.44.12","from":"v0.44.11"},{"to":"v0.44.11","from":"v0.44.10"},{"to":"v0.44.10","from":"v0.44.9"},{"to":"v0.44.9","from":"v0.44.8"},{"to":"v0.44.8","from":"v0.44.7"},{"to":"v0.44.7","from":"v0.44.6"},{"to":"v0.44.6","from":"v0.44.5"},{"to":"v0.44.5","from":"v0.44.4"},{"to":"v0.44.4","from":"v0.44.3"},{"to":"v0.44.3","from":"v0.44.2"},{"to":"v0.44.2","from":"v0.44.1"},{"to":"v0.44.1","from":"v0.44.0"},{"to":"v0.44.0","from":"v0.43.2"},{"to":"v0.43.2","from":"v0.43.1"},{"to":"v0.43.1","from":"v0.43.0"},{"to":"v0.43.0","from":"v0.42.26"},{"to":"v0.42.26","from":"v0.42.25"},{"to":"v0.42.25","from":"v0.42.24"},{"to":"v0.42.24","from":"v0.42.23"},{"to":"v0.42.23","from":"v0.42.22"},{"to":"v0.42.22","from":"v0.42.21"},{"to":"v0.42.21","from":"v0.42.20"},{"to":"v0.42.20","from":"v0.42.19"},{"to":"v0.42.19","from":"v0.42.18"},{"to":"v0.42.18","from":"v0.42.17"},{"to":"v0.42.17","from":"v0.42.16"},{"to":"v0.42.16","from":"v0.42.15"},{"to":"v0.42.15","from":"v0.42.14"},{"to":"v0.42.14","from":"v0.42.13"},{"to":"v0.42.13","from":"v0.42.12"},{"to":"v0.42.12","from":"v0.42.10"},{"to":"v0.42.10","from":"v0.42.9"},{"to":"v0.42.9","from":"v0.42.8"},{"to":"v0.42.8","from":"v0.42.7"},{"to":"v0.42.7","from":"v0.42.6"},{"to":"v0.42.6","from":"v0.42.5"},{"to":"v0.42.5","from":"v0.42.4"},{"to":"v0.42.4","from":"v0.42.3"},{"to":"v0.42.3","from":"v0.42.2"},{"to":"v0.42.2","from":"v0.42.1"},{"to":"v0.42.1","from":"v0.42.0"},{"to":"v0.42.0","from":"v0.41.16"},{"to":"v0.41.16","from":"v0.41.15"},{"to":"v0.41.15","from":"v0.41.14"},{"to":"v0.41.14","from":"v0.41.13"},{"to":"v0.41.13","from":"v0.41.12"},{"to":"v0.41.12","from":"v0.41.11"},{"to":"v0.41.11","from":"v0.41.10"},{"to":"v0.41.10","from":"v0.41.9"},{"to":"v0.41.9","from":"v0.41.8"},{"to":"v0.41.8","from":"v0.41.7"},{"to":"v0.41.7","from":"v0.41.6"},{"to":"v0.41.6","from":"v0.41.5"},{"to":"v0.41.5","from":"v0.41.4"},{"to":"v0.41.4","from":"v0.41.3"},{"to":"v0.41.3","from":"v0.41.2"},{"to":"v0.41.2","from":"v0.41.1"},{"to":"v0.41.1","from":"v0.41.0"},{"to":"v0.41.0","from":"v0.40.10"},{"to":"v0.40.10","from":"v0.40.9"},{"to":"v0.40.9","from":"v0.40.8"},{"to":"v0.40.8","from":"v0.40.7"},{"to":"v0.40.7","from":"v0.40.6"},{"to":"v0.40.6","from":"v0.40.5"},{"to":"v0.40.5","from":"v0.40.4"},{"to":"v0.40.4","from":"v0.40.3"},{"to":"v0.40.3","from":"v0.40.2"},{"to":"v0.40.2","from":"v0.40.1"},{"to":"v0.40.1","from":"v0.40.0"},{"to":"v0.40.0","from":"v0.39.8"},{"to":"v0.39.8","from":"v0.39.7"},{"to":"v0.39.7","from":"v0.39.6"},{"to":"v0.39.6","from":"v0.39.5"},{"to":"v0.39.5","from":"v0.39.4"},{"to":"v0.39.4","from":"v0.39.3"},{"to":"v0.39.3","from":"v0.39.2"},{"to":"v0.39.2","from":"v0.39.1"},{"to":"v0.39.1","from":"v0.39.0"},{"to":"v0.39.0","from":"v0.38.8"},{"to":"v0.38.8","from":"v0.38.7"},{"to":"v0.38.7","from":"v0.38.6"},{"to":"v0.38.6","from":"v0.38.5"},{"to":"v0.38.5","from":"v0.38.4"},{"to":"v0.38.4","from":"v0.38.3"},{"to":"v0.38.3","from":"v0.38.2"},{"to":"v0.38.2","from":"v0.38.1"},{"to":"v0.38.1","from":"v0.38.0"},{"to":"v0.38.0","from":"v0.37.11"},{"to":"v0.37.11","from":"v0.37.10"},{"to":"v0.37.10","from":"v0.37.9"},{"to":"v0.37.9","from":"v0.37.8"},{"to":"v0.37.8","from":"v0.37.7"},{"to":"v0.37.7","from":"v0.37.6"},{"to":"v0.37.6","from":"v0.37.5"},{"to":"v0.37.5","from":"v0.37.4"},{"to":"v0.37.4","from":"v0.37.3"},{"to":"v0.37.3","from":"v0.37.2"},{"to":"v0.37.2","from":"v0.37.1"},{"to":"v0.37.1","from":"v0.37.0"},{"to":"v0.37.0","from":"v0.36.28"},{"to":"v0.36.28","from":"v0.36.27"},{"to":"v0.36.27","from":"v0.36.26"},{"to":"v0.36.26","from":"v0.36.25"},{"to":"v0.36.25","from":"v0.36.24"},{"to":"v0.36.24","from":"v0.36.23"},{"to":"v0.36.23","from":"v0.36.22"},{"to":"v0.36.22","from":"v0.36.21"},{"to":"v0.36.21","from":"v0.36.20"},{"to":"v0.36.20","from":"v0.36.19"},{"to":"v0.36.19","from":"v0.36.18"},{"to":"v0.36.18","from":"v0.36.17"},{"to":"v0.36.17","from":"v0.36.16"},{"to":"v0.36.16","from":"v0.36.15"},{"to":"v0.36.15","from":"v0.36.14"},{"to":"v0.36.14","from":"v0.36.13"},{"to":"v0.36.13","from":"v0.36.12"},{"to":"v0.36.12","from":"v0.36.11"},{"to":"v0.36.11","from":"v0.36.10"},{"to":"v0.36.10","from":"v0.36.9"},{"to":"v0.36.9","from":"v0.36.8"},{"to":"v0.36.8","from":"v0.36.7"},{"to":"v0.36.7","from":"v0.36.6"},{"to":"v0.36.6","from":"v0.36.5"},{"to":"v0.36.5","from":"v0.36.4"},{"to":"v0.36.4","from":"v0.36.3"},{"to":"v0.36.3","from":"v0.36.2"},{"to":"v0.36.2","from":"v0.36.1"},{"to":"v0.36.1","from":"v0.36.0"},{"to":"v0.36.0","from":"v0.35.6"},{"to":"v0.35.6","from":"v0.35.5"},{"to":"v0.35.5","from":"v0.35.4"},{"to":"v0.35.4","from":"v0.35.3"},{"to":"v0.35.3","from":"v0.35.2"},{"to":"v0.35.2","from":"v0.35.1"},{"to":"v0.35.1","from":"v0.35.0"},{"to":"v0.35.0","from":"v0.34.8"},{"to":"v0.34.8","from":"v0.34.7"},{"to":"v0.34.7","from":"v0.34.6"},{"to":"v0.34.6","from":"v0.34.5"},{"to":"v0.34.5","from":"v0.34.4"},{"to":"v0.34.4","from":"v0.34.3"},{"to":"v0.34.3","from":"v0.34.2"},{"to":"v0.34.2","from":"v0.34.1"},{"to":"v0.34.1","from":"v0.34.0"},{"to":"v0.34.0","from":"v0.33.31"},{"to":"v0.33.31","from":"v0.33.30"},{"to":"v0.33.30","from":"v0.33.29"},{"to":"v0.33.29","from":"v0.33.28"},{"to":"v0.33.28","from":"v0.33.27"},{"to":"v0.33.27","from":"v0.33.26"},{"to":"v0.33.26","from":"v0.33.25"},{"to":"v0.33.25","from":"v0.33.24"},{"to":"v0.33.24","from":"v0.33.23"},{"to":"v0.33.23","from":"v0.33.22"},{"to":"v0.33.22","from":"v0.33.21"},{"to":"v0.33.21","from":"v0.33.20"},{"to":"v0.33.20","from":"v0.33.19"},{"to":"v0.33.19","from":"v0.33.18"},{"to":"v0.33.18","from":"v0.33.17"},{"to":"v0.33.17","from":"v0.33.16"},{"to":"v0.33.16","from":"v0.33.15"},{"to":"v0.33.15","from":"v0.33.14"},{"to":"v0.33.14","from":"v0.33.13"},{"to":"v0.33.13","from":"v0.33.12"},{"to":"v0.33.12","from":"v0.33.11"},{"to":"v0.33.11","from":"v0.33.10"},{"to":"v0.33.10","from":"v0.33.9"},{"to":"v0.33.9","from":"v0.33.8"},{"to":"v0.33.8","from":"v0.33.7"},{"to":"v0.33.7","from":"v0.33.6"},{"to":"v0.33.6","from":"v0.33.5"},{"to":"v0.33.5","from":"v0.33.4"},{"to":"v0.33.4","from":"v0.33.3"},{"to":"v0.33.3","from":"v0.33.2"},{"to":"v0.33.2","from":"v0.33.1"},{"to":"v0.33.1","from":"v0.33.0"},{"to":"v0.33.0","from":"v0.32.6"},{"to":"v0.32.6","from":"v0.32.5"},{"to":"v0.32.5","from":"v0.32.4"},{"to":"v0.32.4","from":"v0.32.3"},{"to":"v0.32.3","from":"v0.32.2"},{"to":"v0.32.2","from":"v0.32.1"},{"to":"v0.32.1","from":"v0.32.0"},{"to":"v0.32.0","from":"v0.31.2"},{"to":"v0.31.2","from":"v0.31.1"},{"to":"v0.31.1","from":"v0.31.0"},{"to":"v0.31.0","from":"v0.30.9"},{"to":"v0.30.9","from":"v0.30.8"},{"to":"v0.30.8","from":"v0.30.7"},{"to":"v0.30.7","from":"v0.30.6"},{"to":"v0.30.6","from":"v0.30.5"},{"to":"v0.30.5","from":"v0.30.4"},{"to":"v0.30.4","from":"v0.30.3"},{"to":"v0.30.3","from":"v0.30.2"},{"to":"v0.30.2","from":"v0.30.1"},{"to":"v0.30.1","from":"v0.30.0"},{"to":"v0.30.0","from":"v0.29.4"},{"to":"v0.29.4","from":"v0.29.3"},{"to":"v0.29.3","from":"v0.29.2"},{"to":"v0.29.2","from":"v0.29.1"},{"to":"v0.29.1","from":"v0.29.0"},{"to":"v0.29.0","from":"v0.28.9"},{"to":"v0.28.9","from":"v0.28.8"},{"to":"v0.28.8","from":"v0.28.7"},{"to":"v0.28.7","from":"v0.28.6"},{"to":"v0.28.6","from":"v0.28.5"},{"to":"v0.28.5","from":"v0.28.4"},{"to":"v0.28.4","from":"v0.28.3"},{"to":"v0.28.3","from":"v0.28.2"},{"to":"v0.28.2","from":"v0.28.1"},{"to":"v0.28.1","from":"v0.28.0"},{"to":"v0.28.0","from":"v0.27.9"},{"to":"v0.27.9","from":"v0.27.8"},{"to":"v0.27.8","from":"v0.27.7"},{"to":"v0.27.7","from":"v0.27.6"},{"to":"v0.27.6","from":"v0.27.5"},{"to":"v0.27.5","from":"v0.27.4"},{"to":"v0.27.4","from":"v0.27.3"},{"to":"v0.27.3","from":"v0.27.2"},{"to":"v0.27.2","from":"v0.27.1"},{"to":"v0.27.1","from":"v0.27.0"},{"to":"v0.27.0","from":"v0.26.2"},{"to":"v0.26.2","from":"v0.26.1"},{"to":"v0.26.1","from":"v0.26.0"},{"to":"v0.26.0","from":"v0.25.0"},{"to":"v0.25.0","from":"v0.24.1"},{"to":"v0.24.1","from":"v0.24.0"},{"to":"v0.24.0","from":"v0.23.7"},{"to":"v0.23.7","from":"v0.23.6"},{"to":"v0.23.6","from":"v0.23.5"},{"to":"v0.23.5","from":"v0.23.4"},{"to":"v0.23.4","from":"v0.23.3"},{"to":"v0.23.3","from":"v0.23.2"},{"to":"v0.23.2","from":"v0.23.1"},{"to":"v0.23.1","from":"v0.23.0"},{"to":"v0.23.0","from":"v0.22.3"},{"to":"v0.22.3","from":"v0.22.2"},{"to":"v0.22.2","from":"v0.22.1"},{"to":"v0.22.1","from":"v0.22.0"},{"to":"v0.22.0","from":"v0.21.0"},{"to":"v0.21.0","from":"v0.20.5"},{"to":"v0.20.5","from":"v0.20.4"},{"to":"v0.20.4","from":"v0.20.3"},{"to":"v0.20.3","from":"v0.20.2"},{"to":"v0.20.2","from":"v0.20.1"},{"to":"v0.20.1","from":"v0.20.0"},{"to":"v0.20.0","from":"v0.19.5"},{"to":"v0.19.5","from":"v0.19.4"},{"to":"v0.19.4","from":"v0.19.3"},{"to":"v0.19.3","from":"v0.19.2"},{"to":"v0.19.2","from":"v0.19.1"},{"to":"v0.19.1","from":"v0.19.0"},{"to":"v0.19.0","from":"6181a540729a7179d7a9d41489dfc241335cf1b5"}]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oc",
3
- "version": "0.49.6",
3
+ "version": "0.49.9",
4
4
  "description": "A framework for developing and distributing html components",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -53,6 +53,7 @@
53
53
  "@types/errorhandler": "1.5.0",
54
54
  "@types/express": "4.17.13",
55
55
  "@types/fs-extra": "9.0.13",
56
+ "@types/got": "^9.6.12",
56
57
  "@types/livereload": "0.9.1",
57
58
  "@types/lodash": "4.14.177",
58
59
  "@types/morgan": "1.9.3",
@@ -78,6 +79,7 @@
78
79
  "minimist": "1.2.5",
79
80
  "mocha": "9.1.3",
80
81
  "node-emoji": "1.11.0",
82
+ "p-limit": "^3.1.0",
81
83
  "prettier": "2.5.0",
82
84
  "rimraf": "3.0.2",
83
85
  "semver-sort": "0.0.4",
@@ -98,9 +100,11 @@
98
100
  "dependency-graph": "0.11.0",
99
101
  "errorhandler": "1.5.1",
100
102
  "express": "4.17.1",
103
+ "express-promise-router": "^4.1.0",
101
104
  "form-data": "4.0.0",
102
105
  "fs-extra": "10.0.0",
103
106
  "getport": "0.1.0",
107
+ "got": "^11.8.2",
104
108
  "livereload": "0.9.3",
105
109
  "lodash": "4.17.21",
106
110
  "minimal-request": "3.0.0",
@@ -129,6 +133,7 @@
129
133
  "serialize-error": "8.1.0",
130
134
  "targz": "1.0.1",
131
135
  "try-require": "1.2.1",
136
+ "universalify": "^2.0.0",
132
137
  "yargs": "17.3.0"
133
138
  }
134
139
  }
@@ -1,31 +1,21 @@
1
- import async from 'async';
2
1
  import fs from 'fs-extra';
3
2
  import makeGetComponentsByDir from './get-components-by-dir';
4
3
  import path from 'path';
5
4
 
6
5
  const getComponentsByDir = makeGetComponentsByDir();
7
6
 
8
- export function fetchList(
9
- dirPath: string,
10
- callback: (err: Error | null, data: string[]) => void
11
- ): void {
12
- return getComponentsByDir(dirPath, (err, list) => {
13
- if (err) return (callback as any)(err);
14
- if (list.length === 0) return callback(null, []);
7
+ export async function fetchList(dirPath: string): Promise<string[]> {
8
+ const list = await getComponentsByDir(dirPath);
15
9
 
16
- const toRemove = list.map(folder => path.join(folder, 'node_modules'));
17
- const folderExists = (
18
- folder: string,
19
- cb: (err: Error | null, data: boolean) => void
20
- ) => fs.exists(folder, exists => cb(null, exists));
10
+ if (list.length === 0) return [];
21
11
 
22
- async.filterSeries(toRemove, folderExists, callback as any);
23
- });
12
+ const toRemove = list.map(folder => path.join(folder, 'node_modules'));
13
+
14
+ return toRemove.filter(fs.existsSync);
24
15
  }
25
16
 
26
- export function remove(
27
- list: string[],
28
- callback: (err: Error | null, data: string) => void
29
- ): void {
30
- return async.eachSeries(list, fs.remove, callback as any);
17
+ export async function remove(list: string[]): Promise<void> {
18
+ for (const item of list) {
19
+ await fs.remove(item);
20
+ }
31
21
  }
@@ -3,23 +3,11 @@ import path from 'path';
3
3
  import { Component } from '../../types';
4
4
 
5
5
  export default function getComponentsByDir() {
6
- return (
6
+ return async (
7
7
  componentsDir: string,
8
- componentsToRunOrCb:
9
- | string[]
10
- | ((err: Error | null, data: string[]) => void),
11
- callbackMaybe?: (err: Error | null, data: string[]) => void
12
- ): void => {
13
- const componentsToRun =
14
- typeof componentsToRunOrCb === 'function'
15
- ? undefined
16
- : componentsToRunOrCb;
17
- const callback =
18
- typeof componentsToRunOrCb === 'function'
19
- ? componentsToRunOrCb
20
- : callbackMaybe!;
21
-
22
- const isOcComponent = function (file: string) {
8
+ componentsToRun?: string[]
9
+ ): Promise<string[]> => {
10
+ const isOcComponent = (file: string) => {
23
11
  const filePath = path.resolve(componentsDir, file);
24
12
  const packagePath = path.join(filePath, 'package.json');
25
13
  let content: Component;
@@ -39,23 +27,21 @@ export default function getComponentsByDir() {
39
27
  return typeof packagedProperty === 'undefined';
40
28
  };
41
29
 
42
- let dirContent: string[];
43
-
44
30
  try {
45
- dirContent = fs.readdirSync(componentsDir);
31
+ let dirContent = await fs.readdir(componentsDir);
46
32
  if (componentsToRun) {
47
33
  dirContent = dirContent.filter(content =>
48
34
  componentsToRun.includes(content)
49
35
  );
50
36
  }
51
- } catch (err) {
52
- return callback(null, []);
53
- }
54
37
 
55
- const components = dirContent
56
- .filter(isOcComponent)
57
- .map(component => path.resolve(componentsDir, component));
38
+ const components = dirContent
39
+ .filter(isOcComponent)
40
+ .map(component => path.resolve(componentsDir, component));
58
41
 
59
- callback(null, components);
42
+ return components;
43
+ } catch (err) {
44
+ return [];
45
+ }
60
46
  };
61
47
  }
@@ -1,10 +1,10 @@
1
1
  import fs from 'fs-extra';
2
2
  import path from 'path';
3
- import _ from 'lodash';
4
3
 
5
4
  import settings from '../../resources/settings';
6
5
  import strings from '../../resources/';
7
6
  import { Logger } from '../logger';
7
+ import { OcJsonConfig } from '../../types';
8
8
 
9
9
  interface MockedPlugin {
10
10
  register: (options: unknown, dependencies: unknown, next: () => void) => void;
@@ -48,7 +48,7 @@ const registerStaticMocks = (
48
48
  mocks: Record<string, string>,
49
49
  logger: Logger
50
50
  ): PluginMock[] =>
51
- _.map(mocks, (mockedValue, pluginName) => {
51
+ Object.entries(mocks).map(([pluginName, mockedValue]) => {
52
52
  logger.ok(`├── ${pluginName} () => ${mockedValue}`);
53
53
 
54
54
  return {
@@ -65,31 +65,33 @@ const registerDynamicMocks = (
65
65
  mocks: Record<string, string>,
66
66
  logger: Logger
67
67
  ) =>
68
- _.map(mocks, (source, pluginName) => {
69
- let pluginMock;
70
- try {
71
- pluginMock = require(path.resolve(ocJsonLocation, source));
72
- } catch (er) {
73
- logger.err(String(er));
74
- return;
75
- }
68
+ Object.entries(mocks)
69
+ .map(([pluginName, source]) => {
70
+ let pluginMock;
71
+ try {
72
+ pluginMock = require(path.resolve(ocJsonLocation, source));
73
+ } catch (er) {
74
+ logger.err(String(er));
75
+ return;
76
+ }
76
77
 
77
- if (!isMockValid(pluginMock)) {
78
- logger.err(`├── ${pluginName} () => Error (skipping)`);
79
- logger.err(strings.errors.cli.MOCK_PLUGIN_IS_NOT_VALID);
80
- return;
81
- }
78
+ if (!isMockValid(pluginMock)) {
79
+ logger.err(`├── ${pluginName} () => Error (skipping)`);
80
+ logger.err(strings.errors.cli.MOCK_PLUGIN_IS_NOT_VALID);
81
+ return;
82
+ }
82
83
 
83
- const register = (pluginMock as MockedPlugin).register || defaultRegister;
84
- const execute = (pluginMock as MockedPlugin).execute || pluginMock;
84
+ const register = (pluginMock as MockedPlugin).register || defaultRegister;
85
+ const execute = (pluginMock as MockedPlugin).execute || pluginMock;
85
86
 
86
- logger.ok(`├── ${pluginName} () => [Function]`);
87
+ logger.ok(`├── ${pluginName} () => [Function]`);
87
88
 
88
- return {
89
- name: pluginName,
90
- register: { execute, register }
91
- };
92
- }).filter((pluginMock): pluginMock is PluginMock => !!pluginMock);
89
+ return {
90
+ name: pluginName,
91
+ register: { execute, register }
92
+ };
93
+ })
94
+ .filter((pluginMock): pluginMock is PluginMock => !!pluginMock);
93
95
 
94
96
  const findPath = (
95
97
  pathToResolve: string,
@@ -128,7 +130,7 @@ export default function getMockedPlugins(
128
130
  return plugins;
129
131
  }
130
132
 
131
- const content = fs.readJsonSync(ocJsonPath);
133
+ const content: OcJsonConfig = fs.readJsonSync(ocJsonPath);
132
134
  const ocJsonLocation = ocJsonPath.slice(0, -ocJsonFileName.length);
133
135
 
134
136
  if (!content.mocks || !content.mocks.plugins) {
@@ -138,10 +140,14 @@ export default function getMockedPlugins(
138
140
  logger.warn(strings.messages.cli.REGISTERING_MOCKED_PLUGINS);
139
141
 
140
142
  plugins = plugins.concat(
141
- registerStaticMocks(content.mocks.plugins.static, logger)
143
+ registerStaticMocks(content.mocks.plugins.static ?? {}, logger)
142
144
  );
143
145
  plugins = plugins.concat(
144
- registerDynamicMocks(ocJsonLocation, content.mocks.plugins.dynamic, logger)
146
+ registerDynamicMocks(
147
+ ocJsonLocation,
148
+ content.mocks.plugins.dynamic ?? {},
149
+ logger
150
+ )
145
151
  );
146
152
 
147
153
  return plugins;
@@ -1,21 +1,17 @@
1
1
  import strings from '../../../resources';
2
2
  import { Component } from '../../../types';
3
3
 
4
- export default function ensureCompilerIsDeclaredAsDevDependency(
5
- options: {
6
- componentPath: string;
7
- pkg: Component;
8
- template: string;
9
- },
10
- cb: (err: string | null, data: string) => void
11
- ): void {
4
+ export default function ensureCompilerIsDeclaredAsDevDependency(options: {
5
+ componentPath: string;
6
+ pkg: Component;
7
+ template: string;
8
+ }): string {
12
9
  const { componentPath, pkg, template } = options;
13
10
  const compilerDep = `${template}-compiler`;
14
11
  const isOk = pkg.devDependencies?.[compilerDep];
15
12
 
16
- const err = isOk
17
- ? null
18
- : strings.errors.cli.TEMPLATE_DEP_MISSING(template, componentPath);
13
+ if (!isOk)
14
+ throw strings.errors.cli.TEMPLATE_DEP_MISSING(template, componentPath);
19
15
 
20
- cb(err, compilerDep);
16
+ return compilerDep;
21
17
  }
@@ -5,21 +5,18 @@ import cleanRequire from '../../../utils/clean-require';
5
5
  import { Logger } from '../../logger';
6
6
  import installCompiler from './install-compiler';
7
7
 
8
- export default function getCompiler(
9
- options: {
10
- compilerDep: string;
11
- componentPath: string;
12
- logger: Logger;
13
- pkg: { devDependencies: Record<string, string> };
14
- },
15
- cb: (err: string | number | null, data: Template) => void
16
- ): void {
8
+ export default function getCompiler(options: {
9
+ compilerDep: string;
10
+ componentPath: string;
11
+ logger: Logger;
12
+ pkg: { devDependencies: Record<string, string> };
13
+ }): Promise<Template> {
17
14
  const { compilerDep, componentPath, logger, pkg } = options;
18
15
  const compilerPath = path.join(componentPath, 'node_modules', compilerDep);
19
16
  const compiler = cleanRequire<Template>(compilerPath, { justTry: true });
20
17
 
21
18
  if (compiler) {
22
- return cb(null, compiler);
19
+ return Promise.resolve(compiler);
23
20
  }
24
21
 
25
22
  let dependency = compilerDep;
@@ -34,5 +31,5 @@ export default function getCompiler(
34
31
  logger
35
32
  };
36
33
 
37
- installCompiler(installOptions, cb);
34
+ return installCompiler(installOptions);
38
35
  }
@@ -1,4 +1,3 @@
1
- import async from 'async';
2
1
  import coreModules from 'builtin-modules';
3
2
  import fs from 'fs-extra';
4
3
  import path from 'path';
@@ -10,31 +9,23 @@ import linkMissingDependencies from './link-missing-dependencies';
10
9
  import isTemplateLegacy from '../../../utils/is-template-legacy';
11
10
  import strings from '../../../resources';
12
11
  import { Logger } from '../../logger';
13
- import { Component } from '../../../types';
12
+ import { Component, Template } from '../../../types';
14
13
 
15
- const getComponentPackageJson = (
16
- componentPath: string,
17
- cb: (err: Error | null, data: Component) => void
18
- ) => fs.readJson(path.join(componentPath, 'package.json'), cb);
14
+ const getComponentPackageJson = (componentPath: string): Promise<Component> =>
15
+ fs.readJson(path.join(componentPath, 'package.json'));
19
16
 
20
17
  const union = (a: ReadonlyArray<string>, b: ReadonlyArray<string>) => [
21
18
  ...new Set([...a, ...b])
22
19
  ];
23
20
 
24
- export default function handleDependencies(
25
- options: {
26
- components: string[];
27
- logger: Logger;
28
- useComponentDependencies?: boolean;
29
- },
30
- callback: (
31
- err: string | null,
32
- data: {
33
- modules: string[];
34
- templates: Array<(...args: unknown[]) => unknown>;
35
- }
36
- ) => void
37
- ): void {
21
+ export default async function handleDependencies(options: {
22
+ components: string[];
23
+ logger: Logger;
24
+ useComponentDependencies?: boolean;
25
+ }): Promise<{
26
+ modules: string[];
27
+ templates: Array<Template>;
28
+ }> {
38
29
  const { components, logger, useComponentDependencies } = options;
39
30
 
40
31
  const dependencies: Record<string, string> = {};
@@ -45,103 +36,58 @@ export default function handleDependencies(
45
36
  }
46
37
  );
47
38
 
48
- const templates: Record<string, (...args: unknown[]) => unknown> = {};
49
- const addTemplate = (
50
- templateName: string,
51
- template: (...args: unknown[]) => unknown
52
- ) => {
39
+ const templates: Record<string, Template> = {};
40
+ const addTemplate = (templateName: string, template: Template) => {
53
41
  templates[templateName] = template;
54
42
  };
55
43
 
56
- const setupComponentDependencies = (
57
- componentPath: string,
58
- done: (err?: unknown) => void
59
- ) =>
60
- async.waterfall(
61
- [
62
- (cb: (err: Error | null, data: Component) => void) =>
63
- getComponentPackageJson(componentPath, cb),
64
- (
65
- pkg: Component,
66
- cb: (
67
- err: Error | null,
68
- data: {
69
- componentPath: string;
70
- logger: Logger;
71
- pkg: Component;
72
- template: string;
73
- }
74
- ) => void
75
- ) => {
76
- addDependencies(pkg.dependencies);
44
+ const setupComponentDependencies = async (
45
+ componentPath: string
46
+ ): Promise<void> => {
47
+ const pkg = await getComponentPackageJson(componentPath);
48
+ addDependencies(pkg.dependencies);
77
49
 
78
- const template = pkg.oc.files.template.type;
79
- if (isTemplateLegacy(template)) {
80
- return done();
81
- }
50
+ const template = pkg.oc.files.template.type;
51
+ if (isTemplateLegacy(template)) {
52
+ return;
53
+ }
82
54
 
83
- cb(null, { componentPath, logger, pkg, template });
84
- },
55
+ const compilerDep = ensureCompilerIsDeclaredAsDevDependency({
56
+ componentPath,
57
+ pkg,
58
+ template
59
+ });
60
+ Object.assign(options, { compilerDep });
85
61
 
86
- (
87
- options: {
88
- componentPath: string;
89
- logger: Logger;
90
- pkg: Component;
91
- template: string;
92
- },
93
- cb: any
94
- ) =>
95
- ensureCompilerIsDeclaredAsDevDependency(options, (err, compilerDep) =>
96
- cb(err, Object.assign(options, { compilerDep }))
97
- ),
62
+ const compiler = await getCompiler({
63
+ compilerDep,
64
+ componentPath,
65
+ logger,
66
+ pkg: pkg as { devDependencies: Record<string, string> }
67
+ });
68
+ Object.assign(options, { compiler });
69
+ addTemplate(template, compiler);
70
+ };
98
71
 
99
- (
100
- options: {
101
- componentPath: string;
102
- logger: Logger;
103
- pkg: Component & { devDependencies: Record<string, string> };
104
- template: string;
105
- compilerDep: string;
106
- },
107
- cb: any
108
- ) =>
109
- getCompiler(options, (err, compiler) =>
110
- cb(err, Object.assign(options, { compiler }))
111
- ),
72
+ logger.warn(strings.messages.cli.CHECKING_DEPENDENCIES);
112
73
 
113
- (
114
- options: {
115
- compiler: (...args: unknown[]) => unknown;
116
- template: string;
117
- },
118
- cb: any
119
- ) => {
120
- const { compiler, template } = options;
121
- addTemplate(template, compiler);
122
- cb();
123
- }
124
- ],
125
- done
126
- );
74
+ for (const component of components) {
75
+ await setupComponentDependencies(component);
76
+ }
127
77
 
128
- logger.warn(strings.messages.cli.CHECKING_DEPENDENCIES);
129
- async.eachSeries(components, setupComponentDependencies, err => {
130
- if (err) {
131
- return callback(err as any, undefined as any);
132
- }
78
+ const result = {
79
+ modules: union(coreModules, Object.keys(dependencies)).sort(),
80
+ templates: Object.values(templates)
81
+ };
82
+ if (useComponentDependencies) {
83
+ linkMissingDependencies({
84
+ componentPath: components[0],
85
+ dependencies,
86
+ logger
87
+ });
88
+ return result;
89
+ }
133
90
 
134
- const result = {
135
- modules: union(coreModules, Object.keys(dependencies)).sort(),
136
- templates: Object.values(templates)
137
- };
138
- const options = { dependencies, logger };
139
- if (useComponentDependencies) {
140
- return linkMissingDependencies(
141
- { ...options, componentPath: components[0] },
142
- err => callback(err, result)
143
- );
144
- }
145
- installMissingDependencies(options, err => callback(err, result));
146
- });
91
+ await installMissingDependencies({ dependencies, logger });
92
+ return result;
147
93
  }
@@ -5,15 +5,12 @@ import strings from '../../../resources/index';
5
5
  import { Logger } from '../../logger';
6
6
  import { Template } from '../../../types';
7
7
 
8
- export default function installCompiler(
9
- options: {
10
- compilerPath: string;
11
- componentPath: string;
12
- dependency: string;
13
- logger: Logger;
14
- },
15
- cb: (err: string | number | null, data: Template) => void
16
- ): void {
8
+ export default async function installCompiler(options: {
9
+ compilerPath: string;
10
+ componentPath: string;
11
+ dependency: string;
12
+ logger: Logger;
13
+ }): Promise<Template> {
17
14
  const { compilerPath, componentPath, dependency, logger } = options;
18
15
 
19
16
  logger.warn(strings.messages.cli.INSTALLING_DEPS(dependency, componentPath));
@@ -25,12 +22,22 @@ export default function installCompiler(
25
22
  silent: true,
26
23
  usePrefix: false
27
24
  };
25
+ const errorMsg = 'There was a problem while installing the compiler';
26
+
27
+ try {
28
+ await npm.installDependency(npmOptions);
29
+ logger.ok('OK');
28
30
 
29
- npm.installDependency(npmOptions, err => {
30
- err ? logger.err('FAIL') : logger.ok('OK');
31
31
  const compiler = cleanRequire<Template>(compilerPath, { justTry: true });
32
- const isOk = isTemplateValid(compiler);
33
- const errorMsg = 'There was a problem while installing the compiler';
34
- cb(!err && isOk ? null : errorMsg, compiler as Template);
35
- });
32
+
33
+ if (!isTemplateValid(compiler)) {
34
+ throw errorMsg;
35
+ }
36
+
37
+ return compiler;
38
+ } catch (err) {
39
+ logger.err('FAIL');
40
+
41
+ throw errorMsg;
42
+ }
36
43
  }