File tree Expand file tree Collapse file tree 3 files changed +11
-8
lines changed Expand file tree Collapse file tree 3 files changed +11
-8
lines changed Original file line number Diff line number Diff line change @@ -50,9 +50,12 @@ let simplify_alias (meta : Lam_stats.t) (lam : Lam.t) : Lam.t =
5050 Main use case, we should detect inline all immutable block .. *)
5151 match simpl arg with
5252 | Lvar v as l ->
53- Lam_util. field_flatten_get
54- (fun _ -> Lam. prim ~primitive ~args: [l] loc)
55- v i info meta.ident_tbl
53+ (* Preserve module qualification when JSX preserve mode is enabled
54+ This ensures component names like X.make are not flattened to just make
55+ in JSX preserve mode *)
56+ let prim = Lam. prim ~primitive ~args: [l] loc in
57+ if ! Js_config. jsx_preserve then prim
58+ else Lam_util. field_flatten_get (fun _ -> prim) v i info meta.ident_tbl
5659 | l -> Lam. prim ~primitive ~args: [l] loc)
5760 | Lprim
5861 {
Original file line number Diff line number Diff line change @@ -25,7 +25,7 @@ let Foo = {
2525
2626function Async_jsx$Bar ( props ) {
2727 return < div >
28- < Async_jsx$ Foo />
28+ < Foo . make />
2929 </ div > ;
3030}
3131
Original file line number Diff line number Diff line change @@ -20,7 +20,7 @@ let _multiple_element_children = <div>
2020 < h1 >
2121 { "Hello, world!" }
2222 </ h1 >
23- < Jsx_preserve_test$ Icon />
23+ < Icon . make />
2424</ div > ;
2525
2626let _single_element_fragment = < >
@@ -141,7 +141,7 @@ let B = {
141141
142142let _external_component_with_children = < QueryClientProvider >
143143 < strong />
144- < Jsx_preserve_test$B />
144+ < B . make />
145145</ QueryClientProvider > ;
146146
147147function Jsx_preserve_test$MyWeirdComponent ( props ) {
@@ -155,7 +155,7 @@ let MyWeirdComponent = {
155155 make : Jsx_preserve_test$MyWeirdComponent
156156} ;
157157
158- let _escaped_jsx_prop = < Jsx_preserve_test$ MyWeirdComponent
158+ let _escaped_jsx_prop = < MyWeirdComponent . make
159159 MyWeirdProp = { "bar" }
160160/> ;
161161
@@ -197,7 +197,7 @@ let ComponentWithOptionalProps = {
197197 make : Jsx_preserve_test$ComponentWithOptionalProps
198198} ;
199199
200- let _optional_props = < Jsx_preserve_test$ ComponentWithOptionalProps
200+ let _optional_props = < ComponentWithOptionalProps . make
201201 i = { 1 }
202202 s = { "test" }
203203 element = { < div /> }
You can’t perform that action at this time.
0 commit comments