From 58d3f5c32a5b284379aadca0be86a687d93b9213 Mon Sep 17 00:00:00 2001 From: Valentin Dosimont Date: Fri, 28 Feb 2025 10:00:27 +0100 Subject: [PATCH] fix: sozo build --typescript now properly orders contracts.gen.ts --- crates/dojo/bindgen/src/plugins/typescript/writer.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/crates/dojo/bindgen/src/plugins/typescript/writer.rs b/crates/dojo/bindgen/src/plugins/typescript/writer.rs index 06c3e97c0d..a959bbde48 100644 --- a/crates/dojo/bindgen/src/plugins/typescript/writer.rs +++ b/crates/dojo/bindgen/src/plugins/typescript/writer.rs @@ -1,6 +1,7 @@ use std::path::{Path, PathBuf}; use cainome::parser::tokens::Composite; +use dojo_world::contracts::naming; use crate::error::BindgenResult; use crate::plugins::{BindgenContractGenerator, BindgenModelGenerator, BindgenWriter, Buffer}; @@ -148,7 +149,15 @@ impl BindgenWriter for TsFileContractWriter { .collect::>() }) .collect::>(); - functions.sort_by(|(_, af), (_, bf)| af.name.cmp(&bf.name)); + + functions.sort_by(|(ca, af), (cb, bf)| { + let contract_a = naming::get_name_from_tag(&ca.tag); + let contract_b = naming::get_name_from_tag(&cb.tag); + let function_a = format!("{}_{}", contract_a, af.name); + let function_b = format!("{}_{}", contract_b, bf.name); + + function_a.cmp(&function_b) + }); let code = self .generators