mirror of
https://github.com/actualbudget/actual.git
synced 2026-04-30 09:50:18 -05:00
* Simplify desktop client browser build * [AI] Move browser build orchestration into vite config and lage Moves loot-core worker build, public/ staging (migrations, default-db, sql-wasm, data-file-index), and build-stats wiring from the deleted packages/desktop-client/bin/build-browser shell script into a lootCoreBackend vite plugin in packages/desktop-client/vite.config.mts. Adds a build:browser target to lage.config.js so bin/package-browser runs as a single `lage build:browser --to=@actual-app/web` call, with crdt + loot-core built via lage's ^build dependency before the desktop-client build. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * Refactor e2e-test workflow and update desktop-client configurations * [AI] Move plugins-service staging into desktop-client vite config Declares plugins-service as a workspace devDependency of @actual-app/web so lage's ^build edge picks it up automatically in the build:browser pipeline, and moves the cross-package file staging (production copy + dev serving) into vite.config.mts, mirroring the lootCoreBackend pattern. Drops the plugins-service shell wrapper script and simplifies its package.json scripts to invoke vite build directly. Updates root start:browser to run plugins-service watch in parallel with the dev server instead of pre-building once. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * [AI] Sync tsconfig project references for plugins-service edge Follow-up to the plugins-service workspace edge: adds the ../plugins-service project reference in packages/desktop-client/tsconfig.json via yarn sync:tsconfig-references. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * Release notes * [AI] Ignore .venv/ so lage's git hasher skips Electron CI's Python venv Electron CI provisions a Python virtualenv at the repo root for setuptools. With browser builds now routed through lage, lage's git hash-object pass walks untracked-not-ignored files and fails on the venv's broken lib64 symlink ("fatal: Unable to hash .../.venv/lib64"). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * [AI] Bake Weblate translations back into VRT/e2e bundle build-web set download-translations: false and relied on bin/package-browser's ad-hoc git clone + git pull. That path is fragile inside the playwright container, so vite's import.meta.glob('/locale/*.json') frequently produced an empty languages map and the bundle shipped with no en.json. VRTs then rendered source-code English and diffed against snapshots authored from Weblate strings. Route translation provisioning back through actions/checkout (download-translations: true) in build-web and vrt-update-generate, and add --skip-translations to bin/package-browser (mirroring bin/package-electron) so the in-script git pull is bypassed when CI has already staged the locale dir. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * [AI] Skip translation cloning in build-web bundle for VRT determinism bin/package-browser used to unconditionally clone actualbudget/translations before vite ran, baking Weblate en.json into the build artifact. With the e2e-test pipeline now serving that artifact via serve-build.mjs, VRT screenshots ended up rendering Weblate strings — drifting from the snapshots, which were authored against source-code English (master VRTs ran on vite dev without a locale dir). Pass --skip-translations to bin/package-browser from build-web so the bundle ships with no locale chunks. download-translations stays 'false' across the e2e-test and vrt-update-generate workflows, matching the prior behavior. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
98 lines
1.6 KiB
Plaintext
98 lines
1.6 KiB
Plaintext
# Sample Data
|
|
/data/*
|
|
!data/.gitkeep
|
|
/data2
|
|
Actual-*
|
|
!actual-server.js
|
|
**/xcuserdata/*
|
|
export-2020-01-10.csv
|
|
|
|
# MacOS
|
|
.DS_Store
|
|
|
|
# Logs
|
|
**/*.log
|
|
|
|
# JavaScript
|
|
node_modules
|
|
packages/api/app/bundle.api.js
|
|
packages/api/app/stats.json
|
|
packages/api/dist
|
|
packages/api/@types
|
|
packages/crdt/dist
|
|
packages/desktop-client/build-stats
|
|
packages/desktop-client/dev-dist
|
|
packages/desktop-client/public/kcab
|
|
packages/desktop-client/locale
|
|
packages/desktop-client/playwright-report
|
|
packages/desktop-client/test-results
|
|
packages/desktop-electron/client-build
|
|
packages/desktop-electron/build
|
|
packages/desktop-electron/.electron-symbols
|
|
packages/desktop-electron/dist
|
|
packages/desktop-electron/loot-core
|
|
packages/desktop-client/service-worker
|
|
packages/plugins-service/dist
|
|
packages/component-library/dist
|
|
packages/loot-core/lib-dist
|
|
**/.tsbuildinfo
|
|
packages/sync-server/coverage
|
|
bundle.desktop.js
|
|
bundle.desktop.js.map
|
|
bundle.mobile.js
|
|
bundle.mobile.js.map
|
|
|
|
# Python virtualenv (Electron CI provisions one at the repo root for setuptools)
|
|
.venv/
|
|
|
|
# Yarn
|
|
.pnp.*
|
|
.yarn/*
|
|
!.yarn/patches
|
|
!.yarn/plugins
|
|
!.yarn/releases
|
|
!.yarn/sdks
|
|
!.yarn/versions
|
|
|
|
# VSCode
|
|
.vscode/*
|
|
!.vscode/settings.default.json
|
|
|
|
# IntelliJ IDEA
|
|
.idea
|
|
|
|
# Claude Code
|
|
.claude/worktrees/*
|
|
.claude/settings.local.json
|
|
|
|
# Misc
|
|
.#*
|
|
|
|
# Local Netlify folder
|
|
.netlify
|
|
|
|
# build output
|
|
package.tgz
|
|
|
|
# Fly.io configuration
|
|
fly.toml
|
|
|
|
# TypeScript cache
|
|
build/
|
|
|
|
# .d.ts files aren't type-checked with skipLibCheck set to true
|
|
*.d.ts
|
|
|
|
# Lage cache
|
|
.lage/
|
|
|
|
*storybook.log
|
|
storybook-static
|
|
|
|
# cli config when testing locally
|
|
.actualrc.json
|
|
.actualrc
|
|
.actualrc.yaml
|
|
.actualrc.yml
|
|
actual.config.js
|