Compare commits

..

3 commits
v0.3.4 ... main

6 changed files with 38 additions and 29 deletions

View file

@ -6,6 +6,14 @@ All notable changes to this project will be documented in this file.
- Nothing yet
## [0.3.6] - 2025-04-17
- Better error messages when having route.rs files with invalid code
## [0.3.5] - 2025-04-16
- Moved macrotest to dev deps
## [0.3.4] - 2025-04-16
- Refactored huge lib.rs into 3 seperate files.

2
Cargo.lock generated
View file

@ -94,7 +94,7 @@ dependencies = [
[[package]]
name = "axum-folder-router"
version = "0.3.4"
version = "0.3.6"
dependencies = [
"anyhow",
"axum",

View file

@ -1,6 +1,6 @@
[package]
name = "axum-folder-router"
version = "0.3.4"
version = "0.3.6"
edition = "2021"
readme = "./README.md"
authors = ["Tristan Druyen <ek36g2vcc@mozmail.com>"]
@ -20,7 +20,6 @@ syn = { version = "2.0", features = ["full"] }
quote = "1.0"
proc-macro2 = "1.0"
glob = "0.3"
macrotest = "1.1.0"
regex = "1.11.1"
[dev-dependencies]
@ -28,6 +27,7 @@ anyhow = "1.0.98"
axum = "0.8.3"
tokio = { version = "1.44.2", features = ["full"] }
trybuild = "1.0.104"
macrotest = "1.1.0"
[lints.clippy]
pedantic = { level = "warn", priority = -1 }

View file

@ -172,15 +172,7 @@ pub fn route_registrations(
let method_registrations = methods_for_route(route_path);
if method_registrations.is_empty() {
return quote! {
compile_error!(concat!(
"No routes defined in your route.rs's !\n",
"ensure that at least one `pub async fn` named after an HTTP verb is defined. (e.g. get, post, put, delete)"
));
};
}
if !method_registrations.is_empty() {
let first_method = &method_registrations[0];
let first_method_ident = format_ident!("{}", first_method);
@ -203,6 +195,15 @@ pub fn route_registrations(
};
route_registrations.push(registration);
}
}
if route_registrations.is_empty() {
return quote! {
compile_error!(concat!(
"No routes defined in your route.rs's !\n",
"Ensure that at least one `pub async fn` named after an HTTP verb is defined. (e.g. get, post, put, delete)"
));
};
}
TokenStream::from_iter(route_registrations)
}

View file

@ -4,14 +4,14 @@ use std::{
};
use syn::{
parse::{Parse, ParseStream},
parse_file,
Ident,
Item,
LitStr,
Result,
Token,
Visibility,
parse::{Parse, ParseStream},
parse_file,
};
#[derive(Debug)]

View file

@ -1,5 +1,5 @@
error: No routes defined in your route.rs's !
ensure that at least one `pub async fn` named after an HTTP verb is defined. (e.g. get, post, put, delete)
Ensure that at least one `pub async fn` named after an HTTP verb is defined. (e.g. get, post, put, delete)
--> tests/failures/no_routes.rs:6:1
|
6 | #[folder_router("../../../../tests/failures/no_routes", AppState)]