This is just a quick scribble of my plans for extracting the Hypothesis client (that is, the sidebar application) into its own repository.
Run a history extraction of client-relevant stuff into the hypothesis/client repository.
Prepare patches against the client repository that allow us to upload the built Hypothesis client (i.e. the contents of the build directory after a gulp build-app) to npm.
Upload that build to npm as 0.31.0-dev+sha<GIT_SHA> with a distribution tag of dev. This will ensure that npm install hypothesis finds no versions to install at the moment, but npm install hypothesis@dev will.
Prepare patches against the h that will allow us to install the (built) Hypothesis client from npm.
When/if we’re happy with this, we’ll have to have a short code freeze of the client code so that we can perform the transition. Then we’ll do the process over again.
(One thing not to forget: push the rewritten tags to the client repository.)
At the end of the process we should end up with:
The client code being built and released to npm. Hopefully we’ll be able to set up Jenkins to autopublish X.Y.Z-dev+sha<GIT_SHA> after every commit.
The h repository (and hence the extension build, in the short term) using the built assets from npm.
Once all that’s done and dusted we can:
Remove the website-related assets from the client repository.
Remove the client-related assets from the h repository.