-
Notifications
You must be signed in to change notification settings - Fork 15
Description
Problem
The app currently relies on prop-types for runtime prop validation. However, the prop-types package has been deprecated and archived as of 2024. Continuing to use it introduces long-term maintainability and tooling issues, especially as the broader ecosystem moves toward TypeScript for static type checking.
Proposed Solution
Migrate the codebase from JavaScript with prop-types to TypeScript with full static type definitions. This includes updating all components to .tsx files and replacing all prop-types declarations with proper TypeScript interfaces.
The Electron version has already been made compatible with TypeScript using this template, enabling a unified codebase for both web and desktop builds.
Alternatives Considered
- Separate repositories for web and Electron versions: Initially considered, but rejected in favor of a monorepo approach for better maintainability, shared logic, and development efficiency.
Scope of Work
-
Migrate JavaScript (
.js) files to TypeScript (.ts) -
Remove all
prop-typesusage -
Update build configuration for both web and Electron targets
-
Ensure compatibility with existing Electron setup
-
Unify types to serve as a single source of truth
Additional Info
- Related package:
prop-types