-
-
Notifications
You must be signed in to change notification settings - Fork 54
Stop bundling source files from React NodeGUI #21
Description
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:
- To fill in the Svelte NodeGUI JSX Intrinsic typings: src/svelte-nodegui.ts
- To implement RNObject src/dom/svelte/RNObject.ts, a basic DOM-conforming wrapper for all native elements (QObjects) that is not necessarily a visual element. e.g. we use it for the
<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. - src/dom/nativescript-vue-next/runtime, for providing proper typings when registering elements.
- src/dom/svelte/SvelteNodeGUIDocument.ts to grab the
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 install react-reconciler
into their app bundle. I therefore decoupled that file from "react-reconciler" in this commit: 2acccb1#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.