@@ -163,6 +163,7 @@ module ResClflags : sig
163163 val interface : bool ref
164164 val jsx_version : int ref
165165 val jsx_module : string ref
166+ val jsx_preserve : bool ref
166167 val typechecker : bool ref
167168 val test_ast_conversion : bool ref
168169
@@ -175,6 +176,7 @@ end = struct
175176 let interface = ref false
176177 let jsx_version = ref (- 1 )
177178 let jsx_module = ref " react"
179+ let jsx_preserve = ref false
178180 let file = ref " "
179181 let typechecker = ref false
180182 let test_ast_conversion = ref false
@@ -225,7 +227,7 @@ module CliArgProcessor = struct
225227 [@@ unboxed]
226228
227229 let process_file ~is_interface ~width ~recover ~target ~jsx_version
228- ~jsx_module ~typechecker ~test_ast_conversion filename =
230+ ~jsx_module ~jsx_preserve ~ typechecker ~test_ast_conversion filename =
229231 let len = String. length filename in
230232 let process_interface =
231233 is_interface
@@ -277,7 +279,8 @@ module CliArgProcessor = struct
277279 Ast_mapper_from0. default_mapper tree0
278280 in
279281 let parsetree =
280- Jsx_ppx. rewrite_signature ~jsx_version ~jsx_module parsetree
282+ Jsx_ppx. rewrite_signature ~jsx_version ~jsx_module ~jsx_preserve
283+ parsetree
281284 in
282285 print_engine.print_interface ~width ~filename
283286 ~comments: parse_result.comments parsetree
@@ -302,7 +305,8 @@ module CliArgProcessor = struct
302305 Ast_mapper_from0. default_mapper tree0
303306 in
304307 let parsetree =
305- Jsx_ppx. rewrite_implementation ~jsx_version ~jsx_module parsetree
308+ Jsx_ppx. rewrite_implementation ~jsx_version ~jsx_module ~jsx_preserve
309+ parsetree
306310 in
307311 print_engine.print_implementation ~width ~filename
308312 ~comments: parse_result.comments parsetree
@@ -315,7 +319,7 @@ let () =
315319 CliArgProcessor. process_file ~is_interface: ! ResClflags. interface
316320 ~width: ! ResClflags. width ~recover: ! ResClflags. recover
317321 ~target: ! ResClflags. print ~jsx_version: ! ResClflags. jsx_version
318- ~jsx_module: ! ResClflags. jsx_module ~typechecker : ! ResClflags. typechecker
319- ! ResClflags. file
322+ ~jsx_module: ! ResClflags. jsx_module ~jsx_preserve : ! ResClflags. jsx_preserve
323+ ~typechecker: ! ResClflags. typechecker ! ResClflags. file
320324 ~test_ast_conversion: ! ResClflags. test_ast_conversion)
321325[@@ raises exit]
0 commit comments