2021-05-06 01:20:38 +08:00
|
|
|
import { parse, parseConfigFile, setDefaults } from "../../src/node/cli"
|
|
|
|
import { runCodeServer } from "../../src/node/main"
|
2021-03-10 07:36:56 +08:00
|
|
|
import * as httpserver from "./httpserver"
|
|
|
|
|
2021-05-06 01:20:38 +08:00
|
|
|
export async function setup(argv: string[], configFile?: string): Promise<httpserver.HttpServer> {
|
2021-05-06 06:58:04 +08:00
|
|
|
argv = ["--bind-addr=localhost:0", "--log=warn", ...argv]
|
2021-03-10 07:36:56 +08:00
|
|
|
|
|
|
|
const cliArgs = parse(argv)
|
|
|
|
const configArgs = parseConfigFile(configFile || "", "test/integration.ts")
|
|
|
|
const args = await setDefaults(cliArgs, configArgs)
|
|
|
|
|
2021-05-06 01:20:38 +08:00
|
|
|
const server = await runCodeServer(args)
|
2021-03-10 07:36:56 +08:00
|
|
|
|
2021-05-06 01:20:38 +08:00
|
|
|
return new httpserver.HttpServer(server)
|
2021-03-10 07:36:56 +08:00
|
|
|
}
|