diff --git a/cli/src/generate/node_types.rs b/cli/src/generate/node_types.rs index 51f902f5..92b9dd67 100644 --- a/cli/src/generate/node_types.rs +++ b/cli/src/generate/node_types.rs @@ -523,14 +523,17 @@ pub(crate) fn generate_node_types_json( } node_type_json.fields = Some(fields_json); if info.child_types_without_fields.len() > 0 { + let mut children_types = info + .child_types_without_fields + .iter() + .map(child_type_to_node_type) + .collect::>(); + children_types.sort_unstable(); + children_types.dedup(); node_type_json.children = Some(FieldInfoJSON { multiple: true, required: false, - types: info - .child_types_without_fields - .iter() - .map(child_type_to_node_type) - .collect(), + types: children_types, }); } }