Skip to content

Add TypeScript support #1950

Closed
Closed
@mtrezza

Description

@mtrezza

New Feature / Enhancement Checklist

Current Limitation

The code base does not have native TypeScript support but relies on 3rd part TypeScript definitions. These 3rd party definitions are often inconsistent, leading to complaints from developers and support cases being opened in Parse Platform resources, even though Parse Platform is not responsible for managing these definitions.

There have been discussions and attempts in the past about strategies, sometimes trying to use the existing (not 100% coherent) JSDoc annotation as a basis to transition to TypeScript. As usual, without a committed lead pushing the topic forward, such a large scale change becomes stale over time and don't get implemented.

Feature / Enhancement Description

Develop a strategy to gradually implement TypeScript support.

It would be beneficial to develop for a strategy where a TypeScript migration can be implemented gradually, in tiny PRs and over time. This makes the presence of a lead less relevant, as the efforts is split up into manageable tasks that be picked up by the community over time. That could mean that we won't take advantage of the existing JSDoc annotations, requiring more work in total, but that seems preferable compared to a large effort that never comes to fruition.

This issue closes with a strategy for gradual TypeScript implementation and a first, small PR that begins the implementation. We can then start to give out bounties for individual scopes to facilitate the migration to TypeScript in the long run.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bounty:$50Bounty applies for fixing this issue (Parse Bounty Program)state:releasedReleased as stable versionstate:released-alphaReleased as alpha versionstate:released-betaReleased as beta versiontype:featureNew feature or improvement of existing feature

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions