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

Closed
opened 2026-02-28 21:28:24 -06:00 by GiteaMirror · 0 comments
Owner

Original Pull Request: https://github.com/actualbudget/actual/pull/6315

State: closed
Merged: No


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.

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.

**Original Pull Request:** https://github.com/actualbudget/actual/pull/6315 **State:** closed **Merged:** No --- ## 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 -->
GiteaMirror added the pull-request label 2026-02-28 21:28:24 -06:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#6443