Skip to content

Migrate codebase to TypeScript #56

@yell0wsuit

Description

@yell0wsuit

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-types usage

  • 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions