diff --git a/.circleci/config.yml b/.circleci/config.yml index 16f8769d9..ba7a30bce 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2,6 +2,7 @@ version: 2.1 orbs: node: circleci/node@5.1.0 + secops: apollo/circleci-secops-orb@2.0.1 jobs: # Unfortunately cimg/node doesn't tag its images with major only, you have to specify a minor version. @@ -58,3 +59,12 @@ workflows: - node/run: name: Check Prettier (tests) npm-run: prettier:check + security-scans: + jobs: + - secops/gitleaks: + context: + - platform-docker-ro + - github-orb + - secops-oidc + git-base-revision: <<#pipeline.git.base_revision>><><> + git-revision: << pipeline.git.revision >> diff --git a/.cspell/cspell-dict.txt b/.cspell/cspell-dict.txt index 396cfd18d..3de941c55 100644 --- a/.cspell/cspell-dict.txt +++ b/.cspell/cspell-dict.txt @@ -175,6 +175,7 @@ Queryf reacheable reasonse recusive +redeclaration refered Referencer referencer diff --git a/composition-js/CHANGELOG.md b/composition-js/CHANGELOG.md index a1f33397e..1e108479f 100644 --- a/composition-js/CHANGELOG.md +++ b/composition-js/CHANGELOG.md @@ -1,5 +1,15 @@ # CHANGELOG for `@apollo/composition` +## 2.5.6 +### Patch Changes + + +- Fixing issue where redeclaration of custom scalars in a fed1 schema may cause upgrade errors ([#2809](https://github.com/apollographql/federation/pull/2809)) + +- Updated dependencies [[`c719214a`](https://github.com/apollographql/federation/commit/c719214a945564e4afc4bf1610e3dcdfb3838fe1)]: + - @apollo/federation-internals@2.5.6 + - @apollo/query-graphs@2.5.6 + ## 2.5.5 ### Patch Changes diff --git a/composition-js/package.json b/composition-js/package.json index 61f7570ec..cf0d3fced 100644 --- a/composition-js/package.json +++ b/composition-js/package.json @@ -1,6 +1,6 @@ { "name": "@apollo/composition", - "version": "2.5.5", + "version": "2.5.6", "description": "Apollo Federation composition utilities", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -27,8 +27,8 @@ "access": "public" }, "dependencies": { - "@apollo/federation-internals": "2.5.5", - "@apollo/query-graphs": "2.5.5" + "@apollo/federation-internals": "2.5.6", + "@apollo/query-graphs": "2.5.6" }, "peerDependencies": { "graphql": "^16.5.0" diff --git a/composition-js/src/__tests__/composeFed1Subgraphs.test.ts b/composition-js/src/__tests__/composeFed1Subgraphs.test.ts index e22bede09..8e158fb41 100644 --- a/composition-js/src/__tests__/composeFed1Subgraphs.test.ts +++ b/composition-js/src/__tests__/composeFed1Subgraphs.test.ts @@ -727,4 +727,22 @@ describe('override', () => { '[subgraphB] Invalid definition for directive \"@override\": missing required argument "from"', ]]); }); + + it('repro redefined built-in scalar breaks @key directive', () => { + const subgraphA = { + typeDefs: gql` + scalar Boolean + type Query { + q: String + } + type A @key(fields: "k") { + k: ID! + } + `, + name: 'subgraphA', + }; + + const result = composeServices([subgraphA,]); + assertCompositionSuccess(result); + }); }); diff --git a/docs/source/building-supergraphs/supported-subgraphs.md b/docs/source/building-supergraphs/supported-subgraphs.md index 8a85c0375..32009a51f 100644 --- a/docs/source/building-supergraphs/supported-subgraphs.md +++ b/docs/source/building-supergraphs/supported-subgraphs.md @@ -25,12 +25,11 @@ The following open-source GraphQL server libraries and hosted solutions support Ballerina GraphQL Module A spec-compliant, production-ready, Standard Library module for building and interacting with GraphQL APIs using Ballerina.

Github: ballerina-platform/module-ballerina-graphql
Type: Code first
-Stars: 83 ⭐
-Last Release: 2023-06-30

_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🔲
@provides🔲
federated tracing🔲
@link🟢
@shareable🔲
@tag🔲
@override🔲
@inaccessible🔲
@composeDirective🔲
@interfaceObject🔲
+Stars: 91 ⭐
+Last Release: 2023-09-18

_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🔲
@provides🔲
federated tracing🔲
@link🟢
@shareable🔲
@tag🔲
@override🔲
@inaccessible🔲
@composeDirective🔲
@interfaceObject🔲
- ## C# / .NET @@ -46,8 +45,8 @@ Last Release: 2023-08-11

+Stars: 9.2k ⭐
+Last Release: 2023-10-05

+Last Release: 2023-10-04

Core Library: GraphQL.js
Federation Library: Apollo Subgraph
+Stars: 7.8k ⭐
+Last Release: 2023-09-28

Core Library: GraphQL.js
Federation Library: Apollo Subgraph
+Stars: 2.1k ⭐
+Last Release: 2023-10-05

Core Library: GraphQL.js
+Stars: 4.7k ⭐
+Last Release: 2023-10-13

Federation Library: apollographql/federation-hotchocolate
_service<
Hot Chocolate
Open-source GraphQL server for the Microsoft .NET platform that takes the complexity away and lets you focus on delivering the next big thing.

Github: ChilliCream/graphql-platform
Type: Code first | SDL first
-Stars: 4.6k ⭐
-Last Release: 2023-08-25

_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🔲
repeatable @key🟢
@requires🟢
@provides🟢
federated tracing🔲
@link
@shareable🔲
@tag🔲
@override🔲
@inaccessible🔲
@composeDirective🔲
@interfaceObject🔲
_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🟢
@provides🟢
federated tracing🔲
@link🟢
@shareable🟢
@tag🟢
@override🟢
@inaccessible🟢
@composeDirective🟢
@interfaceObject🟢
@@ -61,7 +60,7 @@ Last Release: 2023-08-25

_service<
Absinthe
The GraphQL toolkit for Elixir

Github: absinthe-graphql/absinthe
Type: Code first
-Stars: 4.1k ⭐
+Stars: 4.2k ⭐
Last Release: 2021-09-28

Federation Library: DivvyPayHQ/absinthe_federation
_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🟢
@provides🟢
federated tracing🔲
@link🟢
@shareable🟢
@tag🟢
@override🟢
@inaccessible🟢
@composeDirective🔲
@interfaceObject🔲
@@ -76,8 +75,8 @@ Last Release: 2021-09-28

Federation Library: gqlgen
go generate based graphql server library

Github: 99designs/gqlgen
Type: SDL first
-Stars: 9.1k ⭐
-Last Release: 2023-07-27

_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🔲
@provides🟢
federated tracing🟢
@link🟢
@shareable🟢
@tag🟢
@override🟢
@inaccessible🟢
@composeDirective🔲
@interfaceObject🔲
_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🔲
@provides🟢
federated tracing🟢
@link🟢
@shareable🟢
@tag🟢
@override🟢
@inaccessible🟢
@composeDirective🔲
@interfaceObject🔲
GraphQL Go (fork)
This is a fork of graphql-go/graphql that adds Federation support

Github: dariuszkuc/graphql
Type: Code first
@@ -96,8 +95,8 @@ Last Release: 2022-11-11

+Stars: 2.8k ⭐
+Last Release: 2023-10-12

Core Library: GraphQL Java
Federation Library: apollographql/federation-jvm
+Stars: 1.7k ⭐
+Last Release: 2023-09-21

