[PR #7019] [MERGED] [AI] Add per-package tsconfigs and typescript-strict-plugin for typecheck #41313

Closed
opened 2026-04-23 14:06:58 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/actualbudget/actual/pull/7019
Author: @MatissJanis
Created: 2/18/2026
Status: ✅ Merged
Merged: 2/21/2026
Merged by: @MatissJanis

Base: master ← Head: matiss/tsconfig-and-strict-plugin


📝 Commits (10+)

  • 47c678a [AI] Add per-package tsconfigs and typescript-strict-plugin for typecheck
  • 4fd5455 Update TypeScript configuration across multiple packages to correct plugin path key from "path" to "paths" and add reference to process-worker typings in index.electron.ts.
  • ec3e3f3 Remove reference to process-worker typings in index.electron.ts and add new process-worker typings file for global Process augmentation.
  • 02d52a7 Refactor TypeScript build configurations across multiple packages by removing tsconfig.dist.json files and updating build scripts to use default TypeScript compilation. Adjusted compiler options to target ES2021 and enable declaration generation.
  • 09ce335 Update TypeScript configuration in api package to refine include and exclude patterns for better file management.
  • 6628b4a Update build script in api package to ensure migration SQL files are copied to the correct directory by creating the destination folder if it doesn't exist.
  • 4ea1823 Update TypeScript configurations in crdt and desktop-electron packages to refine include and exclude patterns for improved file management.
  • 11cb541 Update TypeScript dependencies across multiple packages to include typescript-strict-plugin for enhanced type checking and maintain consistency in package.json files.
  • 320a2a4 Merge branch 'master' into matiss/tsconfig-and-strict-plugin
  • 3a45c62 Merge branch 'master' into matiss/tsconfig-and-strict-plugin

📊 Changes

25 files changed (+135 additions, -32 deletions)

View changed files

📝 lage.config.js (+3 -0)
📝 package.json (+2 -3)
📝 packages/api/package.json (+5 -3)
📝 packages/api/tsconfig.json (+3 -2)
📝 packages/component-library/package.json (+2 -1)
➕ packages/component-library/tsconfig.json (+10 -0)
📝 packages/crdt/package.json (+3 -2)
📝 packages/crdt/tsconfig.json (+0 -0)
📝 packages/desktop-client/package.json (+4 -1)
➕ packages/desktop-client/tsconfig.json (+22 -0)
📝 packages/desktop-electron/package.json (+4 -2)
📝 packages/desktop-electron/tsconfig.json (+3 -2)
📝 packages/loot-core/package.json (+4 -1)
📝 packages/loot-core/tsconfig.api.json (+1 -1)
➕ packages/loot-core/tsconfig.json (+21 -0)
➕ packages/loot-core/typings/process-worker.ts (+12 -0)
📝 packages/loot-core/typings/window.ts (+5 -0)
📝 packages/plugins-service/package.json (+3 -1)
📝 packages/plugins-service/tsconfig.json (+2 -1)
📝 packages/sync-server/package.json (+2 -0)

...and 5 more files

📄 Description

Related: https://github.com/actualbudget/actual/issues/6309

Why do this?

  • allows us to incrementally enable "strict" mode for packages with no opt-out anymore
  • allows to fine-grain some other configs (i.e. "paths" for aliases)
  • maybe: allow us to incrementally move to tsgo

Bundle Stats

Bundle Files count Total bundle size % Changed
desktop-client 27 14.83 MB 0%
loot-core 1 5.82 MB → 5.82 MB (+217 B) +0.00%
api 1 4.43 MB → 4.43 MB (+165 B) +0.00%
View detailed bundle stats

desktop-client

Total

Files count Total bundle size % Changed
27 14.83 MB 0%
View detailed bundle breakdown

Added
No assets were added

Removed
No assets were removed

Bigger
No assets were bigger

Smaller
No assets were smaller

Unchanged

Asset File Size % Changed
static/js/index.js 9.52 MB 0%
static/js/indexeddb-main-thread-worker-e59fee74.js 12.94 kB 0%
static/js/workbox-window.prod.es5.js 5.64 kB 0%
static/js/ca.js 188.02 kB 0%
static/js/da.js 106.46 kB 0%
static/js/de.js 180.27 kB 0%
static/js/en-GB.js 7.18 kB 0%
static/js/en.js 168.63 kB 0%
static/js/es.js 173.67 kB 0%
static/js/fr.js 179.8 kB 0%
static/js/it.js 171.27 kB 0%
static/js/nb-NO.js 157.07 kB 0%
static/js/nl.js 106.47 kB 0%
static/js/pl.js 88.48 kB 0%
static/js/pt-BR.js 154.41 kB 0%
static/js/th.js 182.04 kB 0%
static/js/uk.js 214.89 kB 0%
static/js/resize-observer.js 18.37 kB 0%
static/js/BackgroundImage.js 120.54 kB 0%
static/js/ReportRouter.js 1.16 MB 0%
static/js/narrow.js 637.68 kB 0%
static/js/TransactionList.js 106.22 kB 0%
static/js/wide.js 164.15 kB 0%
static/js/AppliedFilters.js 9.71 kB 0%
static/js/usePayeeRuleCounts.js 10.04 kB 0%
static/js/useTransactionBatchActions.js 13.23 kB 0%
static/js/FormulaEditor.js 1.04 MB 0%

loot-core

Total

Files count Total bundle size % Changed
1 5.82 MB → 5.82 MB (+217 B) +0.00%
Changeset
File Δ Size
home/runner/work/actual/actual/packages/crdt/src/crdt/timestamp.ts 📈 +217 B (+3.08%) 6.87 kB → 7.08 kB
View detailed bundle breakdown

Added

Asset File Size % Changed
kcab.worker.BwrdDDMW.js 0 B → 5.82 MB (+5.82 MB) -

Removed

Asset File Size % Changed
kcab.worker.Dbl7pyXw.js 5.82 MB → 0 B (-5.82 MB) -100%

Bigger
No assets were bigger

Smaller
No assets were smaller

Unchanged
No assets were unchanged


api

Total

Files count Total bundle size % Changed
1 4.43 MB → 4.43 MB (+165 B) +0.00%
Changeset
File Δ Size
home/runner/work/actual/actual/packages/crdt/src/crdt/timestamp.ts 📈 +165 B (+2.70%) 5.96 kB → 6.13 kB
View detailed bundle breakdown

Added
No assets were added

Removed
No assets were removed

Bigger

Asset File Size % Changed
bundle.api.js 4.43 MB → 4.43 MB (+165 B) +0.00%

Smaller
No assets were smaller

Unchanged
No assets were unchanged


🔄 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/7019 **Author:** [@MatissJanis](https://github.com/MatissJanis) **Created:** 2/18/2026 **Status:** ✅ Merged **Merged:** 2/21/2026 **Merged by:** [@MatissJanis](https://github.com/MatissJanis) **Base:** `master` ← **Head:** `matiss/tsconfig-and-strict-plugin` --- ### 📝 Commits (10+) - [`47c678a`](https://github.com/actualbudget/actual/commit/47c678a10893c44494fbfff46c82e1345d515522) [AI] Add per-package tsconfigs and typescript-strict-plugin for typecheck - [`4fd5455`](https://github.com/actualbudget/actual/commit/4fd5455c071318d20835031745ffe5a9a792586c) Update TypeScript configuration across multiple packages to correct plugin path key from "path" to "paths" and add reference to process-worker typings in index.electron.ts. - [`ec3e3f3`](https://github.com/actualbudget/actual/commit/ec3e3f3e11176ecfe9026f6200da1b56db1eef56) Remove reference to process-worker typings in index.electron.ts and add new process-worker typings file for global Process augmentation. - [`02d52a7`](https://github.com/actualbudget/actual/commit/02d52a78c75f4a6cab74ce477abd900b101cf2b8) Refactor TypeScript build configurations across multiple packages by removing tsconfig.dist.json files and updating build scripts to use default TypeScript compilation. Adjusted compiler options to target ES2021 and enable declaration generation. - [`09ce335`](https://github.com/actualbudget/actual/commit/09ce335c8b9c0d032ad8e483d97ff323c9002316) Update TypeScript configuration in api package to refine include and exclude patterns for better file management. - [`6628b4a`](https://github.com/actualbudget/actual/commit/6628b4afc9c17574095e6db4e00398f3f11a32ef) Update build script in api package to ensure migration SQL files are copied to the correct directory by creating the destination folder if it doesn't exist. - [`4ea1823`](https://github.com/actualbudget/actual/commit/4ea1823b92ab854499a83ed39af5244d499d2478) Update TypeScript configurations in crdt and desktop-electron packages to refine include and exclude patterns for improved file management. - [`11cb541`](https://github.com/actualbudget/actual/commit/11cb54160c2d0d9d57db73b5e6cf9b6e2d455635) Update TypeScript dependencies across multiple packages to include typescript-strict-plugin for enhanced type checking and maintain consistency in package.json files. - [`320a2a4`](https://github.com/actualbudget/actual/commit/320a2a4bed8fe0ddbf0af9440bd981cf924b8c5f) Merge branch 'master' into matiss/tsconfig-and-strict-plugin - [`3a45c62`](https://github.com/actualbudget/actual/commit/3a45c621487f2fb33f02e3eb9c3f3a9fc491ef9d) Merge branch 'master' into matiss/tsconfig-and-strict-plugin ### 📊 Changes **25 files changed** (+135 additions, -32 deletions) <details> <summary>View changed files</summary> 📝 `lage.config.js` (+3 -0) 📝 `package.json` (+2 -3) 📝 `packages/api/package.json` (+5 -3) 📝 `packages/api/tsconfig.json` (+3 -2) 📝 `packages/component-library/package.json` (+2 -1) ➕ `packages/component-library/tsconfig.json` (+10 -0) 📝 `packages/crdt/package.json` (+3 -2) 📝 `packages/crdt/tsconfig.json` (+0 -0) 📝 `packages/desktop-client/package.json` (+4 -1) ➕ `packages/desktop-client/tsconfig.json` (+22 -0) 📝 `packages/desktop-electron/package.json` (+4 -2) 📝 `packages/desktop-electron/tsconfig.json` (+3 -2) 📝 `packages/loot-core/package.json` (+4 -1) 📝 `packages/loot-core/tsconfig.api.json` (+1 -1) ➕ `packages/loot-core/tsconfig.json` (+21 -0) ➕ `packages/loot-core/typings/process-worker.ts` (+12 -0) 📝 `packages/loot-core/typings/window.ts` (+5 -0) 📝 `packages/plugins-service/package.json` (+3 -1) 📝 `packages/plugins-service/tsconfig.json` (+2 -1) 📝 `packages/sync-server/package.json` (+2 -0) _...and 5 more files_ </details> ### 📄 Description Related: https://github.com/actualbudget/actual/issues/6309 Why do this? - allows us to incrementally enable "strict" mode for packages with no opt-out anymore - allows to fine-grain some other configs (i.e. "paths" for aliases) - maybe: allow us to incrementally move to tsgo <!--- actual-bot-sections ---> <hr /> <!--- bundlestats-action-comment key:combined start ---> ### Bundle Stats Bundle | Files count | Total bundle size | % Changed ------ | ----------- | ----------------- | --------- desktop-client | 27 | 14.83 MB | 0% loot-core | 1 | 5.82 MB → 5.82 MB (+217 B) | +0.00% api | 1 | 4.43 MB → 4.43 MB (+165 B) | +0.00% <details> <summary>View detailed bundle stats</summary> #### desktop-client **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 27 | 14.83 MB | 0% <details> <summary>View detailed bundle breakdown</summary> <div> **Added** No assets were added **Removed** No assets were removed **Bigger** No assets were bigger **Smaller** No assets were smaller **Unchanged** Asset | File Size | % Changed ----- | --------- | --------- static/js/index.js | 9.52 MB | 0% static/js/indexeddb-main-thread-worker-e59fee74.js | 12.94 kB | 0% static/js/workbox-window.prod.es5.js | 5.64 kB | 0% static/js/ca.js | 188.02 kB | 0% static/js/da.js | 106.46 kB | 0% static/js/de.js | 180.27 kB | 0% static/js/en-GB.js | 7.18 kB | 0% static/js/en.js | 168.63 kB | 0% static/js/es.js | 173.67 kB | 0% static/js/fr.js | 179.8 kB | 0% static/js/it.js | 171.27 kB | 0% static/js/nb-NO.js | 157.07 kB | 0% static/js/nl.js | 106.47 kB | 0% static/js/pl.js | 88.48 kB | 0% static/js/pt-BR.js | 154.41 kB | 0% static/js/th.js | 182.04 kB | 0% static/js/uk.js | 214.89 kB | 0% static/js/resize-observer.js | 18.37 kB | 0% static/js/BackgroundImage.js | 120.54 kB | 0% static/js/ReportRouter.js | 1.16 MB | 0% static/js/narrow.js | 637.68 kB | 0% static/js/TransactionList.js | 106.22 kB | 0% static/js/wide.js | 164.15 kB | 0% static/js/AppliedFilters.js | 9.71 kB | 0% static/js/usePayeeRuleCounts.js | 10.04 kB | 0% static/js/useTransactionBatchActions.js | 13.23 kB | 0% static/js/FormulaEditor.js | 1.04 MB | 0% </div> </details> --- #### loot-core **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 1 | 5.82 MB → 5.82 MB (+217 B) | +0.00% <details> <summary>Changeset</summary> File | Δ | Size ---- | - | ---- `home/runner/work/actual/actual/packages/crdt/src/crdt/timestamp.ts` | 📈 +217 B (+3.08%) | 6.87 kB → 7.08 kB </details> <details> <summary>View detailed bundle breakdown</summary> <div> **Added** Asset | File Size | % Changed ----- | --------- | --------- kcab.worker.BwrdDDMW.js | 0 B → 5.82 MB (+5.82 MB) | - **Removed** Asset | File Size | % Changed ----- | --------- | --------- kcab.worker.Dbl7pyXw.js | 5.82 MB → 0 B (-5.82 MB) | -100% **Bigger** No assets were bigger **Smaller** No assets were smaller **Unchanged** No assets were unchanged </div> </details> --- #### api **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 1 | 4.43 MB → 4.43 MB (+165 B) | +0.00% <details> <summary>Changeset</summary> File | Δ | Size ---- | - | ---- `home/runner/work/actual/actual/packages/crdt/src/crdt/timestamp.ts` | 📈 +165 B (+2.70%) | 5.96 kB → 6.13 kB </details> <details> <summary>View detailed bundle breakdown</summary> <div> **Added** No assets were added **Removed** No assets were removed **Bigger** Asset | File Size | % Changed ----- | --------- | --------- bundle.api.js | 4.43 MB → 4.43 MB (+165 B) | +0.00% **Smaller** No assets were smaller **Unchanged** No assets were unchanged </div> </details> </details> <!--- bundlestats-action-comment key:combined end ---> --- <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-04-23 14:06:58 -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#41313