Skip to content
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

[pull] 16.x.x from graphql:16.x.x #28

Open
wants to merge 99 commits into
base: 16.x.x
Choose a base branch
from
Open

Conversation

pull[bot]
Copy link

@pull pull bot commented Jun 28, 2024

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

IvanGoncharov and others added 30 commits February 2, 2022 22:06
* refactor: use object for GraphQLError constructor

* apply #3465 (comment)
JoviDeCroock and others added 30 commits October 13, 2024 18:09
This converts the existing docusaurus website to nextra just like
https://github.com/graphql/graphql.github.io. This is a first step in
moving the documentation here and having a redirect from graphql.org to
graphql-js.org.

Not sure yet why codecov started failing 😅 when I run `testonly:cover`
locally it tells me we are 100% covered.

WDYT about isolating the dependencies for the website in that folder? As
seen in
9c7d615
this prevents the weird CI leaks that we're seeing

Resolves #4200

---------

Co-authored-by: Yaacov Rydzinski <[email protected]>
Checked for broken styles and fixed them and also went over the links by
using linkinator. I did check a lot of tools but looks like there isn't
a good way at the moment to check for broken links that is maintained.

Resolves #4242
Ultimately I was trying this out to see whether we can tweak the docs
easily, it made me realize that our docs are tailored to general GraphQL
rather than how do we use this library. It made me come up with a few
suggestions

- We should have a toggle on code examples to switch between
`buildSchema` and programatically creating the schema with i.e.
`GraphQLObjectType`
- Our documentation starts with a tutorial, this ultimately feels like a
mistake, we should lead with an explanation of what GraphQL.JS is and
what it aims to do, clearly outlining the goals of this project
- We should line out use-cases for building on this library and best
practices of how to go to production

Resolves #2941 
Resolves #2567
Not quite sure yet about contents of the overview page, also the header
is pretty odd, feels like a nextra bug or I goofed the CSS up 😅
generally though it looks like the extra-button and search/... aren't in
their own container preventing a good space-between. The absence of
links seems to cause thsi.
This provides people with the option to choose between the template
approach or the classes approach. This is a proposal to tackle
#1368

[Preview](https://graphql-7w0ort26u-the-graph-ql-foundation.vercel.app/)

This has been applied throughout the codebase now, however one of the
things I am uncertain about is how we offer `buildSchema` with the
GraphQLDefer/... directives? Should we add an option to `buildSchema`?
The exports defined in that chapter seem to only exist in v17 so we
should explicitly flag that.
Following typescript documentation, it's not possible override interface
property, we can only add new props.

Since it's declared as unknown dict, even if we merge
`GraphQLErrorExtensions`, we can't access to our extensions without
workaround and verbose typescript in source-code.

It's annoying since apollo expose `GraphQLFormattedError` instead
`GraphQLError`

Refs:
https://www.typescriptlang.org/docs/handbook/declaration-merging.html
Refs: apollographql/apollo-client#11789
Backports #4251 from v17

Backporting this so we can document the `maxTokens` for production use
cases. The performance of this change looks to be neutral
Currently input-unions and by extension the `@oneOf` directive aren't
present in the documentation. I have opted to put this into the advanced
section. The copy might be up for improvement, honestly fire away if
there's more cases to cover, just wanted to get the ball rolling here.

CC @benjie

---------

Co-authored-by: Benjie <[email protected]>
CC @dimaMachina

Is it possible for the sidebar on `api-v16` to restart? currently it
inherits the root one
This is popular on google as an index page
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 <[email protected]>
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.
…4343)

* removes extra parenthesis from getting started code snippet
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.
…#4363)

In the spec we explicitly disallow `nullable` variables to be passed to
the fields of a oneOf input object. This is present in v17 but seems
missing from v16.
…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.
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.