nodegui / svelte-nodegui

Build performant, native and cross-platform desktop applications with native Svelte + powerful CSS-like styling.🚀
https://svelte.nodegui.org/
MIT License
2.84k stars 57 forks source link

Stop bundling source files from React NodeGUI #21

Open shirakaba opened 3 years ago

shirakaba commented 3 years ago

We're currently bundling some of the source for React NodeGUI in src/dom/react-nodegui, rather than just importing build files from node_modules/react-nodegui.

There was a compelling reason for this, but unfortunately I've forgotten.

We use React NodeGUI in a few places:

I think the reason for copying the source in may have simply been to avoid any coupling with the React side of React NodeGUI. For example, we need to reference src/dom/react-nodegui/src/components/config.ts, but that file in its original state imports from "react-reconciler". I wanted to avoid users having to install react-reconciler into their app bundle. I therefore decoupled that file from "react-reconciler" in this commit: https://github.com/nodegui/svelte-nodegui/commit/2acccb135fd50d0c4aa6f9300ce795047dac22fe#diff-1fecc56b01094743ee99d3d1c501a51a25634e2faeeb1a8aafbdc44bd7514263. I'm not sure I've made any other changes to the library otherwise (and have been careful not to, as it would make updates harder to manage).

I also recall that I had problems importing the built code, due to a mismatch between esm and commonjs modules.

shirakaba commented 3 years ago

I've now decoupled the React NodeGUI sources from React. Ideally React NodeGUI itself would make similar changes in kind so that we could just import it directly.

https://github.com/nodegui/svelte-nodegui/commit/d553900d58e0f44fa577e91da4605d8ee97ad681