UNPKG

verdaccio

Version:

A lightweight private npm proxy registry

64 lines (63 loc) • 2.4 kB
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const require_runtime = require("../_virtual/_rolldown/runtime.cjs"); const require_lib_config = require("./config.cjs"); const require_lib_logger_index = require("./logger/index.cjs"); const require_lib_storage = require("./storage.cjs"); const require_lib_utils = require("./utils.cjs"); let lodash_es = require("lodash-es"); lodash_es = require_runtime.__toESM(lodash_es); let _verdaccio_node_api = require("@verdaccio/node-api"); let _verdaccio_server = require("@verdaccio/server"); //#region src/lib/run-server.ts /** * Build the Express app from a raw config by reusing @verdaccio/server's * composition (defineAPI), but inject 7.x's Storage so legacy callback storage * plugins keep working. Exposed for tests that need the app without a listener. */ async function endPointAPI(configHash) { const appConfig = new require_lib_config.default(lodash_es.cloneDeep(configHash)); const storage = new require_lib_storage.Storage(appConfig, require_lib_logger_index.logger); await storage.init(appConfig); return (0, _verdaccio_server.defineAPI)(appConfig, storage, { version: require_lib_utils.getPackageVersion() }); } /** * Server factory passed to @verdaccio/node-api / @verdaccio/cli: maps the * deprecated `logs` config key then builds the app with 7.x's legacy-aware * Storage (via {@link endPointAPI}). */ async function startServer(config) { await require_lib_utils.initLogger(config); return endPointAPI(config); } /** * Exposes a server factory to be instantiated programmatically. * ```ts const app = await runServer(); // default configuration const app = await runServer('./config/config.yaml'); const app = await runServer({ configuration }); app.listen(4000, (event) => { // do something }); ``` * @param config */ async function runServer(config) { return (0, _verdaccio_node_api.runServer)(config, startServer); } /** * Start the server on the port defined (or the port defined in the config file) * @param config * @param port * @param version * @param pkgName */ async function initServer(config, port, version, pkgName) { return (0, _verdaccio_node_api.initServer)(config, port, version, pkgName, startServer); } //#endregion exports.endPointAPI = endPointAPI; exports.initServer = initServer; exports.runServer = runServer; exports.startServer = startServer; //# sourceMappingURL=run-server.cjs.map