Skip to content

Commit 17f85a0

Browse files
authored
Merge pull request #465 from redbadger/v0.17.0-rc1
crux_core v0.17.0-rc1
2 parents c72f9d6 + ea5e91f commit 17f85a0

File tree

64 files changed

+3918
-2527
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+3918
-2527
lines changed

Cargo.lock

Lines changed: 127 additions & 128 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ members = [
1616
[workspace.package]
1717
authors = ["Red Badger Consulting Limited"]
1818
edition = "2024"
19-
rust-version = "1.87"
19+
rust-version = "1.88"
2020
repository = "https://github.com/redbadger/crux/"
2121
license = "Apache-2.0"
2222
keywords = ["cross-platform-ui", "crux", "crux_core", "ffi", "wasm"]

Justfile

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
build:
2+
cargo build
3+
4+
clean:
5+
cargo xtask --all clean
6+
7+
test:
8+
cargo insta test --review --test-runner nextest --all-features --lib
9+
10+
fix:
11+
cargo xtask --all format --fix
12+
13+
ci:
14+
cargo xtask --all ci

crux_cli/CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10-
## [0.2.0](https://github.com/redbadger/crux/releases/tag/crux_cli-v0.2.0) - 2025-09-02
10+
## [0.2.0-rc1](https://github.com/redbadger/crux/compare/crux_cli-v0.1.1...crux_cli-v0.2.0-rc1) - 2025-12-10
1111

1212
Breaking changes:
1313

crux_cli/Cargo.toml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "crux_cli"
3-
version = "0.2.0"
3+
version = "0.2.0-rc1"
44
description = "Command line tool for crux_core"
55
authors.workspace = true
66
edition.workspace = true
@@ -18,23 +18,23 @@ anyhow.workspace = true
1818
ascent = "0.8.0"
1919
camino = "1.2.1"
2020
cargo_metadata = "=0.19"
21-
clap = { version = "4.5.51", features = ["derive", "env"] }
22-
convert_case = "0.8.0"
21+
clap = { version = "4.5.53", features = ["derive", "env"] }
22+
convert_case = "0.10.0"
2323
derive_builder = "0.20.2"
2424
env_logger = "0.11.8"
2525
guppy = "0.17.23"
26-
iter_tools = "0.40.0"
26+
iter_tools = "0.43.0"
2727
lazy-regex = "3.4.2"
28-
log = "0.4.28"
28+
log = "0.4.29"
2929
rustdoc-types = "=0.35.0"
3030
serde = { workspace = true, features = ["derive"] }
3131
serde-generate = "0.32.0"
32-
serde-reflection = "0.5.0"
32+
serde-reflection = "0.5.1"
3333
serde_json = "1.0.145"
3434
thiserror.workspace = true
3535
uniffi_bindgen.workspace = true
3636

3737
[dev-dependencies]
38-
insta = { version = "1.43.2" }
38+
insta = { version = "1.44.3" }
3939
pretty_assertions = "1.4.1"
4040
rstest = "0.26.1"

crux_cli/src/args.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use std::path::{Path, PathBuf};
22

33
use clap::{Args, Parser, Subcommand, ValueHint::DirPath};
4-
use convert_case::{Boundary, Case, Casing, pattern};
4+
use convert_case::{Case, Casing, Pattern, delim_boundary};
55
use derive_builder::Builder;
66

77
#[derive(Parser)]
@@ -58,7 +58,7 @@ pub struct Generate {
5858
long,
5959
short,
6060
value_name = "dotted.case",
61-
value_parser = dotted_case
61+
value_parser = dot_case
6262
)]
6363
pub java: Option<String>,
6464

@@ -130,10 +130,10 @@ impl BindgenArgsBuilder {
130130
}
131131
}
132132

