oc 0.49.26 → 0.49.28

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 (247) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/cli/commands.d.ts +163 -163
  3. package/dist/cli/commands.js +162 -162
  4. package/dist/cli/domain/clean.d.ts +2 -2
  5. package/dist/cli/domain/clean.js +24 -24
  6. package/dist/cli/domain/get-components-by-dir.d.ts +1 -1
  7. package/dist/cli/domain/get-components-by-dir.js +41 -41
  8. package/dist/cli/domain/get-mocked-plugins.d.ts +10 -10
  9. package/dist/cli/domain/get-mocked-plugins.js +88 -88
  10. package/dist/cli/domain/handle-dependencies/ensure-compiler-is-declared-as-devDependency.d.ts +6 -6
  11. package/dist/cli/domain/handle-dependencies/ensure-compiler-is-declared-as-devDependency.js +15 -15
  12. package/dist/cli/domain/handle-dependencies/get-compiler.d.ts +10 -10
  13. package/dist/cli/domain/handle-dependencies/get-compiler.js +28 -28
  14. package/dist/cli/domain/handle-dependencies/get-missing-dependencies.d.ts +1 -1
  15. package/dist/cli/domain/handle-dependencies/get-missing-dependencies.js +18 -18
  16. package/dist/cli/domain/handle-dependencies/index.d.ts +10 -10
  17. package/dist/cli/domain/handle-dependencies/index.js +70 -70
  18. package/dist/cli/domain/handle-dependencies/install-compiler.d.ts +8 -8
  19. package/dist/cli/domain/handle-dependencies/install-compiler.js +58 -58
  20. package/dist/cli/domain/handle-dependencies/install-missing-dependencies.d.ts +5 -5
  21. package/dist/cli/domain/handle-dependencies/install-missing-dependencies.js +63 -63
  22. package/dist/cli/domain/handle-dependencies/link-missing-dependencies.d.ts +6 -6
  23. package/dist/cli/domain/handle-dependencies/link-missing-dependencies.js +32 -32
  24. package/dist/cli/domain/handle-dependencies/require-template.d.ts +17 -17
  25. package/dist/cli/domain/handle-dependencies/require-template.js +34 -34
  26. package/dist/cli/domain/init-template/index.d.ts +10 -10
  27. package/dist/cli/domain/init-template/index.js +44 -44
  28. package/dist/cli/domain/init-template/install-template.d.ts +11 -11
  29. package/dist/cli/domain/init-template/install-template.js +58 -58
  30. package/dist/cli/domain/init-template/scaffold.d.ts +11 -11
  31. package/dist/cli/domain/init-template/scaffold.js +34 -34
  32. package/dist/cli/domain/local.d.ts +21 -21
  33. package/dist/cli/domain/local.js +86 -86
  34. package/dist/cli/domain/mock.d.ts +5 -5
  35. package/dist/cli/domain/mock.js +33 -33
  36. package/dist/cli/domain/package-components.d.ts +9 -9
  37. package/dist/cli/domain/package-components.js +71 -71
  38. package/dist/cli/domain/registry.d.ts +20 -20
  39. package/dist/cli/domain/registry.js +143 -143
  40. package/dist/cli/domain/url-parser.d.ts +14 -14
  41. package/dist/cli/domain/url-parser.js +31 -31
  42. package/dist/cli/domain/watch.d.ts +1 -1
  43. package/dist/cli/domain/watch.js +29 -29
  44. package/dist/cli/facade/clean.d.ts +16 -16
  45. package/dist/cli/facade/clean.js +58 -58
  46. package/dist/cli/facade/dev.d.ts +146 -114
  47. package/dist/cli/facade/dev.js +177 -177
  48. package/dist/cli/facade/init.d.ts +18 -18
  49. package/dist/cli/facade/init.js +39 -39
  50. package/dist/cli/facade/mock.d.ts +18 -18
  51. package/dist/cli/facade/mock.js +12 -12
  52. package/dist/cli/facade/package.d.ts +19 -19
  53. package/dist/cli/facade/package.js +49 -49
  54. package/dist/cli/facade/preview.d.ts +14 -14
  55. package/dist/cli/facade/preview.js +20 -20
  56. package/dist/cli/facade/publish.d.ts +24 -24
  57. package/dist/cli/facade/publish.js +145 -145
  58. package/dist/cli/facade/registry-add.d.ts +14 -14
  59. package/dist/cli/facade/registry-add.js +18 -18
  60. package/dist/cli/facade/registry-ls.d.ts +10 -10
  61. package/dist/cli/facade/registry-ls.js +27 -27
  62. package/dist/cli/facade/registry-remove.d.ts +14 -14
  63. package/dist/cli/facade/registry-remove.js +18 -18
  64. package/dist/cli/facade/registry.d.ts +5 -5
  65. package/dist/cli/facade/registry.js +9 -9
  66. package/dist/cli/index.d.ts +1 -1
  67. package/dist/cli/index.js +91 -91
  68. package/dist/cli/logger.d.ts +8 -8
  69. package/dist/cli/logger.js +19 -19
  70. package/dist/cli/programmatic-api.d.ts +84 -84
  71. package/dist/cli/programmatic-api.js +66 -66
  72. package/dist/cli/validate-command.d.ts +2 -2
  73. package/dist/cli/validate-command.js +18 -18
  74. package/dist/components/oc-client/_package/package.json +1 -1
  75. package/dist/components/oc-client/_package/server.js +1 -1
  76. package/dist/components/oc-client/_package/src/oc-client.min.js +2 -2
  77. package/dist/components/oc-client/_package/src/oc-client.min.map +1 -1
  78. package/dist/components/oc-client/_package/template.js +11 -1
  79. package/dist/components/oc-client/package.json +1 -1
  80. package/dist/components/oc-client/src/oc-client.min.js +2 -2
  81. package/dist/components/oc-client/src/oc-client.min.map +1 -1
  82. package/dist/index.d.ts +3 -3
  83. package/dist/index.js +12 -12
  84. package/dist/oc-cli.d.ts +2 -2
  85. package/dist/oc-cli.js +3 -3
  86. package/dist/registry/app-start.d.ts +3 -3
  87. package/dist/registry/app-start.js +44 -44
  88. package/dist/registry/domain/authentication.d.ts +7 -7
  89. package/dist/registry/domain/authentication.js +53 -53
  90. package/dist/registry/domain/components-cache/components-list.d.ts +8 -8
  91. package/dist/registry/domain/components-cache/components-list.js +73 -73
  92. package/dist/registry/domain/components-cache/index.d.ts +7 -7
  93. package/dist/registry/domain/components-cache/index.js +81 -81
  94. package/dist/registry/domain/components-details.d.ts +6 -6
  95. package/dist/registry/domain/components-details.js +63 -63
  96. package/dist/registry/domain/events-handler.d.ts +48 -40
  97. package/dist/registry/domain/events-handler.js +37 -37
  98. package/dist/registry/domain/extract-package.d.ts +8 -8
  99. package/dist/registry/domain/extract-package.js +30 -30
  100. package/dist/registry/domain/get-package-json-from-temp-dir.d.ts +2 -2
  101. package/dist/registry/domain/get-package-json-from-temp-dir.js +11 -11
  102. package/dist/registry/domain/nested-renderer.d.ts +14 -14
  103. package/dist/registry/domain/nested-renderer.js +59 -59
  104. package/dist/registry/domain/options-sanitiser.d.ts +6 -6
  105. package/dist/registry/domain/options-sanitiser.js +113 -113
  106. package/dist/registry/domain/plugins-initialiser.d.ts +3 -3
  107. package/dist/registry/domain/plugins-initialiser.js +95 -95
  108. package/dist/registry/domain/register-templates.d.ts +5 -5
  109. package/dist/registry/domain/register-templates.js +37 -37
  110. package/dist/registry/domain/repository.d.ts +26 -26
  111. package/dist/registry/domain/repository.js +255 -255
  112. package/dist/registry/domain/require-wrapper.d.ts +2 -2
  113. package/dist/registry/domain/require-wrapper.js +33 -33
  114. package/dist/registry/domain/sanitiser.d.ts +2 -2
  115. package/dist/registry/domain/sanitiser.js +52 -52
  116. package/dist/registry/domain/storage-adapter.d.ts +10 -10
  117. package/dist/registry/domain/storage-adapter.js +55 -55
  118. package/dist/registry/domain/url-builder.d.ts +10 -10
  119. package/dist/registry/domain/url-builder.js +60 -60
  120. package/dist/registry/domain/validators/component-parameters.d.ts +11 -11
  121. package/dist/registry/domain/validators/component-parameters.js +79 -79
  122. package/dist/registry/domain/validators/index.d.ts +16 -16
  123. package/dist/registry/domain/validators/index.js +29 -29
  124. package/dist/registry/domain/validators/node-version.d.ts +15 -15
  125. package/dist/registry/domain/validators/node-version.js +40 -40
  126. package/dist/registry/domain/validators/oc-cli-version.d.ts +15 -15
  127. package/dist/registry/domain/validators/oc-cli-version.js +34 -34
  128. package/dist/registry/domain/validators/package-json-validator.d.ts +13 -13
  129. package/dist/registry/domain/validators/package-json-validator.js +23 -23
  130. package/dist/registry/domain/validators/plugins-requirements.d.ts +9 -9
  131. package/dist/registry/domain/validators/plugins-requirements.js +22 -22
  132. package/dist/registry/domain/validators/registry-configuration.d.ts +9 -9
  133. package/dist/registry/domain/validators/registry-configuration.js +117 -117
  134. package/dist/registry/domain/validators/uploaded-package.d.ts +14 -14
  135. package/dist/registry/domain/validators/uploaded-package.js +25 -25
  136. package/dist/registry/domain/version-handler.d.ts +2 -2
  137. package/dist/registry/domain/version-handler.js +22 -22
  138. package/dist/registry/index.d.ts +64 -48
  139. package/dist/registry/index.js +109 -109
  140. package/dist/registry/middleware/base-url-handler.d.ts +2 -2
  141. package/dist/registry/middleware/base-url-handler.js +12 -12
  142. package/dist/registry/middleware/cors.d.ts +2 -2
  143. package/dist/registry/middleware/cors.js +11 -11
  144. package/dist/registry/middleware/discovery-handler.d.ts +2 -2
  145. package/dist/registry/middleware/discovery-handler.js +15 -15
  146. package/dist/registry/middleware/file-uploads.d.ts +2 -2
  147. package/dist/registry/middleware/file-uploads.js +23 -23
  148. package/dist/registry/middleware/index.d.ts +3 -3
  149. package/dist/registry/middleware/index.js +48 -48
  150. package/dist/registry/middleware/request-handler.d.ts +2 -2
  151. package/dist/registry/middleware/request-handler.js +30 -30
  152. package/dist/registry/router.d.ts +4 -4
  153. package/dist/registry/router.js +56 -56
  154. package/dist/registry/routes/component-info.d.ts +4 -4
  155. package/dist/registry/routes/component-info.js +95 -94
  156. package/dist/registry/routes/component-preview.d.ts +4 -4
  157. package/dist/registry/routes/component-preview.js +72 -72
  158. package/dist/registry/routes/component.d.ts +4 -4
  159. package/dist/registry/routes/component.js +43 -43
  160. package/dist/registry/routes/components.d.ts +4 -4
  161. package/dist/registry/routes/components.js +78 -78
  162. package/dist/registry/routes/dependencies.d.ts +3 -3
  163. package/dist/registry/routes/dependencies.js +28 -28
  164. package/dist/registry/routes/helpers/apply-default-values.d.ts +2 -2
  165. package/dist/registry/routes/helpers/apply-default-values.js +13 -13
  166. package/dist/registry/routes/helpers/get-available-dependencies.d.ts +8 -8
  167. package/dist/registry/routes/helpers/get-available-dependencies.js +23 -23
  168. package/dist/registry/routes/helpers/get-component-fallback.d.ts +17 -17
  169. package/dist/registry/routes/helpers/get-component-fallback.js +95 -95
  170. package/dist/registry/routes/helpers/get-component-retrieving-info.d.ts +20 -20
  171. package/dist/registry/routes/helpers/get-component-retrieving-info.js +24 -24
  172. package/dist/registry/routes/helpers/get-component.d.ts +34 -34
  173. package/dist/registry/routes/helpers/get-component.js +445 -435
  174. package/dist/registry/routes/helpers/get-components-history.d.ts +8 -8
  175. package/dist/registry/routes/helpers/get-components-history.js +28 -28
  176. package/dist/registry/routes/helpers/is-url-discoverable.d.ts +3 -3
  177. package/dist/registry/routes/helpers/is-url-discoverable.js +21 -21
  178. package/dist/registry/routes/index.d.ts +3 -3
  179. package/dist/registry/routes/index.js +93 -93
  180. package/dist/registry/routes/plugins.d.ts +3 -3
  181. package/dist/registry/routes/plugins.js +17 -17
  182. package/dist/registry/routes/publish.d.ts +3 -3
  183. package/dist/registry/routes/publish.js +101 -101
  184. package/dist/registry/routes/static-redirector.d.ts +3 -3
  185. package/dist/registry/routes/static-redirector.js +86 -86
  186. package/dist/registry/views/index.d.ts +2 -2
  187. package/dist/registry/views/index.js +39 -39
  188. package/dist/registry/views/info.d.ts +16 -16
  189. package/dist/registry/views/info.js +39 -39
  190. package/dist/registry/views/partials/component-author.d.ts +8 -8
  191. package/dist/registry/views/partials/component-author.js +20 -20
  192. package/dist/registry/views/partials/component-parameters.d.ts +5 -5
  193. package/dist/registry/views/partials/component-parameters.js +24 -24
  194. package/dist/registry/views/partials/component-state.d.ts +5 -5
  195. package/dist/registry/views/partials/component-state.js +6 -6
  196. package/dist/registry/views/partials/component-versions.d.ts +5 -5
  197. package/dist/registry/views/partials/component-versions.js +9 -9
  198. package/dist/registry/views/partials/components-dependencies.d.ts +2 -2
  199. package/dist/registry/views/partials/components-dependencies.js +12 -12
  200. package/dist/registry/views/partials/components-history.d.ts +2 -2
  201. package/dist/registry/views/partials/components-history.js +10 -10
  202. package/dist/registry/views/partials/components-list.d.ts +2 -2
  203. package/dist/registry/views/partials/components-list.js +26 -26
  204. package/dist/registry/views/partials/components-plugins.d.ts +2 -2
  205. package/dist/registry/views/partials/components-plugins.js +8 -8
  206. package/dist/registry/views/partials/components-templates.d.ts +2 -2
  207. package/dist/registry/views/partials/components-templates.js +14 -14
  208. package/dist/registry/views/partials/layout.d.ts +8 -8
  209. package/dist/registry/views/partials/layout.js +11 -11
  210. package/dist/registry/views/partials/property.d.ts +2 -2
  211. package/dist/registry/views/partials/property.js +11 -11
  212. package/dist/registry/views/partials/selected-checkbox.d.ts +4 -4
  213. package/dist/registry/views/partials/selected-checkbox.js +7 -7
  214. package/dist/registry/views/preview.d.ts +8 -8
  215. package/dist/registry/views/preview.js +9 -9
  216. package/dist/registry/views/static/index.d.ts +2 -2
  217. package/dist/registry/views/static/index.js +3 -3
  218. package/dist/registry/views/static/info.d.ts +2 -2
  219. package/dist/registry/views/static/info.js +3 -3
  220. package/dist/registry/views/static/style.d.ts +2 -2
  221. package/dist/registry/views/static/style.js +3 -3
  222. package/dist/resources/index.d.ts +134 -134
  223. package/dist/resources/index.js +145 -145
  224. package/dist/resources/settings.d.ts +17 -17
  225. package/dist/resources/settings.js +18 -18
  226. package/dist/types.d.ts +231 -231
  227. package/dist/types.js +2 -2
  228. package/dist/utils/clean-require.d.ts +16 -16
  229. package/dist/utils/clean-require.js +18 -18
  230. package/dist/utils/date-stringify.d.ts +1 -1
  231. package/dist/utils/date-stringify.js +22 -22
  232. package/dist/utils/error-to-string.d.ts +1 -1
  233. package/dist/utils/error-to-string.js +15 -15
  234. package/dist/utils/is-template-legacy.d.ts +3 -3
  235. package/dist/utils/is-template-legacy.js +6 -6
  236. package/dist/utils/is-template-valid.d.ts +4 -4
  237. package/dist/utils/is-template-valid.js +12 -12
  238. package/dist/utils/module-exists.d.ts +1 -1
  239. package/dist/utils/module-exists.js +15 -15
  240. package/dist/utils/npm-utils.d.ts +20 -20
  241. package/dist/utils/npm-utils.js +74 -74
  242. package/dist/utils/put.d.ts +2 -2
  243. package/dist/utils/put.js +29 -29
  244. package/dist/utils/strip-version.d.ts +1 -1
  245. package/dist/utils/strip-version.js +11 -11
  246. package/logintervals.md +1 -1
  247. package/package.json +20 -20
