gosling.js
gosling.js copied to clipboard
Minimize HiGlass dependencies
Gosling.js depends on HiGlass, but we use only small parts of HiGlass. For example, we do not use many UI components implemented in HiGlass by setting editable
false
in HiGlass' viewConfig
(https://docs.higlass.io/view_config.html#viewconf-structure). This HiGlass dependency limits Gosling.js' flexibility and customizability.
For example, we are forcing users to use a certain version of React, consistent with the version in HiGlass (v17). If we remove the React dependency, we can enable Gosling.js users to use other libraries, such as Vue, Angular, pure JS, etc. The arrangement of views and tracks is also restricted by the use of react-grid-layout
(https://github.com/react-grid-layout/react-grid-layout).
Toward this, we need to publish a smaller package of HiGlass that removes React. We can make HiGlass a monorepo for this.
Related Issues & PRs
- https://github.com/higlass/higlass/issues/1146
- https://github.com/higlass/higlass/pull/1147
- https://github.com/higlass/higlass/pull/1148