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.