133-
fn dotted_case(s: &str) -> Result<String, String> {
133+
fn dot_case(s: &str) -> Result<String, String> {
134134
const DOT_CASE: Case = Case::Custom {
135-
boundaries: &[Boundary::from_delim(".")],
136-
pattern: pattern::lowercase,
135+
boundaries: &[delim_boundary!(".")],
136+
pattern: Pattern::Lowercase,
137137
delim: ".",
138138
};
139139
if s.is_case(DOT_CASE) {
@@ -172,11 +172,11 @@ mod cli_tests {
172172
#[test]
173173
fn dotted() {
174174
assert_eq!(
175-
dotted_case("com.example.crux.shared.types").unwrap(),
175+
dot_case("com.example.crux.shared.types").unwrap(),
176176
"com.example.crux.shared.types"
177177
);
178178
assert_eq!(
179-
dotted_case("comExampleCruxSharedTypes").unwrap_err(),
179+
dot_case("comExampleCruxSharedTypes").unwrap_err(),
180180
"Invalid dotted case: comExampleCruxSharedTypes"
181181
);
182182
}

crux_cli/src/codegen/node.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -264,11 +264,10 @@ fn check_path(
264264
}: &Path,
265265
is_remote: bool,
266266
) -> bool {
267-
if is_remote {
268-
if let "Option" | "String" | "Vec" | "std::ops::Range" = path.as_str() {
269-
return false;
270-
}
267+
if is_remote && let "Option" | "String" | "Vec" | "std::ops::Range" = path.as_str() {
268+
return false;
271269
}
270+
272271
id == &parent.id || {
273272
if let Some(args) = args {
274273
check_args(parent, args, is_remote)

crux_core/CHANGELOG.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to
77
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
88

9-
## [Unreleased]
9+
## [0.17.0-rc1](https://github.com/redbadger/crux/compare/crux_core-v0.16.1...crux_core-v0.17.0-rc1) - 2025-12-10
10+
11+
### 🚀 Features
12+
13+
This is a breaking change.
14+
15+
TODO: update changelog
1016

1117
## [0.16.2](https://github.com/redbadger/crux/compare/crux_core-v0.16.1...crux_core-v0.16.2) - 2025-12-15
1218

crux_core/Cargo.toml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "crux_core"
3-
version = "0.16.1"
3+
version = "0.17.0-rc1"
44
authors.workspace = true
55
edition.workspace = true
66
rust-version.workspace = true
@@ -17,12 +17,12 @@ all-features = true
1717
anyhow.workspace = true
1818
bincode = "=1.3.3"
1919
crossbeam-channel = "0.5.15"
20-
crux_cli = { version = "0.2.0", optional = true, path = "../crux_cli" }
21-
crux_macros = { version = "0.7.0", path = "../crux_macros", optional = true }
20+
crux_cli = { version = "0.2.0-rc1", optional = true, path = "../crux_cli" }
21+
crux_macros = { version = "0.8.0-rc1", path = "../crux_macros", optional = true }
2222
facet.workspace = true
2323
facet_generate = { version = "0.12.1", optional = true }
2424
futures = "0.3.31"
25-
log = { version = "0.4.28", optional = true }
25+
log = { version = "0.4.29", optional = true }
2626
serde = { workspace = true, features = ["derive"] }
2727
serde-generate = { version = "=0.26.0", optional = true }
2828
serde-reflection = { version = "=0.4.0", optional = true }
@@ -42,7 +42,7 @@ serde = { version = "1.0.228", features = ["derive"] }
4242
static_assertions = "1.1"
4343
tempfile = "3.23.0"
4444
url = "2.5.7"
45-
uuid = { version = "1.18.1", features = ["serde", "v4"] }
45+
uuid = { version = "1.19.0", features = ["serde", "v4"] }
4646

4747
[features]
4848
default = ["crux_macros"]

crux_core/src/command/tests/integration.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -136,10 +136,10 @@ impl App for Counter {
136136
.then_send(Event::GotCount),
137137

138138
Event::GotCount(response) => {
139-
if response.status == 200 {
140-
if let Ok(count) = response.body.parse() {
141-
*model = count;
142-
}
139+
if response.status == 200
140+
&& let Ok(count) = response.body.parse()
141+
{
142+
*model = count;
143143
}
144144

145145
Command::done()

0 commit comments

Comments
 (0)