Core Library: GraphQL Java
+Last Release: 2023-09-19

Core Library: GraphQL Java
Federation Library: apollographql/federation-jvm
_service<
dgs-framework
GraphQL for Java with Spring Boot made easy.

Github: netflix/dgs-framework
Type: SDL first
-Stars: 2.7k ⭐
-Last Release: 2023-07-27

Core Library: GraphQL Java
Federation Library: apollographql/federation-jvm
_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🟢
@provides🟢
federated tracing🟢
@link🟢
@shareable🟢
@tag🟢
@override🟢
@inaccessible🟢
@composeDirective🟢
@interfaceObject🟢
_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🟢
@provides🟢
federated tracing🟢
@link🟢
@shareable🟢
@tag🟢
@override🟢
@inaccessible🟢
@composeDirective🟢
@interfaceObject🟢
GraphQL Java Kickstart (Spring Boot)
GraphQL and GraphiQL Spring Framework Boot Starters - Forked from oembedler/graphql-spring-boot due to inactivity.

Github: graphql-java-kickstart/graphql-spring-boot
Type: SDL first
@@ -106,13 +105,13 @@ Last Release: 2022-12-05

Core Library: GraphQL Kotlin
Libraries for running GraphQL in Kotlin

Github: ExpediaGroup/graphql-kotlin
Type: Code first
-Stars: 1.6k ⭐
-Last Release: 2023-06-19

Core Library: GraphQL Java
_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🟢
@provides🟢
federated tracing🟢
@link🟢
@shareable🟢
@tag🟢
@override🟢
@inaccessible🟢
@composeDirective🟢
@interfaceObject🟢
_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🟢
@provides🟢
federated tracing🟢
@link🟢
@shareable🟢
@tag🟢
@override🟢
@inaccessible🟢
@composeDirective🟢
@interfaceObject🟢
Spring GraphQL
Spring Integration for GraphQL

Github: spring-projects/spring-graphql
Type: SDL first
Stars: 1.4k ⭐
-Last Release: 2023-07-18

Core Library: GraphQL Java
Federation Library: apollographql/federation-jvm
_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🟢
@provides🟢
federated tracing🟢
@link🟢
@shareable🟢
@tag🟢
@override🟢
@inaccessible🟢
@composeDirective🟢
@interfaceObject🟢
_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🟢
@provides🟢
federated tracing🟢
@link🟢
@shareable🟢
@tag🟢
@override🟢
@inaccessible🟢
@composeDirective🟢
@interfaceObject🟢
@@ -127,7 +126,7 @@ Last Release: 2023-07-18

Core Library: apollographql/apollo-server
Type: SDL first
Stars: 13.5k ⭐
-Last Release: 2023-08-24

Core Library: GraphQL.js
Federation Library: Apollo Subgraph
_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🟢
@provides🟢
federated tracing🟢
@link🟢
@shareable🟢
@tag🟢
@override🟢
@inaccessible🟢
@composeDirective🟢
@interfaceObject🟢
_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🟢
@provides🟢
federated tracing🟢
@link🟢
@shareable🟢
@tag🟢
@override🟢
@inaccessible🟢
@composeDirective🟢
@interfaceObject🟢
express-graphql
Create a GraphQL HTTP server with Express.

Github: graphql/express-graphql
Type: SDL first
@@ -136,12 +135,12 @@ Last Release: 2020-11-19

Core Library: GraphQL Yoga
The fully-featured GraphQL server with focus on easy setup, performance and great developer experience.

Github: dotansimha/graphql-yoga
Type: SDL first
-Stars: 7.7k ⭐
-Last Release: 2023-08-22

Core Library: GraphQL.js
Federation Library: Apollo Subgraph
_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🟢
@provides🟢
federated tracing🟢
@link🟢
@shareable🟢
@tag🟢
@override🟢
@inaccessible🟢
@composeDirective🟢
@interfaceObject🟢
_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🟢
@provides🟢
federated tracing🟢
@link🟢
@shareable🟢
@tag🟢
@override🟢
@inaccessible🟢
@composeDirective🟢
@interfaceObject🟢
GraphQL Helix
A highly evolved and framework-agnostic GraphQL HTTP server.

Github: contra/graphql-helix
Type: SDL first
-Stars: 822 ⭐
+Stars: 828 ⭐
Last Release: 2022-07-09

Core Library: GraphQL.js
Federation Library: Apollo Subgraph
_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🟢
@provides🟢
federated tracing🔲
@link🟢
@shareable🟢
@tag🟢
@override🟢
@inaccessible🟢
@composeDirective🟢
@interfaceObject🟢
Mercurius
Implement GraphQL servers and gateways with Fastify

Github: mercurius-js/mercurius
@@ -161,8 +160,8 @@ Last Release: 2023-06-16

Core Library: Pothos GraphQL
Plugin based GraphQL schema builder that makes building graphql schemas with TypeScript easy, fast and enjoyable.

Github: hayes/pothos
Type: Code first
-Stars: 2.0k ⭐
-Last Release: 2023-08-11

Core Library: GraphQL.js
_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🟢
@provides🟢
federated tracing🟢
@link🟢
@shareable🟢
@tag🟢
@override🟢
@inaccessible🟢
@composeDirective🟢
@interfaceObject🟢
_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🟢
@provides🟢
federated tracing🟢
@link🟢
@shareable🟢
@tag🟢
@override🟢
@inaccessible🟢
@composeDirective🟢
@interfaceObject🟢
@@ -177,12 +176,12 @@ Last Release: 2023-08-11

Core Library: nuwave/lighthouse
Type: SDL first
Stars: 3.2k ⭐
-Last Release: 2023-08-04

Core Library: webonyx/graphql-php
_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🟢
@provides🟢
federated tracing🔲
@link
@shareable🔲
@tag🔲
@override🔲
@inaccessible🔲
@composeDirective🔲
@interfaceObject🔲
+Last Release: 2023-10-06

Core Library: webonyx/graphql-php
_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🟢
@provides🟢
federated tracing🔲
@link
@shareable🔲
@tag🔲
@override🔲
@inaccessible🔲
@composeDirective🔲
@interfaceObject🔲
GraphQL PHP PHP implementation of the GraphQL specification based on the reference implementation in JavaScript

Github: webonyx/graphql-php
Type: Code first
Stars: 4.5k ⭐
-Last Release: 2023-08-08

Federation Library: Skillshare/apollo-federation-php
_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🟢
@provides🟢
federated tracing🔲
@link
@shareable🔲
@tag🔲
@override🔲
@inaccessible🔲
@composeDirective🔲
@interfaceObject🔲
+Last Release: 2023-10-04

Federation Library: Skillshare/apollo-federation-php
_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🟢
@provides🟢
federated tracing🔲
@link
@shareable🔲
@tag🔲
@override🔲
@inaccessible🔲
@composeDirective🔲
@interfaceObject🔲
@@ -206,8 +205,8 @@ Last Release: 2023-07-26

Core Library: Strawberry A GraphQL library for Python that leverages type annotations 🍓

Github: strawberry-graphql/strawberry
Type: Code first
-Stars: 3.4k ⭐
-Last Release: 2023-08-24

Core Library: GraphQL-core 3
_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🟢
@provides🟢
federated tracing🔲
@link🟢
@shareable🟢
@tag🟢
@override🟢
@inaccessible🟢
@composeDirective🟢
@interfaceObject🟢
+Stars: 3.5k ⭐
+Last Release: 2023-10-07

