From ef06b54f8d1d9818806e221974c8b64efbbfda0d Mon Sep 17 00:00:00 2001 From: Tyler Scott Williams Date: Thu, 13 Mar 2025 11:46:26 -0400 Subject: [PATCH] fix: clarify which mobx libs are not compatible with compiler (#32570) ## Summary Right now, `react-compiler-healthcheck` flags `mobx` as a "known incompatible library". But it's not precisely *MobX* that's incompatible. It's the observer HOC that comes from `mobx-react` and `mobx-react-lite`. I've been working on [mst-use-observable](https://github.com/coolsoftwaretyler/mst-use-observable), which makes MobX-State-Tree compatible with the compiler. However, projects that use `mobx-state-tree` and `mst-use-observable` will still depend on `mobx` as a dependency. And there [have been efforts in the past to write a hook for observability](https://github.com/mobxjs/mobx/discussions/2566). So it's possible that MobX could become compatible, so long as authors access it with a hook, rather than the HOC. I would like to propose updating the health check to be a little more precise and flag the HOC dependencies, rather than MobX itself. Thanks in advance for your consideration! ## How did you test this change? `npx react-compiler-healthcheck` shouldn't flag on `mobx` in dependencies, but will for `mobx-react-lite` and `mobx-react`. Test suites, formatting, linting, all passed. --------- Co-authored-by: lauren --- compiler/packages/react-compiler-healthcheck/src/config.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/compiler/packages/react-compiler-healthcheck/src/config.ts b/compiler/packages/react-compiler-healthcheck/src/config.ts index 8f25776f48..9655d2654b 100644 --- a/compiler/packages/react-compiler-healthcheck/src/config.ts +++ b/compiler/packages/react-compiler-healthcheck/src/config.ts @@ -1,3 +1,7 @@ export const config = { - knownIncompatibleLibraries: ['mobx', '@risingstack/react-easy-state'], + knownIncompatibleLibraries: [ + 'mobx-react', + 'mobx-react-lite', + '@risingstack/react-easy-state', + ], };