aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/luax/mod.rs3
-rw-r--r--src/main.rs24
2 files changed, 17 insertions, 10 deletions
diff --git a/src/luax/mod.rs b/src/luax/mod.rs
index 1e87124..55a9f48 100644
--- a/src/luax/mod.rs
+++ b/src/luax/mod.rs
@@ -130,7 +130,7 @@ pub fn preprocess_dir(path: &Path, output_path: &Path) -> Result<usize> {
Ok(preprocessed)
}
-pub fn prepare_lua() -> Result<Lua> {
+pub fn prepare_lua(dev_mode: bool) -> Result<Lua> {
let lua = Lua::new();
// create a table called "reluax" with common utility functions
@@ -142,6 +142,7 @@ pub fn prepare_lua() -> Result<Lua> {
reluax.set("url_matches", url_matches)?;
let url_extract = ctx.create_function(utils::url_extract)?;
reluax.set("url_extract", url_extract)?;
+ reluax.set("dev_mode", dev_mode)?;
ctx.globals().set("reluax", reluax)?;
diff --git a/src/main.rs b/src/main.rs
index 9715ef6..a604d15 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -124,9 +124,9 @@ async fn main() -> color_eyre::Result<()> {
println!("🌴 Project root: {}", change_dir.display().bright_yellow());
if local {
- serve_locally(change_dir, port, None).await
+ serve_locally(change_dir, false, port, None).await
} else {
- serve_from_temp(change_dir, port, None).await
+ serve_from_temp(change_dir, false, port, None).await
}
}
Args::Build {
@@ -169,9 +169,9 @@ async fn main() -> color_eyre::Result<()> {
};
if local {
- serve_locally(change_dir, port, public_dir).await
+ serve_locally(change_dir, true, port, public_dir).await
} else {
- serve_from_temp(change_dir, port, public_dir).await
+ serve_from_temp(change_dir, true, port, public_dir).await
}
}
Args::New { name } => create_project(&name),
@@ -179,18 +179,24 @@ async fn main() -> color_eyre::Result<()> {
}
}
-async fn serve_locally(change_dir: PathBuf, port: u16, public_dir: Option<PathBuf>) -> Result<()> {
+async fn serve_locally(
+ change_dir: PathBuf,
+ dev_mode: bool,
+ port: u16,
+ public_dir: Option<PathBuf>,
+) -> Result<()> {
println!("🌴 Running in local mode");
std::env::set_current_dir(&change_dir)?;
preprocess_current_dir().await?;
ensure_entry_point().await?;
- serve(port, public_dir).await
+ serve(dev_mode, port, public_dir).await
}
async fn serve_from_temp(
change_dir: PathBuf,
+ dev_mode: bool,
port: u16,
public_dir: Option<PathBuf>,
) -> Result<()> {
@@ -228,7 +234,7 @@ async fn serve_from_temp(
ensure_entry_point().await?;
- serve(port, public_dir).await
+ serve(dev_mode, port, public_dir).await
}
async fn preprocess_current_dir() -> Result<()> {
@@ -257,9 +263,9 @@ async fn ensure_entry_point() -> Result<()> {
Ok(())
}
-async fn serve(port: u16, public_dir: Option<PathBuf>) -> Result<()> {
+async fn serve(dev_mode: bool, port: u16, public_dir: Option<PathBuf>) -> Result<()> {
println!("📦 Building Lua state...");
- let lua = luax::prepare_lua()?;
+ let lua = luax::prepare_lua(dev_mode)?;
println!("🛫 Starting server on port {}...", port);
server::Server::serve(lua, port, public_dir).await
}