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
@@ -1,79 +1,76 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const lodash_1 = __importDefault(require("lodash"));
7
- const components_list_1 = __importDefault(require("./components-list"));
8
- const events_handler_1 = __importDefault(require("../events-handler"));
9
- const oc_get_unix_utc_timestamp_1 = __importDefault(require("oc-get-unix-utc-timestamp"));
10
- function componentsCache(conf, cdn) {
11
- let cachedComponentsList;
12
- let refreshLoop;
13
- const componentsList = (0, components_list_1.default)(conf, cdn);
14
- const poll = () => setTimeout(() => {
15
- componentsList.getFromJson((err, data) => {
16
- if (err) {
17
- events_handler_1.default.fire('error', {
18
- code: 'components_list_get',
19
- message: err
20
- });
21
- }
22
- else {
23
- events_handler_1.default.fire('cache-poll', (0, oc_get_unix_utc_timestamp_1.default)());
24
- if (data.lastEdit > cachedComponentsList.lastEdit) {
25
- cachedComponentsList = data;
26
- }
27
- }
28
- refreshLoop = poll();
29
- });
30
- }, conf.pollingInterval * 1000);
31
- const cacheDataAndStartPolling = (data, callback) => {
32
- cachedComponentsList = data;
33
- refreshLoop = poll();
34
- callback(null, data);
35
- };
36
- const returnError = (code, message, callback) => {
37
- events_handler_1.default.fire('error', { code, message });
38
- return callback(code, undefined);
39
- };
40
- return {
41
- get(callback) {
42
- if (!cachedComponentsList) {
43
- return returnError('components_cache_empty', `The component's cache was empty`, callback);
44
- }
45
- callback(null, cachedComponentsList);
46
- },
47
- load(callback) {
48
- componentsList.getFromJson((jsonErr, jsonComponents) => {
49
- componentsList.getFromDirectories((dirErr, dirComponents) => {
50
- if (dirErr) {
51
- return returnError('components_list_get', dirErr, callback);
52
- }
53
- else if (jsonErr ||
54
- !lodash_1.default.isEqual(dirComponents.components, jsonComponents.components)) {
55
- componentsList.save(dirComponents, saveErr => {
56
- if (saveErr) {
57
- return returnError('components_list_save', saveErr, callback);
58
- }
59
- cacheDataAndStartPolling(dirComponents, callback);
60
- });
61
- }
62
- else {
63
- cacheDataAndStartPolling(jsonComponents, callback);
64
- }
65
- });
66
- });
67
- },
68
- refresh(callback) {
69
- clearTimeout(refreshLoop);
70
- componentsList.refresh((err, components) => {
71
- if (err) {
72
- return returnError('components_cache_refresh', err, callback);
73
- }
74
- cacheDataAndStartPolling(components, callback);
75
- });
76
- }
77
- };
78
- }
79
- exports.default = componentsCache;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const lodash_1 = __importDefault(require("lodash"));
7
+ const components_list_1 = __importDefault(require("./components-list"));
8
+ const events_handler_1 = __importDefault(require("../events-handler"));
9
+ const oc_get_unix_utc_timestamp_1 = __importDefault(require("oc-get-unix-utc-timestamp"));
10
+ function componentsCache(conf, cdn) {
11
+ let cachedComponentsList;
12
+ let refreshLoop;
13
+ const componentsList = (0, components_list_1.default)(conf, cdn);
14
+ const poll = () => setTimeout(async () => {
15
+ try {
16
+ const data = await componentsList.getFromJson();
17
+ events_handler_1.default.fire('cache-poll', (0, oc_get_unix_utc_timestamp_1.default)());
18
+ if (data.lastEdit > cachedComponentsList.lastEdit) {
19
+ cachedComponentsList = data;
20
+ }
21
+ }
22
+ catch (err) {
23
+ events_handler_1.default.fire('error', {
24
+ code: 'components_list_get',
25
+ message: (err === null || err === void 0 ? void 0 : err.message) || String(err)
26
+ });
27
+ }
28
+ refreshLoop = poll();
29
+ }, conf.pollingInterval * 1000);
30
+ const cacheDataAndStartPolling = (data) => {
31
+ cachedComponentsList = data;
32
+ refreshLoop = poll();
33
+ return data;
34
+ };
35
+ const throwError = (code, message) => {
36
+ var _a;
37
+ events_handler_1.default.fire('error', { code, message: (_a = message === null || message === void 0 ? void 0 : message.message) !== null && _a !== void 0 ? _a : message });
38
+ throw code;
39
+ };
40
+ return {
41
+ get() {
42
+ if (!cachedComponentsList) {
43
+ return throwError('components_cache_empty', `The component's cache was empty`);
44
+ }
45
+ return cachedComponentsList;
46
+ },
47
+ async load() {
48
+ const dirComponents = await componentsList
49
+ .getFromDirectories()
50
+ .catch(err => throwError('components_list_get', err));
51
+ const jsonComponents = await componentsList
52
+ .getFromJson()
53
+ .catch(() => null);
54
+ if (!jsonComponents ||
55
+ !lodash_1.default.isEqual(dirComponents.components, jsonComponents.components)) {
56
+ await componentsList
57
+ .save(dirComponents)
58
+ .catch(err => throwError('components_list_save', err));
59
+ }
60
+ cacheDataAndStartPolling(dirComponents);
61
+ return dirComponents;
62
+ },
63
+ async refresh() {
64
+ clearTimeout(refreshLoop);
65
+ try {
66
+ const components = await componentsList.refresh();
67
+ cacheDataAndStartPolling(components);
68
+ return components;
69
+ }
70
+ catch (err) {
71
+ return throwError('components_cache_refresh', err);
72
+ }
73
+ }
74
+ };
75
+ }
76
+ exports.default = componentsCache;
@@ -1,5 +1,6 @@
1
- import { Cdn, ComponentsDetails, ComponentsList, Config } from '../../types';
2
- export default function componentsDetails(conf: Config, cdn: Cdn): {
3
- get: (callback: (err: string | null, data: ComponentsDetails) => void) => void;
4
- refresh: (componentsList: ComponentsList, callback: (err: Error | null, data: ComponentsDetails) => void) => void;
5
- };
1
+ import { ComponentsDetails, ComponentsList, Config } from '../../types';
2
+ import { StorageAdapter } from 'oc-storage-adapters-utils';
3
+ export default function componentsDetails(conf: Config, cdn: StorageAdapter): {
4
+ get: () => Promise<ComponentsDetails>;
5
+ refresh: (componentsList: ComponentsList) => Promise<ComponentsDetails>;
6
+ };
@@ -1,75 +1,64 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const async_1 = __importDefault(require("async"));
7
- const lodash_1 = __importDefault(require("lodash"));
8
- const events_handler_1 = __importDefault(require("./events-handler"));
9
- const oc_get_unix_utc_timestamp_1 = __importDefault(require("oc-get-unix-utc-timestamp"));
10
- function componentsDetails(conf, cdn) {
11
- const returnError = (code, message, callback) => {
12
- var _a, _b;
13
- events_handler_1.default.fire('error', {
14
- code,
15
- message: (_b = (_a = message) === null || _a === void 0 ? void 0 : _a.message) !== null && _b !== void 0 ? _b : message
16
- });
17
- return callback(code);
18
- };
19
- const filePath = () => `${conf.storage.options.componentsDir}/components-details.json`;
20
- const getFromJson = (callback) => cdn.getJson(filePath(), true, callback);
21
- const getFromDirectories = (options, callback) => {
22
- const details = Object.assign({}, lodash_1.default.cloneDeep(options.details));
23
- details.components = details.components || {};
24
- const missing = [];
25
- lodash_1.default.each(options.componentsList.components, (versions, name) => {
26
- details.components[name] = details.components[name] || {};
27
- lodash_1.default.each(versions, version => {
28
- if (!details.components[name][version]) {
29
- missing.push({ name, version });
30
- }
31
- });
32
- });
33
- async_1.default.eachLimit(missing, cdn.maxConcurrentRequests, ({ name, version }, next) => {
34
- cdn.getJson(`${conf.storage.options.componentsDir}/${name}/${version}/package.json`, true, (err, content) => {
35
- if (err) {
36
- return next(err);
37
- }
38
- details.components[name][version] = {
39
- publishDate: content.oc.date || 0
40
- };
41
- next();
42
- });
43
- }, err => callback(err, {
44
- lastEdit: (0, oc_get_unix_utc_timestamp_1.default)(),
45
- components: details.components
46
- }));
47
- };
48
- const save = (data, callback) => cdn.putFileContent(JSON.stringify(data), filePath(), true, callback);
49
- const refresh = (componentsList, callback) => {
50
- getFromJson((jsonErr, details) => {
51
- getFromDirectories({ componentsList, details }, (dirErr, dirDetails) => {
52
- if (dirErr) {
53
- return returnError('components_details_get', dirErr, callback);
54
- }
55
- else if (jsonErr ||
56
- !lodash_1.default.isEqual(dirDetails.components, details.components)) {
57
- save(dirDetails, saveErr => {
58
- if (saveErr) {
59
- return returnError('components_details_save', saveErr, callback);
60
- }
61
- callback(null, dirDetails);
62
- });
63
- }
64
- else {
65
- callback(null, details);
66
- }
67
- });
68
- });
69
- };
70
- return {
71
- get: getFromJson,
72
- refresh
73
- };
74
- }
75
- exports.default = componentsDetails;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const p_limit_1 = __importDefault(require("p-limit"));
7
+ const lodash_1 = __importDefault(require("lodash"));
8
+ const events_handler_1 = __importDefault(require("./events-handler"));
9
+ const oc_get_unix_utc_timestamp_1 = __importDefault(require("oc-get-unix-utc-timestamp"));
10
+ function componentsDetails(conf, cdn) {
11
+ const returnError = (code, message) => {
12
+ var _a, _b;
13
+ events_handler_1.default.fire('error', {
14
+ code,
15
+ message: (_b = (_a = message) === null || _a === void 0 ? void 0 : _a.message) !== null && _b !== void 0 ? _b : message
16
+ });
17
+ throw code;
18
+ };
19
+ const filePath = () => `${conf.storage.options.componentsDir}/components-details.json`;
20
+ const getFromJson = () => cdn.getJson(filePath(), true);
21
+ const getFromDirectories = async (options) => {
22
+ const details = Object.assign({}, lodash_1.default.cloneDeep(options.details));
23
+ details.components = details.components || {};
24
+ const missing = [];
25
+ lodash_1.default.each(options.componentsList.components, (versions, name) => {
26
+ details.components[name] = details.components[name] || {};
27
+ lodash_1.default.each(versions, version => {
28
+ if (!details.components[name][version]) {
29
+ missing.push({ name, version });
30
+ }
31
+ });
32
+ });
33
+ const limit = (0, p_limit_1.default)(cdn.maxConcurrentRequests);
34
+ await Promise.all(missing.map(({ name, version }) => limit(async () => {
35
+ const content = await cdn.getJson(`${conf.storage.options.componentsDir}/${name}/${version}/package.json`, true);
36
+ details.components[name][version] = {
37
+ publishDate: content.oc.date || 0
38
+ };
39
+ })));
40
+ return {
41
+ lastEdit: (0, oc_get_unix_utc_timestamp_1.default)(),
42
+ components: details.components
43
+ };
44
+ };
45
+ const save = (data) => cdn.putFileContent(JSON.stringify(data), filePath(), true);
46
+ const refresh = async (componentsList) => {
47
+ const jsonDetails = await getFromJson().catch(() => undefined);
48
+ const dirDetails = await getFromDirectories({
49
+ componentsList,
50
+ details: jsonDetails
51
+ }).catch(err => returnError('components_details_get', err));
52
+ if (!jsonDetails ||
53
+ !lodash_1.default.isEqual(dirDetails.components, jsonDetails.components)) {
54
+ await save(dirDetails).catch(err => returnError('components_details_save', err));
55
+ return dirDetails;
56
+ }
57
+ return jsonDetails;
58
+ };
59
+ return {
60
+ get: getFromJson,
61
+ refresh
62
+ };
63
+ }
64
+ exports.default = componentsDetails;
@@ -1,40 +1,40 @@
1
- /// <reference types="node" />
2
- import { IncomingHttpHeaders } from 'http';
3
- declare type Subscription<T = any> = (data: T) => void;
4
- export interface RequestData {
5
- body: any;
6
- duration: number;
7
- headers: IncomingHttpHeaders;
8
- method: string;
9
- path: string;
10
- relativeUrl: string;
11
- query: Record<string, any>;
12
- url: string;
13
- statusCode: number;
14
- errorDetails?: string;
15
- errorCode?: string;
16
- }
17
- declare type Events = {
18
- error: {
19
- code: string;
20
- message: string;
21
- };
22
- start: unknown;
23
- 'cache-poll': number;
24
- request: RequestData;
25
- 'component-retrieved': {
26
- headers: IncomingHttpHeaders;
27
- name: string;
28
- parameters: IncomingHttpHeaders;
29
- requestVersion: string;
30
- duration: number;
31
- };
32
- };
33
- declare type EventsHandler = {
34
- fire<T extends keyof Events>(eventName: T, data: Events[T]): void;
35
- on<T extends keyof Events>(eventName: T, listener: Subscription<Events[T]>): void;
36
- off<T extends keyof Events>(eventName: T, listener: Subscription<Events[T]>): void;
37
- reset(): void;
38
- };
39
- declare const eventsHandler: EventsHandler;
40
- export default eventsHandler;
1
+ /// <reference types="node" />
2
+ import { IncomingHttpHeaders } from 'http';
3
+ declare type Subscription<T = any> = (data: T) => void;
4
+ export interface RequestData {
5
+ body: any;
6
+ duration: number;
7
+ headers: IncomingHttpHeaders;
8
+ method: string;
9
+ path: string;
10
+ relativeUrl: string;
11
+ query: Record<string, any>;
12
+ url: string;
13
+ statusCode: number;
14
+ errorDetails?: string;
15
+ errorCode?: string;
16
+ }
17
+ declare type Events = {
18
+ error: {
19
+ code: string;
20
+ message: string;
21
+ };
22
+ start: unknown;
23
+ 'cache-poll': number;
24
+ request: RequestData;
25
+ 'component-retrieved': {
26
+ headers: IncomingHttpHeaders;
27
+ name: string;
28
+ parameters: IncomingHttpHeaders;
29
+ requestVersion: string;
30
+ duration: number;
31
+ };
32
+ };
33
+ declare type EventsHandler = {
34
+ fire<T extends keyof Events>(eventName: T, data: Events[T]): void;
35
+ on<T extends keyof Events>(eventName: T, listener: Subscription<Events[T]>): void;
36
+ off<T extends keyof Events>(eventName: T, listener: Subscription<Events[T]>): void;
37
+ reset(): void;
38
+ };
39
+ declare const eventsHandler: EventsHandler;
40
+ export default eventsHandler;
@@ -1,37 +1,37 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const resources_1 = __importDefault(require("../../resources"));
7
- let subscriptions = {};
8
- const eventsHandler = {
9
- fire(eventName, eventData) {
10
- if (subscriptions[eventName]) {
11
- subscriptions[eventName].forEach(callback => {
12
- callback(eventData);
13
- });
14
- }
15
- },
16
- on(eventName, callback) {
17
- if (typeof callback !== 'function') {
18
- throw resources_1.default.errors.registry.CONFIGURATION_ONREQUEST_MUST_BE_FUNCTION;
19
- }
20
- if (!subscriptions[eventName]) {
21
- subscriptions[eventName] = [];
22
- }
23
- subscriptions[eventName].push(callback);
24
- },
25
- off(eventName, callback) {
26
- if (typeof callback !== 'function') {
27
- throw resources_1.default.errors.registry.CONFIGURATION_OFFREQUEST_MUST_BE_FUNCTION;
28
- }
29
- if (subscriptions[eventName]) {
30
- subscriptions[eventName] = subscriptions[eventName].filter(sub => sub !== callback);
31
- }
32
- },
33
- reset() {
34
- subscriptions = {};
35
- }
36
- };
37
- exports.default = eventsHandler;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const resources_1 = __importDefault(require("../../resources"));
7
+ let subscriptions = {};
8
+ const eventsHandler = {
9
+ fire(eventName, eventData) {
10
+ if (subscriptions[eventName]) {
11
+ subscriptions[eventName].forEach(callback => {
12
+ callback(eventData);
13
+ });
14
+ }
15
+ },
16
+ on(eventName, callback) {
17
+ if (typeof callback !== 'function') {
18
+ throw resources_1.default.errors.registry.CONFIGURATION_ONREQUEST_MUST_BE_FUNCTION;
19
+ }
20
+ if (!subscriptions[eventName]) {
21
+ subscriptions[eventName] = [];
22
+ }
23
+ subscriptions[eventName].push(callback);
24
+ },
25
+ off(eventName, callback) {
26
+ if (typeof callback !== 'function') {
27
+ throw resources_1.default.errors.registry.CONFIGURATION_OFFREQUEST_MUST_BE_FUNCTION;
28
+ }
29
+ if (subscriptions[eventName]) {
30
+ subscriptions[eventName] = subscriptions[eventName].filter(sub => sub !== callback);
31
+ }
32
+ },
33
+ reset() {
34
+ subscriptions = {};
35
+ }
36
+ };
37
+ exports.default = eventsHandler;
@@ -1,8 +1,8 @@
1
- /// <reference types="multer" />
2
- import { PackageJson } from 'type-fest';
3
- export default function extractPackage(files: Express.Multer.File[] | {
4
- [fieldname: string]: Express.Multer.File[];
5
- }, callback: (err: Error | null, data: {
6
- outputFolder: string;
7
- packageJson: PackageJson;
8
- }) => void): void;
1
+ /// <reference types="multer" />
2
+ import { PackageJson } from 'type-fest';
3
+ export default function extractPackage(files: Express.Multer.File[] | {
4
+ [fieldname: string]: Express.Multer.File[];
5
+ }): Promise<{
6
+ outputFolder: string;
7
+ packageJson: PackageJson;
8
+ }>;
@@ -1,29 +1,26 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const path_1 = __importDefault(require("path"));
7
- const targz_1 = __importDefault(require("targz"));
8
- const get_package_json_from_temp_dir_1 = __importDefault(require("./get-package-json-from-temp-dir"));
9
- function extractPackage(files, callback) {
10
- const packageFile = files[0];
11
- const packagePath = path_1.default.resolve(packageFile.path);
12
- const packageUntarOutput = path_1.default.resolve(packageFile.path, '..', packageFile.filename.replace('.tar.gz', ''));
13
- const packageOutput = path_1.default.resolve(packageUntarOutput, '_package');
14
- targz_1.default.decompress({
15
- src: packagePath,
16
- dest: packageUntarOutput
17
- }, err => {
18
- if (err) {
19
- return callback(err);
20
- }
21
- (0, get_package_json_from_temp_dir_1.default)(packageOutput, (err, packageJson) => {
22
- callback(err, {
23
- outputFolder: packageOutput,
24
- packageJson: packageJson
25
- });
26
- });
27
- });
28
- }
29
- exports.default = extractPackage;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const path_1 = __importDefault(require("path"));
7
+ const targz_1 = __importDefault(require("targz"));
8
+ const util_1 = require("util");
9
+ const get_package_json_from_temp_dir_1 = __importDefault(require("./get-package-json-from-temp-dir"));
10
+ async function extractPackage(files) {
11
+ const packageFile = files[0];
12
+ const packagePath = path_1.default.resolve(packageFile.path);
13
+ const packageUntarOutput = path_1.default.resolve(packageFile.path, '..', packageFile.filename.replace('.tar.gz', ''));
14
+ const packageOutput = path_1.default.resolve(packageUntarOutput, '_package');
15
+ const decompress = (0, util_1.promisify)(targz_1.default.decompress);
16
+ await decompress({
17
+ src: packagePath,
18
+ dest: packageUntarOutput
19
+ });
20
+ const packageJson = await (0, get_package_json_from_temp_dir_1.default)(packageOutput);
21
+ return {
22
+ outputFolder: packageOutput,
23
+ packageJson: packageJson
24
+ };
25
+ }
26
+ exports.default = extractPackage;
@@ -1,2 +1,2 @@
1
- import { PackageJson } from 'type-fest';
2
- export default function getPackageJsonFromTempDir(tempDirPath: string, callback: (err: Error | null, data: PackageJson) => void): void;
1
+ import { PackageJson } from 'type-fest';
2
+ export default function getPackageJsonFromTempDir(tempDirPath: string): Promise<PackageJson>;
@@ -1,11 +1,11 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const fs_extra_1 = __importDefault(require("fs-extra"));
7
- const path_1 = __importDefault(require("path"));
8
- function getPackageJsonFromTempDir(tempDirPath, callback) {
9
- return fs_extra_1.default.readJson(path_1.default.join(tempDirPath, 'package.json'), callback);
10
- }
11
- exports.default = getPackageJsonFromTempDir;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const fs_extra_1 = __importDefault(require("fs-extra"));
7
+ const path_1 = __importDefault(require("path"));
8
+ function getPackageJsonFromTempDir(tempDirPath) {
9
+ return fs_extra_1.default.readJson(path_1.default.join(tempDirPath, 'package.json'));
10
+ }
11
+ exports.default = getPackageJsonFromTempDir;
@@ -1,13 +1,14 @@
1
- import { Config } from '../../types';
2
- declare type Cb = (err: string | null, data: string) => void;
3
- declare type Options = {
4
- version?: string;
5
- name?: string;
6
- headers?: Record<string, string>;
7
- parameters?: Record<string, string>;
8
- };
9
- export default function nestedRenderer(renderer: any, conf: Config): {
10
- renderComponent(componentName: string, renderOptions: Options | Cb, callback?: Cb | undefined): any;
11
- renderComponents(components: Options[], renderOptions: Options, callback: Cb): void;
12
- };
13
- export {};
1
+ import { Config } from '../../types';
2
+ import { GetComponentResult, RendererOptions } from '../routes/helpers/get-component';
3
+ interface Options {
4
+ ip?: string;
5
+ version?: string;
6
+ name?: string;
7
+ headers?: Record<string, string>;
8
+ parameters?: Record<string, string>;
9
+ }
10
+ export default function nestedRenderer(rendererWithCallback: (options: RendererOptions, cb: (result: GetComponentResult) => void) => void, conf: Config): {
11
+ renderComponent(componentName: string, options?: Options): Promise<string>;
12
+ renderComponents(components: Options[], options?: Options): Promise<Array<string | Error>>;
13
+ };
14
+ export {};