Compare commits

...

2 Commits

Author SHA1 Message Date
Claude
e388962724 [AI] Build @actual-app/crdt before emitting loot-core declarations
`tsgo -p tsconfig.json` on `loot-core` resolves `@actual-app/crdt` via its
package.json `types` field, which points at `dist/index.d.ts`. On a fully
clean tree that file does not exist, so the declaration emit fails with
TS2307 before reaching loot-core's own declarations.

Match `bin/package-electron`, which builds `@actual-app/crdt` (line 51)
before invoking `tsgo -p tsconfig.json` for loot-core (line 65).
2026-04-29 22:58:46 +00:00
Claude
7359d4e9b3 [AI] Build loot-core declarations as part of yarn start:desktop
`yarn start:desktop` calls `desktop-electron`'s `tsgo` build, which expects
`@actual-app/core`'s declaration output (`packages/loot-core/@types/`) to
already exist because of the project reference in `desktop-electron/tsconfig.json`.
On a fresh checkout — or any time `@types/` has been cleaned — the build
fails with TS6305 ("Output file ... has not been built from source file ...").

`bin/package-electron` (used by CI / `yarn build:desktop`) emits those
declarations explicitly before building electron. Mirror the same step in
`desktop-dependencies` so the local dev flow is self-sufficient.
2026-04-29 22:04:58 +00:00

View File

@@ -24,7 +24,8 @@
"start:server-dev": "NODE_ENV=development BROWSER_OPEN=localhost:5006 yarn npm-run-all --parallel 'start:server-monitor' 'start'",
"start:desktop": "yarn desktop-dependencies && npm-run-all --parallel 'start:desktop-*'",
"start:docs": "yarn workspace docs start",
"desktop-dependencies": "npm-run-all --parallel rebuild-electron build:browser-backend build:plugins-service",
"desktop-dependencies": "npm-run-all --parallel rebuild-electron build:browser-backend build:plugins-service build:desktop-types",
"build:desktop-types": "yarn workspace @actual-app/crdt build && yarn workspace @actual-app/core exec tsgo -p tsconfig.json",
"start:desktop-node": "yarn workspace @actual-app/core watch:node",
"start:desktop-client": "yarn workspace @actual-app/web watch",
"start:desktop-server-client": "yarn workspace @actual-app/web build:browser",