refactor!: rename slhx to hemx
Rename the tracked product identity, crate/package names, Rust paths/macros, generated artifacts, runtime files, public attributes, examples, docs, requirements, and tests from slhx to hemx without compatibility shims. Verified with cargo run -p hemx-xtask -- test, cargo test -p hemx-derive --test compile_fail, cargo test -p hemx-js, cargo test -p hemx-axum, cargo test -p hemx-v0-examples, cargo check --workspace, redgate list, redgate refs, redgate health --strict, git diff --check, and git grep/ls-files legacy-name audits. req: misc/001 req: codegen/001 req: component/004 req: runtime/001
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
#[slhx::surface]
|
||||
#[hemx::surface]
|
||||
pub mod ui {}
|
||||
|
||||
#[cfg(test)]
|
||||
@@ -7,8 +7,8 @@ mod tests {
|
||||
use super::ui::issue_card::advance_work;
|
||||
use super::ui::issue_lane::events as lane_events;
|
||||
use hemplate::Hemplate;
|
||||
use slhx::IntoEffect;
|
||||
use slhx_test::inspect;
|
||||
use hemx::IntoEffect;
|
||||
use hemx_test::inspect;
|
||||
|
||||
#[derive(Hemplate)]
|
||||
#[hemplate = "partials"]
|
||||
@@ -18,7 +18,7 @@ mod tests {
|
||||
|
||||
#[allow(dead_code)]
|
||||
#[derive(Clone, Debug)]
|
||||
#[slhx::form("launch_work")]
|
||||
#[hemx::form("launch_work")]
|
||||
struct LaunchWork {
|
||||
title: String,
|
||||
lane: String,
|
||||
@@ -43,8 +43,8 @@ mod tests {
|
||||
// req: examples/001 req: form/001 req: form/004 req: form/006 req: derive_handler/003
|
||||
#[test]
|
||||
fn techdemo_form_handler_is_checked_against_hemplate_form() {
|
||||
#[slhx::handler]
|
||||
fn launch_work(_form: slhx::Form<LaunchWork>) -> impl IntoEffect {
|
||||
#[hemx::handler]
|
||||
fn launch_work(_form: hemx::Form<LaunchWork>) -> impl IntoEffect {
|
||||
notice.text("queued")
|
||||
}
|
||||
|
||||
|
||||
@@ -5,14 +5,14 @@ use axum::routing::get;
|
||||
use axum::Router;
|
||||
use futures_util::{stream, StreamExt};
|
||||
use hemplate::Hemplate;
|
||||
use slhx::{CssClass, CssClasses, EventName, Html, IntoEffect};
|
||||
use slhx_axum::{
|
||||
use hemx::{CssClass, CssClasses, EventName, Html, IntoEffect};
|
||||
use hemx_axum::{
|
||||
interactions, runtime_js, sse, DispatchRegistry, DispatchRejection, EffectResponse,
|
||||
InteractionRequest, PageRequest,
|
||||
};
|
||||
use slhx_techdemo::ui;
|
||||
use slhx_techdemo::ui::control_center::{self as control, classes};
|
||||
use slhx_techdemo::ui::{issue_card as card_control, issue_lane as lane_control};
|
||||
use hemx_techdemo::ui;
|
||||
use hemx_techdemo::ui::control_center::{self as control, classes};
|
||||
use hemx_techdemo::ui::{issue_card as card_control, issue_lane as lane_control};
|
||||
use std::collections::{BTreeMap, VecDeque};
|
||||
use std::convert::Infallible;
|
||||
use std::net::SocketAddr;
|
||||
@@ -24,7 +24,7 @@ const LANES: [(&str, &str, &str); 3] = [
|
||||
("runtime", "Runtime", "typed updates → DOM"),
|
||||
("product", "Product", "Native UX, zero app JS"),
|
||||
];
|
||||
const ISLAND_ORBIT: EventName = EventName::new("slhx:island-orbit");
|
||||
const ISLAND_ORBIT: EventName = EventName::new("hemx:island-orbit");
|
||||
|
||||
#[derive(Clone)]
|
||||
struct WorkItem {
|
||||
@@ -226,18 +226,18 @@ async fn main() {
|
||||
.route("/architecture", get(architecture))
|
||||
.route("/events", get(events))
|
||||
.route("/favicon.ico", get(favicon))
|
||||
.route("/slhx.js", get(runtime))
|
||||
.route("/hemx.js", get(runtime))
|
||||
.route("/app.css", get(app_css))
|
||||
.route("/control_center.css", get(control_center_css))
|
||||
.route("/island.js", get(island_js))
|
||||
.with_state(state);
|
||||
|
||||
let addr = std::env::var("SLHX_TECHDEMO_ADDR")
|
||||
let addr = std::env::var("HEMX_TECHDEMO_ADDR")
|
||||
.ok()
|
||||
.and_then(|addr| addr.parse().ok())
|
||||
.unwrap_or_else(|| SocketAddr::from(([127, 0, 0, 1], 3002)));
|
||||
let listener = tokio::net::TcpListener::bind(addr).await.unwrap();
|
||||
println!("slhx techdemo: http://{addr}");
|
||||
println!("hemx techdemo: http://{addr}");
|
||||
axum::serve(listener, app).await.unwrap();
|
||||
}
|
||||
|
||||
@@ -246,7 +246,7 @@ async fn home(State(state): State<Arc<Shared>>, request: PageRequest) -> impl In
|
||||
let demo = state.demo.lock().unwrap().clone();
|
||||
request
|
||||
.page_html(page_html(&demo), shell)
|
||||
.title("slhx Techdemo")
|
||||
.title("hemx Techdemo")
|
||||
.fingerprint(ui::BUILD_FINGERPRINT)
|
||||
}
|
||||
|
||||
@@ -261,7 +261,7 @@ async fn architecture(request: PageRequest) -> impl IntoResponse {
|
||||
});
|
||||
request
|
||||
.page_html(body, shell)
|
||||
.title("slhx Architecture")
|
||||
.title("hemx Architecture")
|
||||
.fingerprint(ui::BUILD_FINGERPRINT)
|
||||
}
|
||||
|
||||
@@ -659,11 +659,11 @@ mod tests {
|
||||
.select(&selector("title"))
|
||||
.next()
|
||||
.map(|title| title.text().collect::<String>()),
|
||||
Some("slhx Techdemo".to_owned())
|
||||
Some("hemx Techdemo".to_owned())
|
||||
);
|
||||
assert_eq!(
|
||||
document
|
||||
.select(&selector("script[src=\"/slhx.js\"]"))
|
||||
.select(&selector("script[src=\"/hemx.js\"]"))
|
||||
.count(),
|
||||
1
|
||||
);
|
||||
@@ -687,7 +687,7 @@ mod tests {
|
||||
);
|
||||
assert_eq!(
|
||||
document
|
||||
.select(&selector("main[data-slhx-root=\"techdemo\"]"))
|
||||
.select(&selector("main[data-hemx-root=\"techdemo\"]"))
|
||||
.count(),
|
||||
1
|
||||
);
|
||||
@@ -706,7 +706,7 @@ mod tests {
|
||||
let document = Html::parse_fragment(html.as_str());
|
||||
assert_eq!(
|
||||
document
|
||||
.select(&selector("[data-slhx-root=\"techdemo\"]"))
|
||||
.select(&selector("[data-hemx-root=\"techdemo\"]"))
|
||||
.count(),
|
||||
1
|
||||
);
|
||||
@@ -853,7 +853,7 @@ mod tests {
|
||||
assert_eq!(items.len(), 3);
|
||||
assert_eq!(
|
||||
items[1].text().collect::<String>(),
|
||||
"Fetched HTML with X-SLHX-Partial"
|
||||
"Fetched HTML with X-HEMX-Partial"
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user