Open bbimber opened 2 years ago
Some challenges with our repo include that we
(a) have many packages that comprise jbrowse 2, so in order to properly build against a development branch, you have to link against all of the ones that you care about (which is probably at least @jbrowse/core, @jbrowse/react-linear-genome-view, and many @jbrowse/plugin modules like @jbrowse/plugin-alignments, @jbrowse/plugin-linear-genome-view, etc). (b) are not well setup for doing yarn link'ing
There is definitely more than one way to do it but a method that I have used was here https://github.com/GMOD/jb2export/blob/master/setup_node_modules.sh
I build the repo, and then I copy the files into my node_modules folder (similar thing could be done with e.g. yarn link but see (b) for this, yarn link doesn't work great)
Basically you can clone a fresh main branch of jbrowse-components in your CI and run something like setup_node_modules in your repo
Also, I do apologize for any weirdness you've seen so far also, hope to keep things stable and reliable!
@hextraza Let's discuss this script. Thinking aloud: if the primary scenario we want to support is headless CI, or perhaps the scenario where we want to build our local LK instance using a fork or branch form JBrowse, I wonder if we could have an npm task that stages all the JBrowse code locally and builds it. Perhaps then our package.json could point to these local artifacts, rather than github?
Another option could be to use a fork of jbrowse-components and publish the packages to your own private package registry for internal use (see the --registry
option in lerna, which is what we use to publish).
Thanks, we were actually just talking about this option. It does seem like maybe that would be the easiest.
Hello,
We have a complex project that depends on jbrowse as an npm dependency. JBrowse is a rapidly evolving project, and I'm trying to work through how to better manage jbrowse version changes. Because some of the time we might also develop a patch to JBrowse, being able to build our code against a jbrowse fork would be convenient too.
Do you know if it is possible for our package.json to point directly to the develop branch of JBrowse on github? In theory package.json support git+XXXX syntax; however, I'm not sure about subfolders in a monorepo. We can give this a try, but I thought I'd check if this has already been tried from your group.
The point of this idea is that we'd have a branch of our project that always builds off JBrowse's main branch and runs our selenium tests. This should hopefully proactively identify breaks or changes.
As I write this, another idea might be if JBrowse could publish a nightly (or some schedule) 'dev' build with a static URL. We and others could point to that package to test upgrades.
Thanks for any ideas.