[PR #4798] [MERGED] 🆕 Sync server as npm package #31512

Closed
opened 2026-04-18 07:44:37 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/actualbudget/actual/pull/4798
Author: @MikesGlitch
Created: 4/13/2025
Status: Merged
Merged: 4/15/2025
Merged by: @MikesGlitch

Base: masterHead: poc/sync-server-npm


📝 Commits (10+)

📊 Changes

8 files changed (+234 additions, -0 deletions)

View changed files

.github/workflows/publish-npm-packages.yml (+78 -0)
📝 .gitignore (+1 -0)
packages/sync-server/LICENSE (+7 -0)
📝 packages/sync-server/README.md (+40 -0)
packages/sync-server/bin/actual-server.js (+88 -0)
📝 packages/sync-server/package.json (+12 -0)
upcoming-release-notes/4798.md (+6 -0)
📝 yarn.lock (+2 -0)

📄 Description

Important

This is a new tool that we would need to support so looking for 2 or more reviews
The command is called actual-server, if there's a better suggestion please let us know

Packaging the sync server as an npm package. This should provide an easy way to run the server.

  • Add workflow to publish the web, api and sync-server packages to npm
  • Write docs https://github.com/actualbudget/docs/pull/680
  • Make sure all the right stuff is in the package.json
  • Test this on multiple machines - tested on node v18.6.0, v20.8.1 and v23.7.0

How to run it

I have let the github workflow publish an alpha version of the package.

Install globally to have access to the cli:

npm install -g @actual-app/sync-server

Run it with:

actual-server

image

Closes: #4745, #4746


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/actualbudget/actual/pull/4798 **Author:** [@MikesGlitch](https://github.com/MikesGlitch) **Created:** 4/13/2025 **Status:** ✅ Merged **Merged:** 4/15/2025 **Merged by:** [@MikesGlitch](https://github.com/MikesGlitch) **Base:** `master` ← **Head:** `poc/sync-server-npm` --- ### 📝 Commits (10+) - [`2935dbd`](https://github.com/actualbudget/actual/commit/2935dbd9e407ac6de27ca6ff0245583bd7d5b46c) sync server as npm package - [`f1748e4`](https://github.com/actualbudget/actual/commit/f1748e49302886a131a36ce467ce4690315db984) yarn lock - [`f1489a4`](https://github.com/actualbudget/actual/commit/f1489a425e8a3115b3af8a5b164972b6cc5f3263) workflow - [`a87badd`](https://github.com/actualbudget/actual/commit/a87badda31bedc33cac2f4bb8991ba25b9e62987) fix yml - [`da6574c`](https://github.com/actualbudget/actual/commit/da6574ca64ff209ebba05f60d232fd375998d518) fix script - [`7fe7462`](https://github.com/actualbudget/actual/commit/7fe746233186e0f882bd19a61cce7434c9a98c86) named job better - [`a1a71f8`](https://github.com/actualbudget/actual/commit/a1a71f80a51130c234cdff8c40082c1c704b9a2f) imagine trusting an ai - [`bf8e95b`](https://github.com/actualbudget/actual/commit/bf8e95bf377794d0046336a698cc4436bbe5625a) pack and publish separately - [`0c37247`](https://github.com/actualbudget/actual/commit/0c37247bf6ec2e258a042ce46bf444a876c51232) v4 instead of v3 upload - [`0ff0540`](https://github.com/actualbudget/actual/commit/0ff05407bc2fcb73846e0498cd133d0e48ba4682) dependencies ### 📊 Changes **8 files changed** (+234 additions, -0 deletions) <details> <summary>View changed files</summary> ➕ `.github/workflows/publish-npm-packages.yml` (+78 -0) 📝 `.gitignore` (+1 -0) ➕ `packages/sync-server/LICENSE` (+7 -0) 📝 `packages/sync-server/README.md` (+40 -0) ➕ `packages/sync-server/bin/actual-server.js` (+88 -0) 📝 `packages/sync-server/package.json` (+12 -0) ➕ `upcoming-release-notes/4798.md` (+6 -0) 📝 `yarn.lock` (+2 -0) </details> ### 📄 Description <!-- Thank you for submitting a pull request! Make sure to follow the instructions to write release notes for your PR — it should only take a minute or two: https://github.com/actualbudget/docs#writing-good-release-notes. Try running yarn generate:release-notes *before* pushing your PR for an interactive experience. --> > [!IMPORTANT] > This is a new tool that we would need to support so looking for 2 or more reviews > The command is called ```actual-server```, if there's a better suggestion please let us know Packaging the sync server as an npm package. This should provide an easy way to run the server. - [x] Add workflow to publish the web, api and sync-server packages to npm - [x] Write docs https://github.com/actualbudget/docs/pull/680 - [x] Make sure all the right stuff is in the package.json - [x] Test this on multiple machines - tested on node v18.6.0, v20.8.1 and v23.7.0 ## How to run it I have let the github workflow publish an alpha version of the package. Install globally to have access to the cli: ``` npm install -g @actual-app/sync-server ``` Run it with: ``` actual-server ``` ![image](https://github.com/user-attachments/assets/566f1e9d-9731-4291-92e4-6243450be5f0) Closes: #4745, #4746 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-04-18 07:44:37 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#31512