1.4 KiB
How to cut a release
In the open-source version of Actual, all updates go through npm. There are two libraries:
@actual-app/api
: The API for the underlying functionality. This includes the entire backend of Actual, meant to be used with node.@actual-app/web
: A web build that will serve the app with a web frontend. This includes both the frontend and backend of Actual. It includes the backend as well because it's built to be used as a Web Worker.
Both the API and web libraries are versioned together. This may change in the future, but because the web library also brings along its own backend it's easier to maintain a single version for now. That makes it clear which version the backend is regardless of library.
Releasing @actual-app/api
This generates a bundle for the API:
cd packages/loot-core
yarn build:api
The built files live in lib-dist
, so we need to copy them to the API package:
cp lib-dist/bundle.api* ../api/app
Next, bump the version on package.json. Finally, publish it:
npm publish
Releasing @actual-app/web
In the root of actual
(not just desktop-client
), run this:
./bin/package-browser
This will compile both the backend and the frontend into a single directory in packages/desktop-client/build
. This directory is all the files that need to be published. After bumping the version, publish desktop-client
:
cd packages/desktop-client
npm publish