diff --git a/lage.config.js b/lage.config.js index 0c2a24894f..109ab8cb3f 100644 --- a/lage.config.js +++ b/lage.config.js @@ -3,6 +3,7 @@ module.exports = { pipeline: { typecheck: { type: 'npmScript', + dependsOn: ['^typecheck'], }, test: { type: 'npmScript', diff --git a/package.json b/package.json index ad33549d64..3869ffe028 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,7 @@ "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", - "typecheck": "tsc -b && tsc -p tsconfig.root.json --noEmit && lage typecheck", + "typecheck": "tsc -p tsconfig.root.json --noEmit && lage typecheck", "jq": "./node_modules/node-jq/bin/jq", "prepare": "husky" }, diff --git a/packages/api/package.json b/packages/api/package.json index 9406b0dbba..d80da890b0 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -12,7 +12,7 @@ "scripts": { "build": "yarn workspace loot-core exec tsc && vite build && node scripts/inline-loot-core-types.mjs", "test": "vitest --run", - "typecheck": "tsc --noEmit && tsc-strict" + "typecheck": "tsc -b && tsc-strict" }, "dependencies": { "@actual-app/crdt": "workspace:^", diff --git a/packages/component-library/package.json b/packages/component-library/package.json index e9ec817c06..792327d257 100644 --- a/packages/component-library/package.json +++ b/packages/component-library/package.json @@ -40,7 +40,7 @@ "test:web": "ENV=web vitest --run -c vitest.web.config.ts", "start:storybook": "storybook dev -p 6006", "build:storybook": "storybook build", - "typecheck": "tsc --noEmit" + "typecheck": "tsc -b" }, "dependencies": { "@emotion/css": "^11.13.5", diff --git a/packages/crdt/package.json b/packages/crdt/package.json index cb1f1d7e4c..cf7c3846d4 100644 --- a/packages/crdt/package.json +++ b/packages/crdt/package.json @@ -13,7 +13,7 @@ "proto:generate": "./bin/generate-proto", "build": "rm -rf dist && yarn run build:node", "test": "vitest --run", - "typecheck": "tsc --noEmit" + "typecheck": "tsc -b" }, "dependencies": { "google-protobuf": "^3.21.4", diff --git a/packages/desktop-client/package.json b/packages/desktop-client/package.json index 039f4fe66f..c3693df354 100644 --- a/packages/desktop-client/package.json +++ b/packages/desktop-client/package.json @@ -16,7 +16,7 @@ "e2e": "npx playwright test --browser=chromium", "vrt": "cross-env VRT=true npx playwright test --browser=chromium", "playwright": "playwright", - "typecheck": "tsc --noEmit && tsc-strict" + "typecheck": "tsc -b && tsc-strict" }, "devDependencies": { "@actual-app/components": "workspace:*", diff --git a/packages/desktop-electron/package.json b/packages/desktop-electron/package.json index 5e379b3ecb..0bf37d02b6 100644 --- a/packages/desktop-electron/package.json +++ b/packages/desktop-electron/package.json @@ -9,7 +9,7 @@ "update-client": "bin/update-client", "build": "yarn build:dist && electron-builder", "build:dist": "tsc && yarn copy-static-assets", - "typecheck": "tsc --noEmit && tsc-strict", + "typecheck": "tsc -b && tsc-strict", "copy-static-assets": "copyfiles --exclude 'build/**/*' **/*.html icons/**/* build/desktop-electron", "watch": "yarn build:dist && cross-env ACTUAL_DOCUMENT_DIR=\"../../data\" ACTUAL_DATA_DIR=\"../../data\" electron .", "e2e": "npx playwright test" diff --git a/packages/loot-core/package.json b/packages/loot-core/package.json index 53efd4772d..f92ad854dc 100644 --- a/packages/loot-core/package.json +++ b/packages/loot-core/package.json @@ -61,7 +61,7 @@ "test": "npm-run-all -cp 'test:*'", "test:node": "ENV=node vitest --run", "test:web": "ENV=web vitest --run -c vitest.web.config.ts", - "typecheck": "tsc --noEmit && tsc-strict" + "typecheck": "tsc -b && tsc-strict" }, "dependencies": { "@jlongster/sql.js": "^1.6.7", diff --git a/packages/plugins-service/package.json b/packages/plugins-service/package.json index fcca186c25..96f81fce70 100644 --- a/packages/plugins-service/package.json +++ b/packages/plugins-service/package.json @@ -9,7 +9,7 @@ "build": "cross-env NODE_ENV=production ./bin/build-service-worker", "build-dev": "cross-env NODE_ENV=development ./bin/build-service-worker", "watch": "cross-env NODE_ENV=development ./bin/build-service-worker --watch", - "typecheck": "tsc --noEmit && tsc-strict" + "typecheck": "tsc -b && tsc-strict" }, "dependencies": { "workbox-precaching": "^7.4.0" diff --git a/packages/sync-server/package.json b/packages/sync-server/package.json index 7e8232088f..8ad94a444b 100644 --- a/packages/sync-server/package.json +++ b/packages/sync-server/package.json @@ -16,7 +16,7 @@ "start": "yarn build && node build/app", "start-monitor": "nodemon --exec 'yarn build && node build/app' --ignore './build/**/*' --ext 'ts,js' build/app", "build": "tsc && yarn add-import-extensions && yarn copy-static-assets", - "typecheck": "tsc --noEmit && tsc-strict", + "typecheck": "tsc -b && tsc-strict", "add-import-extensions": "node bin/add-import-extensions.mjs", "copy-static-assets": "rm -rf build/src/sql && cp -r src/sql build/src/sql", "test": "NODE_ENV=test NODE_OPTIONS='--experimental-vm-modules --import ./register-loader.mjs --trace-warnings' vitest --run", diff --git a/upcoming-release-notes/7180.md b/upcoming-release-notes/7180.md new file mode 100644 index 0000000000..c64d446169 --- /dev/null +++ b/upcoming-release-notes/7180.md @@ -0,0 +1,6 @@ +--- +category: Maintenance +authors: [MatissJanis] +--- + +Refactor TypeScript build process to use project references for improved incremental builds.