[PR #6315] [CLOSED] chore(ts): add per-package typecheck pipeline via lage #135238

Closed
opened 2026-06-17 19:13:47 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/actualbudget/actual/pull/6315
Author: @rajanarahul93
Created: 12/6/2025
Status: ❌ Closed

Base: master ← Head: chore/per-package-typecheck


📝 Commits (9)

  • ae0c9dd chore(ts): add per-package typecheck pipeline via lage
  • 5e7f49f Merge branch 'master' into chore/per-package-typecheck
  • f74061a docs: add release notes for PR #6315
  • 24af103 fix: resolve typecheck errors using bundler resolution
  • 90abf2a Merge branch 'master' into chore/per-package-typecheck
  • 2e17bec Merge branch 'master' into chore/per-package-typecheck
  • cdb9799 fix(ts): remove conflicting Electron parentPort typings
  • db150d9 Merge branch 'master' into chore/per-package-typecheck
  • 67ea635 Merge branch 'master' into chore/per-package-typecheck

📊 Changes

14 files changed (+49 additions, -9 deletions)

View changed files

📝 lage.config.js (+4 -0)
📝 package.json (+2 -1)
📝 packages/api/index.ts (+7 -7)
➕ packages/api/tsconfig.typecheck.json (+9 -0)
📝 packages/component-library/package.json (+1 -0)
📝 packages/crdt/package.json (+1 -0)
📝 packages/desktop-client/package.json (+1 -0)
📝 packages/desktop-electron/package.json (+1 -0)
📝 packages/loot-core/package.json (+1 -0)
➕ packages/loot-core/tsconfig.typecheck.json (+11 -0)
📝 packages/loot-core/typings/pegjs.ts (+3 -1)
📝 packages/plugins-service/package.json (+1 -0)
📝 packages/sync-server/package.json (+1 -0)
➕ upcoming-release-notes/6315.md (+6 -0)

📄 Description

Summary

This change introduces a package-level TypeScript typecheck pipeline using lage.
Instead of relying on a single global tsc run, each workspace now exposes its own typecheck script.
This makes type validation faster, more targeted, and easier to scale toward stricter TypeScript settings.

Why this is needed

The global typecheck masked package-specific issues and made incremental strict-mode adoption difficult.
Running type checks at the package level aligns with Actual’s monorepo workflow and improves developer feedback loops.

What was changed

  • Added a typecheck target to lage.config.js.
  • Updated root package.json:
    • typecheck -> runs lage typecheck
    • typecheck:all preserves the original global check
  • Added typecheck scripts to:
    • api
    • component-library
    • crdt
    • desktop-client
    • desktop-electron
    • loot-core
    • plugins-service
    • sync-server

Testing done

  • yarn install completed with expected warnings.
  • yarn typecheck now runs per package and behaves correctly.
  • yarn typecheck:all still performs the full strict check.
  • yarn test and yarn lint:fix ran; known Windows-only test issues match current master.

Risk level

Low.
Changes are additive, do not modify runtime code, and integrate cleanly with existing tooling.

Related

Closes #6309

Summary by CodeRabbit

  • New Features

    • Type-checking workflow now supports parallel execution through an integrated pipeline system
  • Chores

    • Reorganized type-checking scripts and configurations across the development environment
    • Added "typecheck:all" script for comprehensive TypeScript validation

✏️ Tip: You can customize this high-level summary in your review settings.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/actualbudget/actual/pull/6315 **Author:** [@rajanarahul93](https://github.com/rajanarahul93) **Created:** 12/6/2025 **Status:** ❌ Closed **Base:** `master` ← **Head:** `chore/per-package-typecheck` --- ### 📝 Commits (9) - [`ae0c9dd`](https://github.com/actualbudget/actual/commit/ae0c9dd6306553fded063b6e0157efd49b64cf83) chore(ts): add per-package typecheck pipeline via lage - [`5e7f49f`](https://github.com/actualbudget/actual/commit/5e7f49fd321afa5ab5334ed627163c1be2fe07d8) Merge branch 'master' into chore/per-package-typecheck - [`f74061a`](https://github.com/actualbudget/actual/commit/f74061a1627ae85b11a5c48a89c9c55481ac91d6) docs: add release notes for PR #6315 - [`24af103`](https://github.com/actualbudget/actual/commit/24af103a9bc6c773de34dd19a84edfa29269b98b) fix: resolve typecheck errors using bundler resolution - [`90abf2a`](https://github.com/actualbudget/actual/commit/90abf2ac2a5bfc431208981a9281fac3cd2283df) Merge branch 'master' into chore/per-package-typecheck - [`2e17bec`](https://github.com/actualbudget/actual/commit/2e17becc4be2656cbfaa97166bfda28f16965938) Merge branch 'master' into chore/per-package-typecheck - [`cdb9799`](https://github.com/actualbudget/actual/commit/cdb97993fc491ec219430406c23b9118123178c4) fix(ts): remove conflicting Electron parentPort typings - [`db150d9`](https://github.com/actualbudget/actual/commit/db150d9aaf8f0a94f75608509658e8418f85e075) Merge branch 'master' into chore/per-package-typecheck - [`67ea635`](https://github.com/actualbudget/actual/commit/67ea6355ae4e55359b747f03c8dd6590e2d2002c) Merge branch 'master' into chore/per-package-typecheck ### 📊 Changes **14 files changed** (+49 additions, -9 deletions) <details> <summary>View changed files</summary> 📝 `lage.config.js` (+4 -0) 📝 `package.json` (+2 -1) 📝 `packages/api/index.ts` (+7 -7) ➕ `packages/api/tsconfig.typecheck.json` (+9 -0) 📝 `packages/component-library/package.json` (+1 -0) 📝 `packages/crdt/package.json` (+1 -0) 📝 `packages/desktop-client/package.json` (+1 -0) 📝 `packages/desktop-electron/package.json` (+1 -0) 📝 `packages/loot-core/package.json` (+1 -0) ➕ `packages/loot-core/tsconfig.typecheck.json` (+11 -0) 📝 `packages/loot-core/typings/pegjs.ts` (+3 -1) 📝 `packages/plugins-service/package.json` (+1 -0) 📝 `packages/sync-server/package.json` (+1 -0) ➕ `upcoming-release-notes/6315.md` (+6 -0) </details> ### 📄 Description ## Summary This change introduces a package-level TypeScript typecheck pipeline using `lage`. Instead of relying on a single global `tsc` run, each workspace now exposes its own `typecheck` script. This makes type validation faster, more targeted, and easier to scale toward stricter TypeScript settings. ## Why this is needed The global typecheck masked package-specific issues and made incremental strict-mode adoption difficult. Running type checks at the package level aligns with Actual’s monorepo workflow and improves developer feedback loops. ## What was changed - Added a `typecheck` target to `lage.config.js`. - Updated root `package.json`: - `typecheck` -> runs `lage typecheck` - `typecheck:all` preserves the original global check - Added `typecheck` scripts to: - `api` - `component-library` - `crdt` - `desktop-client` - `desktop-electron` - `loot-core` - `plugins-service` - `sync-server` ## Testing done - `yarn install` completed with expected warnings. - `yarn typecheck` now runs per package and behaves correctly. - `yarn typecheck:all` still performs the full strict check. - `yarn test` and `yarn lint:fix` ran; known Windows-only test issues match current master. ## Risk level Low. Changes are additive, do not modify runtime code, and integrate cleanly with existing tooling. ## Related Closes #6309 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Type-checking workflow now supports parallel execution through an integrated pipeline system * **Chores** * Reorganized type-checking scripts and configurations across the development environment * Added "typecheck:all" script for comprehensive TypeScript validation <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai --> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-06-17 19:13:47 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#135238