Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions compiler/core/lam_pass_remove_alias.ml
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,12 @@ let simplify_alias (meta : Lam_stats.t) (lam : Lam.t) : Lam.t =
Main use case, we should detect inline all immutable block .. *)
match simpl arg with
| Lvar v as l ->
Lam_util.field_flatten_get
(fun _ -> Lam.prim ~primitive ~args:[l] loc)
v i info meta.ident_tbl
(* Preserve module qualification when JSX preserve mode is enabled
This ensures component names like X.make are not flattened to just make
in JSX preserve mode *)
let prim = Lam.prim ~primitive ~args:[l] loc in
if !Js_config.jsx_preserve then prim
else Lam_util.field_flatten_get (fun _ -> prim) v i info meta.ident_tbl
| l -> Lam.prim ~primitive ~args:[l] loc)
| Lprim
{
Expand Down
2 changes: 1 addition & 1 deletion tests/tests/src/async_jsx.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ let Foo = {

function Async_jsx$Bar(props) {
return <div>
<Async_jsx$Foo />
<Foo.make />
</div>;
}

Expand Down
8 changes: 4 additions & 4 deletions tests/tests/src/jsx_preserve_test.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ let _multiple_element_children = <div>
<h1>
{"Hello, world!"}
</h1>
<Jsx_preserve_test$Icon />
<Icon.make />
</div>;

let _single_element_fragment = <>
Expand Down Expand Up @@ -141,7 +141,7 @@ let B = {

let _external_component_with_children = <QueryClientProvider>
<strong />
<Jsx_preserve_test$B />
<B.make />
</QueryClientProvider>;

function Jsx_preserve_test$MyWeirdComponent(props) {
Expand All @@ -155,7 +155,7 @@ let MyWeirdComponent = {
make: Jsx_preserve_test$MyWeirdComponent
};

let _escaped_jsx_prop = <Jsx_preserve_test$MyWeirdComponent
let _escaped_jsx_prop = <MyWeirdComponent.make
MyWeirdProp={"bar"}
/>;

Expand Down Expand Up @@ -197,7 +197,7 @@ let ComponentWithOptionalProps = {
make: Jsx_preserve_test$ComponentWithOptionalProps
};

let _optional_props = <Jsx_preserve_test$ComponentWithOptionalProps
let _optional_props = <ComponentWithOptionalProps.make
i={1}
s={"test"}
element={<div />}
Expand Down
Loading