Gate dev seed module behind a Cargo feature flag
The dev module (seed data for serve --seed) is only needed during\ndevelopment. Added a default-on \"dev\" feature that gates the module\nand the --seed CLI flag. Release builds can opt out with\n--no-default-features.\n\nAssisted-by: GLM-5.1 via pi
change lqwtuluzkloovrnklqmnxmruvvmlzrwz
commit 951656ed3fb674b482d16baca5e82941fb308b63
author Alpha Chen <alpha@kejadlen.dev>
date
parent tzzurryt
diff --git a/Cargo.toml b/Cargo.toml
index c096ecc..f38a8eb 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -3,6 +3,10 @@ name = "quire"
 version = "0.1.0"
 edition = "2024"
 
+[features]
+default = ["dev"]
+dev = []
+
 [[bin]]
 name = "quire"
 path = "src/bin/quire/main.rs"
diff --git a/src/bin/quire/commands/mod.rs b/src/bin/quire/commands/mod.rs
index cde82ec..5219c76 100644
--- a/src/bin/quire/commands/mod.rs
+++ b/src/bin/quire/commands/mod.rs
@@ -1,4 +1,5 @@
 pub mod ci;
+#[cfg(feature = "dev")]
 pub mod dev;
 pub mod exec;
 pub mod hook;
diff --git a/src/bin/quire/main.rs b/src/bin/quire/main.rs
index 3aae139..3bf1c97 100644
--- a/src/bin/quire/main.rs
+++ b/src/bin/quire/main.rs
@@ -40,6 +40,7 @@ enum Commands {
     /// Start the HTTP server.
     Serve {
         /// Seed the database with dev data before starting.
+        #[cfg(feature = "dev")]
         #[arg(long)]
         seed: bool,
     },
@@ -207,13 +208,21 @@ async fn main() -> Result<()> {
     };
 
     match command {
-        Commands::Serve { seed } => {
+        Commands::Serve {
+            #[cfg(feature = "dev")]
+            seed,
+        } => {
+            #[cfg(feature = "dev")]
             let quire = if seed { commands::dev::seed()? } else { quire };
-            let ci_routes = quire::quire::web::router(quire.clone());
+            #[cfg(not(feature = "dev"))]
+            let ci_routes = quire::quire::web::router(quire.clone()).layer(
+                axum::middleware::from_fn(quire::quire::web::auth::require_auth),
+            );
+            #[cfg(feature = "dev")]
             let ci_routes = if seed {
-                ci_routes
+                quire::quire::web::router(quire.clone())
             } else {
-                ci_routes.layer(axum::middleware::from_fn(
+                quire::quire::web::router(quire.clone()).layer(axum::middleware::from_fn(
                     quire::quire::web::auth::require_auth,
                 ))
             };