From 2ebfbea2ad33a20780ce40a512260c2ecc2dcdc3 Mon Sep 17 00:00:00 2001 From: Bot Date: Fri, 23 Oct 2026 18:46:24 +0800 Subject: [PATCH] feat(typescript): add default export for Client class in generated bindings --- cmd/crates/soroban-spec-typescript/src/lib.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/cmd/crates/soroban-spec-typescript/src/lib.rs b/cmd/crates/soroban-spec-typescript/src/lib.rs index 0fe5823c4a..36d97efe23 100644 --- a/cmd/crates/soroban-spec-typescript/src/lib.rs +++ b/cmd/crates/soroban-spec-typescript/src/lib.rs @@ -125,7 +125,8 @@ export class Client extends ContractClient {{ public readonly fromJSON = {{ {from_jsons} }} -}}"#, +}} +export default Client;"#, ) } @@ -737,6 +738,15 @@ mod tests { assert!(!result.contains(METHOD_TEST)); } + #[test] + fn test_generate_includes_export_default_client() { + let output = generate(&[]); + assert!( + output.contains("export default Client;"), + "Generated TypeScript bindings must include 'export default Client;'" + ); + } + #[test] fn test_validate_npm_package_name_valid() { assert!(validate_npm_package_name("my-contract").is_ok());