@@ -36,10 +36,21 @@ const main = async (cliArgs: Args): Promise<void> => {
36
36
// This prioritizes the flags set in args over the ones in the config file.
37
37
let args = Object . assign ( configArgs , cliArgs )
38
38
39
+ if ( ! args . auth ) {
40
+ args = {
41
+ ...args ,
42
+ auth : AuthType . Password ,
43
+ }
44
+ }
45
+
39
46
logger . trace ( `Using extensions-dir at ${ humanPath ( args [ "extensions-dir" ] ) } ` )
40
47
logger . trace ( `Using user-data-dir at ${ humanPath ( args [ "user-data-dir" ] ) } ` )
41
48
49
+ const envPassword = process . env . PASSWORD !== undefined
42
50
const password = args . auth === AuthType . Password && ( process . env . PASSWORD || args . password )
51
+ if ( args . auth === AuthType . Password && ! password ) {
52
+ throw new Error ( "Please pass in a password via the config file or $PASSWORD" )
53
+ }
43
54
const [ host , port ] = bindAddrFromAllSources ( cliArgs , configArgs )
44
55
45
56
// Spawn the main HTTP server.
@@ -69,7 +80,7 @@ const main = async (cliArgs: Args): Promise<void> => {
69
80
const api = httpServer . registerHttpProvider ( "/api" , ApiHttpProvider , httpServer , vscode , args [ "user-data-dir" ] )
70
81
const update = httpServer . registerHttpProvider ( "/update" , UpdateHttpProvider , false )
71
82
httpServer . registerHttpProvider ( "/proxy" , ProxyHttpProvider )
72
- httpServer . registerHttpProvider ( "/login" , LoginHttpProvider )
83
+ httpServer . registerHttpProvider ( "/login" , LoginHttpProvider , args . config ! , envPassword )
73
84
httpServer . registerHttpProvider ( "/static" , StaticHttpProvider )
74
85
httpServer . registerHttpProvider ( "/dashboard" , DashboardHttpProvider , api , update )
75
86
@@ -79,15 +90,8 @@ const main = async (cliArgs: Args): Promise<void> => {
79
90
const serverAddress = await httpServer . listen ( )
80
91
logger . info ( `HTTP server listening on ${ serverAddress } ` )
81
92
82
- if ( ! args . auth ) {
83
- args = {
84
- ...args ,
85
- auth : AuthType . Password ,
86
- }
87
- }
88
-
89
93
if ( args . auth === AuthType . Password ) {
90
- if ( process . env . PASSWORD ) {
94
+ if ( envPassword ) {
91
95
logger . info ( " - Using password from $PASSWORD" )
92
96
} else {
93
97
logger . info ( ` - Using password from ${ humanPath ( args . config ) } ` )
0 commit comments