parse-community / parse-community/parse-server
Typescript (TS) global approach/migration (Parse server and JS SDK)
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 21.4k
- Forks
- 4.8k
- Avg merge
- 7h 45m
- Merged PRs (30d)
- 11
Description
New Issue Checklist
- Report security issues confidentially.
- Any contribution is under this license.
- Before posting search existing issues.
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/parsealready exists with well-defined types
I think the best plan would be:
-
Contributing to
@types/parseto fill all missing areas, and updating documentation to ask parse-server TypeScript developers to install@types/parseif needed. We could also consider creating@types/parse-serverthat extends@types/parsefeatures for server-specific functionality (like cloud code). -
Once
@types/parseand/or@types/parse-serverare complete, we can copy the type definitions directly into parse and parse-server. -
Begin migrating some JS files to TypeScript to properly transition from
.d.tsfiles 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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