serve: fold mdns domain into option
This commit is contained in:
@@ -72,7 +72,7 @@ export const rpc = {
|
||||
},
|
||||
async server(input: { port: number; hostname: string; mdns?: boolean; cors?: string[] }) {
|
||||
if (server) await server.stop(true)
|
||||
server = await Server.listen({ type: "tcp", ...input })
|
||||
server = await Server.listen({ type: "tcp", ...input, mdns: input.mdns ? true : undefined })
|
||||
return { url: server.url.toString() }
|
||||
},
|
||||
async checkUpgrade(input: { directory: string }) {
|
||||
|
||||
@@ -67,7 +67,7 @@ export const WebCommand = effectCmd({
|
||||
UI.println(
|
||||
UI.Style.TEXT_INFO_BOLD + " mDNS: ",
|
||||
UI.Style.TEXT_NORMAL,
|
||||
`${opts.mdnsDomain}:${server.port}`,
|
||||
`${opts.mdns === true ? "opencode.local" : opts.mdns.domain}:${server.port}`,
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ export function resolveNetworkOptionsNoConfig(args: NetworkOptions, config?: Con
|
||||
const mdnsExplicitlySet = process.argv.includes("--mdns")
|
||||
const mdnsDomainExplicitlySet = process.argv.includes("--mdns-domain")
|
||||
const mdns = mdnsExplicitlySet ? args.mdns : (config?.server?.mdns ?? args.mdns)
|
||||
const mdnsDomain = mdnsDomainExplicitlySet ? args["mdns-domain"] : (config?.server?.mdnsDomain ?? args["mdns-domain"])
|
||||
const mdnsDomain = mdnsDomainExplicitlySet ? args["mdns-domain"] : config?.server?.mdnsDomain
|
||||
const port = portExplicitlySet ? args.port : (config?.server?.port ?? args.port)
|
||||
const hostname = hostnameExplicitlySet
|
||||
? args.hostname
|
||||
@@ -58,5 +58,5 @@ export function resolveNetworkOptionsNoConfig(args: NetworkOptions, config?: Con
|
||||
const argsCors = Array.isArray(args.cors) ? args.cors : args.cors ? [args.cors] : []
|
||||
const cors = [...configCors, ...argsCors]
|
||||
|
||||
return { type: "tcp" as const, hostname, port, mdns, mdnsDomain, cors }
|
||||
return { type: "tcp" as const, hostname, port, mdns: mdns ? (mdnsDomain ? { domain: mdnsDomain } : true) : undefined, cors }
|
||||
}
|
||||
|
||||
@@ -45,8 +45,7 @@ export type TcpListenOptions = CorsOptions & {
|
||||
type: "tcp"
|
||||
port: number
|
||||
hostname: string
|
||||
mdns?: boolean
|
||||
mdnsDomain?: string
|
||||
mdns?: true | { domain: string }
|
||||
}
|
||||
|
||||
export type SocketListenOptions = CorsOptions & {
|
||||
@@ -208,7 +207,7 @@ function setupMdns(opts: TcpListenOptions, port: number, scope: Scope.Scope) {
|
||||
opts.mdns && port && opts.hostname !== "127.0.0.1" && opts.hostname !== "localhost" && opts.hostname !== "::1"
|
||||
if (publish) {
|
||||
const unpublish = yield* Effect.cached(Effect.sync(() => MDNS.unpublish()))
|
||||
yield* Effect.sync(() => MDNS.publish(port, opts.mdnsDomain))
|
||||
yield* Effect.sync(() => MDNS.publish(port, opts.mdns === true ? undefined : opts.mdns.domain))
|
||||
yield* Scope.addFinalizer(scope, unpublish)
|
||||
return unpublish
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user