1
0
mirror of https://github.com/verdaccio/verdaccio.git synced 2024-11-13 03:35:52 +01:00
verdaccio/packages/web/test/helper.ts
Juan Picado 558d78f32a feat: flexible user interface generator (#2070)
* feat: flexible template generator and manifest

* chore: add changeset

* chore: restore dep

* chore: add docs

* chore: update snapshots

* chore: update docker examples for v5

* chore: refactor web module

* chore: format

* chore: refactor web api endpoints

* test: add test for user login web

* chore: refactor endpoints

* chore: fix merge

* chore: fix merge

* Update ci.yml

* chore: test

* chore: add static

* chore: update script

* chore: fix e2e

* chore: fix method

* docs: update v5 relative docker example

* chore: update html render

* chore: update style

* Update .prettierignore

* chore: update changeset

* chore: use pnpm6 on run test

temporary ci

* chore: drop node 16 for pnpm 6

* chore: update ci

* chore: update ci

* chore: update ci

* chore: update ci

* chore: remove circle ci

* chore: better url prefix handling

* chore: format code

* chore: remove test node 10

* docs: add docker v5 relative revers proxy example

* chore: use base html tag

* chore: update test
2021-04-09 17:54:38 +02:00

37 lines
1.1 KiB
TypeScript

import path from 'path';
import express from 'express';
import { Application } from 'express';
import bodyParser from 'body-parser';
import { Config, parseConfigFile } from '@verdaccio/config';
import { final, handleError, errorReportingMiddleware } from '@verdaccio/middleware';
import { Storage } from '@verdaccio/store';
import { Auth, IAuth } from '@verdaccio/auth';
import { setup } from '@verdaccio/logger';
import routes from '../src';
setup([]);
const getConf = (configName: string) => {
const configPath = path.join(__dirname, 'config', configName);
return parseConfigFile(configPath);
};
export async function initializeServer(configName: string): Promise<Application> {
const app = express();
const config = new Config(getConf(configName));
const storage = new Storage(config);
await storage.init(config, []);
const auth: IAuth = new Auth(config);
// for parsing the body (login api)
app.use(bodyParser.json({ strict: false, limit: '10mb' }));
// @ts-ignore
app.use(errorReportingMiddleware);
app.use(routes(config, auth, storage));
// @ts-ignore
app.use(handleError);
// @ts-ignore
app.use(final);
return app;
}