mirror of
https://github.com/actualbudget/actual.git
synced 2026-07-15 14:43:36 -05:00
[Maintenance] TypeScript migration #549
Open
opened 2026-02-28 19:08:37 -06:00 by GiteaMirror
·
12 comments
No Branch/Tag Specified
master
tabedzki/feat/replacing-month-picker-with-day-picker
enforce-append-only-migrations-ci
delay-initial-sync-until-loaded
jfdoming/mobile-app-build
cross-version-sync-compat
claude/error-codes-worker-boundary-26i5uu
jfdoming/api-tokens-part-1
jfdoming/api-tokens-part-2
jfdoming/api-tokens-part-3
jfdoming/mobile-app-updates
api-browser-custom-data-dir
claude/budget-version-migration-compat-151jlr
claude/worker-error-serialization-9iqtl7
claude/react-table-library-research-afx83z
claude/issue-8401-regression-test-9nw9l3
jfdoming/mobile-app-foundation-part-1
jfdoming/mobile-app-scaffold
release
ai-fix-cleanup-def-8290
claude/relaxed-shannon-jusywa
claude/fervent-keller-s6f2fq
claude/determined-feynman-st1y9z
claude/wizardly-einstein-vi2wce
claude/sweet-albattani-7nseio
feat/bank-sync-per-budget-file
claude/affectionate-cannon-y0kc82
claude/dependabot-findings-m9pgmb
claude/mac-app-ios-publish-zjs1lz
claude/vigilant-tesla-aiiyos
depot-migrate-secrets-1781296330308
claude/quirky-cerf-v5qck7
claude/animation-removal-alternative-2etfh1
claude/netlify-preview-comments-consolidate-9XPYa
osc/7391-error-boundaries-reports
claude/pensive-dijkstra-7DYui
claude/server-app-version-mismatch-HTCGv
claude/pr-8027-review-feedback-mELuO
claude/zealous-wozniak-e5pO0
claude/intelligent-heisenberg-BSHJq
claude/translation-download-refactor-jFRsO
claude/mobile-performance-ideas-G9PAO
claude/github-issue-7988-5A5ly
blacksmith-migration-ff70d2d
claude/great-mayer-KRvOk
claude/react-native-ios-compilation-fcJh5
claude/serene-goldberg-58xv0
claude/kind-euler-LVG3K
release-automation/edge-nightly
7710-bundle-migrations
claude/fix-docker-build-error-WMfed
claude/llm-compatible-release-notes-t20Nr
7710-tests-tdd
cursor/transaction-table-rewrite-f077
claude/plan-ci-secure-context-OtEe1
claude/fix-issue-7667-DPXi3
cursor/resolve-pr-7449-ee11
claude/fix-typescript-build-error-JPtZ5
copilot/add-repository-configs-to-packages
worktree-compressed-drifting-ritchie
claude/api-consumer-verification-kfz1K
pr-7454
claude/fix-issue-7410-LLLQ4
revert-7281-generate-icons
react-query-useSchedules
copilot/sub-pr-6140
package-upgrades
v26.7.0
v26.6.0
v26.5.2
v26.5.1
v26.5.0
v26.4.0
v26.3.0
v26.2.1
v26.2.0
v26.1.0
v25.12.0
v25.11.0
v25.10.0
v25.9.0
v25.8.0
v25.7.1
v25.7.0
v25.6.1
v25.6.0
v25.5.0
v25.4.0
v25.3.1
v25.3.0
v25.2.1
v25.2.0
v25.1.0
v24.12.0
v24.11.0
v24.10.1
v24.10.0
v24.9.0
v24.8.0
v24.7.0
v24.6.0
v24.5.0
v24.4.0
v24.3.0
v24.2.0
v24.1.0
v23.12.0
v23.11.0
v23.10.0
v23.9.0
v23.8.1
v23.8.0
v23.7.2
v23.7.1
v23.7.0
v23.6.0
v23.5.0
v23.4.2
v23.4.1
v23.4.0
v23.3.2
v23.3.0
v23.2.9
v23.2.5
v23.1.12
v22.12.9
Labels
Clear labels
AI generated
API
bank sync
budgeting
bug
can’t replicate
dependencies
docker
documentation
electron
experimental feature
feature
feedback
goal templates
good first issue
help wanted
importers
maintenance
needs info
needs testing
needs triage
needs votes
openid
payees
pull-request
regression
reports
responsive
rules
schedules
server
✨ merged
split transactions
tech debt
tech-support
theme
transaction import
transaction reconciliation
transactions
translations
upstream
user interface
✅ approved
wontfix
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/actual#549
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @MatissJanis on GitHub (Aug 7, 2023).
We are currently at around 50% TypeScript. There is still lots of work to be done to get to 100%.
Feel free to help out by converting a file here and there. Also hardening the existing TS files is welcome (i.e. converting
unknownandanyto more strict types).Please do not send massive migration PRs. Try to keep it small and isolated.
Remaining files:
@doggan commented on GitHub (Sep 6, 2023):
While looking at this, I found a cool package (https://github.com/codemix/deprank) that uses PageRank algorithm to find the 'most important' files in the project and list out dependencies. This can give a good idea of which files are good to tackle first for JS -> TS conversion (and which files may be more challenging).
Here's the command I ran for
desktop-client:npx deprank --ext=".js,.jsx" --deps-first ./packages/desktop-client/src | grep -v "/icons/"@kymckay commented on GitHub (Nov 20, 2023):
One thought I had on this (may have been discussed previously). For truly strict typing, the function components themselves should be typed as
FunctionComponent. Is there any objection to doing so? The only reason I can think would be stylistic preference.Edit: Decided to look into this and seems latest consensus is that it's not needed. Will stick with the
functionstyle already in use.@joel-jeremy commented on GitHub (Apr 9, 2024):
@MatissJanis I think we should pin this so that community is aware that the project is still accepting typescript PRs.
@MatissJanis commented on GitHub (Apr 13, 2024):
That makes sense @joel-jeremy , but we can only pin 3x issues. Perhaps lets wait for one of the experimental features to be released and then pin this one?
@MatissJanis commented on GitHub (Jul 8, 2024):
The majority of the codebase has been migrated to TypeScript.
Pinning this issue to give it more visibility. If folks want to contribute - working on the TS migration is an easy way to learn more about the Actual codebase while also benefiting the community.
@MatissJanis commented on GitHub (Aug 24, 2024):
Updated the root description with a list of files remaining. Not much to go to be 100% TS compliant!
@cindywu commented on GitHub (Nov 21, 2024):
I'm going to try to chip away at this over the next few weeks.
@baruchiro commented on GitHub (Apr 1, 2025):
Hi, I want to add types to the npm package, but I'm unsure what the conventions are and where to put types (not "entities"). Can someone guide me?
Here is my first proposal:
https://github.com/actualbudget/actual/pull/4720
@ahmed-n-abdeltwab commented on GitHub (May 5, 2025):
Hey, I’d like to start working on this.
@HenriqueOmena commented on GitHub (May 10, 2025):
I can see some Files are not been checked could you please update the checks for each files was done already ?
for example this one were done 4 months ago
https://github.com/actualbudget/actual/pull/4047
@ahmed-n-abdeltwab commented on GitHub (May 10, 2025):
I will look into it and see what I can do.
You mean by that this PR #4047 is outdated and needs to be updated, is that correct?
@jfdoming commented on GitHub (May 10, 2025):
Updated the list. For future reference, you can get the most up-to-date list of files using:
git ls-files "*.js"