mirror of
https://github.com/actualbudget/actual.git
synced 2026-05-06 20:15:33 -05:00
The `Publish nightly npm packages` workflow started failing at the
"Pack the core package" step with:
Cannot find module '@actual-app/crdt' or its corresponding type declarations.
PR #7541 switched `@actual-app/crdt`'s package.json to conditional
exports (`types` → `./dist/index.d.ts`). `yarn pack` for
`@actual-app/core` triggers a prepack that runs `tsgo -b`, which now
resolves `@actual-app/crdt` via the `types` condition and expects
`packages/crdt/dist/index.d.ts`. Nothing was building crdt first
because loot-core's tsconfig didn't declare it as a project
reference.
Fix: declare the project reference so `tsgo -b` walks the graph and
builds crdt before loot-core. Sibling packages already do this.
Also adopt `@monorepo-utils/workspaces-to-typescript-project-references`
to keep each package's tsconfig `references` in sync with its
`workspace:*` deps, and wire it into a new `yarn check:tsconfig-references`
step in the `check` CI job plus lint-staged. Running the tool added
`../desktop-client` references to sync-server and desktop-electron
(both declare `@actual-app/web` as a workspace dep even though they
only use it at runtime via `require.resolve`); the extra references
are harmless — in CI the corresponding build is already cached by
earlier steps.
https://claude.ai/code/session_01AA2gEMqX24GWeq5BovNmaz
125 lines
5.2 KiB
JSON
125 lines
5.2 KiB
JSON
{
|
|
"name": "actual",
|
|
"version": "0.0.1",
|
|
"private": true,
|
|
"description": "A local-first personal finance system",
|
|
"homepage": "https://github.com/actualbudget/actual/",
|
|
"bugs": {
|
|
"url": "https://github.com/actualbudget/actual/issues/"
|
|
},
|
|
"license": "MIT",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git@github.com:actualbudget/actual.git"
|
|
},
|
|
"workspaces": {
|
|
"packages": [
|
|
"packages/*"
|
|
]
|
|
},
|
|
"scripts": {
|
|
"start": "yarn start:browser",
|
|
"start:server": "yarn workspace @actual-app/sync-server start",
|
|
"start:server-monitor": "yarn workspace @actual-app/sync-server start-monitor",
|
|
"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",
|
|
"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",
|
|
"start:desktop-electron": "yarn workspace desktop-electron watch",
|
|
"start:browser": "yarn workspace plugins-service build-dev && npm-run-all --parallel 'start:browser-*'",
|
|
"start:service-plugins": "yarn workspace plugins-service watch",
|
|
"start:browser-backend": "yarn workspace @actual-app/core watch:browser",
|
|
"start:browser-frontend": "yarn workspace @actual-app/web start:browser",
|
|
"start:storybook": "yarn workspace @actual-app/components start:storybook",
|
|
"build": "lage build",
|
|
"build:browser-backend": "yarn workspace @actual-app/core build:browser",
|
|
"build:server": "yarn build:browser && yarn workspace @actual-app/sync-server build",
|
|
"build:browser": "./bin/package-browser",
|
|
"build:desktop": "./bin/package-electron",
|
|
"build:plugins-service": "yarn workspace plugins-service build",
|
|
"build:api": "yarn build --scope=@actual-app/api",
|
|
"build:cli": "yarn build --scope=@actual-app/cli",
|
|
"build:docs": "yarn workspace docs build",
|
|
"build:storybook": "yarn workspace @actual-app/components build:storybook",
|
|
"deploy:docs": "yarn workspace docs deploy",
|
|
"generate:i18n": "yarn workspace @actual-app/web generate:i18n",
|
|
"generate:release-notes": "ts-node ./bin/release-note-generator.ts",
|
|
"test": "lage test --continue",
|
|
"test:debug": "lage test --no-cache --continue",
|
|
"e2e": "yarn workspace @actual-app/web run e2e",
|
|
"e2e:desktop": "yarn build:desktop --skip-exe-build --skip-translations && yarn workspace desktop-electron e2e",
|
|
"playwright": "yarn workspace @actual-app/web run playwright",
|
|
"vrt": "yarn workspace @actual-app/web run vrt",
|
|
"vrt:docker": "./bin/run-vrt",
|
|
"rebuild-electron": "./node_modules/.bin/electron-rebuild -m ./packages/loot-core && ./node_modules/.bin/electron-rebuild -m ./packages/desktop-electron -o better-sqlite3,bcrypt",
|
|
"rebuild-node": "yarn workspace @actual-app/core rebuild",
|
|
"lint": "oxfmt --check . && oxlint --type-aware --quiet",
|
|
"lint:fix": "oxfmt . && oxlint --fix --type-aware --quiet",
|
|
"install:server": "yarn workspaces focus @actual-app/sync-server --production",
|
|
"constraints": "yarn constraints",
|
|
"typecheck": "tsgo -p tsconfig.root.json --noEmit && lage typecheck",
|
|
"check:tsconfig-references": "workspaces-to-typescript-project-references --check",
|
|
"sync:tsconfig-references": "workspaces-to-typescript-project-references",
|
|
"prepare": "husky"
|
|
},
|
|
"devDependencies": {
|
|
"@monorepo-utils/workspaces-to-typescript-project-references": "^2.10.3",
|
|
"@octokit/rest": "^22.0.1",
|
|
"@types/node": "^22.19.17",
|
|
"@types/prompts": "^2.4.9",
|
|
"@typescript/native-preview": "^7.0.0-dev.20260404.1",
|
|
"@yarnpkg/types": "^4.0.1",
|
|
"eslint": "^10.2.0",
|
|
"eslint-plugin-perfectionist": "^5.8.0",
|
|
"eslint-plugin-typescript-paths": "^0.0.33",
|
|
"husky": "^9.1.7",
|
|
"lage": "^2.15.5",
|
|
"lint-staged": "^16.4.0",
|
|
"minimatch": "^10.2.5",
|
|
"npm-run-all": "^4.1.5",
|
|
"oxfmt": "^0.44.0",
|
|
"oxlint": "^1.59.0",
|
|
"oxlint-tsgolint": "^0.20.0",
|
|
"p-limit": "^7.3.0",
|
|
"prompts": "^2.4.2",
|
|
"ts-node": "^10.9.2",
|
|
"typescript": "^6.0.2",
|
|
"vitest": "^4.1.2"
|
|
},
|
|
"resolutions": {
|
|
"adm-zip": "patch:adm-zip@npm%3A0.5.16#~/.yarn/patches/adm-zip-npm-0.5.16-4556fea098.patch",
|
|
"minimatch@10.2.1": "10.2.5",
|
|
"minimatch@3.1.2": "3.1.5",
|
|
"minimatch@>=10.0.0 <11.0.0": "10.2.5",
|
|
"minimatch@>=3.0.0 <4.0.0": "3.1.5",
|
|
"minimatch@>=5.0.0 <6.0.0": "5.1.9",
|
|
"minimatch@>=9.0.0 <10.0.0": "9.0.9",
|
|
"rollup": "4.40.1",
|
|
"socks": ">=2.8.3"
|
|
},
|
|
"lint-staged": {
|
|
"packages/*/{package.json,tsconfig.json}": [
|
|
"ts-node ./bin/validate-publish-imports.ts --fix",
|
|
"yarn sync:tsconfig-references"
|
|
],
|
|
"*.{js,mjs,jsx,ts,tsx,md,json,yml,yaml}": [
|
|
"oxfmt --no-error-on-unmatched-pattern"
|
|
],
|
|
"*.{js,mjs,jsx,ts,tsx}": [
|
|
"oxlint --fix --type-aware --quiet"
|
|
]
|
|
},
|
|
"browserslist": [
|
|
"electron >= 35.0",
|
|
"defaults"
|
|
],
|
|
"engines": {
|
|
"node": ">=22",
|
|
"yarn": "^4.9.1"
|
|
},
|
|
"packageManager": "yarn@4.13.0"
|
|
}
|