UNPKG

verdaccio

Version:

A lightweight private npm proxy registry

54 lines (53 loc) 2.08 kB
import { logger } from "../../lib/logger/index.mjs"; import dist_tags_default from "./api/dist-tags.mjs"; import package_default from "./api/package.mjs"; import ping_default from "./api/ping.mjs"; import publish from "./api/publish.mjs"; import search_default from "./api/search.mjs"; import stars_default from "./api/stars.mjs"; import user_default from "./api/user.mjs"; import profile_default from "./api/v1/profile.mjs"; import search_default$1 from "./api/v1/search.mjs"; import token_default from "./api/v1/token.mjs"; import whoami_default from "./api/whoami.mjs"; import { antiLoop, encodeScopePackage, enforceGeneratedTokenMetadata, match, validateName, validatePackage } from "@verdaccio/middleware"; import express from "express"; //#region src/api/endpoint/index.ts function endpoint_default(config, auth, storage) { const app = express.Router(); app.param("package", validatePackage); app.param("filename", validateName); app.param("tag", validateName); app.param("version", validateName); app.param("revision", validateName); app.param("token", validateName); app.param("_rev", match(/^-rev$/)); app.param("org_couchdb_user", match(/^org\.couchdb\.user:/)); const apiJwtMiddleware = auth.apiJWTmiddleware(); app.use((req, res, next) => { if (req.remote_user ?? res.locals.remote_user) return next(); return apiJwtMiddleware(req, res, next); }); app.use(enforceGeneratedTokenMetadata(storage, logger)); app.use(express.json({ strict: false, limit: config.max_body_size || "10mb" })); app.use(antiLoop(config)); app.use(encodeScopePackage); whoami_default(app); profile_default(app, auth, config); search_default(app, auth, storage); user_default(app, auth, config); dist_tags_default(app, auth, storage); publish(app, auth, storage, config); ping_default(app); stars_default(app, storage); search_default$1(app, auth, storage, config); token_default(app, auth, storage, config); package_default(app, auth, storage, config); return app; } //#endregion export { endpoint_default as default }; //# sourceMappingURL=index.mjs.map