Manifestbasierter Production-Updater 3.3, Modulnavigation, optionales Produktbild Studio, Listing-Studio-Aktionsleiste sowie plattformübergreifende Windows-/Linux-Release-Gates.
29 lines
848 B
JavaScript
29 lines
848 B
JavaScript
import manifest from './module.json' with { type: 'json' };
|
|
import { PlatformError } from '../../kernel/errors.mjs';
|
|
import { createDeploymentService } from './service.mjs';
|
|
|
|
let service = null;
|
|
let adapters = {};
|
|
|
|
export function configureDeploymentsModule(nextAdapters = {}) {
|
|
adapters = { ...adapters, ...nextAdapters };
|
|
}
|
|
|
|
export function getDeploymentService() {
|
|
if (!service) throw new PlatformError('Deployment-Modul ist noch nicht gestartet.', {
|
|
code: 'DEPLOYMENT_MODULE_NOT_READY', status: 503, expose: true,
|
|
});
|
|
return service;
|
|
}
|
|
|
|
export function createDeploymentsModule() {
|
|
return {
|
|
manifest,
|
|
lifecycle: {
|
|
async start() { service = createDeploymentService(adapters); },
|
|
async stop() { service?.stop?.(); service = null; },
|
|
async health() { return getDeploymentService().health(); },
|
|
},
|
|
};
|
|
}
|