Skip to content

internal: refresh port of v16 work to next #4413

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 37 commits into from
May 30, 2025

Conversation

yaacovCR
Copy link
Contributor

@yaacovCR yaacovCR commented May 27, 2025

refreshes #4388 with each of the commits (hopefully) passing ci so that we can merge with rebase strategy

JoviDeCroock and others added 28 commits May 27, 2025 17:06
This is popular on google as an index page
Co-authored-by: Jovi De Croock <decroockjovi@gmail.com>
This replaces our expensive method that changes the underlying V8 shape
multiple times with a loop that preserves the identity as much as
possible.

```
⏱   Print kitchen sink document
  1 tests completed.
  2 tests completed.

  HEAD x 9,290 ops/sec ±0.21% x 1.51 KB/op (24 runs sampled)
  BASE x 2,645 ops/sec ±0.18% x 2.18 KB/op (11 runs sampled)
```

---------

Co-authored-by: Benjie <code@benjiegillam.com>
See graphql/graphql.github.io#1951

For someone following the tutorial they may well get as far as running
the server (`node server.js`) and then attempt to visit their new API
and get confused because they're met with an error such as
`{"errors":[{"message":"Missing query"}]}`.

This PR adds some joining text to make it clear this is the expected
outcome, and they must read on to get the GraphiQL IDE set up so that
they can write queries.
…raphql#4343)

* removes extra parenthesis from getting started code snippet
Co-authored-by: Yaacov Rydzinski <yaacovCR@gmail.com>
Issue
The server throws an error because the root variable is not defined. The
correct variable name should be rootValue, which was previously declared
in the code.

Fix
Updated rootValue in the createHandler function to use the correct
variable name.

Changes
Replaced root with rootValue in the GraphQL handler configuration.
…raphql#4366)

This PR add `executionOptions` property to the `ExecutionArgs`.
Currently only one option can be configured, as is the one I need, but I
have built an object so it can easily be extended in the future.

The property allows the configuration of the maximum number of errors
(`maxErrors`) for coercion. This allows the current hardcoded limit
(`50`) to be reduced to a small number to avoid possible DoS attacks.

> Also, it updates the execution docs to reflect this new change. I
think the documentation was outdated since functions were using
positional arguments and now they only accept an object.

No longer updates the docs.
This refactors the code-first examples to use inline-resolvers rather
than the root-value to show a difference between SDL and code-first.
adds anatomy of a resolver guide

This is a part of the effort to expand GraphQL.js documentation
Adds a guide "Understanding GraphQL.js Errors" 

I added some additional resources, feel free to suggest others/more if
needed

Co-authored-by: Jovi De Croock <decroockjovi@gmail.com>
As discussed at the GraphQL working group (via
graphql/graphql-wg#1614 and at various
meetings) and as agreed in last weeks meeting, the GraphQL.JS version
policy as drafted by @JoviDeCroock has been approved and aligns with the
informal policy we already had in place. As such, I have added it to the
README.

This PR also promotes a few headings (H3 -> H2) to make more structural
sense in the TOC.
Co-authored-by: Saihajpreet Singh <saihajpreet.singh@gmail.com>
Co-authored-by: Jovi De Croock <decroockjovi@gmail.com>
Co-authored-by: Jovi De Croock <decroockjovi@gmail.com>
Co-authored-by: Jovi De Croock <decroockjovi@gmail.com>
Relevant to these PRs:

- graphql#4380
- graphql#4381
- graphql#4382
- graphql#4383
- graphql#4391

In general this content was excellent - thanks @sarahxsanders! - but I
wanted to add a few minor updates. I've included comments in a few
places with reasoning.

If this PR is too much to review all at once, I'm happy to break it up
as I did review of each PR separately.
@yaacovCR yaacovCR changed the base branch from 16.x.x to next May 27, 2025 18:45
@yaacovCR yaacovCR changed the title Refresh backport refresh port of v16 work to next May 27, 2025
@yaacovCR yaacovCR changed the title refresh port of v16 work to next internal: refresh port of v16 work to next May 27, 2025
@yaacovCR yaacovCR marked this pull request as ready for review May 30, 2025 09:07
@yaacovCR yaacovCR requested a review from a team as a code owner May 30, 2025 09:07
@benjie benjie closed this May 30, 2025
@benjie benjie reopened this May 30, 2025
sarahxsanders and others added 9 commits May 30, 2025 15:23
Adds guide "Using Directives in GraphQL.js"
Adds "Nullability in GraphQL.js" guide
Adds page on authorization strategies, right after
authentication/middleware page

Also adds a "Before you start" section about using ESM syntax JS code
snippets

---------

Co-authored-by: Jovi De Croock <decroockjovi@gmail.com>
Updates "Going to Production" guide to cover a larger scope. The goal is
to cover most bases on what devs should consider before deploying to
production. I also added a checklist.

---------

Co-authored-by: Benjie <benjie@jemjie.com>
Adds guide on caching strategies

---------

Co-authored-by: Benjie <benjie@jemjie.com>
adds guide on Scaling your API, covering monoliths, schema stitching, and federation

---------

Co-authored-by: Benjie <benjie@jemjie.com>
Expands on graphql#4398 by recommending the trusted documents pattern which
90+% of GraphQL users should be using.
Adds new guide: Type Generation for GraphQL Servers

This is a part of the effort to expand GraphQL.js documentation

---------

Co-authored-by: Eddy Nguyen <github@eddeee888.me>
Co-authored-by: Benjie <benjie@jemjie.com>
@yaacovCR yaacovCR merged commit 737a74c into graphql:next May 30, 2025
16 checks passed
@yaacovCR yaacovCR deleted the refresh-backport branch May 30, 2025 12:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.