Open shirakaba opened 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
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:
<head>
,<style>
and<template>
elements as well asdocument
, all found in src/dom/svelte. It's also referenced in src/dom/svelte-elements.ts, where each of those elements are registered.RNWindow
typing.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 installreact-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.