@@ -1,109 +1,109 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- const safe_1 = __importDefault(require("colors/safe"));
30
- const express_1 = __importDefault(require("express"));
31
- const http_1 = __importDefault(require("http"));
32
- const lodash_1 = __importDefault(require("lodash"));
33
- const app_start_1 = __importDefault(require("./app-start"));
34
- const events_handler_1 = __importDefault(require("./domain/events-handler"));
35
- const middleware = __importStar(require("./middleware"));
36
- const pluginsInitialiser = __importStar(require("./domain/plugins-initialiser"));
37
- const repository_1 = __importDefault(require("./domain/repository"));
38
- const router_1 = require("./router");
39
- const options_sanitiser_1 = __importDefault(require("./domain/options-sanitiser"));
40
- const validator = __importStar(require("./domain/validators"));
41
- function registry(inputOptions) {
42
- const validationResult = validator.validateRegistryConfiguration(inputOptions);
43
- if (!validationResult.isValid) {
44
- throw validationResult.message;
45
- }
46
- const options = (0, options_sanitiser_1.default)(inputOptions);
47
- const plugins = [];
48
- const app = middleware.bind((0, express_1.default)(), options);
49
- let server;
50
- const repository = (0, repository_1.default)(options);
51
- const close = (callback) => {
52
- if (server && server.listening) {
53
- return server.close(callback);
54
- }
55
- return callback('not opened');
56
- };
57
- const register = (plugin, callback) => {
58
- plugins.push(Object.assign(plugin, { callback }));
59
- };
60
- const start = async (callback) => {
61
- // eslint-disable-next-line no-console
62
- const ok = (msg) => console.log(safe_1.default.green(msg));
63
- (0, router_1.create)(app, options, repository);
64
- try {
65
- options.plugins = await pluginsInitialiser.init(plugins);
66
- const componentsInfo = await repository.init();
67
- await (0, app_start_1.default)(repository, options);
68
- server = http_1.default.createServer(app);
69
- server.timeout = options.timeout;
70
- if (options.keepAliveTimeout) {
71
- server.keepAliveTimeout = options.keepAliveTimeout;
72
- }
73
- // @ts-ignore Type not taking error on callback (this can error, though)
74
- server.listen(options.port, (err) => {
75
- if (err) {
76
- return callback(err);
77
- }
78
- events_handler_1.default.fire('start', {});
79
- if (options.verbosity) {
80
- ok(`Registry started at port http://localhost:${app.get('port')}`);
81
- if (lodash_1.default.isObject(componentsInfo)) {
82
- const componentsNumber = Object.keys(componentsInfo.components).length;
83
- const componentsReleases = Object.values(componentsInfo.components).reduce((acc, component) => acc + Object.keys(component).length, 0);
84
- ok(`Registry serving ${componentsNumber} components for a total of ${componentsReleases} releases.`);
85
- }
86
- }
87
- callback(null, { app, server });
88
- });
89
- server.on('error', error => {
90
- events_handler_1.default.fire('error', {
91
- code: 'EXPRESS_ERROR',
92
- message: error?.message ?? String(error)
93
- });
94
- callback(error);
95
- });
96
- }
97
- catch (err) {
98
- callback(err?.msg || err);
99
- }
100
- };
101
- return {
102
- close,
103
- on: events_handler_1.default.on,
104
- register,
105
- start,
106
- app
107
- };
108
- }
109
- exports.default = registry;
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const safe_1 = __importDefault(require("colors/safe"));
30
+ const express_1 = __importDefault(require("express"));
31
+ const http_1 = __importDefault(require("http"));
32
+ const lodash_1 = __importDefault(require("lodash"));
33
+ const app_start_1 = __importDefault(require("./app-start"));
34
+ const events_handler_1 = __importDefault(require("./domain/events-handler"));
35
+ const middleware = __importStar(require("./middleware"));
36
+ const pluginsInitialiser = __importStar(require("./domain/plugins-initialiser"));
37
+ const repository_1 = __importDefault(require("./domain/repository"));
38
+ const router_1 = require("./router");
39
+ const options_sanitiser_1 = __importDefault(require("./domain/options-sanitiser"));
40
+ const validator = __importStar(require("./domain/validators"));
41
+ function registry(inputOptions) {
42
+ const validationResult = validator.validateRegistryConfiguration(inputOptions);
43
+ if (!validationResult.isValid) {
44
+ throw validationResult.message;
45
+ }
46
+ const options = (0, options_sanitiser_1.default)(inputOptions);
47
+ const plugins = [];
48
+ const app = middleware.bind((0, express_1.default)(), options);
49
+ let server;
50
+ const repository = (0, repository_1.default)(options);
51
+ const close = (callback) => {
52
+ if (server && server.listening) {
53
+ return server.close(callback);
54
+ }
55
+ return callback('not opened');
56
+ };
57
+ const register = (plugin, callback) => {
58
+ plugins.push(Object.assign(plugin, { callback }));
59
+ };
60
+ const start = async (callback) => {
61
+ // eslint-disable-next-line no-console
62
+ const ok = (msg) => console.log(safe_1.default.green(msg));
63
+ (0, router_1.create)(app, options, repository);
64
+ try {
65
+ options.plugins = await pluginsInitialiser.init(plugins);
66
+ const componentsInfo = await repository.init();
67
+ await (0, app_start_1.default)(repository, options);
68
+ server = http_1.default.createServer(app);
69
+ server.timeout = options.timeout;
70
+ if (options.keepAliveTimeout) {
71
+ server.keepAliveTimeout = options.keepAliveTimeout;
72
+ }
73
+ // @ts-ignore Type not taking error on callback (this can error, though)
74
+ server.listen(options.port, (err) => {
75
+ if (err) {
76
+ return callback(err);
77
+ }
78
+ events_handler_1.default.fire('start', {});
79
+ if (options.verbosity) {
80
+ ok(`Registry started at port http://localhost:${app.get('port')}`);
81
+ if (lodash_1.default.isObject(componentsInfo)) {
82
+ const componentsNumber = Object.keys(componentsInfo.components).length;
83
+ const componentsReleases = Object.values(componentsInfo.components).reduce((acc, component) => acc + Object.keys(component).length, 0);
84
+ ok(`Registry serving ${componentsNumber} components for a total of ${componentsReleases} releases.`);
85
+ }
86
+ }
87
+ callback(null, { app, server });
88
+ });
89
+ server.on('error', error => {
90
+ events_handler_1.default.fire('error', {
91
+ code: 'EXPRESS_ERROR',
92
+ message: error?.message ?? String(error)
93
+ });
94
+ callback(error);
95
+ });
96
+ }
97
+ catch (err) {
98
+ callback(err?.msg || err);
99
+ }
100
+ };
101
+ return {
102
+ close,
103
+ on: events_handler_1.default.on,
104
+ register,
105
+ start,
106
+ app
107
+ };
108
+ }
109
+ exports.default = registry;
@@ -1,2 +1,2 @@
1
- import { NextFunction, Request, Response } from 'express';
2
- export default function baseUrlHandler(req: Request, res: Response, next: NextFunction): void;
1
+ import { NextFunction, Request, Response } from 'express';
2
+ export default function baseUrlHandler(req: Request, res: Response, next: NextFunction): void;
@@ -1,12 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- function baseUrlHandler(req, res, next) {
4
- if (res.conf.baseUrlFunc) {
5
- res.conf.baseUrl = res.conf.baseUrlFunc({
6
- host: req.headers.host,
7
- secure: req.secure
8
- });
9
- }
10
- next();
11
- }
12
- exports.default = baseUrlHandler;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function baseUrlHandler(req, res, next) {
4
+ if (res.conf.baseUrlFunc) {
5
+ res.conf.baseUrl = res.conf.baseUrlFunc({
6
+ host: req.headers.host,
7
+ secure: req.secure
8
+ });
9
+ }
10
+ next();
11
+ }
12
+ exports.default = baseUrlHandler;
@@ -1,2 +1,2 @@
1
- import { NextFunction, Request, Response } from 'express';
2
- export default function cors(_req: Request, res: Response, next: NextFunction): void;
1
+ import { NextFunction, Request, Response } from 'express';
2
+ export default function cors(_req: Request, res: Response, next: NextFunction): void;
@@ -1,11 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- function cors(_req, res, next) {
4
- res.removeHeader('X-Powered-By');
5
- res.header('Access-Control-Allow-Credentials', 'true');
6
- res.header('Access-Control-Allow-Origin', '*');
7
- res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept');
8
- res.header('Access-Control-Allow-Methods', 'GET, OPTIONS, PUT, POST');
9
- next();
10
- }
11
- exports.default = cors;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function cors(_req, res, next) {
4
+ res.removeHeader('X-Powered-By');
5
+ res.header('Access-Control-Allow-Credentials', 'true');
6
+ res.header('Access-Control-Allow-Origin', '*');
7
+ res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept');
8
+ res.header('Access-Control-Allow-Methods', 'GET, OPTIONS, PUT, POST');
9
+ next();
10
+ }
11
+ exports.default = cors;
@@ -1,2 +1,2 @@
1
- import { NextFunction, Request, Response } from 'express';
2
- export default function discoveryHandler(req: Request, res: Response, next: NextFunction): void;
1
+ import { NextFunction, Request, Response } from 'express';
2
+ export default function discoveryHandler(req: Request, res: Response, next: NextFunction): void;
@@ -1,15 +1,15 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- function discoveryHandler(req, res, next) {
4
- res.conf.discoveryFunc =
5
- res.conf.discoveryFunc ||
6
- (typeof res.conf.discovery === 'function' ? res.conf.discovery : undefined);
7
- if (res.conf.discoveryFunc) {
8
- res.conf.discovery = res.conf.discoveryFunc({
9
- host: req.headers.host,
10
- secure: req.secure
11
- });
12
- }
13
- next();
14
- }
15
- exports.default = discoveryHandler;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function discoveryHandler(req, res, next) {
4
+ res.conf.discoveryFunc =
5
+ res.conf.discoveryFunc ||
6
+ (typeof res.conf.discovery === 'function' ? res.conf.discovery : undefined);
7
+ if (res.conf.discoveryFunc) {
8
+ res.conf.discovery = res.conf.discoveryFunc({
9
+ host: req.headers.host,
10
+ secure: req.secure
11
+ });
12
+ }
13
+ next();
14
+ }
15
+ exports.default = discoveryHandler;
@@ -1,2 +1,2 @@
1
- import { NextFunction, Request, Response } from 'express';
2
- export default function fileUpload(req: Request, res: Response, next: NextFunction): void;
1
+ import { NextFunction, Request, Response } from 'express';
2
+ export default function fileUpload(req: Request, res: Response, next: NextFunction): void;
@@ -1,23 +1,23 @@
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 multer_1 = __importDefault(require("multer"));
7
- function fileUpload(req, res, next) {
8
- if (res.conf.local) {
9
- return next();
10
- }
11
- const normaliseFileName = (x) => x.replace('.tar.gz', '').replace(/\W+/g, '-').toLowerCase();
12
- const upload = (0, multer_1.default)({
13
- limits: {
14
- fieldSize: 10
15
- },
16
- storage: multer_1.default.diskStorage({
17
- destination: res.conf.tempDir,
18
- filename: (_req, file, cb) => cb(null, `${normaliseFileName(file.originalname)}-${Date.now()}.tar.gz`)
19
- })
20
- });
21
- return upload.any()(req, res, next);
22
- }
23
- exports.default = fileUpload;
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 multer_1 = __importDefault(require("multer"));
7
+ function fileUpload(req, res, next) {
8
+ if (res.conf.local) {
9
+ return next();
10
+ }
11
+ const normaliseFileName = (x) => x.replace('.tar.gz', '').replace(/\W+/g, '-').toLowerCase();
12
+ const upload = (0, multer_1.default)({
13
+ limits: {
14
+ fieldSize: 10
15
+ },
16
+ storage: multer_1.default.diskStorage({
17
+ destination: res.conf.tempDir,
18
+ filename: (_req, file, cb) => cb(null, `${normaliseFileName(file.originalname)}-${Date.now()}.tar.gz`)
19
+ })
20
+ });
21
+ return upload.any()(req, res, next);
22
+ }
23
+ exports.default = fileUpload;
@@ -1,3 +1,3 @@
1
- import { Express } from 'express';
2
- import { Config } from '../../types';
3
- export declare const bind: (app: Express, options: Config) => Express;
1
+ import { Express } from 'express';
2
+ import { Config } from '../../types';
3
+ export declare const bind: (app: Express, options: Config) => Express;
@@ -1,48 +1,48 @@
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
- exports.bind = void 0;
7
- const express_1 = __importDefault(require("express"));
8
- const errorhandler_1 = __importDefault(require("errorhandler"));
9
- const morgan_1 = __importDefault(require("morgan"));
10
- const base_url_handler_1 = __importDefault(require("./base-url-handler"));
11
- const cors_1 = __importDefault(require("./cors"));
12
- const discovery_handler_1 = __importDefault(require("./discovery-handler"));
13
- const file_uploads_1 = __importDefault(require("./file-uploads"));
14
- const request_handler_1 = __importDefault(require("./request-handler"));
15
- const bodyParserJsonArgument = {
16
- inflate: true
17
- };
18
- const bodyParserUrlEncodedArgument = {
19
- extended: true
20
- };
21
- const bind = (app, options) => {
22
- app.set('port', options.port);
23
- app.set('json spaces', 0);
24
- app.set('etag', 'strong');
25
- app.use((_req, res, next) => {
26
- res.conf = options;
27
- next();
28
- });
29
- app.use((0, request_handler_1.default)());
30
- if (options.postRequestPayloadSize) {
31
- bodyParserJsonArgument.limit = options.postRequestPayloadSize;
32
- bodyParserUrlEncodedArgument.limit = options.postRequestPayloadSize;
33
- }
34
- app.use(express_1.default.json(bodyParserJsonArgument));
35
- app.use(express_1.default.urlencoded(bodyParserUrlEncodedArgument));
36
- app.use(cors_1.default);
37
- app.use(file_uploads_1.default);
38
- app.use(base_url_handler_1.default);
39
- app.use(discovery_handler_1.default);
40
- if (options.verbosity) {
41
- app.use((0, morgan_1.default)('dev'));
42
- }
43
- if (options.local) {
44
- app.use((0, errorhandler_1.default)());
45
- }
46
- return app;
47
- };
48
- exports.bind = bind;
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
+ exports.bind = void 0;
7
+ const express_1 = __importDefault(require("express"));
8
+ const errorhandler_1 = __importDefault(require("errorhandler"));
9
+ const morgan_1 = __importDefault(require("morgan"));
10
+ const base_url_handler_1 = __importDefault(require("./base-url-handler"));
11
+ const cors_1 = __importDefault(require("./cors"));
12
+ const discovery_handler_1 = __importDefault(require("./discovery-handler"));
13
+ const file_uploads_1 = __importDefault(require("./file-uploads"));
14
+ const request_handler_1 = __importDefault(require("./request-handler"));
15
+ const bodyParserJsonArgument = {
16
+ inflate: true
17
+ };
18
+ const bodyParserUrlEncodedArgument = {
19
+ extended: true
20
+ };
21
+ const bind = (app, options) => {
22
+ app.set('port', options.port);
23
+ app.set('json spaces', 0);
24
+ app.set('etag', 'strong');
25
+ app.use((_req, res, next) => {
26
+ res.conf = options;
27
+ next();
28
+ });
29
+ app.use((0, request_handler_1.default)());
30
+ if (options.postRequestPayloadSize) {
31
+ bodyParserJsonArgument.limit = options.postRequestPayloadSize;
32
+ bodyParserUrlEncodedArgument.limit = options.postRequestPayloadSize;
33
+ }
34
+ app.use(express_1.default.json(bodyParserJsonArgument));
35
+ app.use(express_1.default.urlencoded(bodyParserUrlEncodedArgument));
36
+ app.use(cors_1.default);
37
+ app.use(file_uploads_1.default);
38
+ app.use(base_url_handler_1.default);
39
+ app.use(discovery_handler_1.default);
40
+ if (options.verbosity) {
41
+ app.use((0, morgan_1.default)('dev'));
42
+ }
43
+ if (options.local) {
44
+ app.use((0, errorhandler_1.default)());
45
+ }
46
+ return app;
47
+ };
48
+ exports.bind = bind;
@@ -1,2 +1,2 @@
1
- import { RequestHandler } from 'express';
2
- export default function requestHandler(): RequestHandler;
1
+ import { RequestHandler } from 'express';
2
+ export default function requestHandler(): RequestHandler;
@@ -1,30 +1,30 @@
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 response_time_1 = __importDefault(require("response-time"));
7
- const events_handler_1 = __importDefault(require("../domain/events-handler"));
8
- function requestHandler() {
9
- return (0, response_time_1.default)((req, res, time) => {
10
- const data = {
11
- body: req.body,
12
- duration: parseInt(String(time * 1000)),
13
- headers: req.headers,
14
- method: req.method,
15
- path: req.path,
16
- relativeUrl: req.originalUrl,
17
- query: req.query,
18
- url: req.protocol + '://' + req.get('host') + req.originalUrl,
19
- statusCode: res.statusCode
20
- };
21
- if (res.errorDetails) {
22
- data.errorDetails = res.errorDetails;
23
- }
24
- if (res.errorCode) {
25
- data.errorCode = res.errorCode;
26
- }
27
- events_handler_1.default.fire('request', data);
28
- });
29
- }
30
- exports.default = requestHandler;
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 response_time_1 = __importDefault(require("response-time"));
7
+ const events_handler_1 = __importDefault(require("../domain/events-handler"));
8
+ function requestHandler() {
9
+ return (0, response_time_1.default)((req, res, time) => {
10
+ const data = {
11
+ body: req.body,
12
+ duration: parseInt(String(time * 1000)),
13
+ headers: req.headers,
14
+ method: req.method,
15
+ path: req.path,
16
+ relativeUrl: req.originalUrl,
17
+ query: req.query,
18
+ url: req.protocol + '://' + req.get('host') + req.originalUrl,
19
+ statusCode: res.statusCode
20
+ };
21
+ if (res.errorDetails) {
22
+ data.errorDetails = res.errorDetails;
23
+ }
24
+ if (res.errorCode) {
25
+ data.errorCode = res.errorCode;
26
+ }
27
+ events_handler_1.default.fire('request', data);
28
+ });
29
+ }
30
+ exports.default = requestHandler;
@@ -1,4 +1,4 @@
1
- import type { Express } from 'express';
2
- import type { Repository } from '../registry/domain/repository';
3
- import { Config } from '../types';
4
- export declare function create(app: Express, conf: Config, repository: Repository): void;
1
+ import type { Express } from 'express';
2
+ import type { Repository } from '../registry/domain/repository';
3
+ import { Config } from '../types';
4
+ export declare function create(app: Express, conf: Config, repository: Repository): void;