@@ -12,22 +12,25 @@ import {
1212} from "vscode" ;
1313import { isProduction } from "../utilities/isDev" ;
1414import { getWorkspaceFolders } from "../utilities/common/vscodeapi" ;
15- import { queryServer } from "../web-server/server" ;
15+ import { queryServer , WebServer } from "../web-server/server" ;
1616import { isErr } from "../utilities/functional/result" ;
1717import { traceError } from "../utilities/common/log" ;
1818
1919export class LineagePanel implements WebviewViewProvider , Disposable {
2020 public static readonly viewType = "sqlmesh.lineage" ;
2121
2222 private panel : WebviewView | undefined ;
23- private getServerUrl : ( ) => string ;
23+ private webServer : WebServer | undefined ;
2424 private _extensionUri : Uri ;
2525
2626 private _disposables : Disposable [ ] = [ ] ;
2727
28- public constructor ( extensionUri : Uri , getServerUrl : ( ) => string ) {
28+ public constructor (
29+ extensionUri : Uri ,
30+ webServer : WebServer | undefined ,
31+ ) {
2932 this . _extensionUri = extensionUri ;
30- this . getServerUrl = getServerUrl ;
33+ this . webServer = webServer ;
3134
3235 if ( this . panel ) {
3336 const { externalUrl, externalAuthority } = this . externalUrlAndAutority ( ) ;
@@ -106,9 +109,10 @@ export class LineagePanel implements WebviewViewProvider, Disposable {
106109
107110 externalUrlAndAutority ( ) : { externalUrl : string ; externalAuthority : string } {
108111 const isProd = isProduction ( ) ;
109- const externalUrl = ! isProd
110- ? "http://localhost:5173/lineage"
111- : this . getServerUrl ( ) + "/lineage" ;
112+ if ( ! isProd ) {
113+ throw new Error ( "external url and authority is not supported in dev mode" )
114+ }
115+ const externalUrl = "http://localhost:5173/lineage"
112116 const externalAuthority = new URL ( externalUrl ) . origin ;
113117 return { externalUrl, externalAuthority } ;
114118 }
@@ -181,8 +185,12 @@ export class LineagePanel implements WebviewViewProvider, Disposable {
181185 console . log ( 'got query request in extension' , message . payload , "with requestId" , requestId )
182186
183187 console . log ( "querying server" )
188+ const url = this . webServer ?. get_url ( )
189+ if ( ! url ) {
190+ throw new Error ( "web server not found" )
191+ }
184192 const responseData = await queryServer (
185- this . getServerUrl ( ) ,
193+ url ,
186194 message . payload . queryKey ,
187195 message . payload . body ,
188196 message . payload . method
0 commit comments