forked from
npmx.dev/npmx.dev
[READ-ONLY]
a fast, modern browser for the npm registry
1/**
2 * E2E mock connector server. Wraps the base server from cli/src/mock-app.ts
3 * with global singleton state for Playwright test isolation.
4 */
5
6import { MockConnectorServer as BaseMockConnectorServer } from '../../../cli/src/mock-app.ts'
7import { type MockConnectorConfig, initGlobalMockState } from './mock-connector-state'
8
9export class MockConnectorServer {
10 private baseServer: BaseMockConnectorServer
11
12 constructor(config: MockConnectorConfig) {
13 const stateManager = initGlobalMockState(config)
14 this.baseServer = new BaseMockConnectorServer(stateManager)
15 }
16
17 async start(): Promise<void> {
18 return this.baseServer.start()
19 }
20
21 async stop(): Promise<void> {
22 return this.baseServer.stop()
23 }
24
25 get state() {
26 return this.baseServer.state
27 }
28
29 get port(): number {
30 return this.baseServer.port
31 }
32
33 get token(): string {
34 return this.baseServer.token
35 }
36
37 reset(): void {
38 this.baseServer.reset()
39 }
40}
41
42export {
43 getGlobalMockState,
44 resetGlobalMockState,
45 DEFAULT_MOCK_CONFIG,
46} from './mock-connector-state'