Not many people will run into this problem, but my preference of writing "universal" libraries (to be used in Mithril and React), in TypeScript, using Meiosis for state management, combined with Mithril's Stream functions lead to some problems in projects such as dialogic, glissando and use-stream.
The problem crops up in React projects where eslint will suddenly complain: "React.Fragment cannot be used as a JSX component" (and so on, for many components).
I've spent ages to find the cause of problem. It happens when mithril.d.ts is in node_modules, because one of my libraries has marked Mithril as dependency.
My workaround so far is to move Mithril to devDependencies for React libraries, but that removes the linkage to Stream's type definition in IDE's as Visual Studio Code.
For my purpose the Stream definitions would be better placed in a separate type definition.
Not many people will run into this problem, but my preference of writing "universal" libraries (to be used in Mithril and React), in TypeScript, using Meiosis for state management, combined with Mithril's Stream functions lead to some problems in projects such as dialogic, glissando and use-stream.
The problem crops up in React projects where
eslint
will suddenly complain: "React.Fragment cannot be used as a JSX component" (and so on, for many components).I've spent ages to find the cause of problem. It happens when
mithril.d.ts
is innode_modules
, because one of my libraries has marked Mithril as dependency.My workaround so far is to move Mithril to devDependencies for React libraries, but that removes the linkage to Stream's type definition in IDE's as Visual Studio Code.
For my purpose the Stream definitions would be better placed in a separate type definition.