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
package/dist/registry/index.js
CHANGED
|
@@ -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;
|