UNPKG

@verdaccio/server-fastify

Version:

fastify server api implementation

91 lines (88 loc) 3.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _debug = _interopRequireDefault(require("debug")); var _fastify = _interopRequireDefault(require("fastify")); var _config = require("@verdaccio/config"); var _logger = require("@verdaccio/logger"); var _distTags = _interopRequireDefault(require("./endpoints/dist-tags")); var _manifest = _interopRequireDefault(require("./endpoints/manifest")); var _ping = _interopRequireDefault(require("./endpoints/ping")); var _search = _interopRequireDefault(require("./endpoints/search")); var _tarball = _interopRequireDefault(require("./endpoints/tarball")); var _user = _interopRequireDefault(require("./endpoints/user")); var _whoami = _interopRequireDefault(require("./endpoints/whoami")); var _auth = _interopRequireDefault(require("./plugins/auth")); var _config2 = _interopRequireDefault(require("./plugins/config")); var _coreUtils = _interopRequireDefault(require("./plugins/coreUtils")); var _storage = _interopRequireDefault(require("./plugins/storage")); var _login = _interopRequireDefault(require("./routes/web/api/login")); var _readme = _interopRequireDefault(require("./routes/web/api/readme")); var _sidebar = _interopRequireDefault(require("./routes/web/api/sidebar")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const debug = (0, _debug.default)('verdaccio:fastify'); var PREFIX = /*#__PURE__*/function (PREFIX) { PREFIX["WEB"] = "/-/verdaccio"; PREFIX["USER"] = "/-/user"; return PREFIX; }(PREFIX || {}); async function startServer(config) { // eslint-disable-next-line prettier/prettier const configInstance = new _config.Config({ ...config }); debug('start fastify server'); // TODO: custom logger type and logger accepted by fastify does not match const fastifyInstance = (0, _fastify.default)({ logger: _logger.logger }); fastifyInstance.addHook('onRequest', (request, reply, done) => { request.userRemote = (0, _config.createAnonymousRemoteUser)(); done(); }); fastifyInstance.register(_coreUtils.default); fastifyInstance.register(_config2.default, { config }); fastifyInstance.register(_storage.default, { config: configInstance }); fastifyInstance.register(_auth.default, { config: configInstance }); // api fastifyInstance.register((instance, opts, done) => { instance.register(_ping.default); instance.register(_user.default, { prefix: PREFIX.USER }); instance.register(_search.default); instance.register(_whoami.default); instance.register(_manifest.default); instance.register(_tarball.default); instance.register(_distTags.default); instance.register(_readme.default, { prefix: PREFIX.WEB }); instance.register(_sidebar.default, { prefix: PREFIX.WEB }); instance.register(_login.default, { prefix: PREFIX.WEB }); done(); }); // web fastifyInstance.register((instance, opts, done) => { instance.register(_ping.default, { prefix: '/web' }); done(); }); return fastifyInstance; } var _default = startServer; exports.default = _default; //# sourceMappingURL=server.js.map