parse-community / parse-community/parse-server

Typescript (TS) global approach/migration (Parse server and JS SDK)

Open
#9,844 9 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

type:feature
Dominant language
JavaScript
Stars
21.4k
Forks
4.8k
Avg merge
7h 45m
Merged PRs (30d)
11

Description

New Issue Checklist
Issue Description

The official releases of parse-server and Parse JS SDK now include TypeScript types. However, these definitions differ from and are incomplete compared to the @types/parse package.

Currently, upgrading parse-server and Parse JS SDK in a fully typed codebase leads to type conflicts and many type errors.

Developers working in TypeScript codebases who want to upgrade to benefit from new features, fixes, and security updates will not be able to do so easily.

The @types/parse package worked quite well previously.

TypeScript support is important, but Parse has a non-standard architecture:

  • Parse Server relies on Parse SDK
  • Parse SDK is used as a singleton and has additional capabilities when used server-side with parse-server (Cloud hooks)
  • @types/parse already exists with well-defined types

I think the best plan would be:

  1. Contributing to @types/parse to fill all missing areas, and updating documentation to ask parse-server TypeScript developers to install @types/parse if needed. We could also consider creating @types/parse-server that extends @types/parse features for server-specific functionality (like cloud code).

  2. Once @types/parse and/or @types/parse-server are complete, we can copy the type definitions directly into parse and parse-server.

  3. Begin migrating some JS files to TypeScript to properly transition from .d.ts files to a truly typed project.

Bonus: If we lack the resources to migrate JS to TS files, we can still maintain fully working .d.ts files that are easy to maintain in each repository (parse-server and Parse JS SDK).

If this plan seems acceptable, it means we should revert some of the TypeScript work done on parse-server and Parse JS SDK.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review the existing TypeScript definitions in parse-server and the Parse JS SDK, then compare them with the @types/parse package and the server-specific capabilities described here. The issue is complete when maintainers agree on a migration or maintenance plan for consistent definitions and document the resulting direction.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, node.js, typescript
Domain
backend, developer-experience
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
22/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.