kawaandClaude Opus 5 f2b9f28d14 build: add Gitea release scripts and npm entry points
scripts/build-release.ps1 packages the desktop installers; scripts/publish.ps1
pushes the container image to git.azuze.fr and attaches the installers to the
Gitea release for the same tag. The split keeps a local build free of any
credential, and lets a failed upload be retried with -BinariesOnly
-NoBinaryBuild without paying for the build again.

Two details the plain `npm run dist:*` path gets wrong for a release:

- package.json's global artifactName resolves NSIS and portable to the same
  file name, so one silently overwrites the other. The build script passes
  distinct -c.nsis.artifactName / -c.portable.artifactName.
- Artifact names now carry the tag, so publish.ps1 can glob exactly one tag's
  files and never ship a stale one. electron-builder's update metadata
  (.blockmap, latest*.yml, the NSIS .7z payload) is swept out of dist/ so it
  cannot match that glob and end up attached to the release.

The tag defaults to v<package.json version> rather than git describe, because
electron-builder stamps package.json into the app: a SHA-based tag would name
an installer whose About box disagrees with it.

Also brings scripts/server.cjs, vendor.mjs and make-icon.cjs under version
control, which the release scripts and the Docker build both call.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-12 12:56:11 +02:00
2026-08-11 16:20:25 +02:00
2026-08-11 15:58:47 +02:00
2026-08-11 15:58:47 +02:00

Motionity

This is a fork of the original project aiming to fix issues and add features.

Running it

npm run vendor   # downloads the third-party libraries into src/vendor/
npm start        # http://127.0.0.1:8080

Three packaged distributions are available — desktop (Windows .exe, Linux AppImage and Flatpak), a Docker image, and a bare-metal install. Build instructions for all of them are in PACKAGING.md.

npm run dev            # desktop app from source
npm run dist:win       # Windows installer + portable exe
npm run dist:linux     # AppImage + Flatpak
npm run docker:build   # container image

Releasing

./scripts/build-release.ps1                 # installers + SHA256SUMS.txt in dist/
./scripts/publish.ps1 -PublishRelease       # + image push and Gitea release upload

build-release.ps1 needs no credentials. publish.ps1 needs a Gitea token with package read/write (image push) and write:repository (release upload), read from $env:GITEA_TOKEN or prompted for. -BinariesOnly -NoBinaryBuild retries a failed upload without rebuilding.

One rule applies to every target: browsers expose WebCodecs (the fast exporter) and IndexedDB (project saving) only in a secure context. http://localhost qualifies; a plain-HTTP LAN address does not. Serve it over TLS anywhere else.

S
Description
This is a fork of the original project aiming to fix issues and add features.
Readme MIT
42 MiB
2026-08-14 11:00:58 +02:00
Languages
JavaScript 80.1%
PowerShell 9.1%
CSS 8%
HTML 2.6%
Dockerfile 0.2%