UNPKG

private-registry-mock

Version:

Simple mocked server and package of an npm private registry.

22 lines (21 loc) 769 B
import polka from "polka"; import createHttpTerminator from "lil-http-terminator"; import { responseHelpers } from "./middlewares/response-helpers.js"; import { auth } from "./middlewares/auth.js"; import { packageMock } from "./middlewares/package.js"; const softEncode = (pkg) => encodeURIComponent(pkg).replace(/^%40/, "@"); export const configureServer = async (options) => { const packageRoute = `/${softEncode(options.package.name)}`; const app = polka() .use(responseHelpers) .use((_req, res, next) => { res.ctx = options; void next(); }) .get("/", (_req, res) => { res.ok("Connected!"); }) .use(packageRoute, auth, packageMock) .listen(options.port, options.hostname); return createHttpTerminator({ server: app.server }).terminate; };