oc 0.49.13 → 0.49.14

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 (285) hide show
  1. package/.github/workflows/node.js.yml +1 -1
  2. package/.nvmrc +1 -1
  3. package/CHANGELOG.md +11 -1
  4. package/dist/cli/commands.d.ts +163 -163
  5. package/dist/cli/commands.js +162 -162
  6. package/dist/cli/domain/clean.d.ts +2 -2
  7. package/dist/cli/domain/clean.js +24 -24
  8. package/dist/cli/domain/get-components-by-dir.d.ts +1 -1
  9. package/dist/cli/domain/get-components-by-dir.js +41 -41
  10. package/dist/cli/domain/get-mocked-plugins.d.ts +10 -10
  11. package/dist/cli/domain/get-mocked-plugins.js +89 -89
  12. package/dist/cli/domain/handle-dependencies/ensure-compiler-is-declared-as-devDependency.d.ts +6 -6
  13. package/dist/cli/domain/handle-dependencies/ensure-compiler-is-declared-as-devDependency.js +16 -16
  14. package/dist/cli/domain/handle-dependencies/get-compiler.d.ts +10 -10
  15. package/dist/cli/domain/handle-dependencies/get-compiler.js +28 -28
  16. package/dist/cli/domain/handle-dependencies/get-missing-dependencies.d.ts +1 -1
  17. package/dist/cli/domain/handle-dependencies/get-missing-dependencies.js +18 -18
  18. package/dist/cli/domain/handle-dependencies/index.d.ts +10 -10
  19. package/dist/cli/domain/handle-dependencies/index.js +70 -70
  20. package/dist/cli/domain/handle-dependencies/install-compiler.d.ts +8 -8
  21. package/dist/cli/domain/handle-dependencies/install-compiler.js +54 -54
  22. package/dist/cli/domain/handle-dependencies/install-missing-dependencies.d.ts +5 -5
  23. package/dist/cli/domain/handle-dependencies/install-missing-dependencies.js +59 -59
  24. package/dist/cli/domain/handle-dependencies/link-missing-dependencies.d.ts +6 -6
  25. package/dist/cli/domain/handle-dependencies/link-missing-dependencies.js +32 -32
  26. package/dist/cli/domain/handle-dependencies/require-template.d.ts +17 -17
  27. package/dist/cli/domain/handle-dependencies/require-template.js +34 -34
  28. package/dist/cli/domain/init-template/index.d.ts +10 -10
  29. package/dist/cli/domain/init-template/index.js +40 -40
  30. package/dist/cli/domain/init-template/install-template.d.ts +11 -11
  31. package/dist/cli/domain/init-template/install-template.js +54 -54
  32. package/dist/cli/domain/init-template/scaffold.d.ts +11 -11
  33. package/dist/cli/domain/init-template/scaffold.js +30 -30
  34. package/dist/cli/domain/local.d.ts +21 -2
  35. package/dist/cli/domain/local.js +82 -82
  36. package/dist/cli/domain/mock.d.ts +5 -5
  37. package/dist/cli/domain/mock.js +33 -33
  38. package/dist/cli/domain/package-components.d.ts +9 -9
  39. package/dist/cli/domain/package-components.js +67 -67
  40. package/dist/cli/domain/registry.d.ts +20 -6
  41. package/dist/cli/domain/registry.js +139 -139
  42. package/dist/cli/domain/url-parser.d.ts +14 -14
  43. package/dist/cli/domain/url-parser.js +31 -31
  44. package/dist/cli/domain/watch.d.ts +1 -1
  45. package/dist/cli/domain/watch.js +29 -29
  46. package/dist/cli/facade/clean.d.ts +16 -16
  47. package/dist/cli/facade/clean.js +58 -58
  48. package/dist/cli/facade/dev.d.ts +114 -114
  49. package/dist/cli/facade/dev.js +176 -176
  50. package/dist/cli/facade/init.d.ts +18 -18
  51. package/dist/cli/facade/init.js +39 -39
  52. package/dist/cli/facade/mock.d.ts +18 -18
  53. package/dist/cli/facade/mock.js +12 -12
  54. package/dist/cli/facade/package.d.ts +19 -18
  55. package/dist/cli/facade/package.js +49 -49
  56. package/dist/cli/facade/preview.d.ts +14 -14
  57. package/dist/cli/facade/preview.js +20 -20
  58. package/dist/cli/facade/publish.d.ts +24 -23
  59. package/dist/cli/facade/publish.js +145 -145
  60. package/dist/cli/facade/registry-add.d.ts +14 -14
  61. package/dist/cli/facade/registry-add.js +18 -18
  62. package/dist/cli/facade/registry-ls.d.ts +10 -10
  63. package/dist/cli/facade/registry-ls.js +27 -27
  64. package/dist/cli/facade/registry-remove.d.ts +14 -14
  65. package/dist/cli/facade/registry-remove.js +18 -18
  66. package/dist/cli/facade/registry.d.ts +5 -5
  67. package/dist/cli/facade/registry.js +9 -9
  68. package/dist/cli/index.d.ts +1 -1
  69. package/dist/cli/index.js +91 -91
  70. package/dist/cli/logger.d.ts +8 -8
  71. package/dist/cli/logger.js +19 -19
  72. package/dist/cli/programmatic-api.d.ts +84 -84
  73. package/dist/cli/programmatic-api.js +66 -66
  74. package/dist/cli/validate-command.d.ts +2 -2
  75. package/dist/cli/validate-command.js +18 -18
  76. package/dist/components/oc-client/_package/package.json +1 -1
  77. package/dist/components/oc-client/_package/src/oc-client.min.js +2 -2
  78. package/dist/components/oc-client/_package/src/oc-client.min.map +1 -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 -2
  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 +50 -50
  92. package/dist/registry/domain/components-cache/index.d.ts +7 -7
  93. package/dist/registry/domain/components-cache/index.js +76 -76
  94. package/dist/registry/domain/components-details.d.ts +6 -6
  95. package/dist/registry/domain/components-details.js +64 -64
  96. package/dist/registry/domain/events-handler.d.ts +40 -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 -26
  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 +109 -106
  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 -30
  110. package/dist/registry/domain/repository.d.ts +22 -2
  111. package/dist/registry/domain/repository.js +237 -237
  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 +113 -113
  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 +48 -48
  139. package/dist/registry/index.js +107 -107
  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 -3
  153. package/dist/registry/router.js +56 -56
  154. package/dist/registry/routes/component-info.d.ts +4 -3
  155. package/dist/registry/routes/component-info.js +90 -90
  156. package/dist/registry/routes/component-preview.d.ts +4 -3
  157. package/dist/registry/routes/component-preview.js +68 -68
  158. package/dist/registry/routes/component.d.ts +4 -3
  159. package/dist/registry/routes/component.js +43 -43
  160. package/dist/registry/routes/components.d.ts +4 -3
  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 +24 -24
  168. package/dist/registry/routes/helpers/get-component-fallback.d.ts +17 -17
  169. package/dist/registry/routes/helpers/get-component-fallback.js +91 -91
  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 -33
  173. package/dist/registry/routes/helpers/get-component.js +406 -406
  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 +22 -22
  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 +97 -97
  184. package/dist/registry/routes/static-redirector.d.ts +3 -3
  185. package/dist/registry/routes/static-redirector.js +63 -63
  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 +229 -287
  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 +7 -7
  248. package/src/cli/domain/local.ts +12 -5
  249. package/src/cli/domain/package-components.ts +1 -1
  250. package/src/cli/domain/registry.ts +10 -8
  251. package/src/cli/facade/clean.ts +1 -1
  252. package/src/cli/facade/dev.ts +1 -1
  253. package/src/cli/facade/init.ts +1 -1
  254. package/src/cli/facade/mock.ts +1 -1
  255. package/src/cli/facade/package.ts +2 -1
  256. package/src/cli/facade/preview.ts +1 -1
  257. package/src/cli/facade/publish.ts +3 -1
  258. package/src/cli/facade/registry-add.ts +1 -1
  259. package/src/cli/facade/registry-ls.ts +1 -1
  260. package/src/cli/facade/registry-remove.ts +1 -1
  261. package/src/cli/programmatic-api.ts +2 -3
  262. package/src/components/oc-client/_package/package.json +1 -1
  263. package/src/components/oc-client/_package/src/oc-client.min.js +2 -2
  264. package/src/components/oc-client/_package/src/oc-client.min.map +1 -1
  265. package/src/components/oc-client/package.json +1 -1
  266. package/src/components/oc-client/src/oc-client.min.js +2 -2
  267. package/src/components/oc-client/src/oc-client.min.map +1 -1
  268. package/src/oc-cli.js +0 -0
  269. package/src/registry/app-start.ts +2 -1
  270. package/src/registry/domain/components-cache/components-list.ts +2 -2
  271. package/src/registry/domain/extract-package.ts +7 -2
  272. package/src/registry/domain/options-sanitiser.ts +4 -0
  273. package/src/registry/domain/register-templates.ts +12 -2
  274. package/src/registry/domain/repository.ts +42 -17
  275. package/src/registry/index.ts +4 -1
  276. package/src/registry/router.ts +2 -1
  277. package/src/registry/routes/component-info.ts +2 -1
  278. package/src/registry/routes/component-preview.ts +2 -1
  279. package/src/registry/routes/component.ts +2 -1
  280. package/src/registry/routes/components.ts +2 -1
  281. package/src/registry/routes/helpers/get-component.ts +2 -1
  282. package/src/registry/routes/index.ts +2 -1
  283. package/src/registry/routes/publish.ts +3 -3
  284. package/src/registry/routes/static-redirector.ts +2 -2
  285. package/src/types.ts +2 -86
