Repository navigation
chore(deps): bump graphql from 16.14.2 to 17.0.2 - #241
Closed
dependabot[bot] wants to merge 3 commits into
Closed
dependabot[bot] wants to merge 3 commits into
dependabot[bot] wants to merge 3 commits into
Conversation
Bumps [graphql](https://github.com/graphql/graphql-js) from 16.14.2 to 17.0.2. - [Release notes](https://github.com/graphql/graphql-js/releases) - [Commits](graphql/graphql-js@v16.14.2...v17.0.2) --- updated-dependencies: - dependency-name: graphql dependency-version: 17.0.2 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
This was referenced Oct 26, 2026
hm23
added a commit
that referenced
this pull request
Oct 26, 2026
hm23
added a commit
that referenced
this pull request
Oct 26, 2026
## What Upgrades `@cap-js/graphql` to `graphql@17`, including the dependency bump, the runtime compatibility fixes, and the test adaptations needed for the new major. Supersedes the standalone bump in #241. ## Why `graphql@17` ships breaking changes that affect our AST→CQN translation, error construction, and the error wording / `variableValues` shape the tests relied on. Without the fixes below the suite failed ~80 tests (hard crashes) and then a further 33 (error-wording and mock-shape mismatches). ## Runtime fixes - **Empty `FieldNode.arguments` is now `undefined` (was `[]`)** — crashed `getArgumentByName` with `TypeError: Cannot read properties of undefined (reading 'find')` on any field without arguments. Guarded the lookup with optional chaining in `lib/resolvers/parse/ast2cqn/utils/index.js`. - **`info.variableValues` is now `{ sources, coerced }` (was a flat map)** — variable values were no longer found, so variable nodes stayed unsubstituted and later threw `TypeError: Cannot convert undefined or null to object`. `lib/resolvers/parse/ast/variable.js` now selects the coerced values based on the installed graphql major (`versionInfo.major >= 17`), which is unambiguous even when a request declares a variable named `$coerced`. - **`GraphQLError` dropped the legacy positional `nodes` argument** — scalar validation errors silently lost their `locations`. Now passed via the options object (`{ nodes: valueNode }`) in `lib/schema/types/custom/util/index.js`. ## Test adaptations - **Variable-coercion error wording changed** (`got invalid value X at "input.Y";` → `has invalid value at .Y:`) — the cds-specific part of each message is unchanged, so the variable-value tests in `test/tests/types.test.js` now assert that substring via `toContain` instead of matching graphql's exact wrapper text. This keeps the assertions robust across graphql majors. - **`fakeInfoObject` test helper** (`test/util/index.js`) now mirrors the installed graphql major when building `variableValues`, so substituted variables resolve under graphql 17. ## Dependency - `package.json`: `graphql` `^16` → `^17`. ## Compatibility The runtime fixes and test assertions are behavior-neutral on `graphql@16` — the full suite passes on both majors (376 passed, 48 skipped). The source stays back-compatible even though the declared dependency is now `^17`. ## Follow-up (not in this PR) `graphql@17` deprecates the custom-scalar `parseValue` / `parseLiteral` / `serialize` methods (removal in v18) in favour of `coerceInputValue` / `coerceInputLiteral` / `coerceOutputValue`. Our 10 custom scalars still work on 17 but should be migrated before v18 — tracking separately.
Contributor
Author
|
OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting If you change your mind, just re-open this PR and I'll resolve any conflicts on it. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps graphql from 16.14.2 to 17.0.2.
Release notes
Sourced from graphql's releases.
... (truncated)
Commits
71606d7chore(release): v17.0.2101de34fix: detect default-value changes on input object fields (#4832)82da713fix(mapSchemaConfig): fix context for schema argument mapper (#4829)9617473chore(release): v17.0.1851bd6achore(release): protect latest release channels (#4825)c471d36fix(diagnostics): emit asyncStart after promise settlement to match native `t...3f3895fchore(npm): remove obsolete ESM-only package build (#4823)c7e494achore(release): v17.0.0d977f66docs: post 17.rc-0 update (#4817)39f865fdocs: document@experimental_disableErrorPropagation(#4820)You can trigger a rebase of this PR by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)