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.
- package/CHANGELOG.md +10 -0
- package/dist/cli/commands.d.ts +163 -163
- package/dist/cli/commands.js +162 -162
- package/dist/cli/domain/clean.d.ts +2 -2
- package/dist/cli/domain/clean.js +24 -24
- package/dist/cli/domain/get-components-by-dir.d.ts +1 -1
- package/dist/cli/domain/get-components-by-dir.js +41 -41
- package/dist/cli/domain/get-mocked-plugins.d.ts +10 -10
- package/dist/cli/domain/get-mocked-plugins.js +88 -88
- package/dist/cli/domain/handle-dependencies/ensure-compiler-is-declared-as-devDependency.d.ts +6 -6
- package/dist/cli/domain/handle-dependencies/ensure-compiler-is-declared-as-devDependency.js +15 -15
- package/dist/cli/domain/handle-dependencies/get-compiler.d.ts +10 -10
- package/dist/cli/domain/handle-dependencies/get-compiler.js +28 -28
- package/dist/cli/domain/handle-dependencies/get-missing-dependencies.d.ts +1 -1
- package/dist/cli/domain/handle-dependencies/get-missing-dependencies.js +18 -18
- package/dist/cli/domain/handle-dependencies/index.d.ts +10 -10
- package/dist/cli/domain/handle-dependencies/index.js +70 -70
- package/dist/cli/domain/handle-dependencies/install-compiler.d.ts +8 -8
- package/dist/cli/domain/handle-dependencies/install-compiler.js +58 -58
- package/dist/cli/domain/handle-dependencies/install-missing-dependencies.d.ts +5 -5
- package/dist/cli/domain/handle-dependencies/install-missing-dependencies.js +63 -63
- package/dist/cli/domain/handle-dependencies/link-missing-dependencies.d.ts +6 -6
- package/dist/cli/domain/handle-dependencies/link-missing-dependencies.js +32 -32
- package/dist/cli/domain/handle-dependencies/require-template.d.ts +17 -17
- package/dist/cli/domain/handle-dependencies/require-template.js +34 -34
- package/dist/cli/domain/init-template/index.d.ts +10 -10
- package/dist/cli/domain/init-template/index.js +44 -44
- package/dist/cli/domain/init-template/install-template.d.ts +11 -11
- package/dist/cli/domain/init-template/install-template.js +58 -58
- package/dist/cli/domain/init-template/scaffold.d.ts +11 -11
- package/dist/cli/domain/init-template/scaffold.js +34 -34
- package/dist/cli/domain/local.d.ts +21 -21
- package/dist/cli/domain/local.js +86 -86
- package/dist/cli/domain/mock.d.ts +5 -5
- package/dist/cli/domain/mock.js +33 -33
- package/dist/cli/domain/package-components.d.ts +9 -9
- package/dist/cli/domain/package-components.js +71 -71
- package/dist/cli/domain/registry.d.ts +20 -20
- package/dist/cli/domain/registry.js +143 -143
- package/dist/cli/domain/url-parser.d.ts +14 -14
- package/dist/cli/domain/url-parser.js +31 -31
- package/dist/cli/domain/watch.d.ts +1 -1
- package/dist/cli/domain/watch.js +29 -29
- package/dist/cli/facade/clean.d.ts +16 -16
- package/dist/cli/facade/clean.js +58 -58
- package/dist/cli/facade/dev.d.ts +146 -114
- package/dist/cli/facade/dev.js +177 -177
- package/dist/cli/facade/init.d.ts +18 -18
- package/dist/cli/facade/init.js +39 -39
- package/dist/cli/facade/mock.d.ts +18 -18
- package/dist/cli/facade/mock.js +12 -12
- package/dist/cli/facade/package.d.ts +19 -19
- package/dist/cli/facade/package.js +49 -49
- package/dist/cli/facade/preview.d.ts +14 -14
- package/dist/cli/facade/preview.js +20 -20
- package/dist/cli/facade/publish.d.ts +24 -24
- package/dist/cli/facade/publish.js +145 -145
- package/dist/cli/facade/registry-add.d.ts +14 -14
- package/dist/cli/facade/registry-add.js +18 -18
- package/dist/cli/facade/registry-ls.d.ts +10 -10
- package/dist/cli/facade/registry-ls.js +27 -27
- package/dist/cli/facade/registry-remove.d.ts +14 -14
- package/dist/cli/facade/registry-remove.js +18 -18
- package/dist/cli/facade/registry.d.ts +5 -5
- package/dist/cli/facade/registry.js +9 -9
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.js +91 -91
- package/dist/cli/logger.d.ts +8 -8
- package/dist/cli/logger.js +19 -19
- package/dist/cli/programmatic-api.d.ts +84 -84
- package/dist/cli/programmatic-api.js +66 -66
- package/dist/cli/validate-command.d.ts +2 -2
- package/dist/cli/validate-command.js +18 -18
- package/dist/components/oc-client/_package/package.json +1 -1
- package/dist/components/oc-client/_package/server.js +1 -1
- package/dist/components/oc-client/_package/src/oc-client.min.js +2 -2
- package/dist/components/oc-client/_package/src/oc-client.min.map +1 -1
- package/dist/components/oc-client/_package/template.js +11 -1
- package/dist/components/oc-client/package.json +1 -1
- package/dist/components/oc-client/src/oc-client.min.js +2 -2
- package/dist/components/oc-client/src/oc-client.min.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +12 -12
- package/dist/oc-cli.d.ts +2 -2
- package/dist/oc-cli.js +3 -3
- package/dist/registry/app-start.d.ts +3 -3
- package/dist/registry/app-start.js +44 -44
- package/dist/registry/domain/authentication.d.ts +7 -7
- package/dist/registry/domain/authentication.js +53 -53
- package/dist/registry/domain/components-cache/components-list.d.ts +8 -8
- package/dist/registry/domain/components-cache/components-list.js +73 -73
- package/dist/registry/domain/components-cache/index.d.ts +7 -7
- package/dist/registry/domain/components-cache/index.js +81 -81
- package/dist/registry/domain/components-details.d.ts +6 -6
- package/dist/registry/domain/components-details.js +63 -63
- package/dist/registry/domain/events-handler.d.ts +48 -40
- package/dist/registry/domain/events-handler.js +37 -37
- package/dist/registry/domain/extract-package.d.ts +8 -8
- package/dist/registry/domain/extract-package.js +30 -30
- package/dist/registry/domain/get-package-json-from-temp-dir.d.ts +2 -2
- package/dist/registry/domain/get-package-json-from-temp-dir.js +11 -11
- package/dist/registry/domain/nested-renderer.d.ts +14 -14
- package/dist/registry/domain/nested-renderer.js +59 -59
- package/dist/registry/domain/options-sanitiser.d.ts +6 -6
- package/dist/registry/domain/options-sanitiser.js +113 -113
- package/dist/registry/domain/plugins-initialiser.d.ts +3 -3
- package/dist/registry/domain/plugins-initialiser.js +95 -95
- package/dist/registry/domain/register-templates.d.ts +5 -5
- package/dist/registry/domain/register-templates.js +37 -37
- package/dist/registry/domain/repository.d.ts +26 -26
- package/dist/registry/domain/repository.js +255 -255
- package/dist/registry/domain/require-wrapper.d.ts +2 -2
- package/dist/registry/domain/require-wrapper.js +33 -33
- package/dist/registry/domain/sanitiser.d.ts +2 -2
- package/dist/registry/domain/sanitiser.js +52 -52
- package/dist/registry/domain/storage-adapter.d.ts +10 -10
- package/dist/registry/domain/storage-adapter.js +55 -55
- package/dist/registry/domain/url-builder.d.ts +10 -10
- package/dist/registry/domain/url-builder.js +60 -60
- package/dist/registry/domain/validators/component-parameters.d.ts +11 -11
- package/dist/registry/domain/validators/component-parameters.js +79 -79
- package/dist/registry/domain/validators/index.d.ts +16 -16
- package/dist/registry/domain/validators/index.js +29 -29
- package/dist/registry/domain/validators/node-version.d.ts +15 -15
- package/dist/registry/domain/validators/node-version.js +40 -40
- package/dist/registry/domain/validators/oc-cli-version.d.ts +15 -15
- package/dist/registry/domain/validators/oc-cli-version.js +34 -34
- package/dist/registry/domain/validators/package-json-validator.d.ts +13 -13
- package/dist/registry/domain/validators/package-json-validator.js +23 -23
- package/dist/registry/domain/validators/plugins-requirements.d.ts +9 -9
- package/dist/registry/domain/validators/plugins-requirements.js +22 -22
- package/dist/registry/domain/validators/registry-configuration.d.ts +9 -9
- package/dist/registry/domain/validators/registry-configuration.js +117 -117
- package/dist/registry/domain/validators/uploaded-package.d.ts +14 -14
- package/dist/registry/domain/validators/uploaded-package.js +25 -25
- package/dist/registry/domain/version-handler.d.ts +2 -2
- package/dist/registry/domain/version-handler.js +22 -22
- package/dist/registry/index.d.ts +64 -48
- package/dist/registry/index.js +109 -109
- package/dist/registry/middleware/base-url-handler.d.ts +2 -2
- package/dist/registry/middleware/base-url-handler.js +12 -12
- package/dist/registry/middleware/cors.d.ts +2 -2
- package/dist/registry/middleware/cors.js +11 -11
- package/dist/registry/middleware/discovery-handler.d.ts +2 -2
- package/dist/registry/middleware/discovery-handler.js +15 -15
- package/dist/registry/middleware/file-uploads.d.ts +2 -2
- package/dist/registry/middleware/file-uploads.js +23 -23
- package/dist/registry/middleware/index.d.ts +3 -3
- package/dist/registry/middleware/index.js +48 -48
- package/dist/registry/middleware/request-handler.d.ts +2 -2
- package/dist/registry/middleware/request-handler.js +30 -30
- package/dist/registry/router.d.ts +4 -4
- package/dist/registry/router.js +56 -56
- package/dist/registry/routes/component-info.d.ts +4 -4
- package/dist/registry/routes/component-info.js +95 -94
- package/dist/registry/routes/component-preview.d.ts +4 -4
- package/dist/registry/routes/component-preview.js +72 -72
- package/dist/registry/routes/component.d.ts +4 -4
- package/dist/registry/routes/component.js +43 -43
- package/dist/registry/routes/components.d.ts +4 -4
- package/dist/registry/routes/components.js +78 -78
- package/dist/registry/routes/dependencies.d.ts +3 -3
- package/dist/registry/routes/dependencies.js +28 -28
- package/dist/registry/routes/helpers/apply-default-values.d.ts +2 -2
- package/dist/registry/routes/helpers/apply-default-values.js +13 -13
- package/dist/registry/routes/helpers/get-available-dependencies.d.ts +8 -8
- package/dist/registry/routes/helpers/get-available-dependencies.js +23 -23
- package/dist/registry/routes/helpers/get-component-fallback.d.ts +17 -17
- package/dist/registry/routes/helpers/get-component-fallback.js +95 -95
- package/dist/registry/routes/helpers/get-component-retrieving-info.d.ts +20 -20
- package/dist/registry/routes/helpers/get-component-retrieving-info.js +24 -24
- package/dist/registry/routes/helpers/get-component.d.ts +34 -34
- package/dist/registry/routes/helpers/get-component.js +445 -435
- package/dist/registry/routes/helpers/get-components-history.d.ts +8 -8
- package/dist/registry/routes/helpers/get-components-history.js +28 -28
- package/dist/registry/routes/helpers/is-url-discoverable.d.ts +3 -3
- package/dist/registry/routes/helpers/is-url-discoverable.js +21 -21
- package/dist/registry/routes/index.d.ts +3 -3
- package/dist/registry/routes/index.js +93 -93
- package/dist/registry/routes/plugins.d.ts +3 -3
- package/dist/registry/routes/plugins.js +17 -17
- package/dist/registry/routes/publish.d.ts +3 -3
- package/dist/registry/routes/publish.js +101 -101
- package/dist/registry/routes/static-redirector.d.ts +3 -3
- package/dist/registry/routes/static-redirector.js +86 -86
- package/dist/registry/views/index.d.ts +2 -2
- package/dist/registry/views/index.js +39 -39
- package/dist/registry/views/info.d.ts +16 -16
- package/dist/registry/views/info.js +39 -39
- package/dist/registry/views/partials/component-author.d.ts +8 -8
- package/dist/registry/views/partials/component-author.js +20 -20
- package/dist/registry/views/partials/component-parameters.d.ts +5 -5
- package/dist/registry/views/partials/component-parameters.js +24 -24
- package/dist/registry/views/partials/component-state.d.ts +5 -5
- package/dist/registry/views/partials/component-state.js +6 -6
- package/dist/registry/views/partials/component-versions.d.ts +5 -5
- package/dist/registry/views/partials/component-versions.js +9 -9
- package/dist/registry/views/partials/components-dependencies.d.ts +2 -2
- package/dist/registry/views/partials/components-dependencies.js +12 -12
- package/dist/registry/views/partials/components-history.d.ts +2 -2
- package/dist/registry/views/partials/components-history.js +10 -10
- package/dist/registry/views/partials/components-list.d.ts +2 -2
- package/dist/registry/views/partials/components-list.js +26 -26
- package/dist/registry/views/partials/components-plugins.d.ts +2 -2
- package/dist/registry/views/partials/components-plugins.js +8 -8
- package/dist/registry/views/partials/components-templates.d.ts +2 -2
- package/dist/registry/views/partials/components-templates.js +14 -14
- package/dist/registry/views/partials/layout.d.ts +8 -8
- package/dist/registry/views/partials/layout.js +11 -11
- package/dist/registry/views/partials/property.d.ts +2 -2
- package/dist/registry/views/partials/property.js +11 -11
- package/dist/registry/views/partials/selected-checkbox.d.ts +4 -4
- package/dist/registry/views/partials/selected-checkbox.js +7 -7
- package/dist/registry/views/preview.d.ts +8 -8
- package/dist/registry/views/preview.js +9 -9
- package/dist/registry/views/static/index.d.ts +2 -2
- package/dist/registry/views/static/index.js +3 -3
- package/dist/registry/views/static/info.d.ts +2 -2
- package/dist/registry/views/static/info.js +3 -3
- package/dist/registry/views/static/style.d.ts +2 -2
- package/dist/registry/views/static/style.js +3 -3
- package/dist/resources/index.d.ts +134 -134
- package/dist/resources/index.js +145 -145
- package/dist/resources/settings.d.ts +17 -17
- package/dist/resources/settings.js +18 -18
- package/dist/types.d.ts +231 -231
- package/dist/types.js +2 -2
- package/dist/utils/clean-require.d.ts +16 -16
- package/dist/utils/clean-require.js +18 -18
- package/dist/utils/date-stringify.d.ts +1 -1
- package/dist/utils/date-stringify.js +22 -22
- package/dist/utils/error-to-string.d.ts +1 -1
- package/dist/utils/error-to-string.js +15 -15
- package/dist/utils/is-template-legacy.d.ts +3 -3
- package/dist/utils/is-template-legacy.js +6 -6
- package/dist/utils/is-template-valid.d.ts +4 -4
- package/dist/utils/is-template-valid.js +12 -12
- package/dist/utils/module-exists.d.ts +1 -1
- package/dist/utils/module-exists.js +15 -15
- package/dist/utils/npm-utils.d.ts +20 -20
- package/dist/utils/npm-utils.js +74 -74
- package/dist/utils/put.d.ts +2 -2
- package/dist/utils/put.js +29 -29
- package/dist/utils/strip-version.d.ts +1 -1
- package/dist/utils/strip-version.js +11 -11
- package/logintervals.md +1 -1
- package/package.json +20 -20
|
@@ -1,117 +1,117 @@
|
|
|
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 auth = __importStar(require("../authentication"));
|
|
30
|
-
const resources_1 = __importDefault(require("../../../resources"));
|
|
31
|
-
function registryConfiguration(conf) {
|
|
32
|
-
const returnError = (message) => {
|
|
33
|
-
return {
|
|
34
|
-
isValid: false,
|
|
35
|
-
message: message || 'registry configuration is not valid'
|
|
36
|
-
};
|
|
37
|
-
};
|
|
38
|
-
if (!conf || Object.keys(conf).length === 0) {
|
|
39
|
-
return returnError(resources_1.default.errors.registry.CONFIGURATION_EMPTY);
|
|
40
|
-
}
|
|
41
|
-
const prefix = conf.prefix;
|
|
42
|
-
if (prefix) {
|
|
43
|
-
if (prefix.substr(0, 1) !== '/') {
|
|
44
|
-
return returnError(resources_1.default.errors.registry.CONFIGURATION_PREFIX_DOES_NOT_START_WITH_SLASH);
|
|
45
|
-
}
|
|
46
|
-
if (prefix.substr(prefix.length - 1) !== '/') {
|
|
47
|
-
return returnError(resources_1.default.errors.registry.CONFIGURATION_PREFIX_DOES_NOT_END_WITH_SLASH);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
const publishAuth = conf.publishAuth;
|
|
51
|
-
if (publishAuth) {
|
|
52
|
-
const res = auth.validate(publishAuth);
|
|
53
|
-
if (!res.isValid) {
|
|
54
|
-
return returnError(res.message);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
const dependencies = conf.dependencies;
|
|
58
|
-
if (!!dependencies && !Array.isArray(dependencies)) {
|
|
59
|
-
return returnError(resources_1.default.errors.registry.CONFIGURATION_DEPENDENCIES_MUST_BE_ARRAY);
|
|
60
|
-
}
|
|
61
|
-
const routes = conf.routes;
|
|
62
|
-
if (!!routes && !Array.isArray(routes)) {
|
|
63
|
-
return returnError(resources_1.default.errors.registry.CONFIGURATION_ROUTES_MUST_BE_ARRAY);
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
for (const route of routes || []) {
|
|
67
|
-
if (!route.route || !route.handler || !route.method) {
|
|
68
|
-
return returnError(resources_1.default.errors.registry.CONFIGURATION_ROUTES_NOT_VALID);
|
|
69
|
-
}
|
|
70
|
-
if (typeof route.handler !== 'function') {
|
|
71
|
-
return returnError(resources_1.default.errors.registry.CONFIGURATION_ROUTES_HANDLER_MUST_BE_FUNCTION);
|
|
72
|
-
}
|
|
73
|
-
if (route.route.indexOf(prefix || '') === 0) {
|
|
74
|
-
return returnError(resources_1.default.errors.registry.CONFIGURATION_ROUTES_ROUTE_CONTAINS_PREFIX(prefix || ''));
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
if (!conf.local && !conf.storage) {
|
|
79
|
-
// S3 settings should either specify both key/secret or
|
|
80
|
-
// skip both when leveraging IAM Role based S3 access from EC2
|
|
81
|
-
if (!conf.s3 ||
|
|
82
|
-
!conf.s3.bucket ||
|
|
83
|
-
!conf.s3.region ||
|
|
84
|
-
(conf.s3.key && !conf.s3.secret) ||
|
|
85
|
-
(!conf.s3.key && conf.s3.secret)) {
|
|
86
|
-
return returnError(resources_1.default.errors.registry.CONFIGURATION_STORAGE_NOT_VALID('S3'));
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
if (!conf.local && conf.storage) {
|
|
90
|
-
if (!conf.storage.adapter) {
|
|
91
|
-
//required since this is done before the options-sanitiser
|
|
92
|
-
conf.storage.adapter = require('oc-s3-storage-adapter');
|
|
93
|
-
}
|
|
94
|
-
const cdn = conf.storage.adapter(conf.storage.options);
|
|
95
|
-
if (cdn.adapterType === 's3') {
|
|
96
|
-
if (!conf.storage.options['bucket'] ||
|
|
97
|
-
!conf.storage.options['region'] ||
|
|
98
|
-
(conf.storage.options['key'] && !conf.storage.options['secret']) ||
|
|
99
|
-
(!conf.storage.options['key'] && conf.storage.options['secret'])) {
|
|
100
|
-
return returnError(resources_1.default.errors.registry.CONFIGURATION_STORAGE_NOT_VALID(cdn.adapterType.toUpperCase()));
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
if (conf.customHeadersToSkipOnWeakVersion) {
|
|
105
|
-
if (!Array.isArray(conf.customHeadersToSkipOnWeakVersion)) {
|
|
106
|
-
return returnError(resources_1.default.errors.registry
|
|
107
|
-
.CONFIGURATION_HEADERS_TO_SKIP_MUST_BE_STRING_ARRAY);
|
|
108
|
-
}
|
|
109
|
-
const hasNonStringElements = conf.customHeadersToSkipOnWeakVersion.find(element => typeof element !== 'string');
|
|
110
|
-
if (hasNonStringElements) {
|
|
111
|
-
return returnError(resources_1.default.errors.registry
|
|
112
|
-
.CONFIGURATION_HEADERS_TO_SKIP_MUST_BE_STRING_ARRAY);
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
return { isValid: true };
|
|
116
|
-
}
|
|
117
|
-
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
|
+
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 auth = __importStar(require("../authentication"));
|
|
30
|
+
const resources_1 = __importDefault(require("../../../resources"));
|
|
31
|
+
function registryConfiguration(conf) {
|
|
32
|
+
const returnError = (message) => {
|
|
33
|
+
return {
|
|
34
|
+
isValid: false,
|
|
35
|
+
message: message || 'registry configuration is not valid'
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
if (!conf || Object.keys(conf).length === 0) {
|
|
39
|
+
return returnError(resources_1.default.errors.registry.CONFIGURATION_EMPTY);
|
|
40
|
+
}
|
|
41
|
+
const prefix = conf.prefix;
|
|
42
|
+
if (prefix) {
|
|
43
|
+
if (prefix.substr(0, 1) !== '/') {
|
|
44
|
+
return returnError(resources_1.default.errors.registry.CONFIGURATION_PREFIX_DOES_NOT_START_WITH_SLASH);
|
|
45
|
+
}
|
|
46
|
+
if (prefix.substr(prefix.length - 1) !== '/') {
|
|
47
|
+
return returnError(resources_1.default.errors.registry.CONFIGURATION_PREFIX_DOES_NOT_END_WITH_SLASH);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
const publishAuth = conf.publishAuth;
|
|
51
|
+
if (publishAuth) {
|
|
52
|
+
const res = auth.validate(publishAuth);
|
|
53
|
+
if (!res.isValid) {
|
|
54
|
+
return returnError(res.message);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
const dependencies = conf.dependencies;
|
|
58
|
+
if (!!dependencies && !Array.isArray(dependencies)) {
|
|
59
|
+
return returnError(resources_1.default.errors.registry.CONFIGURATION_DEPENDENCIES_MUST_BE_ARRAY);
|
|
60
|
+
}
|
|
61
|
+
const routes = conf.routes;
|
|
62
|
+
if (!!routes && !Array.isArray(routes)) {
|
|
63
|
+
return returnError(resources_1.default.errors.registry.CONFIGURATION_ROUTES_MUST_BE_ARRAY);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
for (const route of routes || []) {
|
|
67
|
+
if (!route.route || !route.handler || !route.method) {
|
|
68
|
+
return returnError(resources_1.default.errors.registry.CONFIGURATION_ROUTES_NOT_VALID);
|
|
69
|
+
}
|
|
70
|
+
if (typeof route.handler !== 'function') {
|
|
71
|
+
return returnError(resources_1.default.errors.registry.CONFIGURATION_ROUTES_HANDLER_MUST_BE_FUNCTION);
|
|
72
|
+
}
|
|
73
|
+
if (route.route.indexOf(prefix || '') === 0) {
|
|
74
|
+
return returnError(resources_1.default.errors.registry.CONFIGURATION_ROUTES_ROUTE_CONTAINS_PREFIX(prefix || ''));
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (!conf.local && !conf.storage) {
|
|
79
|
+
// S3 settings should either specify both key/secret or
|
|
80
|
+
// skip both when leveraging IAM Role based S3 access from EC2
|
|
81
|
+
if (!conf.s3 ||
|
|
82
|
+
!conf.s3.bucket ||
|
|
83
|
+
!conf.s3.region ||
|
|
84
|
+
(conf.s3.key && !conf.s3.secret) ||
|
|
85
|
+
(!conf.s3.key && conf.s3.secret)) {
|
|
86
|
+
return returnError(resources_1.default.errors.registry.CONFIGURATION_STORAGE_NOT_VALID('S3'));
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
if (!conf.local && conf.storage) {
|
|
90
|
+
if (!conf.storage.adapter) {
|
|
91
|
+
//required since this is done before the options-sanitiser
|
|
92
|
+
conf.storage.adapter = require('oc-s3-storage-adapter');
|
|
93
|
+
}
|
|
94
|
+
const cdn = conf.storage.adapter(conf.storage.options);
|
|
95
|
+
if (cdn.adapterType === 's3') {
|
|
96
|
+
if (!conf.storage.options['bucket'] ||
|
|
97
|
+
!conf.storage.options['region'] ||
|
|
98
|
+
(conf.storage.options['key'] && !conf.storage.options['secret']) ||
|
|
99
|
+
(!conf.storage.options['key'] && conf.storage.options['secret'])) {
|
|
100
|
+
return returnError(resources_1.default.errors.registry.CONFIGURATION_STORAGE_NOT_VALID(cdn.adapterType.toUpperCase()));
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
if (conf.customHeadersToSkipOnWeakVersion) {
|
|
105
|
+
if (!Array.isArray(conf.customHeadersToSkipOnWeakVersion)) {
|
|
106
|
+
return returnError(resources_1.default.errors.registry
|
|
107
|
+
.CONFIGURATION_HEADERS_TO_SKIP_MUST_BE_STRING_ARRAY);
|
|
108
|
+
}
|
|
109
|
+
const hasNonStringElements = conf.customHeadersToSkipOnWeakVersion.find(element => typeof element !== 'string');
|
|
110
|
+
if (hasNonStringElements) {
|
|
111
|
+
return returnError(resources_1.default.errors.registry
|
|
112
|
+
.CONFIGURATION_HEADERS_TO_SKIP_MUST_BE_STRING_ARRAY);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return { isValid: true };
|
|
116
|
+
}
|
|
117
|
+
exports.default = registryConfiguration;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
/// <reference types="multer" />
|
|
2
|
-
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
|
+
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;
|
package/dist/registry/index.d.ts
CHANGED
|
@@ -1,48 +1,64 @@
|
|
|
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<typeof http.IncomingMessage, typeof http.ServerResponse>;
|
|
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
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
};
|
|
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<typeof http.IncomingMessage, typeof http.ServerResponse>;
|
|
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
|
+
'data-provider-error': {
|
|
26
|
+
name: string;
|
|
27
|
+
version: string;
|
|
28
|
+
parameters: Record<string, string | number | boolean>;
|
|
29
|
+
requestVersion: string;
|
|
30
|
+
status: number;
|
|
31
|
+
error: Error;
|
|
32
|
+
};
|
|
33
|
+
}>(eventName: T, listener: (data: {
|
|
34
|
+
error: {
|
|
35
|
+
code: string;
|
|
36
|
+
message: string;
|
|
37
|
+
};
|
|
38
|
+
start: unknown;
|
|
39
|
+
'cache-poll': number;
|
|
40
|
+
request: import("./domain/events-handler").RequestData;
|
|
41
|
+
'component-retrieved': {
|
|
42
|
+
headers: http.IncomingHttpHeaders;
|
|
43
|
+
name: string;
|
|
44
|
+
parameters: http.IncomingHttpHeaders;
|
|
45
|
+
requestVersion: string;
|
|
46
|
+
duration: number;
|
|
47
|
+
};
|
|
48
|
+
'data-provider-error': {
|
|
49
|
+
name: string;
|
|
50
|
+
version: string;
|
|
51
|
+
parameters: Record<string, string | number | boolean>;
|
|
52
|
+
requestVersion: string;
|
|
53
|
+
status: number;
|
|
54
|
+
error: Error;
|
|
55
|
+
};
|
|
56
|
+
}[T]) => void) => void;
|
|
57
|
+
register: (plugin: Omit<Plugin, 'callback'>, callback?: ((...args: any[]) => void) | undefined) => void;
|
|
58
|
+
start: (callback: (err: unknown, data?: {
|
|
59
|
+
app: express.Express;
|
|
60
|
+
server: http.Server;
|
|
61
|
+
} | undefined) => void) => Promise<void>;
|
|
62
|
+
app: express.Express;
|
|
63
|
+
};
|
|
64
|
+
export {};
|