@@ -1,113 +1,113 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __importDefault = (this && this.__importDefault) || function (mod) {
22
- return (mod && mod.__esModule) ? mod : { "default": mod };
23
- };
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- const auth = __importStar(require("../authentication"));
26
- const resources_1 = __importDefault(require("../../../resources"));
27
- function registryConfiguration(conf) {
28
- const returnError = (message) => {
29
- return {
30
- isValid: false,
31
- message: message || 'registry configuration is not valid'
32
- };
33
- };
34
- if (!conf || Object.keys(conf).length === 0) {
35
- return returnError(resources_1.default.errors.registry.CONFIGURATION_EMPTY);
36
- }
37
- const prefix = conf.prefix;
38
- if (prefix) {
39
- if (prefix.substr(0, 1) !== '/') {
40
- return returnError(resources_1.default.errors.registry.CONFIGURATION_PREFIX_DOES_NOT_START_WITH_SLASH);
41
- }
42
- if (prefix.substr(prefix.length - 1) !== '/') {
43
- return returnError(resources_1.default.errors.registry.CONFIGURATION_PREFIX_DOES_NOT_END_WITH_SLASH);
44
- }
45
- }
46
- const publishAuth = conf.publishAuth;
47
- if (publishAuth) {
48
- const res = auth.validate(publishAuth);
49
- if (!res.isValid) {
50
- return returnError(res.message);
51
- }
52
- }
53
- const dependencies = conf.dependencies;
54
- if (!!dependencies && !Array.isArray(dependencies)) {
55
- return returnError(resources_1.default.errors.registry.CONFIGURATION_DEPENDENCIES_MUST_BE_ARRAY);
56
- }
57
- const routes = conf.routes;
58
- if (!!routes && !Array.isArray(routes)) {
59
- return returnError(resources_1.default.errors.registry.CONFIGURATION_ROUTES_MUST_BE_ARRAY);
60
- }
61
- else {
62
- for (const route of routes || []) {
63
- if (!route.route || !route.handler || !route.method) {
64
- return returnError(resources_1.default.errors.registry.CONFIGURATION_ROUTES_NOT_VALID);
65
- }
66
- if (typeof route.handler !== 'function') {
67
- return returnError(resources_1.default.errors.registry.CONFIGURATION_ROUTES_HANDLER_MUST_BE_FUNCTION);
68
- }
69
- if (route.route.indexOf(prefix || '') === 0) {
70
- return returnError(resources_1.default.errors.registry.CONFIGURATION_ROUTES_ROUTE_CONTAINS_PREFIX(prefix || ''));
71
- }
72
- }
73
- }
74
- if (!conf.local && !conf.storage) {
75
- // S3 settings should either specify both key/secret or
76
- // skip both when leveraging IAM Role based S3 access from EC2
77
- if (!conf.s3 ||
78
- !conf.s3.bucket ||
79
- !conf.s3.region ||
80
- (conf.s3.key && !conf.s3.secret) ||
81
- (!conf.s3.key && conf.s3.secret)) {
82
- return returnError(resources_1.default.errors.registry.CONFIGURATION_STORAGE_NOT_VALID('S3'));
83
- }
84
- }
85
- if (!conf.local && conf.storage) {
86
- if (!conf.storage.adapter) {
87
- //required since this is done before the options-sanitiser
88
- conf.storage.adapter = require('oc-s3-storage-adapter');
89
- }
90
- const cdn = conf.storage.adapter(conf.storage.options);
91
- if (cdn.adapterType === 's3') {
92
- if (!conf.storage.options['bucket'] ||
93
- !conf.storage.options['region'] ||
94
- (conf.storage.options['key'] && !conf.storage.options['secret']) ||
95
- (!conf.storage.options['key'] && conf.storage.options['secret'])) {
96
- return returnError(resources_1.default.errors.registry.CONFIGURATION_STORAGE_NOT_VALID(cdn.adapterType.toUpperCase()));
97
- }
98
- }
99
- }
100
- if (conf.customHeadersToSkipOnWeakVersion) {
101
- if (!Array.isArray(conf.customHeadersToSkipOnWeakVersion)) {
102
- return returnError(resources_1.default.errors.registry
103
- .CONFIGURATION_HEADERS_TO_SKIP_MUST_BE_STRING_ARRAY);
104
- }
105
- const hasNonStringElements = conf.customHeadersToSkipOnWeakVersion.find(element => typeof element !== 'string');
106
- if (hasNonStringElements) {
107
- return returnError(resources_1.default.errors.registry
108
- .CONFIGURATION_HEADERS_TO_SKIP_MUST_BE_STRING_ARRAY);
109
- }
110
- }
111
- return { isValid: true };
112
- }
113
- exports.default = registryConfiguration;
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __importDefault = (this && this.__importDefault) || function (mod) {
22
+ return (mod && mod.__esModule) ? mod : { "default": mod };
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ const auth = __importStar(require("../authentication"));
26
+ const resources_1 = __importDefault(require("../../../resources"));
27
+ function registryConfiguration(conf) {
28
+ const returnError = (message) => {
29
+ return {
30
+ isValid: false,
31
+ message: message || 'registry configuration is not valid'
32
+ };
33
+ };
34
+ if (!conf || Object.keys(conf).length === 0) {
35
+ return returnError(resources_1.default.errors.registry.CONFIGURATION_EMPTY);
36
+ }
37
+ const prefix = conf.prefix;
38
+ if (prefix) {
39
+ if (prefix.substr(0, 1) !== '/') {
40
+ return returnError(resources_1.default.errors.registry.CONFIGURATION_PREFIX_DOES_NOT_START_WITH_SLASH);
41
+ }
42
+ if (prefix.substr(prefix.length - 1) !== '/') {
43
+ return returnError(resources_1.default.errors.registry.CONFIGURATION_PREFIX_DOES_NOT_END_WITH_SLASH);
44
+ }
45
+ }
46
+ const publishAuth = conf.publishAuth;
47
+ if (publishAuth) {
48
+ const res = auth.validate(publishAuth);
49
+ if (!res.isValid) {
50
+ return returnError(res.message);
51
+ }
52
+ }
53
+ const dependencies = conf.dependencies;
54
+ if (!!dependencies && !Array.isArray(dependencies)) {
55
+ return returnError(resources_1.default.errors.registry.CONFIGURATION_DEPENDENCIES_MUST_BE_ARRAY);
56
+ }
57
+ const routes = conf.routes;
58
+ if (!!routes && !Array.isArray(routes)) {
59
+ return returnError(resources_1.default.errors.registry.CONFIGURATION_ROUTES_MUST_BE_ARRAY);
60
+ }
61
+ else {
62
+ for (const route of routes || []) {
63
+ if (!route.route || !route.handler || !route.method) {
64
+ return returnError(resources_1.default.errors.registry.CONFIGURATION_ROUTES_NOT_VALID);
65
+ }
66
+ if (typeof route.handler !== 'function') {
67
+ return returnError(resources_1.default.errors.registry.CONFIGURATION_ROUTES_HANDLER_MUST_BE_FUNCTION);
68
+ }
69
+ if (route.route.indexOf(prefix || '') === 0) {
70
+ return returnError(resources_1.default.errors.registry.CONFIGURATION_ROUTES_ROUTE_CONTAINS_PREFIX(prefix || ''));
71
+ }
72
+ }
73
+ }
74
+ if (!conf.local && !conf.storage) {
75
+ // S3 settings should either specify both key/secret or
76
+ // skip both when leveraging IAM Role based S3 access from EC2
77
+ if (!conf.s3 ||
78
+ !conf.s3.bucket ||
79
+ !conf.s3.region ||
80
+ (conf.s3.key && !conf.s3.secret) ||
81
+ (!conf.s3.key && conf.s3.secret)) {
82
+ return returnError(resources_1.default.errors.registry.CONFIGURATION_STORAGE_NOT_VALID('S3'));
83
+ }
84
+ }
85
+ if (!conf.local && conf.storage) {
86
+ if (!conf.storage.adapter) {
87
+ //required since this is done before the options-sanitiser
88
+ conf.storage.adapter = require('oc-s3-storage-adapter');
89
+ }
90
+ const cdn = conf.storage.adapter(conf.storage.options);
91
+ if (cdn.adapterType === 's3') {
92
+ if (!conf.storage.options['bucket'] ||
93
+ !conf.storage.options['region'] ||
94
+ (conf.storage.options['key'] && !conf.storage.options['secret']) ||
95
+ (!conf.storage.options['key'] && conf.storage.options['secret'])) {
96
+ return returnError(resources_1.default.errors.registry.CONFIGURATION_STORAGE_NOT_VALID(cdn.adapterType.toUpperCase()));
97
+ }
98
+ }
99
+ }
100
+ if (conf.customHeadersToSkipOnWeakVersion) {
101
+ if (!Array.isArray(conf.customHeadersToSkipOnWeakVersion)) {
102
+ return returnError(resources_1.default.errors.registry
103
+ .CONFIGURATION_HEADERS_TO_SKIP_MUST_BE_STRING_ARRAY);
104
+ }
105
+ const hasNonStringElements = conf.customHeadersToSkipOnWeakVersion.find(element => typeof element !== 'string');
106
+ if (hasNonStringElements) {
107
+ return returnError(resources_1.default.errors.registry
108
+ .CONFIGURATION_HEADERS_TO_SKIP_MUST_BE_STRING_ARRAY);
109
+ }
110
+ }
111
+ return { isValid: true };
112
+ }
113
+ exports.default = registryConfiguration;
@@ -1,14 +1,14 @@
1
- /// <reference types="multer" />
2
- declare type ValidationResponse = {
3
- isValid: true;
4
- files: Express.Multer.File[] | {
5
- [fieldname: string]: Express.Multer.File[];
6
- };
7
- } | {
8
- isValid: false;
9
- message: string;
10
- };
11
- export default function uploadedPackage(input?: Express.Multer.File[] | {
12
- [fieldname: string]: Express.Multer.File[];
13
- }): ValidationResponse;
14
- export {};
1
+ /// <reference types="multer" />
2
+ declare type ValidationResponse = {
3
+ isValid: true;
4
+ files: Express.Multer.File[] | {
5
+ [fieldname: string]: Express.Multer.File[];
6
+ };
7
+ } | {
8
+ isValid: false;
9
+ message: string;
10
+ };
11
+ export default function uploadedPackage(input?: Express.Multer.File[] | {
12
+ [fieldname: string]: Express.Multer.File[];
13
+ }): ValidationResponse;
14
+ export {};
@@ -1,25 +1,25 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- function uploadedPackage(input) {
4
- const returnError = function (message) {
5
- return {
6
- isValid: false,
7
- message: message || 'uploaded package is not valid'
8
- };
9
- };
10
- if (!input || typeof input !== 'object' || Object.keys(input).length === 0) {
11
- return returnError('empty');
12
- }
13
- if (Object.keys(input).length !== 1) {
14
- return returnError('not_valid');
15
- }
16
- const file = input[0];
17
- const validTypes = ['application/gzip', 'application/octet-stream'];
18
- if (!validTypes.includes(file.mimetype) ||
19
- file.truncated ||
20
- file.filename.indexOf('.tar.gz') < 0) {
21
- return returnError('not_valid');
22
- }
23
- return { isValid: true, files: input };
24
- }
25
- exports.default = uploadedPackage;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function uploadedPackage(input) {
4
+ const returnError = function (message) {
5
+ return {
6
+ isValid: false,
7
+ message: message || 'uploaded package is not valid'
8
+ };
9
+ };
10
+ if (!input || typeof input !== 'object' || Object.keys(input).length === 0) {
11
+ return returnError('empty');
12
+ }
13
+ if (Object.keys(input).length !== 1) {
14
+ return returnError('not_valid');
15
+ }
16
+ const file = input[0];
17
+ const validTypes = ['application/gzip', 'application/octet-stream'];
18
+ if (!validTypes.includes(file.mimetype) ||
19
+ file.truncated ||
20
+ file.filename.indexOf('.tar.gz') < 0) {
21
+ return returnError('not_valid');
22
+ }
23
+ return { isValid: true, files: input };
24
+ }
25
+ exports.default = uploadedPackage;
@@ -1,2 +1,2 @@
1
- export declare function getAvailableVersion(requestedVersion: string | undefined, availableVersions: string[]): string | undefined;
2
- export declare function validateNewVersion(requestedVersion: string, availableVersions: string[]): boolean;
1
+ export declare function getAvailableVersion(requestedVersion: string | undefined, availableVersions: string[]): string | undefined;
2
+ export declare function validateNewVersion(requestedVersion: string, availableVersions: string[]): boolean;
@@ -1,22 +1,22 @@
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.validateNewVersion = exports.getAvailableVersion = void 0;
7
- const semver_1 = __importDefault(require("semver"));
8
- const semver_extra_1 = __importDefault(require("semver-extra"));
9
- function getAvailableVersion(requestedVersion, availableVersions) {
10
- if (typeof requestedVersion === 'undefined') {
11
- requestedVersion = '';
12
- }
13
- const version = semver_1.default.maxSatisfying(availableVersions, requestedVersion) || undefined;
14
- const max = semver_extra_1.default.max(availableVersions);
15
- const isLatest = requestedVersion === '';
16
- return version || (isLatest && max) || undefined;
17
- }
18
- exports.getAvailableVersion = getAvailableVersion;
19
- function validateNewVersion(requestedVersion, availableVersions) {
20
- return !availableVersions.includes(requestedVersion);
21
- }
22
- exports.validateNewVersion = validateNewVersion;
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.validateNewVersion = exports.getAvailableVersion = void 0;
7
+ const semver_1 = __importDefault(require("semver"));
8
+ const semver_extra_1 = __importDefault(require("semver-extra"));
9
+ function getAvailableVersion(requestedVersion, availableVersions) {
10
+ if (typeof requestedVersion === 'undefined') {
11
+ requestedVersion = '';
12
+ }
13
+ const version = semver_1.default.maxSatisfying(availableVersions, requestedVersion) || undefined;
14
+ const max = semver_extra_1.default.max(availableVersions);
15
+ const isLatest = requestedVersion === '';
16
+ return version || (isLatest && max) || undefined;
17
+ }
18
+ exports.getAvailableVersion = getAvailableVersion;
19
+ function validateNewVersion(requestedVersion, availableVersions) {
20
+ return !availableVersions.includes(requestedVersion);
21
+ }
22
+ exports.validateNewVersion = validateNewVersion;
@@ -1,48 +1,48 @@
1
- /// <reference types="node" />
2
- import express from 'express';
3
- import http from 'http';
4
- import { Config, Plugin } from '../types';
5
- interface Input extends Partial<Omit<Config, 'beforePublish'>> {
6
- baseUrl: string;
7
- }
8
- export default function registry(inputOptions: Input): {
9
- close: (callback: (err?: Error | undefined | string) => void) => void | http.Server;
10
- on: <T extends keyof {
11
- error: {
12
- code: string;
13
- message: string;
14
- };
15
- start: unknown;
16
- 'cache-poll': number;
17
- request: import("./domain/events-handler").RequestData;
18
- 'component-retrieved': {
19
- headers: http.IncomingHttpHeaders;
20
- name: string;
21
- parameters: http.IncomingHttpHeaders;
22
- requestVersion: string;
23
- duration: number;
24
- };
25
- }>(eventName: T, listener: (data: {
26
- error: {
27
- code: string;
28
- message: string;
29
- };
30
- start: unknown;
31
- 'cache-poll': number;
32
- request: import("./domain/events-handler").RequestData;
33
- 'component-retrieved': {
34
- headers: http.IncomingHttpHeaders;
35
- name: string;
36
- parameters: http.IncomingHttpHeaders;
37
- requestVersion: string;
38
- duration: number;
39
- };
40
- }[T]) => void) => void;
41
- register: (plugin: Omit<Plugin, 'callback'>, callback?: ((...args: any[]) => void) | undefined) => void;
42
- start: (callback: (err: unknown, data: {
43
- app: express.Express;
44
- server: http.Server;
45
- }) => void) => Promise<void>;
46
- app: express.Express;
47
- };
48
- export {};
1
+ /// <reference types="node" />
2
+ import express from 'express';
3
+ import http from 'http';
4
+ import { Config, Plugin } from '../types';
5
+ interface Input extends Partial<Omit<Config, 'beforePublish'>> {
6
+ baseUrl: string;
7
+ }
8
+ export default function registry(inputOptions: Input): {
9
+ close: (callback: (err?: Error | undefined | string) => void) => void | http.Server;
10
+ on: <T extends keyof {
11
+ error: {
12
+ code: string;
13
+ message: string;
14
+ };
15
+ start: unknown;
16
+ 'cache-poll': number;
17
+ request: import("./domain/events-handler").RequestData;
18
+ 'component-retrieved': {
19
+ headers: http.IncomingHttpHeaders;
20
+ name: string;
21
+ parameters: http.IncomingHttpHeaders;
22
+ requestVersion: string;
23
+ duration: number;
24
+ };
25
+ }>(eventName: T, listener: (data: {
26
+ error: {
27
+ code: string;
28
+ message: string;
29
+ };
30
+ start: unknown;
31
+ 'cache-poll': number;
32
+ request: import("./domain/events-handler").RequestData;
33
+ 'component-retrieved': {
34
+ headers: http.IncomingHttpHeaders;
35
+ name: string;
36
+ parameters: http.IncomingHttpHeaders;
37
+ requestVersion: string;
38
+ duration: number;
39
+ };
40
+ }[T]) => void) => void;
41
+ register: (plugin: Omit<Plugin, 'callback'>, callback?: ((...args: any[]) => void) | undefined) => void;
42
+ start: (callback: (err: unknown, data: {
43
+ app: express.Express;
44
+ server: http.Server;
45
+ }) => void) => Promise<void>;
46
+ app: express.Express;
47
+ };
48
+ export {};