Core Library: GraphQL-core 3
_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🟢
@provides🟢
federated tracing🔲
@link🟢
@shareable🟢
@tag🟢
@override🟢
@inaccessible🟢
@composeDirective🟢
@interfaceObject🟢
@@ -251,13 +250,13 @@ Last Release: 2022-11-28

+Stars: 887 ⭐
+Last Release: 2023-09-10

+Last Release: 2023-09-12

Federation Library: sangria-graphql/sangria-federated
_service<
Caliban
Functional GraphQL library for Scala

Github: ghostdogpr/caliban
Type: Code first
-Stars: 880 ⭐
-Last Release: 2023-08-06

_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🔲
@requires🟢
@provides🟢
federated tracing🟢
@link🟢
@shareable🟢
@tag🟢
@override🟢
@inaccessible🟢
@composeDirective🟢
@interfaceObject🟢
_service🟢
@key (single)🟢
@key (multi)🔲
@key (composite)🔲
repeatable @key🔲
@requires🟢
@provides🟢
federated tracing🟢
@link🟢
@shareable🟢
@tag🟢
@override🟢
@inaccessible🟢
@composeDirective🟢
@interfaceObject🟢
Sangria
Scala GraphQL implementation

Github: sangria-graphql/sangria
Type: Code first
Stars: 2.0k ⭐
-Last Release: 2023-06-20

Federation Library: sangria-graphql/sangria-federated
_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🟢
@provides🟢
federated tracing🟢
@link🟢
@shareable🟢
@tag🟢
@override🟢
@inaccessible🟢
@composeDirective🔲
@interfaceObject🔲
_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🟢
@provides🟢
federated tracing🟢
@link🟢
@shareable🟢
@tag🟢
@override🟢
@inaccessible🟢
@composeDirective🔲
@interfaceObject🔲
@@ -271,7 +270,7 @@ Last Release: 2023-06-20

Federation Library: Graphiti The Swift GraphQL Schema framework for macOS and Linux

Github: GraphQLSwift/Graphiti
Type: SDL first
-Stars: 507 ⭐
+Stars: 509 ⭐
Last Release: 2023-07-31

_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🟢
@provides🟢
federated tracing🔲
@link🟢
@shareable🟢
@tag🟢
@override🟢
@inaccessible🟢
@composeDirective🟢
@interfaceObject🟢
@@ -291,12 +290,12 @@ Last Release: 2023-07-31

+Last Release: 2023-10-12

+Stars: 455 ⭐
+Last Release: 2023-10-12

