TiddlyWiki / TiddlyDesktop

A custom desktop browser for TiddlyWiki 5 and TiddlyWiki Classic, based on nw.js
1.63k stars 121 forks source link

Update TiddlyWiki package reference to latest #295

Closed rmunn closed 4 months ago

rmunn commented 4 months ago

TiddlyWiki version was stuck on 5.3.0-prerelease. Let's update it to the latest available prerelease version to include TiddlyDesktop-specific bugfixes made in the past week or so.

285 will finally be fixed once this gets merged: the bugfix hasn't been making it into the releases of TiddlyDesktop yet. (See https://github.com/TiddlyWiki/TiddlyDesktop/issues/285#issuecomment-1975651575 for more).

Jermolene commented 4 months ago

Thanks @rmunn – presumably in future it might be easier for me to just run npm install after modifying package.json, and let npm modify package-lock.json?

rmunn commented 4 months ago

Thanks @rmunn – presumably in future it might be easier for me to just run npm install after modifying package.json, and let npm modify package-lock.json?

Not quite. If there isn't a hash in the GitHub package reference in package.json, npm adds a hash in package-lock.json and then constantly installs that specific hash, the idea being that you want reproducible builds and you don't want to have your build suddenly fail because of what someone else pushed to master of one of your dependencies. (Here, npm has no idea that tiddlywiki isn't so much a dependency as the actual meat of the project, while TiddlyDesktop is a thin wrapper around it).

My suggestion would actually be to use a tag rather than a commit hash here, i.e. once TiddlyWiki 5.3.4 is released, use #v5.3.4 in the GitHub package reference in package.json. Then, yes, you can run npm install, check in the package.json and package-lock.json changes, and you'll have a commit that builds that specific tag. The only reason I didn't do that is because I'm trying to fix the sjcl bug, and my bugfix went into TW after the most recent release.

But eventually, it should be pretty easy to do a TiddlyDesktop release every time a new TiddlyWiki release is published. Edit package.json to bump the TW version (and the TD version as well while you're in there), run npm install, check in the package.json and package-lock.json files. Then push that commit, make sure it builds, and test the result by downloading a zip file or three from the GitHub Actions artifact storage. If they work well, tag that commit with the new TD version (v0.0.21 or whatever), push the tag, and you'll automatically have a draft release ready to have release notes written.

Jermolene commented 3 months ago

Thanks @rmunn I updated the CI build instructions in the readme in e142245ed635b2699924790926958ae381fa60e6