Restore SSG serve logic (#4111)
* Build ssg routes when both the client and server builds are finished * Fix default server fn encoding * fix tokio console * fix ssg * add prerendering message * render under the same environment variables as normal * fix check * use should_bundle_to_asset * enable ssg playwright test * fix clippy
This commit is contained in:
1 parent
f610c6b8c1
commit
fdd77d79c1
17 files changed
+357
-236
No files matched your search
@@ -417,31 +417,20 @@ impl AppBuilder {
|
||||
}
|
||||
}
|
||||
|
||||
#[allow(clippy::too_many_arguments)]
|
||||
pub(crate) async fn open(
|
||||
/// Create a list of environment variables that the child process will use
|
||||
pub(crate) fn child_environment_variables(
|
||||
&mut self,
|
||||
devserver_ip: SocketAddr,
|
||||
open_address: Option<SocketAddr>,
|
||||
devserver_ip: Option<SocketAddr>,
|
||||
start_fullstack_on_address: Option<SocketAddr>,
|
||||
open_browser: bool,
|
||||
always_on_top: bool,
|
||||
build_id: BuildId,
|
||||
args: &[String],
|
||||
) -> Result<()> {
|
||||
) -> Vec<(&'static str, String)> {
|
||||
let krate = &self.build;
|
||||
|
||||
// Set the env vars that the clients will expect
|
||||
// These need to be stable within a release version (ie 0.6.0)
|
||||
let mut envs = vec![
|
||||
(dioxus_cli_config::CLI_ENABLED_ENV, "true".to_string()),
|
||||
(
|
||||
dioxus_cli_config::DEVSERVER_IP_ENV,
|
||||
devserver_ip.ip().to_string(),
|
||||
),
|
||||
(
|
||||
dioxus_cli_config::DEVSERVER_PORT_ENV,
|
||||
devserver_ip.port().to_string(),
|
||||
),
|
||||
(
|
||||
dioxus_cli_config::APP_TITLE_ENV,
|
||||
krate.config.web.app.title.clone(),
|
||||
@@ -457,6 +446,17 @@ impl AppBuilder {
|
||||
),
|
||||
];
|
||||
|
||||
if let Some(devserver_ip) = devserver_ip {
|
||||
envs.push((
|
||||
dioxus_cli_config::DEVSERVER_IP_ENV,
|
||||
devserver_ip.ip().to_string(),
|
||||
));
|
||||
envs.push((
|
||||
dioxus_cli_config::DEVSERVER_PORT_ENV,
|
||||
devserver_ip.port().to_string(),
|
||||
));
|
||||
}
|
||||
|
||||
if crate::VERBOSITY
|
||||
.get()
|
||||
.map(|f| f.verbose)
|
||||
@@ -480,6 +480,27 @@ impl AppBuilder {
|
||||
envs.push((dioxus_cli_config::SERVER_PORT_ENV, addr.port().to_string()));
|
||||
}
|
||||
|
||||
envs
|
||||
}
|
||||
|
||||
#[allow(clippy::too_many_arguments)]
|
||||
pub(crate) async fn open(
|
||||
&mut self,
|
||||
devserver_ip: SocketAddr,
|
||||
open_address: Option<SocketAddr>,
|
||||
start_fullstack_on_address: Option<SocketAddr>,
|
||||
open_browser: bool,
|
||||
always_on_top: bool,
|
||||
build_id: BuildId,
|
||||
args: &[String],
|
||||
) -> Result<()> {
|
||||
let envs = self.child_environment_variables(
|
||||
Some(devserver_ip),
|
||||
start_fullstack_on_address,
|
||||
always_on_top,
|
||||
build_id,
|
||||
);
|
||||
|
||||
// We try to use stdin/stdout to communicate with the app
|
||||
match self.build.platform {
|
||||
// Unfortunately web won't let us get a proc handle to it (to read its stdout/stderr) so instead
|
||||
|
||||
Reference in new issue
Block a user