Core Library: GraphQL.js
Federation Library: Apollo Subgraph
diff --git a/docs/source/entities-advanced.mdx b/docs/source/entities-advanced.mdx index 7debc595e..848286ed4 100644 --- a/docs/source/entities-advanced.mdx +++ b/docs/source/entities-advanced.mdx @@ -87,7 +87,24 @@ type Product @key(fields: "id", resolvable: false) { type Product @key(fields: "sku", resolvable: false) { sku: String! } +``` + +When resolving a reference for an entity with multiple keys, you can determine how to resolve it based on which key is present. For example, if you're using [`@apollo/subgraph`](/apollo-server/using-federation/api/apollo-subgraph/), it could look like this: +```js title="resolvers.js" +// Products subgraph +const resolvers = { + Product: { + __resolveReference(productRepresentation) { + if(productRepresentation.sku){ + return fetchProductBySku(productRepresentation.sku); + } else { + return fetchProductByID(productRepresentation.id); + } + } + }, + // ...other resolvers... +} ``` ### Differing `@key`s across subgraphs diff --git a/docs/source/federated-types/sharing-types.mdx b/docs/source/federated-types/sharing-types.mdx index 683b8f109..d48c868da 100644 --- a/docs/source/federated-types/sharing-types.mdx +++ b/docs/source/federated-types/sharing-types.mdx @@ -137,35 +137,9 @@ To make `Position.z` shareable, you can do one of the following: ## Differing shared fields -Shared fields can differ between subgraphs in specific ways: -* The return type of a shared field can vary in nullability (`String` / `String!`). - * A shared field's return type _can't_ vary in its core type (`Int` vs. `String`) or in whether it returns a list (`Int` vs. `[Int]`). -* A field can be omitted from a subgraph, _if_ that field is always [resolvable](../federated-types/composition/#rules-of-composition). +Shared fields can only differ in their [return types](#return-types) and [arguments](#arguments) in specific ways. +If fields you want to share between subgraphs differ more than is permitted, use [entities](../entities) instead of shareable value types. -For example, take a look at the shared `Food` type below: - - - -```graphql {3} title="Subgraph A" -type Food @shareable { - name: String! - price: Int! -} -``` - -```graphql {3-4} title="Subgraph B" -type Food @shareable { - name: String! - price: Int # Nullable - inStock: Boolean! # Not in A -} -``` - -<> - - - -The above `Food` types differ in the nullability of their fields _and_ the fields included in each type. ### Return types diff --git a/federation-integration-testsuite-js/CHANGELOG.md b/federation-integration-testsuite-js/CHANGELOG.md index 17a0f03ac..c79e7b4ec 100644 --- a/federation-integration-testsuite-js/CHANGELOG.md +++ b/federation-integration-testsuite-js/CHANGELOG.md @@ -1,5 +1,7 @@ # CHANGELOG for `federation-integration-testsuite-js` +## 2.5.6 + ## 2.5.5 ## 2.5.4 diff --git a/federation-integration-testsuite-js/package.json b/federation-integration-testsuite-js/package.json index 5b956be46..6acfea950 100644 --- a/federation-integration-testsuite-js/package.json +++ b/federation-integration-testsuite-js/package.json @@ -1,7 +1,7 @@ { "name": "apollo-federation-integration-testsuite", "private": true, - "version": "2.5.5", + "version": "2.5.6", "description": "Apollo Federation Integrations / Test Fixtures", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/gateway-js/CHANGELOG.md b/gateway-js/CHANGELOG.md index eb0c6f9c9..2336bfa0f 100644 --- a/gateway-js/CHANGELOG.md +++ b/gateway-js/CHANGELOG.md @@ -1,5 +1,13 @@ # CHANGELOG for `@apollo/gateway` +## 2.5.6 +### Patch Changes + +- Updated dependencies [[`c719214a`](https://github.com/apollographql/federation/commit/c719214a945564e4afc4bf1610e3dcdfb3838fe1)]: + - @apollo/composition@2.5.6 + - @apollo/federation-internals@2.5.6 + - @apollo/query-planner@2.5.6 + ## 2.5.5 ### Patch Changes diff --git a/gateway-js/package.json b/gateway-js/package.json index c5ef0061b..5104c3b0c 100644 --- a/gateway-js/package.json +++ b/gateway-js/package.json @@ -1,6 +1,6 @@ { "name": "@apollo/gateway", - "version": "2.5.5", + "version": "2.5.6", "description": "Apollo Gateway", "author": "Apollo ", "main": "dist/index.js", @@ -25,9 +25,9 @@ "access": "public" }, "dependencies": { - "@apollo/composition": "2.5.5", - "@apollo/federation-internals": "2.5.5", - "@apollo/query-planner": "2.5.5", + "@apollo/composition": "2.5.6", + "@apollo/federation-internals": "2.5.6", + "@apollo/query-planner": "2.5.6", "@apollo/server-gateway-interface": "^1.1.0", "@apollo/usage-reporting-protobuf": "^4.1.0", "@apollo/utils.createhash": "^2.0.0", diff --git a/internals-js/CHANGELOG.md b/internals-js/CHANGELOG.md index 64db9168b..362eb4e95 100644 --- a/internals-js/CHANGELOG.md +++ b/internals-js/CHANGELOG.md @@ -1,5 +1,11 @@ # CHANGELOG for `@apollo/federation-internals` +## 2.5.6 +### Patch Changes + + +- Fixing issue where redeclaration of custom scalars in a fed1 schema may cause upgrade errors ([#2809](https://github.com/apollographql/federation/pull/2809)) + ## 2.5.5 ## 2.5.4 diff --git a/internals-js/package.json b/internals-js/package.json index c25172ffa..2b022fef9 100644 --- a/internals-js/package.json +++ b/internals-js/package.json @@ -1,6 +1,6 @@ { "name": "@apollo/federation-internals", - "version": "2.5.5", + "version": "2.5.6", "description": "Apollo Federation internal utilities", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/internals-js/src/validate.ts b/internals-js/src/validate.ts index e4a02bf36..755f79a2d 100644 --- a/internals-js/src/validate.ts +++ b/internals-js/src/validate.ts @@ -8,6 +8,7 @@ import { InterfaceType, isInputObjectType, isNonNullType, + isScalarType, NamedSchemaElement, ObjectType, Schema, @@ -17,7 +18,7 @@ import { VariableDefinitions } from "./definitions"; import { assertName, ASTNode, GraphQLError, GraphQLErrorOptions } from "graphql"; -import { isValidValue, valueToString } from "./values"; +import { isValidValue, valueToString, isValidValueApplication } from "./values"; import { introspectionTypeNames, isIntrospectionName } from "./introspection"; import { isSubtype, sameType } from "./types"; import { ERRORS } from "./error"; @@ -290,10 +291,14 @@ class Validator { ); } if (arg.defaultValue !== undefined && !isValidValue(arg.defaultValue, arg, new VariableDefinitions())) { - this.addError( - `Invalid default value (got: ${valueToString(arg.defaultValue)}) provided for argument ${arg.coordinate} of type ${arg.type}.`, - { nodes: sourceASTs(arg) }, - ); + // don't error if custom scalar is shadowing a builtin scalar + const builtInScalar = this.schema.builtInScalarTypes().find((t) => arg.type && isScalarType(arg.type) && t.name === arg.type.name); + if (!builtInScalar || !isValidValueApplication(arg.defaultValue, builtInScalar, arg.defaultValue, new VariableDefinitions())) { + this.addError( + `Invalid default value (got: ${valueToString(arg.defaultValue)}) provided for argument ${arg.coordinate} of type ${arg.type}.`, + { nodes: sourceASTs(arg) }, + ); + } } } diff --git a/internals-js/src/values.ts b/internals-js/src/values.ts index 7dd7ddd2d..11b2968e5 100644 --- a/internals-js/src/values.ts +++ b/internals-js/src/values.ts @@ -492,7 +492,7 @@ export function isValidValue(value: any, argument: ArgumentDefinition | Inp return isValidValueApplication(value, argument.type!, argument.defaultValue, variableDefinitions); } -function isValidValueApplication(value: any, locationType: InputType, locationDefault: any, variableDefinitions: VariableDefinitions): boolean { +export function isValidValueApplication(value: any, locationType: InputType, locationDefault: any, variableDefinitions: VariableDefinitions): boolean { // Note that this needs to be first, or the recursive call within 'isNonNullType' would break for variables if (isVariable(value)) { const definition = variableDefinitions.definition(value); diff --git a/package-lock.json b/package-lock.json index f6ab49f31..0b61938fa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,8 +17,8 @@ ], "devDependencies": { "@apollo/cache-control-types": "1.0.3", - "@apollo/client": "3.8.4", - "@apollo/server": "4.9.4", + "@apollo/client": "3.8.7", + "@apollo/server": "4.9.5", "@apollo/utils.fetcher": "2.0.1", "@changesets/changelog-github": "0.4.8", "@changesets/cli": "2.26.2", @@ -28,17 +28,17 @@ "@josephg/resolvable": "1.0.1", "@opentelemetry/node": "0.24.0", "@svitejs/changesets-changelog-github-compact": "1.1.0", - "@types/async-retry": "1.4.6", - "@types/bunyan": "1.8.9", - "@types/deep-equal": "1.0.2", - "@types/jest": "29.5.5", - "@types/js-levenshtein": "1.1.1", + "@types/async-retry": "1.4.8", + "@types/bunyan": "1.8.11", + "@types/deep-equal": "1.0.4", + "@types/jest": "29.5.7", + "@types/js-levenshtein": "1.1.2", "@types/loglevel": "1.5.4", "@types/make-fetch-happen": "10.0.2", "@types/nock": "10.0.3", "@types/node": "14.18.63", - "@types/node-fetch": "2.6.6", - "@types/uuid": "9.0.4", + "@types/node-fetch": "2.6.8", + "@types/uuid": "9.0.6", "@typescript-eslint/eslint-plugin": "5.62.0", "bunyan": "1.8.15", "codecov": "3.8.3", @@ -52,7 +52,7 @@ "jest-junit": "16.0.0", "log4js": "6.9.1", "mocked-env": "1.3.5", - "nock": "13.3.3", + "nock": "13.3.8", "node-fetch": "2.7.0", "prettier": "3.0.3", "prettier-2": "npm:prettier@2.8.8", @@ -61,8 +61,8 @@ "ts-jest": "29.1.1", "ts-node": "10.9.1", "typescript": "5.2.2", - "winston": "3.10.0", - "winston-transport": "4.5.0" + "winston": "3.11.0", + "winston-transport": "4.6.0" }, "engines": { "node": ">=14.15.0", @@ -71,11 +71,11 @@ }, "composition-js": { "name": "@apollo/composition", - "version": "2.5.5", + "version": "2.5.6", "license": "SEE LICENSE IN ./LICENSE", "dependencies": { - "@apollo/federation-internals": "2.5.5", - "@apollo/query-graphs": "2.5.5" + "@apollo/federation-internals": "2.5.6", + "@apollo/query-graphs": "2.5.6" }, "engines": { "node": ">=14.15.0" @@ -86,7 +86,7 @@ }, "federation-integration-testsuite-js": { "name": "apollo-federation-integration-testsuite", - "version": "2.5.5", + "version": "2.5.6", "license": "SEE LICENSE IN ./LICENSE", "dependencies": { "graphql-tag": "^2.12.6", @@ -95,12 +95,12 @@ }, "gateway-js": { "name": "@apollo/gateway", - "version": "2.5.5", + "version": "2.5.6", "license": "SEE LICENSE IN ./LICENSE", "dependencies": { - "@apollo/composition": "2.5.5", - "@apollo/federation-internals": "2.5.5", - "@apollo/query-planner": "2.5.5", + "@apollo/composition": "2.5.6", + "@apollo/federation-internals": "2.5.6", + "@apollo/query-planner": "2.5.6", "@apollo/server-gateway-interface": "^1.1.0", "@apollo/usage-reporting-protobuf": "^4.1.0", "@apollo/utils.createhash": "^2.0.0", @@ -126,7 +126,7 @@ }, "internals-js": { "name": "@apollo/federation-internals", - "version": "2.5.5", + "version": "2.5.6", "license": "SEE LICENSE IN ./LICENSE", "dependencies": { "@types/uuid": "^9.0.0", @@ -198,9 +198,9 @@ } }, "node_modules/@apollo/client": { - "version": "3.8.4", - "resolved": "https://registry.npmjs.org/@apollo/client/-/client-3.8.4.tgz", - "integrity": "sha512-QFXE4ylSHUa6LgYoOGsPysJCm4YJOOM1NwHyF6msZdZXIerqUVpLvxQOdQEXgS0RWvYiBMC1wGOWKzJKSWBdAg==", + "version": "3.8.7", + "resolved": "https://registry.npmjs.org/@apollo/client/-/client-3.8.7.tgz", + "integrity": "sha512-DnQtFkQrCyxHTSa9gR84YRLmU/al6HeXcLZazVe+VxKBmx/Hj4rV8xWtzfWYX5ijartsqDR7SJgV037MATEecA==", "dev": true, "dependencies": { "@graphql-typed-document-node/core": "^3.1.1", @@ -283,9 +283,9 @@ "link": true }, "node_modules/@apollo/server": { - "version": "4.9.4", - "resolved": "https://registry.npmjs.org/@apollo/server/-/server-4.9.4.tgz", - "integrity": "sha512-lopNDM3sZerTcYH/P85QX5HqSNV4HoVbtX3zOrf0ak7eplhPDiGVyF0jQWRbL64znG6KXW+nMuLDTyFTMQnvgA==", + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/@apollo/server/-/server-4.9.5.tgz", + "integrity": "sha512-eDBfArYbZaTm1AGa82M1aL7lOscVhnZsH85+OWmHMIR98qntzEjNpWpQPYDTru63Qxs4kHcY29NUx/kMGZfGEA==", "dev": true, "dependencies": { "@apollo/cache-control-types": "^1.0.3", @@ -588,11 +588,13 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.18.6", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" }, "engines": { "node": ">=6.9.0" @@ -645,11 +647,12 @@ } }, "node_modules/@babel/generator": { - "version": "7.21.3", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.21.3", + "@babel/types": "^7.23.0", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -726,31 +729,34 @@ } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.18.9", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.21.0", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/template": "^7.20.7", - "@babel/types": "^7.21.0" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -854,28 +860,31 @@ } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.18.6", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.19.4", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -902,12 +911,13 @@ } }, "node_modules/@babel/highlight": { - "version": "7.18.6", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, "engines": { @@ -915,9 +925,10 @@ } }, "node_modules/@babel/parser": { - "version": "7.21.3", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", "dev": true, - "license": "MIT", "bin": { "parser": "bin/babel-parser.js" }, @@ -1461,31 +1472,33 @@ } }, "node_modules/@babel/template": { - "version": "7.20.7", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.21.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.21.3", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.21.3", - "@babel/types": "^7.21.3", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -1494,12 +1507,13 @@ } }, "node_modules/@babel/types": { - "version": "7.21.3", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, "engines": { @@ -2285,9 +2299,9 @@ "peer": true }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.22.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.22.0.tgz", - "integrity": "sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==", + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", "dev": true, "peer": true, "dependencies": { @@ -3398,9 +3412,9 @@ "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", - "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", "dev": true, "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", @@ -3808,9 +3822,9 @@ "license": "MIT" }, "node_modules/@types/async-retry": { - "version": "1.4.6", - "resolved": "https://registry.npmjs.org/@types/async-retry/-/async-retry-1.4.6.tgz", - "integrity": "sha512-or8JPgYUtyPpO0ddHImwUWmSjVE/UalxgMm2d0r3698QhjzlM7eke0PT60bOxs1NG7HxU232RQ1vy1iQKGGRTw==", + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@types/async-retry/-/async-retry-1.4.8.tgz", + "integrity": "sha512-Qup/B5PWLe86yI5I3av6ePGaeQrIHNKCwbsQotD6aHQ6YkHsMUxVZkZsmx/Ry3VZQ6uysHwTjQ7666+k6UjVJA==", "dev": true, "dependencies": { "@types/retry": "*" @@ -3863,9 +3877,9 @@ } }, "node_modules/@types/bunyan": { - "version": "1.8.9", - "resolved": "https://registry.npmjs.org/@types/bunyan/-/bunyan-1.8.9.tgz", - "integrity": "sha512-ZqS9JGpBxVOvsawzmVt30sP++gSQMTejCkIAQ3VdadOcRE8izTyW66hufvwLeH+YEGP6Js2AW7Gz+RMyvrEbmw==", + "version": "1.8.11", + "resolved": "https://registry.npmjs.org/@types/bunyan/-/bunyan-1.8.11.tgz", + "integrity": "sha512-758fRH7umIMk5qt5ELmRMff4mLDlN+xyYzC+dkPTdKwbSkJFvz6xwyScrytPU0QIBbRRwbiE8/BIg8bpajerNQ==", "dev": true, "dependencies": { "@types/node": "*" @@ -3880,9 +3894,9 @@ } }, "node_modules/@types/deep-equal": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/deep-equal/-/deep-equal-1.0.2.tgz", - "integrity": "sha512-pjMMQWhqEKL/rxzUWQKpnbM2oFhRIx4kJ/7mH7MtbJWOA0yrZK0h4WA+RgKa70IHS9amWT7+jvmVmEcL2nXm3A==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@types/deep-equal/-/deep-equal-1.0.4.tgz", + "integrity": "sha512-tqdiS4otQP4KmY0PR3u6KbZ5EWvhNdUoS/jc93UuK23C220lOZ/9TvjfxdPcKvqwwDVtmtSCrnr0p/2dirAxkA==", "dev": true }, "node_modules/@types/express": { @@ -3953,9 +3967,9 @@ } }, "node_modules/@types/jest": { - "version": "29.5.5", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.5.tgz", - "integrity": "sha512-ebylz2hnsWR9mYvmBFbXJXr+33UPc4+ZdxyDXh5w0FlPBTfCVN3wPL+kuOiQt3xvrK419v7XWeAs+AeOksafXg==", + "version": "29.5.7", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.7.tgz", + "integrity": "sha512-HLyetab6KVPSiF+7pFcUyMeLsx25LDNDemw9mGsJBkai/oouwrjTycocSDYopMEwFhN2Y4s9oPyOCZNofgSt2g==", "dev": true, "dependencies": { "expect": "^29.0.0", @@ -3963,9 +3977,10 @@ } }, "node_modules/@types/js-levenshtein": { - "version": "1.1.1", - "dev": true, - "license": "MIT" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/js-levenshtein/-/js-levenshtein-1.1.2.tgz", + "integrity": "sha512-/NCbMABw2uacuyE16Iwka1EzREDD50/W2ggRBad0y1WHBvAkvR9OEINxModVY7D428gXBe0igeVX7bUc9GaslQ==", + "dev": true }, "node_modules/@types/js-yaml": { "version": "4.0.5", @@ -4032,9 +4047,9 @@ "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==" }, "node_modules/@types/node-fetch": { - "version": "2.6.6", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.6.tgz", - "integrity": "sha512-95X8guJYhfqiuVVhRFxVQcf4hW/2bCuoPwDasMf/531STFoNoWTT7YDnWdXHEZKqAGUigmpG31r2FE70LwnzJw==", + "version": "2.6.8", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.8.tgz", + "integrity": "sha512-nnH5lV9QCMPsbEVdTb5Y+F3GQxLSw1xQgIydrb2gSfEavRPs50FnMr+KUaa+LoPSqibm2N+ZZxH7lavZlAT4GA==", "dependencies": { "@types/node": "*", "form-data": "^4.0.0" @@ -4117,9 +4132,9 @@ "license": "MIT" }, "node_modules/@types/uuid": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.4.tgz", - "integrity": "sha512-zAuJWQflfx6dYJM62vna+Sn5aeSWhh3OB+wfUEACNcqUSc0AGc5JKl+ycL1vrH7frGTXhJchYjE1Hak8L819dA==" + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.6.tgz", + "integrity": "sha512-BT2Krtx4xaO6iwzwMFUYvWBWkV2pr37zD68Vmp1CDV196MzczBRxuEpD6Pr395HAgebC/co7hOphs53r8V7jew==" }, "node_modules/@types/ws": { "version": "8.5.4", @@ -4130,9 +4145,9 @@ } }, "node_modules/@types/yargs": { - "version": "17.0.26", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.26.tgz", - "integrity": "sha512-Y3vDy2X6zw/ZCumcwLpdhM5L7jmyGpmBCTYMHDLqT2IKVMYRRLdv6ZakA+wxhra6Z/3bwhNbNl9bDGXaFU+6rw==", + "version": "17.0.29", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.29.tgz", + "integrity": "sha512-nacjqA3ee9zRF/++a3FUY1suHTFKZeHba2n8WeDw9cCVdmzmHpIxyzOJBcpHvvEmS8E9KqWlSnWHUkOrkhWcvA==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -4506,11 +4521,14 @@ } }, "node_modules/@whatwg-node/fetch/node_modules/@types/node": { - "version": "18.18.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.3.tgz", - "integrity": "sha512-0OVfGupTl3NBFr8+iXpfZ8NR7jfFO+P1Q+IO/q0wbo02wYkP5gy36phojeYWpLQ6WAMjl+VfmqUk2YbUfp0irA==", + "version": "18.18.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.7.tgz", + "integrity": "sha512-bw+lEsxis6eqJYW8Ql6+yTqkE6RuFtsQPSe5JxXbqYRFQEER5aJA9a5UH9igqDWm3X4iLHIKOHlnAXLM4mi7uQ==", "dev": true, - "peer": true + "peer": true, + "dependencies": { + "undici-types": "~5.26.4" + } }, "node_modules/@whatwg-node/fetch/node_modules/@whatwg-node/node-fetch": { "version": "0.3.2", @@ -4581,9 +4599,9 @@ } }, "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "version": "8.11.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.1.tgz", + "integrity": "sha512-IJTNCJMRHfRfb8un89z1QtS0x890C2QUrUxFMK8zy+RizcId6mfnqOf68Bu9YkDgpLYuvCm6aYbwDatXVZPjMQ==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -4630,9 +4648,10 @@ } }, "node_modules/acorn-walk": { - "version": "8.2.0", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.0.tgz", + "integrity": "sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.4.0" } @@ -6572,9 +6591,9 @@ } }, "node_modules/cucumber-messages/node_modules/@types/uuid": { - "version": "3.4.11", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-3.4.11.tgz", - "integrity": "sha512-CJNkbEu4IdVuBMRVaNC2GjASgJK7ziqDlVXWuJ1pvhOLADl7nzxhTKjHRdOmo2SuXuygcWBmzgYgn9foTX0UiA==", + "version": "3.4.12", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-3.4.12.tgz", + "integrity": "sha512-4mZWvs9415R6KNlPUZaMDgpnNpFZrO7yZoFfVc6phuOpnUlU06KGu4+83e857jfWkYBMNVZF/1HDoG/aEbePow==", "dev": true }, "node_modules/cucumber-messages/node_modules/uuid": { @@ -7400,9 +7419,9 @@ } }, "node_modules/eslint/node_modules/globals": { - "version": "13.22.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.22.0.tgz", - "integrity": "sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==", + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", "dev": true, "peer": true, "dependencies": { @@ -8224,8 +8243,12 @@ } }, "node_modules/function-bind": { - "version": "1.1.1", - "license": "MIT" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/function.prototype.name": { "version": "1.1.5", @@ -8752,6 +8775,18 @@ "node": ">=0.10.0" } }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/header-case": { "version": "2.0.4", "dev": true, @@ -9085,14 +9120,15 @@ } }, "node_modules/is-accessor-descriptor": { - "version": "1.0.0", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz", + "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==", "dev": true, - "license": "MIT", "dependencies": { - "kind-of": "^6.0.0" + "hasown": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.10" } }, "node_modules/is-arguments": { @@ -9188,14 +9224,15 @@ } }, "node_modules/is-data-descriptor": { - "version": "1.0.0", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz", + "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==", "dev": true, - "license": "MIT", "dependencies": { - "kind-of": "^6.0.0" + "hasown": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" } }, "node_modules/is-date-object": { @@ -10166,9 +10203,9 @@ "license": "MIT" }, "node_modules/jest-cucumber/node_modules/@types/yargs": { - "version": "15.0.16", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.16.tgz", - "integrity": "sha512-2FeD5qezW3FvLpZ0JpfuaEWepgNLl9b2gQYiz/ce0NhoB1W/D+VZu98phITXkADYerfr/jb7JcDcVhITsc9bwg==", + "version": "15.0.17", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.17.tgz", + "integrity": "sha512-cj53I8GUcWJIgWVTSVe2L7NJAB5XWGdsoMosVvUgv1jEnMbAcsbaCzt1coUcyi8Sda5PgTWAooG8jNyDTD+CWA==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -11055,9 +11092,9 @@ } }, "node_modules/jest-environment-jsdom/node_modules/@types/yargs": { - "version": "15.0.16", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.16.tgz", - "integrity": "sha512-2FeD5qezW3FvLpZ0JpfuaEWepgNLl9b2gQYiz/ce0NhoB1W/D+VZu98phITXkADYerfr/jb7JcDcVhITsc9bwg==", + "version": "15.0.17", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.17.tgz", + "integrity": "sha512-cj53I8GUcWJIgWVTSVe2L7NJAB5XWGdsoMosVvUgv1jEnMbAcsbaCzt1coUcyi8Sda5PgTWAooG8jNyDTD+CWA==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -11397,9 +11434,9 @@ } }, "node_modules/jest-jasmine2/node_modules/@types/yargs": { - "version": "15.0.16", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.16.tgz", - "integrity": "sha512-2FeD5qezW3FvLpZ0JpfuaEWepgNLl9b2gQYiz/ce0NhoB1W/D+VZu98phITXkADYerfr/jb7JcDcVhITsc9bwg==", + "version": "15.0.17", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.17.tgz", + "integrity": "sha512-cj53I8GUcWJIgWVTSVe2L7NJAB5XWGdsoMosVvUgv1jEnMbAcsbaCzt1coUcyi8Sda5PgTWAooG8jNyDTD+CWA==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -13631,14 +13668,13 @@ } }, "node_modules/nock": { - "version": "13.3.3", - "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.3.tgz", - "integrity": "sha512-z+KUlILy9SK/RjpeXDiDUEAq4T94ADPHE3qaRkf66mpEhzc/ytOMm3Bwdrbq6k1tMWkbdujiKim3G2tfQARuJw==", + "version": "13.3.8", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.8.tgz", + "integrity": "sha512-96yVFal0c/W1lG7mmfRe7eO+hovrhJYd2obzzOZ90f6fjpeU/XNvd9cYHZKZAQJumDfhXgoTpkpJ9pvMj+hqHw==", "dev": true, "dependencies": { "debug": "^4.1.0", "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.21", "propagate": "^2.0.0" }, "engines": { @@ -17050,6 +17086,13 @@ "node": ">=0.10.0" } }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true, + "peer": true + }, "node_modules/union-value": { "version": "1.0.1", "dev": true, @@ -17310,9 +17353,9 @@ "license": "MIT" }, "node_modules/v8-to-istanbul": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.2.tgz", - "integrity": "sha512-ZGBe7VAivuuoQXTeckpbYKTdtjXGcm3ZUHXC0PAk0CzFyuYvwi73a58iEKI3GkGD1c3EHc+EgfR1w5pgbfzJlQ==", + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.3.tgz", + "integrity": "sha512-9lDD+EVI2fjFsMWXc6dy5JJzBsVTcQ2fVkfBvncZ6xJWG9wtBhOldG+mHkSL0+V1K/xgZz0JDO5UT5hFwHUghg==", "dev": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.12", @@ -17529,12 +17572,12 @@ } }, "node_modules/winston": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/winston/-/winston-3.10.0.tgz", - "integrity": "sha512-nT6SIDaE9B7ZRO0u3UvdrimG0HkB7dSTAgInQnNR2SOPJ4bvq5q79+pXLftKmP52lJGW15+H5MCK0nM9D3KB/g==", + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.11.0.tgz", + "integrity": "sha512-L3yR6/MzZAOl0DsysUXHVjOwv8mKZ71TrA/41EIduGpOOV5LQVodqN+QdQ6BS6PJ/RdIshZhq84P/fStEZkk7g==", "dev": true, "dependencies": { - "@colors/colors": "1.5.0", + "@colors/colors": "^1.6.0", "@dabh/diagnostics": "^2.0.2", "async": "^3.2.3", "is-stream": "^2.0.0", @@ -17551,16 +17594,26 @@ } }, "node_modules/winston-transport": { - "version": "4.5.0", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.6.0.tgz", + "integrity": "sha512-wbBA9PbPAHxKiygo7ub7BYRiKxms0tpfU2ljtWzb3SjRjv5yl6Ozuy/TkXf00HTAt+Uylo3gSkNwzc4ME0wiIg==", "dev": true, - "license": "MIT", "dependencies": { "logform": "^2.3.2", "readable-stream": "^3.6.0", "triple-beam": "^1.3.0" }, "engines": { - "node": ">= 6.4.0" + "node": ">= 12.0.0" + } + }, + "node_modules/winston/node_modules/@colors/colors": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", + "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", + "dev": true, + "engines": { + "node": ">=0.1.90" } }, "node_modules/word-wrap": { @@ -17746,10 +17799,10 @@ }, "query-graphs-js": { "name": "@apollo/query-graphs", - "version": "2.5.5", + "version": "2.5.6", "license": "SEE LICENSE IN ./LICENSE", "dependencies": { - "@apollo/federation-internals": "2.5.5", + "@apollo/federation-internals": "2.5.6", "deep-equal": "^2.0.5", "ts-graphviz": "^1.5.4", "uuid": "^9.0.0" @@ -17763,11 +17816,11 @@ }, "query-planner-js": { "name": "@apollo/query-planner", - "version": "2.5.5", + "version": "2.5.6", "license": "SEE LICENSE IN ./LICENSE", "dependencies": { - "@apollo/federation-internals": "2.5.5", - "@apollo/query-graphs": "2.5.5", + "@apollo/federation-internals": "2.5.6", + "@apollo/query-graphs": "2.5.6", "@apollo/utils.keyvaluecache": "^2.1.0", "chalk": "^4.1.0", "deep-equal": "^2.0.5", @@ -17796,11 +17849,11 @@ }, "subgraph-js": { "name": "@apollo/subgraph", - "version": "2.5.5", + "version": "2.5.6", "license": "MIT", "dependencies": { "@apollo/cache-control-types": "^1.0.2", - "@apollo/federation-internals": "2.5.5" + "@apollo/federation-internals": "2.5.6" }, "engines": { "node": ">=14.15.0" diff --git a/package.json b/package.json index 736faad28..7a2819940 100644 --- a/package.json +++ b/package.json @@ -48,8 +48,8 @@ ], "devDependencies": { "@apollo/cache-control-types": "1.0.3", - "@apollo/client": "3.8.4", - "@apollo/server": "4.9.4", + "@apollo/client": "3.8.7", + "@apollo/server": "4.9.5", "@apollo/utils.fetcher": "2.0.1", "@changesets/changelog-github": "0.4.8", "@changesets/cli": "2.26.2", @@ -59,17 +59,17 @@ "@josephg/resolvable": "1.0.1", "@opentelemetry/node": "0.24.0", "@svitejs/changesets-changelog-github-compact": "1.1.0", - "@types/async-retry": "1.4.6", - "@types/bunyan": "1.8.9", - "@types/deep-equal": "1.0.2", - "@types/jest": "29.5.5", - "@types/js-levenshtein": "1.1.1", + "@types/async-retry": "1.4.8", + "@types/bunyan": "1.8.11", + "@types/deep-equal": "1.0.4", + "@types/jest": "29.5.7", + "@types/js-levenshtein": "1.1.2", "@types/loglevel": "1.5.4", "@types/make-fetch-happen": "10.0.2", "@types/nock": "10.0.3", "@types/node": "14.18.63", - "@types/node-fetch": "2.6.6", - "@types/uuid": "9.0.4", + "@types/node-fetch": "2.6.8", + "@types/uuid": "9.0.6", "@typescript-eslint/eslint-plugin": "5.62.0", "bunyan": "1.8.15", "codecov": "3.8.3", @@ -83,7 +83,7 @@ "jest-junit": "16.0.0", "log4js": "6.9.1", "mocked-env": "1.3.5", - "nock": "13.3.3", + "nock": "13.3.8", "node-fetch": "2.7.0", "prettier": "3.0.3", "prettier-2": "npm:prettier@2.8.8", @@ -92,8 +92,8 @@ "ts-jest": "29.1.1", "ts-node": "10.9.1", "typescript": "5.2.2", - "winston": "3.10.0", - "winston-transport": "4.5.0" + "winston": "3.11.0", + "winston-transport": "4.6.0" }, "jest": { "projects": [ @@ -106,7 +106,7 @@ ] }, "volta": { - "node": "18.18.0", - "npm": "10.1.0" + "node": "18.18.2", + "npm": "10.2.0" } } diff --git a/query-graphs-js/CHANGELOG.md b/query-graphs-js/CHANGELOG.md index 7d564e16d..2cf7ec9b5 100644 --- a/query-graphs-js/CHANGELOG.md +++ b/query-graphs-js/CHANGELOG.md @@ -1,5 +1,11 @@ # CHANGELOG for `@apollo/query-graphs` +## 2.5.6 +### Patch Changes + +- Updated dependencies [[`c719214a`](https://github.com/apollographql/federation/commit/c719214a945564e4afc4bf1610e3dcdfb3838fe1)]: + - @apollo/federation-internals@2.5.6 + ## 2.5.5 ### Patch Changes diff --git a/query-graphs-js/package.json b/query-graphs-js/package.json index 45aaf81bc..d774e59cd 100644 --- a/query-graphs-js/package.json +++ b/query-graphs-js/package.json @@ -1,6 +1,6 @@ { "name": "@apollo/query-graphs", - "version": "2.5.5", + "version": "2.5.6", "description": "Apollo Federation library to work with 'query graphs'", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -23,7 +23,7 @@ "node": ">=14.15.0" }, "dependencies": { - "@apollo/federation-internals": "2.5.5", + "@apollo/federation-internals": "2.5.6", "deep-equal": "^2.0.5", "ts-graphviz": "^1.5.4", "uuid": "^9.0.0" diff --git a/query-planner-js/CHANGELOG.md b/query-planner-js/CHANGELOG.md index 0ec617fb1..2e9b016df 100644 --- a/query-planner-js/CHANGELOG.md +++ b/query-planner-js/CHANGELOG.md @@ -1,5 +1,12 @@ # CHANGELOG for `@apollo/query-planner` +## 2.5.6 +### Patch Changes + +- Updated dependencies [[`c719214a`](https://github.com/apollographql/federation/commit/c719214a945564e4afc4bf1610e3dcdfb3838fe1)]: + - @apollo/federation-internals@2.5.6 + - @apollo/query-graphs@2.5.6 + ## 2.5.5 ### Patch Changes diff --git a/query-planner-js/package.json b/query-planner-js/package.json index 6f33d13fd..21ee3bb29 100644 --- a/query-planner-js/package.json +++ b/query-planner-js/package.json @@ -1,6 +1,6 @@ { "name": "@apollo/query-planner", - "version": "2.5.5", + "version": "2.5.6", "description": "Apollo Query Planner", "author": "Apollo ", "main": "dist/index.js", @@ -25,8 +25,8 @@ "access": "public" }, "dependencies": { - "@apollo/federation-internals": "2.5.5", - "@apollo/query-graphs": "2.5.5", + "@apollo/federation-internals": "2.5.6", + "@apollo/query-graphs": "2.5.6", "@apollo/utils.keyvaluecache": "^2.1.0", "chalk": "^4.1.0", "deep-equal": "^2.0.5", diff --git a/renovate.json5 b/renovate.json5 index 9c06d2f1d..055246522 100644 --- a/renovate.json5 +++ b/renovate.json5 @@ -14,7 +14,6 @@ // important updatets. "baseBranches": [ "main", - "version-0.x", ], "dependencyDashboard": true, // The "circleci" manager is intentionally disabled right now (e.g., not @@ -92,50 +91,12 @@ automerge: false, matchManagers: [ "npm" ], }, - // v0.x is stuck on the following major package versions due to node 12 support - // the packages listed below have dropped support for node 12 in current major versions - { - "matchBaseBranches": ["version-0.x"], - "matchPackageNames": ["@types/node"], - "allowedVersions": "12.x" - }, - { - "matchBaseBranches": ["version-0.x"], - "matchPackagePatterns": ["^@apollo/utils"], - "allowedVersions": "1.x" - }, // v3.x utils packages drop support for node 14 { "matchBaseBranches": ["main"], "matchPackagePatterns": ["^@apollo/utils"], "allowedVersions": "2.x" }, - { - "matchBaseBranches": ["version-0.x"], - "matchPackageNames": ["make-fetch-happen", "@types/make-fetch-happen"], - "allowedVersions": "10.x" - }, - { - "matchBaseBranches": ["version-0.x"], - "matchPackageNames": ["lerna"], - "allowedVersions": "4.x" - }, - { - "matchBaseBranches": ["version-0.x"], - "matchPackagePatterns": ["jest", "pretty-format"], - "allowedVersions": "28.x" - }, - { - "matchBaseBranches": ["version-0.x"], - "matchPackagePatterns": ["@apollo/core-schema"], - "allowedVersions": "0.2.x" - }, - { - "matchBaseBranches": ["version-0.x"], - "matchPackageNames": ["node"], - "matchPaths": ["v12-node-compatibility/package.json"], - "allowedVersions": "12.x", - }, // @graphql-codegen/*@4 drops support for node 14 { "matchPackagePatterns": ["^@graphql-codegen"], @@ -151,35 +112,10 @@ "matchPackageNames": ["make-fetch-happen"], "allowedVersions": "11.x", }, - // make-fetch-happen@11 drops support for node 12 - { - "matchBaseBranches": ["version-0.x"], - "matchPackageNames": ["make-fetch-happen"], - "allowedVersions": "10.x", - }, // cspell@7 drops support for node 14 { "matchPackageNames": ["cspell"], "allowedVersions": "6.x", }, - // @apollo/cache-control-types@1.0.3 accidentally broke support for node 12 - { - "matchBaseBranches": ["version-0.x"], - "matchPackageNames": ["@apollo/cache-control-types"], - "allowedVersions": "1.0.2", - }, - // typescript@5.1 drops support for node 12 - { - "matchBaseBranches": ["version-0.x"], - "matchPackageNames": ["typescript"], - "allowedVersions": "5.0.x", - }, - // lru-cache@7.13.1 is the last patch which includes an important AbortSignal type as part of its polyfill - // this was a breaking change for node 12 support - { - "matchBaseBranches": ["version-0.x"], - "matchPackageNames": ["lru-cache"], - "allowedVersions": "7.13.1", - }, ] } diff --git a/subgraph-js/CHANGELOG.md b/subgraph-js/CHANGELOG.md index cac11d486..5427f1fca 100644 --- a/subgraph-js/CHANGELOG.md +++ b/subgraph-js/CHANGELOG.md @@ -1,5 +1,11 @@ # CHANGELOG for `@apollo/subgraph` +## 2.5.6 +### Patch Changes + +- Updated dependencies [[`c719214a`](https://github.com/apollographql/federation/commit/c719214a945564e4afc4bf1610e3dcdfb3838fe1)]: + - @apollo/federation-internals@2.5.6 + ## 2.5.5 ### Patch Changes diff --git a/subgraph-js/package.json b/subgraph-js/package.json index b84e5888e..3af4c1b1d 100644 --- a/subgraph-js/package.json +++ b/subgraph-js/package.json @@ -1,6 +1,6 @@ { "name": "@apollo/subgraph", - "version": "2.5.5", + "version": "2.5.6", "description": "Apollo Subgraph Utilities", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -25,7 +25,7 @@ }, "dependencies": { "@apollo/cache-control-types": "^1.0.2", - "@apollo/federation-internals": "2.5.5" + "@apollo/federation-internals": "2.5.6" }, "peerDependencies": { "graphql": "^16.5.0"
_service<
Executable GraphQL schema from multiple data sources, query anything, run anywhere.

Github: Urigo/graphql-mesh
Type: undefined
Stars: 3.0k ⭐
-Last Release: 2023-08-24

_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🟢
@provides🟢
federated tracing🟢
@link🟢
@shareable🟢
@tag🟢
@override🟢
@inaccessible🟢
@composeDirective🔲
@interfaceObject🔲
_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🟢
@provides🟢
federated tracing🟢
@link🟢
@shareable🟢
@tag🟢
@override🟢
@inaccessible🟢
@composeDirective🔲
@interfaceObject🔲
Neo4J Graph Database
A GraphQL to Cypher query execution layer for Neo4j and JavaScript GraphQL implementations.

Github: neo4j/graphql
Type: Code first | SDL first
-Stars: 445 ⭐
-Last Release: 2023-08-22

Core Library: GraphQL.js
Federation Library: Apollo Subgraph
_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🟢
@provides🟢
federated tracing🟢
@link🟢
@shareable🟢
@tag🟢
@override🟢
@inaccessible🟢
@composeDirective🟢
@interfaceObject🟢
_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🟢
@provides🟢
federated tracing🟢
@link🟢
@shareable🟢
@tag🟢
@override🟢
@inaccessible🟢
@composeDirective🟢
@interfaceObject🟢
StepZen, an IBM Company
Build GraphQL APIs for all your data in a declarative way. Federate across any data source, including GraphQL.

_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🔲
repeatable @key🔲
@requires🟢
@provides🔲
federated tracing🔲
@link🟢
@shareable🟢
@tag🟢
@override🟢
@inaccessible🟢
@composeDirective🔲
@interfaceObject🔲