UNPKG

verdaccio

Version:

A lightweight private npm proxy registry

87 lines (86 loc) 4.07 kB
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } }); const require_runtime = require("../_virtual/_rolldown/runtime.js"); const require_api_debug_index = require("./debug/index.js"); require("../lib/constants.js"); const require_lib_logger_index = require("../lib/logger/index.js"); const require_lib_utils = require("../lib/utils.js"); const require_api_endpoint_index = require("./endpoint/index.js"); const require_lib_config = require("../lib/config.js"); const require_lib_storage = require("../lib/storage.js"); const require_api_middleware = require("./middleware.js"); const require_api_web_index = require("./web/index.js"); let lodash = require("lodash"); lodash = require_runtime.__toESM(lodash); let _verdaccio_middleware = require("@verdaccio/middleware"); let _verdaccio_core = require("@verdaccio/core"); let _verdaccio_config = require("@verdaccio/config"); let _verdaccio_search_indexer = require("@verdaccio/search-indexer"); let express = require("express"); express = require_runtime.__toESM(express); let _verdaccio_auth = require("@verdaccio/auth"); let compression = require("compression"); compression = require_runtime.__toESM(compression); let cors = require("cors"); cors = require_runtime.__toESM(cors); let _verdaccio_loaders = require("@verdaccio/loaders"); //#region src/api/index.ts var version = "6.9.0"; var defineAPI = async function(config, storage) { const auth = new _verdaccio_auth.Auth(config, require_lib_logger_index.logger, { legacyMergeConfigs: true }); await auth.init(); const app = (0, express.default)(); _verdaccio_search_indexer.SearchMemoryIndexer.configureStorage(storage); await _verdaccio_search_indexer.SearchMemoryIndexer.init(require_lib_logger_index.logger); app.set("env", process.env.NODE_ENV || "production"); if (config.server?.trustProxy) app.set("trust proxy", config.server.trustProxy); app.use((0, cors.default)()); app.use((0, _verdaccio_middleware.log)(require_lib_logger_index.logger)); app.use((0, _verdaccio_middleware.errorReportingMiddleware)(require_lib_logger_index.logger)); if (config.user_agent) app.use(function(_req, res, next) { res.setHeader("X-Powered-By", (0, _verdaccio_config.getUserAgent)(config.user_agent)); next(); }); else app.disable("x-powered-by"); app.use((0, compression.default)()); app.get("/-/static/favicon.ico", require_api_middleware.serveFavicon(config)); if (config._debug) require_api_debug_index.default(app, config.configPath); const plugins = await (0, _verdaccio_loaders.asyncLoadPlugin)(config.middlewares, { config, logger: require_lib_logger_index.logger }, function(plugin) { return typeof plugin.register_middlewares !== "undefined"; }, true, config?.serverSettings?.pluginPrefix ?? "verdaccio", _verdaccio_core.PLUGIN_CATEGORY.MIDDLEWARE); app.use(auth.apiJWTmiddleware()); plugins.forEach((plugin) => { plugin.register_middlewares(app, auth, storage); }); app.use(require_api_endpoint_index.default(config, auth, storage)); if (lodash.default.get(config, "web.enable", true)) { app.use((_req, res, next) => { res.locals.app_version = version; next(); }); const middleware = await require_api_web_index.default(config, auth, storage, require_lib_logger_index.logger); app.use(middleware); } else app.get("/", function(_, __, next) { next(require_lib_utils.ErrorCode.getNotFound(_verdaccio_core.API_ERROR.WEB_DISABLED)); }); app.get("/*", function(_, __, next) { next(require_lib_utils.ErrorCode.getNotFound(_verdaccio_core.API_ERROR.FILE_NOT_FOUND)); }); app.use((0, _verdaccio_middleware.handleError)(require_lib_logger_index.logger)); app.use(_verdaccio_middleware.final); return app; }; var api_default = (async function(configHash) { const config = new require_lib_config.default(lodash.default.cloneDeep(configHash)); const storage = new require_lib_storage.default(config); await storage.init(config); return await defineAPI(config, storage); }); //#endregion exports.default = api_default; //# sourceMappingURL=index.js.map