Skip to content

Commit 853e55e

Browse files
mnemoticctron
authored andcommitted
fix[serve]: config file option serve.open is ignored
Fixes #847
1 parent 5008569 commit 853e55e

File tree

4 files changed

+16
-3
lines changed

4 files changed

+16
-3
lines changed

schemas/config.json

+5
Original file line numberDiff line numberDiff line change
@@ -428,6 +428,11 @@
428428
"default": false,
429429
"type": "boolean"
430430
},
431+
"open": {
432+
"description": "Open a browser tab once the initial build is complete [default: false]",
433+
"default": false,
434+
"type": "boolean"
435+
},
431436
"port": {
432437
"description": "The port to serve on [default: 8080]",
433438
"default": 8080,

src/cmd/serve.rs

+6-3
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ pub struct Serve {
2929
pub port: Option<u16>,
3030
/// Open a browser tab once the initial build is complete [default: false]
3131
#[arg(long, env = "TRUNK_SERVE_OPEN")]
32-
pub open: bool,
32+
#[arg(default_missing_value="true", num_args=0..=1)]
33+
pub open: Option<bool>,
3334
/// Disable auto-reload of the web app
3435
#[arg(long, env = "TRUNK_SERVE_NO_AUTORELOAD")]
3536
#[arg(default_missing_value="true", num_args=0..=1)]
@@ -98,7 +99,7 @@ impl Serve {
9899
address,
99100
prefer_address_family,
100101
port,
101-
open: _,
102+
open,
102103
proxy:
103104
ProxyArgs {
104105
proxy_backend,
@@ -122,6 +123,7 @@ impl Serve {
122123

123124
config.serve.addresses = address.unwrap_or(config.serve.addresses);
124125
config.serve.port = port.unwrap_or(config.serve.port);
126+
config.serve.open = open.unwrap_or(config.serve.open);
125127
config.serve.prefer_address_family =
126128
prefer_address_family.or(config.serve.prefer_address_family);
127129
config.serve.serve_base = serve_base.or(config.serve.serve_base);
@@ -173,7 +175,8 @@ impl Serve {
173175
enable_cooldown: self.watch.enable_cooldown,
174176
no_error_reporting: cfg.serve.no_error_reporting,
175177
},
176-
open: self.open,
178+
// This will be the effective value for `serve.open` during runtime.
179+
open: self.open.unwrap_or(cfg.serve.open),
177180
})
178181
.await?;
179182

src/config/models/serve.rs

+4
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ pub struct Serve {
2323
/// The port to serve on [default: 8080]
2424
#[serde(default = "default::port")]
2525
pub port: u16,
26+
/// Open a browser tab once the initial build is complete [default: false]
27+
#[serde(default)]
28+
pub open: bool,
2629
/// Disable auto-reload of the web app
2730
#[serde(default)]
2831
pub no_autoreload: bool,
@@ -80,6 +83,7 @@ impl Default for Serve {
8083
addresses: vec![],
8184
prefer_address_family: None,
8285
port: default::port(),
86+
open: false,
8387
no_autoreload: false,
8488
headers: Default::default(),
8589
no_error_reporting: false,

src/config/rt/serve.rs

+1
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ impl RtcServe {
7676
addresses,
7777
prefer_address_family,
7878
port,
79+
open: _,
7980
// auto-reload is handle by the builder options
8081
no_autoreload: _,
8182
headers,

0 commit comments

Comments
 (0)