Graphql-js: 16.0.0 Release plan

Created on 25 Nov 2020  路  2Comments  路  Source: graphql/graphql-js

Goals

  1. Convert source code to idiomatic TypeScript
  2. Remove Flow-specific workarounds and pre-ES6 JS artifacts
  3. Support Deno
  4. Support ESM
  5. Switch master to main.

Planned breaking changes

  1. Legacy SDL syntax (deprecated 2year ago) and other deprecated APIs and flags
  2. Drop native IE support by removing built-in polyfills and switching the output to ES6. It would be still possible to support IE with core-js + babel.
  3. Drop TS before 3.7 since we need to support recursive types.
  4. Maybe we will have some unexpected breaking changes to TS types due to migration

Post 16.0.0 goals

  1. Convert test suite to Jest
  2. Experiment with TS types to provide better typings for resolvers

P.S. We need to target 04/31/2021 for 17.0.0 release at that point we need to do a breaking release anyway to drop Node v10.

Steps

  • [ ] 1. Branch out 15.x.x release line and release 15.5.0
  • [ ] 2. Switch master to main and update scripts & CI
  • [ ] 3. Move commits from https://github.com/graphql/graphql-js/tree/16.x.x to main
  • [ ] 4. Remove last few polyfills
  • [ ] 4. Release 16.0.0-alpha.1 with all expected breaking changes but still from Flow sources
  • [ ] 5. Rebase #2828 and merge it (no squash, keep separate commits)
  • [ ] 6. Fix tests, CI, and release scripts but disable tsc and TS-specific ESLint checks
  • [ ] 7. Mark tsc errors with @ts-ignore and fix them in separate PRs by volunteers
  • [ ] 8. Enable TS-specific ESLint rules in separate PRs by volunteers
  • [ ] 9. Release new 16.0.0-alpha.* and gather feedback
  • [ ] 10. Work on ESM and Deno support in parallel
  • [ ] 11. Release 16.0.0-rc.1 and gather feedback
  • [ ] 12. Release 16.0.0 馃帀
  • [ ] 13. Create 17.0.0-experimental branch and have a setup that will automatically release package after every merge.

How I can help?

Most helpful comment

Referencing the original Road To TS issue for visibility: https://github.com/graphql/graphql-js/issues/2104

All 2 comments

  • Convert source code to idiomatic TypeScript

Just adding my previous WIP PRs for this:

Referencing the original Road To TS issue for visibility: https://github.com/graphql/graphql-js/issues/2104

Was this page helpful?
0 / 5 - 0 ratings