Skip to content

Commit 6383f64

Browse files
committed
chore: switch from snake_case to camelCase in config serialization (#2657)
<!-- Please make sure there is an issue that this PR is correlated to. --> ## Changes <!-- If there are frontend changes, please include screenshots. -->
1 parent fa1f776 commit 6383f64

File tree

4 files changed

+29
-21
lines changed

4 files changed

+29
-21
lines changed

packages/toolchain/toolchain/src/config/build/docker.rs

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ use serde::{Deserialize, Serialize};
66
use super::Compression;
77

88
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
9-
#[serde(rename_all = "snake_case", deny_unknown_fields)]
9+
#[serde(rename_all = "camelCase", deny_unknown_fields)]
1010
pub struct Build {
1111
/// Directory to build the Docker image from.
12-
#[serde(skip_serializing_if = "Option::is_none")]
12+
#[serde(skip_serializing_if = "Option::is_none", alias = "build_path")]
1313
pub build_path: Option<String>,
1414
/// Existing image tag to upload.
1515
#[serde(skip_serializing_if = "Option::is_none")]
@@ -18,10 +18,10 @@ pub struct Build {
1818
#[serde(skip_serializing_if = "Option::is_none")]
1919
pub dockerfile: Option<String>,
2020
/// Build target to upload.
21-
#[serde(skip_serializing_if = "Option::is_none")]
21+
#[serde(skip_serializing_if = "Option::is_none", alias = "build_target")]
2222
pub build_target: Option<String>,
2323
/// Build arguments to pass to the build.
24-
#[serde(skip_serializing_if = "Option::is_none")]
24+
#[serde(skip_serializing_if = "Option::is_none", alias = "build_args")]
2525
pub build_args: Option<HashMap<String, String>>,
2626
/// Unstable features.
2727
#[serde(skip_serializing_if = "Option::is_none")]
@@ -35,9 +35,11 @@ impl Build {
3535
}
3636

3737
#[derive(Default, Debug, Clone, Serialize, Deserialize, JsonSchema)]
38-
#[serde(rename_all = "snake_case", deny_unknown_fields)]
38+
#[serde(rename_all = "camelCase", deny_unknown_fields)]
3939
pub struct Unstable {
40+
#[serde(alias = "allow_root")]
4041
pub allow_root: Option<bool>,
42+
#[serde(alias = "build_method")]
4143
pub build_method: Option<BuildMethod>,
4244
pub bundle: Option<BundleKind>,
4345
pub compression: Option<Compression>,
@@ -58,7 +60,7 @@ impl Unstable {
5860
}
5961

6062
#[derive(Debug, Copy, Clone, Serialize, Deserialize, PartialEq, JsonSchema, clap::ValueEnum)]
61-
#[serde(rename_all = "snake_case")]
63+
#[serde(rename_all = "camelCase")]
6264
pub enum BuildMethod {
6365
/// Use the native Docker build command. Only used if Buildx is not available.
6466
Buildx,
@@ -73,7 +75,7 @@ pub enum BuildMethod {
7375
#[derive(
7476
Debug, Copy, Clone, Serialize, Deserialize, strum::AsRefStr, JsonSchema, clap::ValueEnum,
7577
)]
76-
#[serde(rename_all = "snake_case")]
78+
#[serde(rename_all = "camelCase")]
7779
pub enum BundleKind {
7880
/// Legacy option. Docker image archive output from `docker save`. Slower lobby start
7981
/// times.

packages/toolchain/toolchain/src/config/build/javascript.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,25 @@ use super::Compression;
55

66
// TODO: Add back `deny_unknown_fields` after https://github.com/serde-rs/serde/issues/1600
77
#[derive(Clone, Debug, Serialize, Deserialize, JsonSchema)]
8-
#[serde(rename_all = "snake_case")]
8+
#[serde(rename_all = "camelCase")]
99
pub struct Build {
1010
pub script: String,
1111
#[serde(default)]
1212
pub unstable: Unstable,
1313
}
1414

1515
#[derive(Clone, Default, Debug, Serialize, Deserialize, JsonSchema)]
16-
#[serde(rename_all = "snake_case", deny_unknown_fields)]
16+
#[serde(rename_all = "camelCase", deny_unknown_fields)]
1717
pub struct Unstable {
1818
pub minify: Option<bool>,
19+
#[serde(alias = "analyze_result")]
1920
pub analyze_result: Option<bool>,
21+
#[serde(alias = "esbuild_log_level")]
2022
pub esbuild_log_level: Option<String>,
2123
pub compression: Option<Compression>,
24+
#[serde(alias = "dump_build")]
2225
pub dump_build: Option<bool>,
26+
#[serde(alias = "no_bundler")]
2327
pub no_bundler: Option<bool>,
2428
}
2529

packages/toolchain/toolchain/src/config/build/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ pub mod docker;
55
pub mod javascript;
66

77
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
8-
#[serde(rename_all = "snake_case", untagged)]
8+
#[serde(rename_all = "camelCase", untagged)]
99
pub enum Runtime {
1010
Docker(docker::Build),
1111
#[serde(rename = "javascript")]
@@ -15,7 +15,7 @@ pub enum Runtime {
1515
#[derive(
1616
Debug, Copy, Clone, Serialize, Deserialize, strum::AsRefStr, JsonSchema, clap::ValueEnum,
1717
)]
18-
#[serde(rename_all = "snake_case")]
18+
#[serde(rename_all = "camelCase")]
1919
pub enum Compression {
2020
/// No compression.
2121
#[strum(serialize = "none")]

packages/toolchain/toolchain/src/config/mod.rs

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ impl Deref for Config {
5555
}
5656

5757
#[derive(Clone, Debug, Serialize, Deserialize, JsonSchema)]
58-
#[serde(rename_all = "snake_case", deny_unknown_fields)]
58+
#[serde(rename_all = "camelCase", deny_unknown_fields)]
5959
pub struct Root {
6060
#[serde(default, alias = "builds")]
6161
pub actors: HashMap<String, Actor>,
@@ -67,25 +67,26 @@ pub struct Root {
6767
#[serde(default)]
6868
pub functions: HashMap<String, Function>,
6969

70-
#[serde(default)]
70+
#[serde(default, alias = "rivetkit")]
7171
pub rivetkit: Option<RivetKit>,
7272
}
7373

7474
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
75-
#[serde(rename_all = "snake_case")]
75+
#[serde(rename_all = "camelCase")]
7676
pub struct Actor {
7777
#[serde(flatten)]
7878
pub build: Build,
7979
}
8080

8181
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
82-
#[serde(rename_all = "snake_case")]
82+
#[serde(rename_all = "camelCase")]
8383
pub struct Function {
8484
#[serde(flatten)]
8585
pub build: Build,
8686
pub path: Option<String>,
87+
#[serde(alias = "route_subpaths")]
8788
pub route_subpaths: Option<bool>,
88-
#[serde(default)]
89+
#[serde(default, alias = "strip_prefix")]
8990
pub strip_prefix: Option<bool>,
9091
#[serde(default)]
9192
pub networking: FunctionNetworking,
@@ -117,8 +118,9 @@ impl Function {
117118
}
118119

119120
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema, Default)]
120-
#[serde(rename_all = "snake_case")]
121+
#[serde(rename_all = "camelCase")]
121122
pub struct FunctionNetworking {
123+
#[serde(alias = "internal_port")]
122124
pub internal_port: Option<u16>,
123125
}
124126

@@ -129,13 +131,13 @@ impl FunctionNetworking {
129131
}
130132

131133
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema, Default)]
132-
#[serde(rename_all = "snake_case")]
134+
#[serde(rename_all = "camelCase")]
133135
pub struct FunctionRuntime {
134136
pub environment: Option<HashMap<String, String>>,
135137
}
136138

137139
#[derive(Clone, Debug, Serialize, Deserialize, JsonSchema)]
138-
#[serde(rename_all = "snake_case")]
140+
#[serde(rename_all = "camelCase")]
139141
pub struct RivetKit {
140142
// TEMPORARY: We need to auto-generate a worker file using isoaltes, so we need to know the
141143
// path to the registry
@@ -148,15 +150,15 @@ pub struct RivetKit {
148150
}
149151

150152
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
151-
#[serde(rename_all = "snake_case")]
153+
#[serde(rename_all = "camelCase")]
152154
pub struct Resources {
153155
pub cpu: u64,
154156
pub memory: u64,
155157
}
156158

157159
// TODO: Add back `deny_unknown_fields` after https://github.com/serde-rs/serde/issues/1600
158160
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
159-
#[serde(rename_all = "snake_case")]
161+
#[serde(rename_all = "camelCase")]
160162
pub struct Build {
161163
pub tags: Option<HashMap<String, String>>,
162164
#[serde(flatten)]

0 commit comments

Comments
 (0)