diff --git a/examples/apollo-federation-compatibility/package.json b/examples/apollo-federation-compatibility/package.json index 77b9af100d..a3554986d9 100644 --- a/examples/apollo-federation-compatibility/package.json +++ b/examples/apollo-federation-compatibility/package.json @@ -13,10 +13,9 @@ "start": "node ./dist/index.js" }, "dependencies": { - "@apollo/subgraph": "^2.4.0", + "@apollo/subgraph": "^2.5.5", "@graphql-yoga/plugin-apollo-inline-trace": "2.0.5", "graphql": "16.6.0", - "graphql-tag": "2.12.6", "graphql-yoga": "4.0.5" }, "devDependencies": { diff --git a/examples/apollo-federation-compatibility/src/index.ts b/examples/apollo-federation-compatibility/src/index.ts index e29b547de9..bf245d6f83 100644 --- a/examples/apollo-federation-compatibility/src/index.ts +++ b/examples/apollo-federation-compatibility/src/index.ts @@ -1,12 +1,12 @@ import { readFileSync } from 'node:fs'; import { createServer } from 'node:http'; -import { gql } from 'graphql-tag'; +import { parse } from 'graphql'; import { createYoga } from 'graphql-yoga'; import { buildSubgraphSchema } from '@apollo/subgraph'; import { useApolloInlineTrace } from '@graphql-yoga/plugin-apollo-inline-trace'; import { Inventory, Product, ProductResearch, Resolvers, User } from './resolvers-types'; -const typeDefs = readFileSync('./schema.graphql', 'utf8'); +const typeDefs = parse(readFileSync('./schema.graphql', 'utf8')); const productResearch: ProductResearch[] = [ { @@ -59,7 +59,7 @@ const inventory: Inventory = { const resolvers: Resolvers = { Query: { product(_: unknown, args: { id: string }) { - return products.find(p => p.id === args.id)! as unknown as Product; + return products.find(p => p.id === args.id) as unknown as Product; }, deprecatedProduct: (_, args) => { if (args.sku === deprecatedProduct.sku && args.package === deprecatedProduct.package) { @@ -84,7 +84,9 @@ const resolvers: Resolvers = { }, ProductResearch: { __resolveReference: reference => { - return productResearch.find(p => reference.study.caseNumber === p.study.caseNumber)!; + return productResearch.find( + p => reference.study.caseNumber === p.study.caseNumber, + ) as unknown as ProductResearch; }, }, Product: { @@ -138,7 +140,7 @@ const resolvers: Resolvers = { name() { return 'Jane Smith'; }, - // @ts-expect-error + // @ts-expect-error (yearsOfEmployment is not in the type) __resolveReference(userRef) { const ref = userRef as User; if (ref.email) { @@ -151,7 +153,7 @@ const resolvers: Resolvers = { user.totalProductsCreated = ref.totalProductsCreated; } if (ref.yearsOfEmployment) { - // @ts-expect-error + // @ts-expect-error (yearsOfEmployment is not in the type) user.yearsOfEmployment = ref.yearsOfEmployment; } return user; @@ -170,7 +172,7 @@ const resolvers: Resolvers = { }; const yoga = createYoga({ - schema: buildSubgraphSchema([{ typeDefs: gql(typeDefs), resolvers }]), + schema: buildSubgraphSchema([{ typeDefs, resolvers }]), plugins: [useApolloInlineTrace()], }); diff --git a/examples/apollo-federation-compatibility/src/resolvers-types.ts b/examples/apollo-federation-compatibility/src/resolvers-types.ts index 8fd0a0f9a2..3e87cc4799 100644 --- a/examples/apollo-federation-compatibility/src/resolvers-types.ts +++ b/examples/apollo-federation-compatibility/src/resolvers-types.ts @@ -4,65 +4,67 @@ export type InputMaybe = Maybe; export type Exact = { [K in keyof T]: T[K] }; export type MakeOptional = Omit & { [SubKey in K]?: Maybe }; export type MakeMaybe = Omit & { [SubKey in K]: Maybe }; +export type MakeEmpty = { [_ in K]?: never }; +export type Incremental = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never }; export type RequireFields = Omit & { [P in K]-?: NonNullable }; /** All built-in and custom scalars, mapped to their actual values */ export type Scalars = { - ID: string; - String: string; - Boolean: boolean; - Int: number; - Float: number; - _FieldSet: any; + ID: { input: string; output: string; } + String: { input: string; output: string; } + Boolean: { input: boolean; output: boolean; } + Int: { input: number; output: number; } + Float: { input: number; output: number; } + _FieldSet: { input: any; output: any; } }; export type CaseStudy = { __typename?: 'CaseStudy'; - caseNumber: Scalars['ID']; - description?: Maybe; + caseNumber: Scalars['ID']['output']; + description?: Maybe; }; export type DeprecatedProduct = { __typename?: 'DeprecatedProduct'; createdBy?: Maybe; - package: Scalars['String']; - reason?: Maybe; - sku: Scalars['String']; + package: Scalars['String']['output']; + reason?: Maybe; + sku: Scalars['String']['output']; }; export type Inventory = { __typename?: 'Inventory'; deprecatedProducts: Array; - id: Scalars['ID']; + id: Scalars['ID']['output']; }; export type Product = { __typename?: 'Product'; createdBy?: Maybe; dimensions?: Maybe; - id: Scalars['ID']; - notes?: Maybe; - package?: Maybe; + id: Scalars['ID']['output']; + notes?: Maybe; + package?: Maybe; research: Array; - sku?: Maybe; + sku?: Maybe; variation?: Maybe; }; export type ProductDimension = { __typename?: 'ProductDimension'; - size?: Maybe; - unit?: Maybe; - weight?: Maybe; + size?: Maybe; + unit?: Maybe; + weight?: Maybe; }; export type ProductResearch = { __typename?: 'ProductResearch'; - outcome?: Maybe; + outcome?: Maybe; study: CaseStudy; }; export type ProductVariation = { __typename?: 'ProductVariation'; - id: Scalars['ID']; + id: Scalars['ID']['output']; }; export type Query = { @@ -74,22 +76,22 @@ export type Query = { export type QueryDeprecatedProductArgs = { - package: Scalars['String']; - sku: Scalars['String']; + package: Scalars['String']['input']; + sku: Scalars['String']['input']; }; export type QueryProductArgs = { - id: Scalars['ID']; + id: Scalars['ID']['input']; }; export type User = { __typename?: 'User'; - averageProductsCreatedPerYear?: Maybe; - email: Scalars['ID']; - name?: Maybe; - totalProductsCreated?: Maybe; - yearsOfEmployment: Scalars['Int']; + averageProductsCreatedPerYear?: Maybe; + email: Scalars['ID']['output']; + name?: Maybe; + totalProductsCreated?: Maybe; + yearsOfEmployment: Scalars['Int']['output']; }; @@ -170,40 +172,42 @@ export type DirectiveResolverFn TResult | Promise; + + /** Mapping between all available schema types and the resolvers types */ export type ResolversTypes = { CaseStudy: ResolverTypeWrapper; - ID: ResolverTypeWrapper; - String: ResolverTypeWrapper; + ID: ResolverTypeWrapper; + String: ResolverTypeWrapper; DeprecatedProduct: ResolverTypeWrapper; Inventory: ResolverTypeWrapper; Product: ResolverTypeWrapper; ProductDimension: ResolverTypeWrapper; - Float: ResolverTypeWrapper; + Float: ResolverTypeWrapper; ProductResearch: ResolverTypeWrapper; ProductVariation: ResolverTypeWrapper; Query: ResolverTypeWrapper<{}>; User: ResolverTypeWrapper; - Int: ResolverTypeWrapper; - Boolean: ResolverTypeWrapper; + Int: ResolverTypeWrapper; + Boolean: ResolverTypeWrapper; }; /** Mapping between all available schema types and the resolvers parents */ export type ResolversParentTypes = { CaseStudy: CaseStudy; - ID: Scalars['ID']; - String: Scalars['String']; + ID: Scalars['ID']['output']; + String: Scalars['String']['output']; DeprecatedProduct: DeprecatedProduct; Inventory: Inventory; Product: Product; ProductDimension: ProductDimension; - Float: Scalars['Float']; + Float: Scalars['Float']['output']; ProductResearch: ProductResearch; ProductVariation: ProductVariation; Query: {}; User: User; - Int: Scalars['Int']; - Boolean: Scalars['Boolean']; + Int: Scalars['Int']['output']; + Boolean: Scalars['Boolean']['output']; }; export type CustomDirectiveArgs = { }; diff --git a/examples/apollo-federation/__integration-tests__/apollo-federation.spec.ts b/examples/apollo-federation/__integration-tests__/apollo-federation.spec.ts index fce70a040d..af9d68748b 100644 --- a/examples/apollo-federation/__integration-tests__/apollo-federation.spec.ts +++ b/examples/apollo-federation/__integration-tests__/apollo-federation.spec.ts @@ -1,6 +1,8 @@ +import { readFileSync } from 'node:fs'; import { createServer, Server } from 'node:http'; import { AddressInfo } from 'node:net'; -import { GatewayConfig, IntrospectAndCompose } from '@apollo/gateway'; +import { join } from 'node:path'; +import { buildHTTPExecutor } from '@graphql-tools/executor-http'; import { fetch } from '@whatwg-node/fetch'; import { gateway } from '../gateway/gateway'; import { yoga as service1 } from '../service/yoga'; @@ -16,10 +18,9 @@ describe('apollo-federation example integration', () => { await new Promise(resolve => serviceServer.listen(0, resolve)); servicePort = (serviceServer.address() as AddressInfo).port; - const gatewayConfig: GatewayConfig = { - supergraphSdl: new IntrospectAndCompose({ - subgraphs: [{ name: 'accounts', url: `http://localhost:${servicePort}/graphql` }], - }), + const gatewayConfig = { + supergraphSdl: readFileSync(join(__dirname, '../supergraph.graphql'), 'utf8'), + onExecutor: () => buildHTTPExecutor({ endpoint: `http://localhost:${servicePort}/graphql` }), }; const gatewayService = await gateway(gatewayConfig); @@ -54,10 +55,6 @@ describe('apollo-federation example integration', () => { }, "errors": [ { - "extensions": { - "code": "DOWNSTREAM_SERVICE_ERROR", - "serviceName": "accounts", - }, "message": "This should throw.", "path": [ "throw", diff --git a/examples/apollo-federation/gateway/gateway.js b/examples/apollo-federation/gateway/gateway.js index 5627c6b554..dd4e125a1e 100644 --- a/examples/apollo-federation/gateway/gateway.js +++ b/examples/apollo-federation/gateway/gateway.js @@ -1,30 +1,12 @@ /* eslint-disable */ const { createYoga, maskError } = require('graphql-yoga'); -const { ApolloGateway } = require('@apollo/gateway'); -const { useApolloFederation } = require('@envelop/apollo-federation'); +const { getStitchedSchemaFromSupergraphSdl } = require('@graphql-tools/federation'); module.exports.gateway = async function gateway(config) { - // Initialize the gateway - const gateway = new ApolloGateway(config); - - // Make sure all services are loaded - await gateway.load(); + const schema = getStitchedSchemaFromSupergraphSdl(config); const yoga = createYoga({ - plugins: [ - useApolloFederation({ - gateway, - }), - ], - maskedErrors: { - maskError(error, message, isDev) { - // Note: it seems like the "useApolloFederation" plugin should do this by default? - if (error?.extensions?.code === 'DOWNSTREAM_SERVICE_ERROR') { - return error; - } - return maskError(error, message, isDev); - }, - }, + schema, }); return yoga; diff --git a/examples/apollo-federation/gateway/index.js b/examples/apollo-federation/gateway/index.js index 38ed8aa7b8..19f9ac80f0 100644 --- a/examples/apollo-federation/gateway/index.js +++ b/examples/apollo-federation/gateway/index.js @@ -1,15 +1,12 @@ /* eslint-disable */ const { createServer } = require('http'); const { gateway } = require('./gateway'); +const { readFileSync } = require('fs'); +const { join } = require('path'); async function main() { const yoga = await gateway({ - supergraphSdl: new IntrospectAndCompose({ - subgraphs: [ - { name: 'accounts', url: 'http://localhost:4001/graphql' }, - // ...additional subgraphs... - ], - }), + supergraphSdl: readFileSync(join(__dirname, '../supergraph.graphql')).toString('utf-8'), }); // Start the server and explore http://localhost:4000/graphql diff --git a/examples/apollo-federation/gateway/package.json b/examples/apollo-federation/gateway/package.json index 772eae5a50..b668aad60b 100644 --- a/examples/apollo-federation/gateway/package.json +++ b/examples/apollo-federation/gateway/package.json @@ -7,8 +7,7 @@ "start": "node index.js" }, "dependencies": { - "@apollo/gateway": "2.4.7", - "@envelop/apollo-federation": "4.0.3", + "@graphql-tools/federation": "1.1.11", "graphql": "16.6.0", "graphql-yoga": "4.0.5" } diff --git a/examples/apollo-federation/package.json b/examples/apollo-federation/package.json index 3de03eefd4..c28c15aff4 100644 --- a/examples/apollo-federation/package.json +++ b/examples/apollo-federation/package.json @@ -8,6 +8,7 @@ ], "scripts": { "check": "exit 0", + "generate-supergraph": "node scripts/generate-supergraph.js", "start": "concurrently \"pnpm start:service\" \"pnpm start:gateway\"", "start:gateway": "cd gateway && pnpm start", "start:service": "cd service && pnpm start" @@ -16,7 +17,8 @@ "concurrently": "^8.0.0" }, "devDependencies": { - "@apollo/gateway": "2.4.7", - "@whatwg-node/fetch": "^0.9.0" + "@graphql-tools/executor-http": "1.0.2", + "@graphql-tools/federation": "1.1.11", + "@theguild/federation-composition": "0.1.3" } } diff --git a/examples/apollo-federation/scripts/generate-supergraph.js b/examples/apollo-federation/scripts/generate-supergraph.js new file mode 100644 index 0000000000..80c5ef3586 --- /dev/null +++ b/examples/apollo-federation/scripts/generate-supergraph.js @@ -0,0 +1,20 @@ +/* eslint-disable */ +// Compose services and create Supergraph SDL using https://github.com/the-guild-org/federation +const { composeServices, compositionHasErrors } = require('@theguild/federation-composition'); +const { join } = require('path'); +const { writeFileSync } = require('fs'); + +const result = composeServices([ + { + name: 'accounts', + typeDefs: require('../service/typeDefs.js'), + url: 'http://localhost:4001/graphql', + }, +]); + +if (compositionHasErrors(result)) { + console.error(result.errors); + process.exit(1); +} else { + writeFileSync(join(__dirname, '../supergraph.graphql'), result.supergraphSdl); +} diff --git a/examples/apollo-federation/service/package.json b/examples/apollo-federation/service/package.json index 4a79afa414..a5139b3bf3 100644 --- a/examples/apollo-federation/service/package.json +++ b/examples/apollo-federation/service/package.json @@ -7,7 +7,7 @@ "start": "node index.js" }, "dependencies": { - "@apollo/subgraph": "^2.4.0", + "@apollo/subgraph": "^2.5.5", "graphql": "16.6.0", "graphql-yoga": "4.0.5" } diff --git a/examples/apollo-federation/service/typeDefs.js b/examples/apollo-federation/service/typeDefs.js new file mode 100644 index 0000000000..f6ea6b3ada --- /dev/null +++ b/examples/apollo-federation/service/typeDefs.js @@ -0,0 +1,14 @@ +/* eslint-disable */ +const { parse } = require('graphql'); + +module.exports = parse(/* GraphQL */ ` + type Query { + me: User + throw: String + } + + type User @key(fields: "id") { + id: ID! + username: String + } +`); diff --git a/examples/apollo-federation/service/yoga.js b/examples/apollo-federation/service/yoga.js index 735f687d37..286e2ec103 100644 --- a/examples/apollo-federation/service/yoga.js +++ b/examples/apollo-federation/service/yoga.js @@ -1,19 +1,9 @@ /* eslint-disable */ -const { parse, GraphQLError } = require('graphql'); +const { GraphQLError } = require('graphql'); const { buildSubgraphSchema } = require('@apollo/subgraph'); const { createYoga } = require('graphql-yoga'); -const typeDefs = parse(/* GraphQL */ ` - type Query { - me: User - throw: String - } - - type User @key(fields: "id") { - id: ID! - username: String - } -`); +const typeDefs = require('./typeDefs.js'); const resolvers = { Query: { diff --git a/examples/apollo-federation/supergraph.graphql b/examples/apollo-federation/supergraph.graphql new file mode 100644 index 0000000000..2933fc9193 --- /dev/null +++ b/examples/apollo-federation/supergraph.graphql @@ -0,0 +1,71 @@ +schema + @link(url: "https://specs.apollo.dev/link/v1.0") + @link(url: "https://specs.apollo.dev/join/v0.3", for: EXECUTION) { + query: Query +} + +directive @join__enumValue(graph: join__Graph!) repeatable on ENUM_VALUE + +directive @join__field( + graph: join__Graph + requires: join__FieldSet + provides: join__FieldSet + type: String + external: Boolean + override: String + usedOverridden: Boolean +) repeatable on FIELD_DEFINITION | INPUT_FIELD_DEFINITION + +directive @join__graph(name: String!, url: String!) on ENUM_VALUE + +directive @join__implements( + graph: join__Graph! + interface: String! +) repeatable on OBJECT | INTERFACE + +directive @join__type( + graph: join__Graph! + key: join__FieldSet + extension: Boolean! = false + resolvable: Boolean! = true + isInterfaceObject: Boolean! = false +) repeatable on OBJECT | INTERFACE | UNION | ENUM | INPUT_OBJECT | SCALAR + +directive @join__unionMember(graph: join__Graph!, member: String!) repeatable on UNION + +scalar join__FieldSet + +directive @link( + url: String + as: String + for: link__Purpose + import: [link__Import] +) repeatable on SCHEMA + +scalar link__Import + +enum link__Purpose { + """ + `SECURITY` features provide metadata necessary to securely resolve fields. + """ + SECURITY + + """ + `EXECUTION` features provide metadata necessary for operation execution. + """ + EXECUTION +} + +enum join__Graph { + ACCOUNTS @join__graph(name: "accounts", url: "http://localhost:4001/graphql") +} + +type Query @join__type(graph: ACCOUNTS) { + me: User + throw: String +} + +type User @join__type(graph: ACCOUNTS, key: "id") { + id: ID! + username: String +} diff --git a/examples/live-query/package.json b/examples/live-query/package.json index 6a58222d3f..cd8798740d 100644 --- a/examples/live-query/package.json +++ b/examples/live-query/package.json @@ -9,7 +9,7 @@ }, "dependencies": { "@envelop/live-query": "6.0.3", - "@graphql-tools/utils": "10.0.1", + "@graphql-tools/utils": "10.0.7", "@n1ru4l/graphql-live-query": "0.10.0", "@n1ru4l/in-memory-live-query-store": "0.10.0", "graphql": "16.6.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 07980ebdbf..9efda2241c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -186,27 +186,27 @@ importers: specifier: ^8.0.0 version: 8.0.1 devDependencies: - '@apollo/gateway': - specifier: 2.4.7 - version: 2.4.7(graphql@16.6.0) - '@whatwg-node/fetch': - specifier: ^0.9.0 - version: 0.9.0 + '@graphql-tools/executor-http': + specifier: 1.0.2 + version: 1.0.2(@types/node@18.16.16)(graphql@16.6.0) + '@graphql-tools/federation': + specifier: 1.1.11 + version: 1.1.11(graphql@16.6.0) + '@theguild/federation-composition': + specifier: 0.1.3 + version: 0.1.3(graphql@16.6.0) examples/apollo-federation-compatibility: dependencies: '@apollo/subgraph': - specifier: ^2.4.0 - version: 2.4.0(graphql@16.6.0) + specifier: ^2.5.5 + version: 2.5.5(graphql@16.6.0) '@graphql-yoga/plugin-apollo-inline-trace': specifier: 2.0.5 version: link:../../packages/plugins/apollo-inline-trace/dist graphql: specifier: 16.6.0 version: 16.6.0 - graphql-tag: - specifier: 2.12.6 - version: 2.12.6(graphql@16.6.0) graphql-yoga: specifier: 4.0.5 version: link:../../packages/graphql-yoga/dist @@ -229,12 +229,9 @@ importers: examples/apollo-federation/gateway: dependencies: - '@apollo/gateway': - specifier: 2.4.7 - version: 2.4.7(graphql@16.6.0) - '@envelop/apollo-federation': - specifier: 4.0.3 - version: 4.0.3(@apollo/gateway@2.4.7)(@envelop/core@4.0.3)(graphql@16.6.0) + '@graphql-tools/federation': + specifier: 1.1.11 + version: 1.1.11(graphql@16.6.0) graphql: specifier: 16.6.0 version: 16.6.0 @@ -245,8 +242,8 @@ importers: examples/apollo-federation/service: dependencies: '@apollo/subgraph': - specifier: ^2.4.0 - version: 2.4.0(graphql@16.6.0) + specifier: ^2.5.5 + version: 2.5.5(graphql@16.6.0) graphql: specifier: 16.6.0 version: 16.6.0 @@ -896,8 +893,8 @@ importers: specifier: 6.0.3 version: 6.0.3(@envelop/core@4.0.3)(graphql@16.6.0) '@graphql-tools/utils': - specifier: 10.0.1 - version: 10.0.1(graphql@16.6.0) + specifier: 10.0.7 + version: 10.0.7(graphql@16.6.0) '@n1ru4l/graphql-live-query': specifier: 0.10.0 version: 0.10.0(graphql@16.6.0) @@ -1463,7 +1460,7 @@ importers: version: 1.0.0(@apollo/client@3.7.15)(graphql@16.6.0) '@graphql-tools/executor-http': specifier: ^1.0.0 - version: 1.0.0(@types/node@18.16.16)(graphql@16.6.0) + version: 1.0.0(graphql@16.6.0) graphql: specifier: ^15.2.0 || ^16.0.0 version: 16.6.0 @@ -1483,7 +1480,7 @@ importers: dependencies: '@graphql-tools/executor-http': specifier: ^1.0.0 - version: 1.0.0(@types/node@18.16.16)(graphql@16.6.0) + version: 1.0.0(graphql@16.6.0) '@graphql-tools/executor-urql-exchange': specifier: ^1.0.0 version: 1.0.0(@urql/core@4.0.10)(graphql@16.6.0)(wonka@6.3.2) @@ -1844,7 +1841,7 @@ importers: devDependencies: '@graphql-tools/executor-http': specifier: ^1.0.0 - version: 1.0.0(@types/node@18.16.16)(graphql@16.6.0) + version: 1.0.0(graphql@16.6.0) '@whatwg-node/fetch': specifier: ^0.9.7 version: 0.9.12 @@ -2495,7 +2492,6 @@ packages: ts-invariant: 0.10.3 tslib: 2.5.3 zen-observable-ts: 1.2.5 - dev: true /@apollo/composition@2.4.0(graphql@16.6.0): resolution: {integrity: sha512-sAVJwv1YJpqbZzS8E1IFItXsiJPag57g3hvwj8n/sn5LGgRRSS05WxhQl7U3NJEjwD0+4LpXqGrIvpCcRFLsvQ==} @@ -2508,39 +2504,30 @@ packages: graphql: 16.6.0 dev: false - /@apollo/composition@2.4.7(graphql@16.6.0): - resolution: {integrity: sha512-eXRTG6J5ywwXsWgP0Wgic4zeBXO8jBBvI0FM4t/gay4DI+1zEL5qmoF2HN/jFik0dnd/ud5kh4djvFLmWEwbeA==} - engines: {node: '>=14.15.0'} - peerDependencies: - graphql: ^16.5.0 - dependencies: - '@apollo/federation-internals': 2.4.7(graphql@16.6.0) - '@apollo/query-graphs': 2.4.7(graphql@16.6.0) - graphql: 16.6.0 - /@apollo/federation-internals@2.4.0(graphql@16.6.0): resolution: {integrity: sha512-ovfYwpq3s2LKNvLGg6bxcNlyrCllbF1JhNgQEOEOeAoy3TTmnYuxqd00H3bkT/5xpXvMpBc6+Di6qMkYcQM+Ww==} engines: {node: '>=14.15.0'} peerDependencies: graphql: ^16.5.0 dependencies: - '@types/uuid': 9.0.1 + '@types/uuid': 9.0.5 chalk: 4.1.2 graphql: 16.6.0 js-levenshtein: 1.1.6 uuid: 9.0.0 - /@apollo/federation-internals@2.4.7(graphql@16.6.0): - resolution: {integrity: sha512-a4iH+72yVd0zNGC5ZGEDfbqI81wktE7qAHjH4rQzJTqMQ74By3PoMD2DefOArcweonvd4b/h4oQJXGvLK2V4Ew==} + /@apollo/federation-internals@2.5.5(graphql@16.6.0): + resolution: {integrity: sha512-6Ywx10Jweuoq9p913HwtIUuJt+uI+hAw5g/Tv/yIA04FNwdPETkLe6Jbz7mnXdGV0b30YcPME2NnKnIu7s/5AA==} engines: {node: '>=14.15.0'} peerDependencies: graphql: ^16.5.0 dependencies: - '@types/uuid': 9.0.1 + '@types/uuid': 9.0.5 chalk: 4.1.2 graphql: 16.6.0 js-levenshtein: 1.1.6 uuid: 9.0.0 + dev: false /@apollo/gateway@2.4.0(graphql@16.6.0): resolution: {integrity: sha512-Jt1HiFwe94AfjVj1h53GRwz26Bfp6Y0+yyHQ6/CqEJxQWbAHvEiBFKpzwFQQF9O/OshZx8oedmuAXA6RSFRxSg==} @@ -2559,49 +2546,18 @@ packages: '@apollo/utils.keyvaluecache': 2.1.0 '@apollo/utils.logger': 2.0.0 '@josephg/resolvable': 1.0.1 - '@opentelemetry/api': 1.4.0 - '@types/node-fetch': 2.6.2 - async-retry: 1.3.3 - graphql: 16.6.0 - loglevel: 1.8.0 - make-fetch-happen: 11.0.3 - node-abort-controller: 3.0.1 - node-fetch: 2.6.9 - transitivePeerDependencies: - - bluebird - - encoding - - supports-color - dev: false - - /@apollo/gateway@2.4.7(graphql@16.6.0): - resolution: {integrity: sha512-ZcqSJEUxVJqqPKJ97q72Hyp0YEQfHW+oCRP9osF6XKkrGX1C7nxLm6EzO261+m1bUwkdtjk5CLfXxa9yxIDRdA==} - engines: {node: '>=14.15.0'} - peerDependencies: - graphql: ^16.5.0 - dependencies: - '@apollo/composition': 2.4.7(graphql@16.6.0) - '@apollo/federation-internals': 2.4.7(graphql@16.6.0) - '@apollo/query-planner': 2.4.7(graphql@16.6.0) - '@apollo/server-gateway-interface': 1.1.0(graphql@16.6.0) - '@apollo/usage-reporting-protobuf': 4.1.0 - '@apollo/utils.createhash': 2.0.0 - '@apollo/utils.fetcher': 2.0.0 - '@apollo/utils.isnodelike': 2.0.0 - '@apollo/utils.keyvaluecache': 2.1.0 - '@apollo/utils.logger': 2.0.0 - '@josephg/resolvable': 1.0.1 '@opentelemetry/api': 1.4.1 '@types/node-fetch': 2.6.2 async-retry: 1.3.3 graphql: 16.6.0 loglevel: 1.8.0 - make-fetch-happen: 11.0.3 + make-fetch-happen: 11.1.1 node-abort-controller: 3.1.1 - node-fetch: 2.6.11 + node-fetch: 2.6.12 transitivePeerDependencies: - - bluebird - encoding - supports-color + dev: false /@apollo/protobufjs@1.2.6: resolution: {integrity: sha512-Wqo1oSHNUj/jxmsVp4iR3I480p6qdqHikn38lKrFhfzcDJ7lwd7Ck7cHRl4JE81tWNArl77xhnG/OkZhxKBYOw==} @@ -2640,6 +2596,7 @@ packages: '@protobufjs/utf8': 1.1.0 '@types/long': 4.0.2 long: 4.0.0 + dev: false /@apollo/query-graphs@2.4.0(graphql@16.6.0): resolution: {integrity: sha512-xyixv288KQ1/qeRbGayNN+4kbv0oHCZV/iLTu1x/Vb5iZTD0LPlMar2rh7ffGLoCmLLAzP+65le0wRXU581hHQ==} @@ -2648,24 +2605,12 @@ packages: graphql: ^16.5.0 dependencies: '@apollo/federation-internals': 2.4.0(graphql@16.6.0) - deep-equal: 2.0.5 + deep-equal: 2.2.2 graphql: 16.6.0 - ts-graphviz: 1.5.5 + ts-graphviz: 1.8.1 uuid: 9.0.0 dev: false - /@apollo/query-graphs@2.4.7(graphql@16.6.0): - resolution: {integrity: sha512-LLoY0GgP3mcF+8zp3cf701ixHrsFh1WH1R8HPtO0NOgArmVMTl0bvsEHzFqUNdMd/PcU2b9SMcCmPwN7dKRs+A==} - engines: {node: '>=14.15.0'} - peerDependencies: - graphql: ^16.5.0 - dependencies: - '@apollo/federation-internals': 2.4.7(graphql@16.6.0) - deep-equal: 2.0.5 - graphql: 16.6.0 - ts-graphviz: 1.5.5 - uuid: 9.0.0 - /@apollo/query-planner@2.4.0(graphql@16.6.0): resolution: {integrity: sha512-sVBHJ5SW32w6YdeAJCcB23ct5sb/myhv7ebbr9tObmncBR/QOj0n45XyJGXPC3LP8J3h3ICVWehNXDFyV2wOHQ==} engines: {node: '>=14.15.0'} @@ -2676,25 +2621,11 @@ packages: '@apollo/query-graphs': 2.4.0(graphql@16.6.0) '@apollo/utils.keyvaluecache': 2.1.0 chalk: 4.1.2 - deep-equal: 2.0.5 + deep-equal: 2.2.2 graphql: 16.6.0 pretty-format: 29.5.0 dev: false - /@apollo/query-planner@2.4.7(graphql@16.6.0): - resolution: {integrity: sha512-0fTA1W5NKtfxLq5+GY9ORPSQB/MRH1xOt3SbSS8o9yhR9GKzzE3yYNc88HgYAe2lfdDOesCME2t1kKrE76uzdA==} - engines: {node: '>=14.15.0'} - peerDependencies: - graphql: ^16.5.0 - dependencies: - '@apollo/federation-internals': 2.4.7(graphql@16.6.0) - '@apollo/query-graphs': 2.4.7(graphql@16.6.0) - '@apollo/utils.keyvaluecache': 2.1.0 - chalk: 4.1.2 - deep-equal: 2.0.5 - graphql: 16.6.0 - pretty-format: 29.5.0 - /@apollo/server-gateway-interface@1.1.0(graphql@16.6.0): resolution: {integrity: sha512-0rhG++QtGfr4YhhIHgxZ9BdMFthaPY6LbhI9Au90osbfLMiZ7f8dmZsEX1mp7O1h8MJwCu6Dp0I/KcGbSvfUGA==} peerDependencies: @@ -2705,6 +2636,7 @@ packages: '@apollo/utils.keyvaluecache': 2.1.0 '@apollo/utils.logger': 2.0.0 graphql: 16.6.0 + dev: false /@apollo/server@4.7.1(graphql@16.6.0): resolution: {integrity: sha512-rFxd8jsMlqEYzmhuxATaDAPoRH905R56FKP4TnZWaiDYJtjhHe3hxZOWl24V7s0dB52DIp6S/x+zjQX8fwD37w==} @@ -2756,10 +2688,22 @@ packages: '@apollo/federation-internals': 2.4.0(graphql@16.6.0) graphql: 16.6.0 + /@apollo/subgraph@2.5.5(graphql@16.6.0): + resolution: {integrity: sha512-r1r0qMzR6gHK6EoKFpIwcSNID+A78zbqLmCynMV+GYnWt3BvyydtPaw4DgQFo+oMSnEBvk4nI7P3v+xZg4FdSQ==} + engines: {node: '>=14.15.0'} + peerDependencies: + graphql: ^16.5.0 + dependencies: + '@apollo/cache-control-types': 1.0.2(graphql@16.6.0) + '@apollo/federation-internals': 2.5.5(graphql@16.6.0) + graphql: 16.6.0 + dev: false + /@apollo/usage-reporting-protobuf@4.1.0: resolution: {integrity: sha512-hXouMuw5pQVkzi8dgMybmr6Y11+eRmMQVoB5TF0HyTwAg9SOq/v3OCuiYqcVUKdBcskU9Msp+XvjAk0GKpWCwQ==} dependencies: '@apollo/protobufjs': 1.2.7 + dev: false /@apollo/utils.createhash@2.0.0: resolution: {integrity: sha512-9GhGGD3J0HJF/VC+odwYpKi3Cg1NWrsO8GQvyGwDS5v/78I3154Hn8s4tpW+nqoaQ/lAvxdQQr3HM1b5HLM6Ww==} @@ -2767,6 +2711,7 @@ packages: dependencies: '@apollo/utils.isnodelike': 2.0.0 sha.js: 2.4.11 + dev: false /@apollo/utils.dropunuseddefinitions@2.0.0(graphql@16.6.0): resolution: {integrity: sha512-BoPW+Z3kA8kLh0FCWyzOt+R77W5mVZWer5s6UyvVwZ/qROGiEgcHXFcI5TMMndpXoDo0xBSvQV0lIKYHbJQ7+g==} @@ -2781,16 +2726,18 @@ packages: /@apollo/utils.fetcher@2.0.0: resolution: {integrity: sha512-RC0twEwwBKbhk/y4B2X4YEciRG1xoKMgiPy5xQqNMd3pG78sR+ybctG/m7c/8+NaaQOS22UPUCBd6yS6WihBIg==} engines: {node: '>=14'} + dev: false /@apollo/utils.isnodelike@2.0.0: resolution: {integrity: sha512-77CiAM2qDXn0haQYrgX0UgrboQykb+bOHaz5p3KKItMwUZ/EFphzuB2vqHvubneIc9dxJcTx2L7MFDswRw/JAQ==} engines: {node: '>=14'} + dev: false - /@apollo/utils.keyvaluecache@1.0.1: - resolution: {integrity: sha512-nLgYLomqjVimEzQ4cdvVQkcryi970NDvcRVPfd0OPeXhBfda38WjBq+WhQFk+czSHrmrSp34YHBxpat0EtiowA==} + /@apollo/utils.keyvaluecache@1.0.2: + resolution: {integrity: sha512-p7PVdLPMnPzmXSQVEsy27cYEjVON+SH/Wb7COyW3rQN8+wJgT1nv9jZouYtztWW8ZgTkii5T6tC9qfoDREd4mg==} dependencies: '@apollo/utils.logger': 1.0.1 - lru-cache: 7.18.3 + lru-cache: 7.13.1 dev: false /@apollo/utils.keyvaluecache@2.1.0: @@ -2799,6 +2746,7 @@ packages: dependencies: '@apollo/utils.logger': 2.0.0 lru-cache: 7.18.3 + dev: false /@apollo/utils.logger@1.0.1: resolution: {integrity: sha512-XdlzoY7fYNK4OIcvMD2G94RoFZbzTQaNP0jozmqqMudmaGo2I/2Jx71xlDJ801mWA/mbYRihyaw6KJii7k5RVA==} @@ -2807,6 +2755,7 @@ packages: /@apollo/utils.logger@2.0.0: resolution: {integrity: sha512-o8qYwgV2sYg+PcGKIfwAZaZsQOTEfV8q3mH7Pw8GB/I/Uh2L9iaHdpiKuR++j7oe1K87lFm0z/JAezMOR9CGhg==} engines: {node: '>=14'} + dev: false /@apollo/utils.printwithreducedwhitespace@2.0.0(graphql@16.6.0): resolution: {integrity: sha512-S+wyxFyuO0LJ8v+mg8c7rRwyKZ+9xlO5wXD/UgaysH3rcCe9NBHRWx/9cmdZ9nTqgKC5X01uHZ6Gsi6pOrUGgw==} @@ -6505,25 +6454,7 @@ packages: '@apollo/gateway': 2.4.0(graphql@16.6.0) '@envelop/core': 4.0.0 apollo-server-caching: 3.3.0 - apollo-server-types: 3.6.3(graphql@16.6.0) - graphql: 16.6.0 - tslib: 2.5.2 - transitivePeerDependencies: - - encoding - dev: false - - /@envelop/apollo-federation@4.0.3(@apollo/gateway@2.4.7)(@envelop/core@4.0.3)(graphql@16.6.0): - resolution: {integrity: sha512-BvNUkDRfI36RQdZiFbKw0d26044Xzd7bqVucO8xmSCGoFIr2Og/hOK4+qTydD0xLhBsrSpYY8Tj6xKz8Gyv9gw==} - engines: {node: '>=16.0.0'} - peerDependencies: - '@apollo/gateway': ^0.54.0 - '@envelop/core': ^4.0.3 - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 - dependencies: - '@apollo/gateway': 2.4.7(graphql@16.6.0) - '@envelop/core': 4.0.3 - apollo-server-caching: 3.3.0 - apollo-server-types: 3.6.3(graphql@16.6.0) + apollo-server-types: 3.8.0(graphql@16.6.0) graphql: 16.6.0 tslib: 2.6.2 transitivePeerDependencies: @@ -6565,7 +6496,7 @@ packages: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: '@envelop/core': 4.0.3 - '@graphql-tools/utils': 10.0.1(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) graphql: 16.6.0 tslib: 2.6.2 dev: false @@ -6579,7 +6510,7 @@ packages: dependencies: '@envelop/core': 4.0.3 '@envelop/extended-validation': 3.0.3(@envelop/core@4.0.3)(graphql@16.6.0) - '@graphql-tools/utils': 10.0.6(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) graphql: 16.6.0 tslib: 2.6.2 dev: false @@ -6634,7 +6565,7 @@ packages: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: '@envelop/core': 4.0.0 - '@graphql-tools/utils': 10.0.1(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) '@n1ru4l/graphql-live-query': 0.10.0(graphql@16.6.0) '@n1ru4l/graphql-live-query-patch': 0.7.0(graphql@16.6.0) '@n1ru4l/in-memory-live-query-store': 0.10.0(graphql@16.6.0) @@ -6650,7 +6581,7 @@ packages: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: '@envelop/core': 4.0.3 - '@graphql-tools/utils': 10.0.1(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) '@n1ru4l/graphql-live-query': 0.10.0(graphql@16.6.0) '@n1ru4l/graphql-live-query-patch': 0.7.0(graphql@16.6.0) '@n1ru4l/in-memory-live-query-store': 0.10.0(graphql@16.6.0) @@ -6703,7 +6634,7 @@ packages: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: '@envelop/core': 4.0.3 - '@graphql-tools/utils': 10.0.6(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) '@whatwg-node/fetch': 0.9.12 fast-json-stable-stringify: 2.1.0 graphql: 16.6.0 @@ -7685,7 +7616,7 @@ packages: '@graphql-tools/load': 8.0.0(graphql@16.6.0) '@graphql-tools/prisma-loader': 8.0.0(@types/node@18.16.16)(graphql@16.6.0) '@graphql-tools/url-loader': 8.0.0(@types/node@18.16.16)(graphql@16.6.0) - '@graphql-tools/utils': 10.0.1(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) '@whatwg-node/fetch': 0.8.8 chalk: 4.1.2 cosmiconfig: 8.1.3 @@ -7724,7 +7655,7 @@ packages: dependencies: '@graphql-codegen/plugin-helpers': 5.0.1(graphql@16.6.0) '@graphql-tools/schema': 10.0.0(graphql@16.6.0) - '@graphql-tools/utils': 10.0.1(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) graphql: 16.6.0 tslib: 2.5.3 dev: true @@ -7734,7 +7665,7 @@ packages: peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-tools/utils': 10.0.1(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) change-case-all: 1.0.15 common-tags: 1.8.2 graphql: 16.6.0 @@ -7748,7 +7679,7 @@ packages: peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-tools/utils': 10.0.1(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) change-case-all: 1.0.15 common-tags: 1.8.2 graphql: 16.6.0 @@ -7763,7 +7694,7 @@ packages: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: '@graphql-codegen/plugin-helpers': 5.0.0(graphql@16.6.0) - '@graphql-tools/utils': 10.0.1(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) graphql: 16.6.0 tslib: 2.5.3 dev: true @@ -7776,7 +7707,7 @@ packages: '@graphql-codegen/plugin-helpers': 5.0.0(graphql@16.6.0) '@graphql-codegen/typescript': 4.0.1(graphql@16.6.0) '@graphql-codegen/visitor-plugin-common': 4.0.1(graphql@16.6.0) - '@graphql-tools/utils': 10.0.1(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) auto-bind: 4.0.0 graphql: 16.6.0 tslib: 2.5.3 @@ -7809,7 +7740,7 @@ packages: '@graphql-codegen/plugin-helpers': 5.0.0(graphql@16.6.0) '@graphql-tools/optimize': 2.0.0(graphql@16.6.0) '@graphql-tools/relay-operation-optimizer': 7.0.0(graphql@16.6.0) - '@graphql-tools/utils': 10.0.1(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) auto-bind: 4.0.0 change-case-all: 1.0.15 dependency-graph: 0.11.0 @@ -7829,7 +7760,7 @@ packages: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@ardatan/sync-fetch': 0.0.1 - '@graphql-tools/utils': 10.0.1(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) '@whatwg-node/fetch': 0.9.12 graphql: 16.6.0 tslib: 2.6.2 @@ -7837,6 +7768,19 @@ packages: - encoding dev: true + /@graphql-tools/batch-delegate@9.0.0(graphql@16.6.0): + resolution: {integrity: sha512-23NmxcHQeKcfhMQyrRPTZfW4/+bSpAyR/qAhRjx+/hikDIa1Uv2XVgV9jIitSgM0OEk/KGPB4VQv+LCOWvAYiw==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + dependencies: + '@graphql-tools/delegate': 10.0.3(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) + dataloader: 2.2.2 + graphql: 16.6.0 + tslib: 2.6.2 + value-or-promise: 1.0.12 + /@graphql-tools/batch-execute@8.5.19(graphql@16.6.0): resolution: {integrity: sha512-eqofTMYPygg9wVPdA+p8lk4NBpaPTcDut6SlnDk9IiYdY23Yfo6pY7mzZ3b27GugI7HDtB2OZUxzZJSGsk6Qew==} peerDependencies: @@ -7849,13 +7793,13 @@ packages: value-or-promise: 1.0.12 dev: false - /@graphql-tools/batch-execute@9.0.0(graphql@16.6.0): - resolution: {integrity: sha512-lT9/1XmPSYzBcEybXPLsuA6C5E0t8438PVUELABcqdvwHgZ3VOOx29MLBEqhr2oewOlDChH6PXNkfxoOoAuzRg==} + /@graphql-tools/batch-execute@9.0.2(graphql@16.6.0): + resolution: {integrity: sha512-Y2uwdZI6ZnatopD/SYfZ1eGuQFI7OU2KGZ2/B/7G9ISmgMl5K+ZZWz/PfIEXeiHirIDhyk54s4uka5rj2xwKqQ==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 10.0.1(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) dataloader: 2.2.2 graphql: 16.6.0 tslib: 2.6.2 @@ -7868,7 +7812,7 @@ packages: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@graphql-tools/graphql-tag-pluck': 8.0.0(@babel/core@7.22.1)(graphql@16.6.0) - '@graphql-tools/utils': 10.0.1(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) globby: 11.1.0 graphql: 16.6.0 tslib: 2.6.2 @@ -7884,15 +7828,29 @@ packages: peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/batch-execute': 9.0.0(graphql@16.6.0) + '@graphql-tools/batch-execute': 9.0.2(graphql@16.6.0) '@graphql-tools/executor': 1.1.0(graphql@16.6.0) '@graphql-tools/schema': 10.0.0(graphql@16.6.0) - '@graphql-tools/utils': 10.0.1(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) dataloader: 2.2.2 graphql: 16.6.0 tslib: 2.6.2 value-or-promise: 1.0.12 + /@graphql-tools/delegate@10.0.3(graphql@16.6.0): + resolution: {integrity: sha512-Jor9oazZ07zuWkykD3OOhT/2XD74Zm6Ar0ENZMk75MDD51wB2UWUIMljtHxbJhV5A6UBC2v8x6iY0xdCGiIlyw==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + dependencies: + '@graphql-tools/batch-execute': 9.0.2(graphql@16.6.0) + '@graphql-tools/executor': 1.1.0(graphql@16.6.0) + '@graphql-tools/schema': 10.0.0(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) + dataloader: 2.2.2 + graphql: 16.6.0 + tslib: 2.6.2 + /@graphql-tools/delegate@9.0.28(graphql@16.6.0): resolution: {integrity: sha512-8j23JCs2mgXqnp+5K0v4J3QBQU/5sXd9miaLvMfRf/6963DznOXTECyS9Gcvj1VEeR5CXIw6+aX/BvRDKDdN1g==} peerDependencies: @@ -7916,7 +7874,7 @@ packages: graphql: ^15.2.0 || ^16.0.0 dependencies: '@apollo/client': 3.7.15(graphql@16.6.0) - '@graphql-tools/utils': 10.0.1(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) graphql: 16.6.0 tslib: 2.5.3 dev: false @@ -7927,7 +7885,7 @@ packages: peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 10.0.1(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) '@repeaterjs/repeater': 3.0.4 '@types/ws': 8.5.4 graphql: 16.6.0 @@ -7939,13 +7897,13 @@ packages: - bufferutil - utf-8-validate - /@graphql-tools/executor-http@1.0.0(@types/node@18.16.16)(graphql@16.6.0): + /@graphql-tools/executor-http@1.0.0(graphql@16.6.0): resolution: {integrity: sha512-7R9IWRN1Iszyayd4qgguITLLTmRUZ3wSS5umK0xwShB8mFQ5cSsVx6rewPhGIwGEenN6e9ahwcGX9ytuLlw55g==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 10.0.1(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) '@repeaterjs/repeater': 3.0.4 '@whatwg-node/fetch': 0.9.12 dset: 3.1.2 @@ -7957,13 +7915,30 @@ packages: transitivePeerDependencies: - '@types/node' + /@graphql-tools/executor-http@1.0.2(@types/node@18.16.16)(graphql@16.6.0): + resolution: {integrity: sha512-JKTB4E3kdQM2/1NEcyrVPyQ8057ZVthCV5dFJiKktqY9IdmF00M8gupFcW3jlbM/Udn78ickeUBsUzA3EouqpA==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + dependencies: + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) + '@repeaterjs/repeater': 3.0.4 + '@whatwg-node/fetch': 0.9.12 + extract-files: 11.0.0 + graphql: 16.6.0 + meros: 1.2.1(@types/node@18.16.16) + tslib: 2.6.2 + value-or-promise: 1.0.12 + transitivePeerDependencies: + - '@types/node' + /@graphql-tools/executor-legacy-ws@1.0.0(graphql@16.6.0): resolution: {integrity: sha512-8c0wlhYz7G6imuWqHqjpveflN8IVL3gXIxel5lzpAvPvxsSXpiNig3jADkIBB+eaxzR9R1lbwxqonxPUGI4CdQ==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 10.0.1(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) '@types/ws': 8.5.4 graphql: 16.6.0 isomorphic-ws: 5.0.0(ws@8.13.0) @@ -7981,7 +7956,7 @@ packages: graphql: ^15.2.0 || ^16.0.0 wonka: ^6.0.0 dependencies: - '@graphql-tools/utils': 10.0.1(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) '@urql/core': 4.0.10(graphql@16.6.0) graphql: 16.6.0 tslib: 2.5.3 @@ -8007,13 +7982,38 @@ packages: peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 10.0.1(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) '@graphql-typed-document-node/core': 3.2.0(graphql@16.6.0) '@repeaterjs/repeater': 3.0.4 graphql: 16.6.0 tslib: 2.5.3 value-or-promise: 1.0.12 + /@graphql-tools/federation@1.1.11(graphql@16.6.0): + resolution: {integrity: sha512-mCdG9mR6aG2rCCcypA56AFxDeukX0rxcBydhmKMYvcBBxDOpLb858ygXERw4+b3u+FlbtqYPKBUayg/c0zb4vw==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + dependencies: + '@graphql-tools/delegate': 10.0.3(graphql@16.6.0) + '@graphql-tools/executor-http': 1.0.2(@types/node@18.16.16)(graphql@16.6.0) + '@graphql-tools/merge': 9.0.0(graphql@16.6.0) + '@graphql-tools/schema': 10.0.0(graphql@16.6.0) + '@graphql-tools/stitch': 9.0.3(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) + '@graphql-tools/wrap': 10.0.0(graphql@16.6.0) + graphql: 16.6.0 + tslib: 2.6.2 + value-or-promise: 1.0.12 + optionalDependencies: + '@apollo/client': 3.8.2(graphql@16.6.0) + transitivePeerDependencies: + - '@types/node' + - graphql-ws + - react + - react-dom + - subscriptions-transport-ws + /@graphql-tools/git-loader@8.0.0(@babel/core@7.22.1)(graphql@16.6.0): resolution: {integrity: sha512-0QAzWywOdWC4vozYFi4OuAxv1QvHo6PwLY+D8DCQn+knxWZAsJe86SESxBkQ5R03yHFWPaiBVWKDB+lxxgC7Uw==} engines: {node: '>=16.0.0'} @@ -8021,7 +8021,7 @@ packages: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@graphql-tools/graphql-tag-pluck': 8.0.0(@babel/core@7.22.1)(graphql@16.6.0) - '@graphql-tools/utils': 10.0.1(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) graphql: 16.6.0 is-glob: 4.0.3 micromatch: 4.0.5 @@ -8039,9 +8039,9 @@ packages: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@ardatan/sync-fetch': 0.0.1 - '@graphql-tools/executor-http': 1.0.0(@types/node@18.16.16)(graphql@16.6.0) + '@graphql-tools/executor-http': 1.0.2(@types/node@18.16.16)(graphql@16.6.0) '@graphql-tools/graphql-tag-pluck': 8.0.0(@babel/core@7.22.1)(graphql@16.6.0) - '@graphql-tools/utils': 10.0.1(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) '@whatwg-node/fetch': 0.9.12 graphql: 16.6.0 tslib: 2.6.2 @@ -8060,7 +8060,7 @@ packages: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@graphql-tools/import': 7.0.0(graphql@16.6.0) - '@graphql-tools/utils': 10.0.1(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) globby: 11.1.0 graphql: 16.6.0 tslib: 2.6.2 @@ -8077,7 +8077,7 @@ packages: '@babel/plugin-syntax-import-assertions': 7.20.0(@babel/core@7.22.1) '@babel/traverse': 7.22.5 '@babel/types': 7.22.15 - '@graphql-tools/utils': 10.0.1(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) graphql: 16.6.0 tslib: 2.6.2 transitivePeerDependencies: @@ -8091,7 +8091,7 @@ packages: peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 10.0.1(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) graphql: 16.6.0 resolve-from: 5.0.0 tslib: 2.6.2 @@ -8103,7 +8103,7 @@ packages: peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 10.0.1(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) globby: 11.1.0 graphql: 16.6.0 tslib: 2.6.2 @@ -8129,7 +8129,7 @@ packages: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@graphql-tools/schema': 10.0.0(graphql@16.6.0) - '@graphql-tools/utils': 10.0.1(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) graphql: 16.6.0 p-limit: 3.1.0 tslib: 2.6.2 @@ -8161,7 +8161,7 @@ packages: peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 10.0.1(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) graphql: 16.6.0 tslib: 2.6.2 @@ -8182,7 +8182,7 @@ packages: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@graphql-tools/url-loader': 8.0.0(@types/node@18.16.16)(graphql@16.6.0) - '@graphql-tools/utils': 10.0.1(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) '@types/js-yaml': 4.0.5 '@types/json-stable-stringify': 1.0.34 '@whatwg-node/fetch': 0.9.12 @@ -8215,7 +8215,7 @@ packages: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@ardatan/relay-compiler': 12.0.0(graphql@16.6.0) - '@graphql-tools/utils': 10.0.1(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) graphql: 16.6.0 tslib: 2.6.2 transitivePeerDependencies: @@ -8230,7 +8230,7 @@ packages: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@graphql-tools/merge': 9.0.0(graphql@16.6.0) - '@graphql-tools/utils': 10.0.0(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) graphql: 16.6.0 tslib: 2.5.3 value-or-promise: 1.0.12 @@ -8259,6 +8259,23 @@ packages: value-or-promise: 1.0.12 dev: false + /@graphql-tools/stitch@9.0.3(graphql@16.6.0): + resolution: {integrity: sha512-G03XahiHDu1pnaS8z2GNfsV/5BribMEUATT5dCHBAqj13Te5y1amZNQePrmw8DLtbf5qDbU6CO7kGHPxv0XO9A==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + dependencies: + '@graphql-tools/batch-delegate': 9.0.0(graphql@16.6.0) + '@graphql-tools/delegate': 10.0.3(graphql@16.6.0) + '@graphql-tools/executor': 1.1.0(graphql@16.6.0) + '@graphql-tools/merge': 9.0.0(graphql@16.6.0) + '@graphql-tools/schema': 10.0.0(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) + '@graphql-tools/wrap': 10.0.0(graphql@16.6.0) + graphql: 16.6.0 + tslib: 2.6.2 + value-or-promise: 1.0.12 + /@graphql-tools/url-loader@8.0.0(@types/node@18.16.16)(graphql@16.6.0): resolution: {integrity: sha512-rPc9oDzMnycvz+X+wrN3PLrhMBQkG4+sd8EzaFN6dypcssiefgWKToXtRKI8HHK68n2xEq1PyrOpkjHFJB+GwA==} engines: {node: '>=16.0.0'} @@ -8268,9 +8285,9 @@ packages: '@ardatan/sync-fetch': 0.0.1 '@graphql-tools/delegate': 10.0.0(graphql@16.6.0) '@graphql-tools/executor-graphql-ws': 1.0.0(graphql@16.6.0) - '@graphql-tools/executor-http': 1.0.0(@types/node@18.16.16)(graphql@16.6.0) + '@graphql-tools/executor-http': 1.0.2(@types/node@18.16.16)(graphql@16.6.0) '@graphql-tools/executor-legacy-ws': 1.0.0(graphql@16.6.0) - '@graphql-tools/utils': 10.0.1(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) '@graphql-tools/wrap': 10.0.0(graphql@16.6.0) '@types/ws': 8.5.4 '@whatwg-node/fetch': 0.9.12 @@ -8294,6 +8311,7 @@ packages: '@graphql-typed-document-node/core': 3.2.0(graphql@16.6.0) graphql: 16.6.0 tslib: 2.6.2 + dev: false /@graphql-tools/utils@10.0.1(graphql@16.6.0): resolution: {integrity: sha512-i1FozbDGHgdsFA47V/JvQZ0FE8NAy0Eiz7HGCJO2MkNdZAKNnwei66gOq0JWYVFztwpwbVQ09GkKhq7Kjcq5Cw==} @@ -8304,9 +8322,10 @@ packages: '@graphql-typed-document-node/core': 3.2.0(graphql@16.6.0) graphql: 16.6.0 tslib: 2.6.2 + dev: true - /@graphql-tools/utils@10.0.6(graphql@16.6.0): - resolution: {integrity: sha512-hZMjl/BbX10iagovakgf3IiqArx8TPsotq5pwBld37uIX1JiZoSbgbCIFol7u55bh32o6cfDEiiJgfAD5fbeyQ==} + /@graphql-tools/utils@10.0.7(graphql@16.6.0): + resolution: {integrity: sha512-KOdeMj6Hd/MENDaqPbws3YJl3wVy0DeYnL7PyUms5Skyf7uzI9INynDwPMhLXfSb0/ph6BXTwMd5zBtWbF8tBQ==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 @@ -8315,7 +8334,6 @@ packages: dset: 3.1.2 graphql: 16.6.0 tslib: 2.6.2 - dev: false /@graphql-tools/utils@8.13.1(graphql@16.6.0): resolution: {integrity: sha512-qIh9yYpdUFmctVqovwMdheVNJqFh+DQNWIhX87FJStfXYnmweBUDATok9fWPleKeFwxnW8IapKmY8m8toJEkAw==} @@ -8341,9 +8359,9 @@ packages: peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/delegate': 10.0.0(graphql@16.6.0) + '@graphql-tools/delegate': 10.0.3(graphql@16.6.0) '@graphql-tools/schema': 10.0.0(graphql@16.6.0) - '@graphql-tools/utils': 10.0.1(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) graphql: 16.6.0 tslib: 2.6.2 value-or-promise: 1.0.12 @@ -8731,7 +8749,6 @@ packages: strip-ansi-cjs: /strip-ansi@6.0.1 wrap-ansi: 8.1.0 wrap-ansi-cjs: /wrap-ansi@7.0.0 - dev: true /@istanbuljs/load-nyc-config@1.1.0: resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} @@ -8807,7 +8824,7 @@ packages: jest-validate: 29.4.2 jest-watcher: 29.4.2 micromatch: 4.0.5 - pretty-format: 29.4.2 + pretty-format: 29.5.0 slash: 3.0.0 strip-ansi: 6.0.1 transitivePeerDependencies: @@ -9107,13 +9124,6 @@ packages: - supports-color dev: true - /@jest/schemas@29.4.2: - resolution: {integrity: sha512-ZrGzGfh31NtdVH8tn0mgJw4khQuNHiKqdzJAFbCaERbyCP9tHlxWuL/mnMu8P7e/+k4puWjI1NOzi/sFsjce/g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@sinclair/typebox': 0.25.21 - dev: true - /@jest/schemas@29.4.3: resolution: {integrity: sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -9262,7 +9272,7 @@ packages: resolution: {integrity: sha512-mfgpQz4Z2xGo37m6KD8xEpKelaVzvYVRijmLPePn9pxgaPEtX+SqIyPNzzoeCPXKYbB4L/wYSgXDL8o3Gop78Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/schemas': 29.4.2 + '@jest/schemas': 29.4.3 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 '@types/node': 18.16.16 @@ -9274,7 +9284,7 @@ packages: resolution: {integrity: sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/schemas': 29.4.2 + '@jest/schemas': 29.4.3 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 '@types/node': 18.16.16 @@ -9308,6 +9318,7 @@ packages: /@josephg/resolvable@1.0.1: resolution: {integrity: sha512-CtzORUwWTTOTqfVtHaKRJ0I1kNQd1bpn3sUh8I3nJDVY+5/M/Oe1DnEWzPQvqq/xPIIkzzzIP7mfCoAjFRvDhg==} + dev: false /@jridgewell/gen-mapping@0.1.1: resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} @@ -11174,6 +11185,7 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: semver: 7.5.4 + dev: false /@npmcli/map-workspaces@3.0.4: resolution: {integrity: sha512-Z0TbvXkRbacjFFLpVpV0e2mheCh+WzQpcqL+4xp49uNJOxOnIAPZyXtUxZ5Qn3QBTGKA11Exjd9a5411rBrhDg==} @@ -11351,11 +11363,6 @@ packages: '@opentelemetry/api': 1.4.1 dev: false - /@opentelemetry/api@1.4.0: - resolution: {integrity: sha512-IgMK9i3sFGNUqPMbjABm0G26g0QCKCUBfglhQ7rQq6WcxbKfEHRcmwsoER4hZcuYqJgkYn2OeuoJIv7Jsftp7g==} - engines: {node: '>=8.0.0'} - dev: false - /@opentelemetry/api@1.4.1: resolution: {integrity: sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA==} engines: {node: '>=8.0.0'} @@ -11911,7 +11918,6 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} requiresBuild: true - dev: true optional: true /@pkgr/utils@2.3.1: @@ -12803,10 +12809,6 @@ packages: - zenObservable dev: true - /@sinclair/typebox@0.25.21: - resolution: {integrity: sha512-gFukHN4t8K4+wVC+ECqeqwzBDeFeTzBXroBTqE6vcWrQGbEUpHO7LYdG0f4xnvYq4VOEwITSlHlp0JBAIFMS/g==} - dev: true - /@sinclair/typebox@0.25.24: resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==} @@ -13161,6 +13163,17 @@ packages: - typescript dev: true + /@theguild/federation-composition@0.1.3(graphql@16.6.0): + resolution: {integrity: sha512-H3mtVhpI0CeX1Yyv2HfUM7qc3bxCS8oPxPzJXaDckt4nWUecKIZXCI5FaiUV3feu2UN4j6iMVCQOWPok8jwX7Q==} + engines: {node: '>=18'} + peerDependencies: + graphql: ^16.0.0 + dependencies: + constant-case: 3.0.4 + graphql: 16.6.0 + json5: 2.2.3 + dev: true + /@theguild/prettier-config@2.0.1(prettier@3.0.0): resolution: {integrity: sha512-I2rwFhQv8/nuepfbPwpja5Ia+ONs6DIvV3W6DLzO4609sDiOG4FUaNBiryo7mYbWKN8XBLUNLwOUT2GaOBC2Iw==} peerDependencies: @@ -13664,6 +13677,7 @@ packages: dependencies: '@types/node': 18.16.16 form-data: 3.0.1 + dev: false /@types/node@10.17.60: resolution: {integrity: sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==} @@ -13797,8 +13811,8 @@ packages: /@types/unist@3.0.0: resolution: {integrity: sha512-MFETx3tbTjE7Uk6vvnWINA/1iJ7LuMdO4fcq8UfF0pRbj01aGLduVvQcRyswuACJdpnHgg8E3rQLhaRdNEJS0w==} - /@types/uuid@9.0.1: - resolution: {integrity: sha512-rFT3ak0/2trgvp4yYZo5iKFEPsET7vKydKF+VRCxlQ9bpheehyAJH89dAkaLEq/j/RZXJIqcgsmPJKUP1Z28HA==} + /@types/uuid@9.0.5: + resolution: {integrity: sha512-xfHdwa1FMJ082prjSJpoEI57GZITiQz10r3vEJCHa2khEFQjKy91aWKz6+zybzssCvXUwE1LQWgWVwZ4nYUvHQ==} /@types/validator@13.7.14: resolution: {integrity: sha512-J6OAed6rhN6zyqL9Of6ZMamhlsOEU/poBVvbHr/dKOYKTeuYYMlDkMv+b6UUV0o2i0tw73cgyv/97WTWaUl0/g==} @@ -14664,7 +14678,6 @@ packages: engines: {node: '>=8'} dependencies: tslib: 2.6.2 - dev: true /@wry/trie@0.3.2: resolution: {integrity: sha512-yRTyhWSls2OY/pYLfwff867r8ekooZ4UI+/gxot5Wj8EFwSf2rG+n+Mo/6LoLQm1TKA4GRj2+LCpbfS937dClQ==} @@ -15066,7 +15079,6 @@ packages: /ansi-regex@6.0.1: resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} engines: {node: '>=12'} - dev: true /ansi-sequence-parser@1.1.0: resolution: {integrity: sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ==} @@ -15096,7 +15108,6 @@ packages: /ansi-styles@6.2.1: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} - dev: true /ansi-to-html@0.7.2: resolution: {integrity: sha512-v6MqmEpNlxF+POuyhKkidusCHWWkaLcGRURzivcU3I9tv7k4JVhFcnukrM5Rlk2rUywdZuzYAZ+kbZqWCnfN3g==} @@ -15151,6 +15162,13 @@ packages: '@apollo/protobufjs': 1.2.6 dev: false + /apollo-reporting-protobuf@3.4.0: + resolution: {integrity: sha512-h0u3EbC/9RpihWOmcSsvTW2O6RXVaD/mPEjfrPkxRPTEPWqncsgOoRJw+wih4OqfH3PvTJvoEIf4LwKrUaqWog==} + deprecated: The `apollo-reporting-protobuf` package is part of Apollo Server v2 and v3, which are now deprecated (end-of-life October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/usage-reporting-protobuf` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details. + dependencies: + '@apollo/protobufjs': 1.2.6 + dev: false + /apollo-server-caching@3.3.0: resolution: {integrity: sha512-Wgcb0ArjZ5DjQ7ID+tvxUcZ7Yxdbk5l1MxZL8D8gkyjooOkhPNzjRVQ7ubPoXqO54PrOMOTm1ejVhsF+AfIirQ==} engines: {node: '>=12.0'} @@ -15169,16 +15187,16 @@ packages: - encoding dev: false - /apollo-server-types@3.6.3(graphql@16.6.0): - resolution: {integrity: sha512-+7caNTLdevpWI2dGKSa7CWdyudO3NBuJ3HzcrYxjBei6Bth9YdRUNzPSFmBjlm2baHF0GsrMwLpjO+HStJzm3A==} + /apollo-server-types@3.8.0(graphql@16.6.0): + resolution: {integrity: sha512-ZI/8rTE4ww8BHktsVpb91Sdq7Cb71rdSkXELSwdSR0eXu600/sY+1UXhTWdiJvk+Eq5ljqoHLwLbY2+Clq2b9A==} engines: {node: '>=12.0'} deprecated: The `apollo-server-types` package is part of Apollo Server v2 and v3, which are now deprecated (end-of-life October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/server` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details. peerDependencies: graphql: ^15.3.0 || ^16.0.0 dependencies: - '@apollo/utils.keyvaluecache': 1.0.1 + '@apollo/utils.keyvaluecache': 1.0.2 '@apollo/utils.logger': 1.0.1 - apollo-reporting-protobuf: 3.3.3 + apollo-reporting-protobuf: 3.4.0 apollo-server-env: 4.2.1 graphql: 16.6.0 transitivePeerDependencies: @@ -15285,6 +15303,13 @@ packages: resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==} engines: {node: '>=0.10.0'} + /array-buffer-byte-length@1.0.0: + resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + dependencies: + call-bind: 1.0.2 + is-array-buffer: 3.0.2 + dev: false + /array-differ@3.0.0: resolution: {integrity: sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==} engines: {node: '>=8'} @@ -15302,9 +15327,9 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.4 + define-properties: 1.2.1 es-abstract: 1.20.4 - get-intrinsic: 1.1.3 + get-intrinsic: 1.2.1 is-string: 1.0.7 /array-timsort@1.0.3: @@ -15324,7 +15349,7 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.4 + define-properties: 1.2.1 es-abstract: 1.20.4 es-shim-unscopables: 1.0.0 @@ -15333,7 +15358,7 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.4 + define-properties: 1.2.1 es-abstract: 1.20.4 es-shim-unscopables: 1.0.0 @@ -15342,7 +15367,7 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.4 + define-properties: 1.2.1 es-abstract: 1.20.4 es-array-method-boxes-properly: 1.0.0 is-string: 1.0.7 @@ -15352,10 +15377,10 @@ packages: resolution: {integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==} dependencies: call-bind: 1.0.2 - define-properties: 1.1.4 + define-properties: 1.2.1 es-abstract: 1.20.4 es-shim-unscopables: 1.0.0 - get-intrinsic: 1.1.3 + get-intrinsic: 1.2.1 /arrify@1.0.1: resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} @@ -16413,25 +16438,23 @@ packages: dev: true optional: true - /cacache@17.0.4: - resolution: {integrity: sha512-Z/nL3gU+zTUjz5pCA5vVjYM8pmaw2kxM7JEiE0fv3w77Wj+sFbi70CrBruUWH0uNcEdvLDixFpgA2JM4F4DBjA==} + /cacache@17.1.4: + resolution: {integrity: sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: '@npmcli/fs': 3.1.0 - fs-minipass: 3.0.1 - glob: 8.1.0 + fs-minipass: 3.0.3 + glob: 10.3.3 lru-cache: 7.18.3 - minipass: 4.2.5 + minipass: 7.0.4 minipass-collect: 1.0.2 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 p-map: 4.0.0 - promise-inflight: 1.0.1(bluebird@3.7.2) - ssri: 10.0.1 + ssri: 10.0.5 tar: 6.1.11 unique-filename: 3.0.0 - transitivePeerDependencies: - - bluebird + dev: false /cache-base@1.0.1: resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} @@ -16502,7 +16525,7 @@ packages: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: function-bind: 1.1.1 - get-intrinsic: 1.1.3 + get-intrinsic: 1.2.1 /call-me-maybe@1.0.1: resolution: {integrity: sha512-wCyFsDQkKPwwF8BDwOiWNx/9K45L/hvggQiDbve+viMNMQnWhrlYIuBk09offfwCRtCO9P6XwUttufzU11WCVw==} @@ -18308,24 +18331,28 @@ packages: resolution: {integrity: sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==} dev: false - /deep-equal@2.0.5: - resolution: {integrity: sha512-nPiRgmbAtm1a3JsnLCf6/SLfXcjyN5v8L1TXzdCmHrXJ4hx+gW/w1YCcn7z8gJtSiDArZCgYtbao3QqLm/N1Sw==} + /deep-equal@2.2.2: + resolution: {integrity: sha512-xjVyBf0w5vH0I42jdAZzOKVldmPgSulmiyPRywoyq7HXC9qdgo17kxJE+rdnif5Tz6+pIrpJI8dCpMNLIGkUiA==} dependencies: + array-buffer-byte-length: 1.0.0 call-bind: 1.0.2 - es-get-iterator: 1.1.2 - get-intrinsic: 1.1.3 + es-get-iterator: 1.1.3 + get-intrinsic: 1.2.1 is-arguments: 1.1.1 + is-array-buffer: 3.0.2 is-date-object: 1.0.5 is-regex: 1.1.4 + is-shared-array-buffer: 1.0.2 isarray: 2.0.5 object-is: 1.1.5 object-keys: 1.1.1 object.assign: 4.1.4 - regexp.prototype.flags: 1.4.3 + regexp.prototype.flags: 1.5.1 side-channel: 1.0.4 which-boxed-primitive: 1.0.2 which-collection: 1.0.1 - which-typed-array: 1.1.8 + which-typed-array: 1.1.11 + dev: false /deep-extend@0.6.0: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} @@ -18354,6 +18381,14 @@ packages: engines: {node: '>=10'} dev: true + /define-data-property@1.1.0: + resolution: {integrity: sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.1 + gopd: 1.0.1 + has-property-descriptors: 1.0.0 + /define-lazy-prop@2.0.0: resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} engines: {node: '>=8'} @@ -18365,6 +18400,14 @@ packages: has-property-descriptors: 1.0.0 object-keys: 1.1.1 + /define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.0 + has-property-descriptors: 1.0.0 + object-keys: 1.1.1 + /define-property@0.2.5: resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} engines: {node: '>=0.10.0'} @@ -18728,7 +18771,6 @@ packages: /eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - dev: true /ecc-jsbn@0.1.2: resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} @@ -18936,12 +18978,12 @@ packages: es-to-primitive: 1.2.1 function-bind: 1.1.1 function.prototype.name: 1.1.5 - get-intrinsic: 1.1.3 + get-intrinsic: 1.2.1 get-symbol-description: 1.0.0 has: 1.0.3 has-property-descriptors: 1.0.0 has-symbols: 1.0.3 - internal-slot: 1.0.3 + internal-slot: 1.0.5 is-callable: 1.2.7 is-negative-zero: 2.0.2 is-regex: 1.1.4 @@ -18951,7 +18993,7 @@ packages: object-inspect: 1.12.2 object-keys: 1.1.1 object.assign: 4.1.4 - regexp.prototype.flags: 1.4.3 + regexp.prototype.flags: 1.5.1 safe-regex-test: 1.0.0 string.prototype.trimend: 1.0.5 string.prototype.trimstart: 1.0.5 @@ -18961,11 +19003,11 @@ packages: resolution: {integrity: sha512-AKUb5MKLWMozPlFRHOKqWD7yta5uaEhH21qwtnf6FlKjNjTJOoqFi0/G14+FfSkIQhhu6X68Af4xgRC6y8qG4A==} engines: {node: '>= 0.4'} dependencies: - define-properties: 1.1.4 + define-properties: 1.2.1 es-abstract: 1.20.4 function-bind: 1.1.1 functions-have-names: 1.2.3 - get-intrinsic: 1.1.3 + get-intrinsic: 1.2.1 globalthis: 1.0.3 has-property-descriptors: 1.0.0 dev: true @@ -18974,17 +19016,19 @@ packages: resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==} dev: false - /es-get-iterator@1.1.2: - resolution: {integrity: sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==} + /es-get-iterator@1.1.3: + resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} dependencies: call-bind: 1.0.2 - get-intrinsic: 1.1.3 + get-intrinsic: 1.2.1 has-symbols: 1.0.3 is-arguments: 1.1.1 is-map: 2.0.2 is-set: 2.0.2 is-string: 1.0.7 isarray: 2.0.5 + stop-iteration-iterator: 1.0.0 + dev: false /es-module-lexer@1.2.1: resolution: {integrity: sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==} @@ -20991,7 +21035,6 @@ packages: dependencies: cross-spawn: 7.0.3 signal-exit: 4.0.2 - dev: true /forever-agent@0.6.1: resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} @@ -21041,6 +21084,7 @@ packages: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 + dev: false /form-data@4.0.0: resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} @@ -21168,11 +21212,12 @@ packages: dependencies: minipass: 3.3.4 - /fs-minipass@3.0.1: - resolution: {integrity: sha512-MhaJDcFRTuLidHrIttu0RDGyyXs/IYHVmlcxfLAEFIWjc1vdLAkdwT7Ace2u7DbitWC0toKMl5eJZRYNVreIMw==} + /fs-minipass@3.0.3: + resolution: {integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minipass: 4.2.5 + minipass: 7.0.4 + dev: false /fs-monkey@1.0.3: resolution: {integrity: sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==} @@ -21225,7 +21270,7 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.4 + define-properties: 1.2.1 es-abstract: 1.20.4 functions-have-names: 1.2.3 @@ -21338,11 +21383,12 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - /get-intrinsic@1.1.3: - resolution: {integrity: sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==} + /get-intrinsic@1.2.1: + resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} dependencies: function-bind: 1.1.1 has: 1.0.3 + has-proto: 1.0.1 has-symbols: 1.0.3 /get-nonce@1.0.1: @@ -21398,7 +21444,7 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - get-intrinsic: 1.1.3 + get-intrinsic: 1.2.1 /get-symbol-from-current-process-h@1.0.2: resolution: {integrity: sha512-syloC6fsCt62ELLrr1VKBM1ggOpMdetX9hTrdW77UQdcApPHLmf7CI7OKcN1c9kYuNxKcDe4iJ4FY9sX3aw2xw==} @@ -21542,9 +21588,8 @@ packages: foreground-child: 3.1.1 jackspeak: 2.2.1 minimatch: 9.0.3 - minipass: 5.0.0 + minipass: 7.0.4 path-scurry: 1.10.1 - dev: true /glob@7.1.6: resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} @@ -21625,7 +21670,7 @@ packages: resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} engines: {node: '>= 0.4'} dependencies: - define-properties: 1.1.4 + define-properties: 1.2.1 dev: true /globalyzer@0.1.0: @@ -21741,6 +21786,11 @@ packages: resolution: {integrity: sha512-3MSOYFO5U9mPGikIYCzK0SaThypfGgS6bHqrUGXG3DPHCrb+txNqeEcns1W0lkGfk0rCyNXm7xB9rMxnCiZOoA==} dev: false + /gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + dependencies: + get-intrinsic: 1.2.1 + /got@12.5.2: resolution: {integrity: sha512-guHGMSEcsA5m1oPRweXUJnug0vuvlkX9wx5hzOka+ZBrBUOJHU0Z1JcNu3QE5IPGnA5aXUsQHdWOD4eJg9/v3A==} engines: {node: '>=14.16'} @@ -21839,7 +21889,7 @@ packages: '@graphql-tools/load': 8.0.0(graphql@16.6.0) '@graphql-tools/merge': 9.0.0(graphql@16.6.0) '@graphql-tools/url-loader': 8.0.0(@types/node@18.16.16)(graphql@16.6.0) - '@graphql-tools/utils': 10.0.1(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) cosmiconfig: 8.1.3 graphql: 16.6.0 jiti: 1.18.2 @@ -21946,7 +21996,7 @@ packages: graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: graphql: 16.6.0 - tslib: 2.5.3 + tslib: 2.6.2 /graphql-ws@5.11.3(graphql@16.6.0): resolution: {integrity: sha512-fU8zwSgAX2noXAsuFiCZ8BtXeXZOzXyK5u1LloCdacsVth4skdBMPO74EG51lBoWSIZ8beUocdpV8+cQHBODnQ==} @@ -22057,7 +22107,11 @@ packages: /has-property-descriptors@1.0.0: resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} dependencies: - get-intrinsic: 1.1.3 + get-intrinsic: 1.2.1 + + /has-proto@1.0.1: + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} /has-symbols@1.0.3: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} @@ -22855,11 +22909,11 @@ packages: dev: true optional: true - /internal-slot@1.0.3: - resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==} + /internal-slot@1.0.5: + resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.1.3 + get-intrinsic: 1.2.1 has: 1.0.3 side-channel: 1.0.4 @@ -22977,6 +23031,14 @@ packages: call-bind: 1.0.2 has-tostringtag: 1.0.0 + /is-array-buffer@3.0.2: + resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + is-typed-array: 1.1.12 + dev: false + /is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} dev: true @@ -23205,6 +23267,7 @@ packages: /is-map@2.0.2: resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} + dev: false /is-negative-zero@2.0.2: resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} @@ -23329,6 +23392,7 @@ packages: /is-set@2.0.2: resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} + dev: false /is-shared-array-buffer@1.0.2: resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} @@ -23376,15 +23440,11 @@ packages: dependencies: has-symbols: 1.0.3 - /is-typed-array@1.1.9: - resolution: {integrity: sha512-kfrlnTTn8pZkfpJMUgYD7YZ3qzeJgWUn8XfVYBARc4wnmNOmLbmuuaAs3q5fvB0UJOn6yHAKaGTPM7d6ezoD/A==} + /is-typed-array@1.1.12: + resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} engines: {node: '>= 0.4'} dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - es-abstract: 1.20.4 - for-each: 0.3.3 - has-tostringtag: 1.0.0 + which-typed-array: 1.1.11 /is-typedarray@1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} @@ -23424,6 +23484,7 @@ packages: /is-weakmap@2.0.1: resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} + dev: false /is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} @@ -23434,7 +23495,8 @@ packages: resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} dependencies: call-bind: 1.0.2 - get-intrinsic: 1.1.3 + get-intrinsic: 1.2.1 + dev: false /is-windows@1.0.2: resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} @@ -23477,6 +23539,7 @@ packages: /isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + dev: false /iserror@0.0.2: resolution: {integrity: sha512-oKGGrFVaWwETimP3SiWwjDeY27ovZoyZPHtxblC4hCq9fXxed/jasx+ATWFFjCVSRZng8VTMsN1nDnGo6zMBSw==} @@ -23576,7 +23639,6 @@ packages: '@isaacs/cliui': 8.0.2 optionalDependencies: '@pkgjs/parseargs': 0.11.0 - dev: true /jaeger-client@3.19.0: resolution: {integrity: sha512-M0c7cKHmdyEUtjemnJyx/y9uX16XHocL46yQvyqDlPdvAcwPDbHrIbKjQdBqtiE4apQ/9dmr+ZLJYYPGnurgpw==} @@ -25445,6 +25507,7 @@ packages: /loglevel@1.8.0: resolution: {integrity: sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==} engines: {node: '>= 0.6.0'} + dev: false /long@2.4.0: resolution: {integrity: sha512-ijUtjmO/n2A5PaosNG9ZGDsQ3vxJg7ZW8vsY8Kp0f2yIZWhSJvjmegV7t+9RPQKxKrvj8yKGehhS+po14hPLGQ==} @@ -25509,6 +25572,11 @@ packages: dependencies: yallist: 4.0.0 + /lru-cache@7.13.1: + resolution: {integrity: sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ==} + engines: {node: '>=12'} + dev: false + /lru-cache@7.18.3: resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} engines: {node: '>=12'} @@ -25617,28 +25685,28 @@ packages: dev: true optional: true - /make-fetch-happen@11.0.3: - resolution: {integrity: sha512-oPLh5m10lRNNZDjJ2kP8UpboUx2uFXVaVweVe/lWut4iHWcQEmfqSVJt2ihZsFI8HbpwyyocaXbCAWf0g1ukIA==} + /make-fetch-happen@11.1.1: + resolution: {integrity: sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: agentkeepalive: 4.2.1 - cacache: 17.0.4 + cacache: 17.1.4 http-cache-semantics: 4.1.1 http-proxy-agent: 5.0.0 https-proxy-agent: 5.0.1(supports-color@9.2.3) is-lambda: 1.0.1 lru-cache: 7.18.3 - minipass: 4.2.5 - minipass-fetch: 3.0.1 + minipass: 5.0.0 + minipass-fetch: 3.0.4 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 negotiator: 0.6.3 promise-retry: 2.0.1 socks-proxy-agent: 7.0.0 - ssri: 10.0.1 + ssri: 10.0.5 transitivePeerDependencies: - - bluebird - supports-color + dev: false /makeerror@1.0.12: resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} @@ -26844,7 +26912,6 @@ packages: engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 - dev: true /minimist-options@4.1.0: resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} @@ -26876,15 +26943,16 @@ packages: dev: true optional: true - /minipass-fetch@3.0.1: - resolution: {integrity: sha512-t9/wowtf7DYkwz8cfMSt0rMwiyNIBXf5CKZ3S5ZMqRqMYT0oLTp0x1WorMI9WTwvaPg21r1JbFxJMum8JrLGfw==} + /minipass-fetch@3.0.4: + resolution: {integrity: sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minipass: 4.2.5 + minipass: 7.0.4 minipass-sized: 1.0.3 minizlib: 2.1.2 optionalDependencies: encoding: 0.1.13 + dev: false /minipass-flush@1.0.5: resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} @@ -26913,11 +26981,15 @@ packages: /minipass@4.2.5: resolution: {integrity: sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q==} engines: {node: '>=8'} + dev: true /minipass@5.0.0: resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} - dev: true + + /minipass@7.0.4: + resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} + engines: {node: '>=16 || 14 >=14.17'} /minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} @@ -27726,10 +27798,6 @@ packages: semver: 7.5.4 dev: true - /node-abort-controller@3.0.1: - resolution: {integrity: sha512-/ujIVxthRs+7q6hsdjHMaj8hRG9NuWmwrz+JdRwZ14jdFoKSkm+vDsCbF9PLpnSqjaWQJuTmVtcWHNLr+vrOFw==} - dev: false - /node-abort-controller@3.1.1: resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==} @@ -27758,6 +27826,7 @@ packages: optional: true dependencies: whatwg-url: 5.0.0 + dev: true /node-fetch@2.6.12: resolution: {integrity: sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==} @@ -28113,6 +28182,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 + dev: false /object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} @@ -28138,7 +28208,7 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.4 + define-properties: 1.2.1 es-abstract: 1.20.4 /object.fromentries@2.0.6: @@ -28146,7 +28216,7 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.4 + define-properties: 1.2.1 es-abstract: 1.20.4 /object.getownpropertydescriptors@2.1.4: @@ -28155,14 +28225,14 @@ packages: dependencies: array.prototype.reduce: 1.0.4 call-bind: 1.0.2 - define-properties: 1.1.4 + define-properties: 1.2.1 es-abstract: 1.20.4 dev: false /object.hasown@1.1.2: resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==} dependencies: - define-properties: 1.1.4 + define-properties: 1.2.1 es-abstract: 1.20.4 /object.pick@1.3.0: @@ -28176,7 +28246,7 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.4 + define-properties: 1.2.1 es-abstract: 1.20.4 /obliterator@2.0.4: @@ -28312,7 +28382,6 @@ packages: '@wry/context': 0.7.3 '@wry/trie': 0.4.3 tslib: 2.6.2 - dev: true /optionator@0.8.3: resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} @@ -28822,8 +28891,7 @@ packages: engines: {node: '>=16 || 14 >=14.17'} dependencies: lru-cache: 10.0.0 - minipass: 5.0.0 - dev: true + minipass: 7.0.4 /path-scurry@1.6.4: resolution: {integrity: sha512-Qp/9IHkdNiXJ3/Kon++At2nVpnhRiPq/aSvQN+H3U1WZbvNRK0RIQK/o4HMqPoXjpuGJUEWpHSs6Mnjxqh3TQg==} @@ -29629,15 +29697,6 @@ packages: /pretty-format@29.2.0: resolution: {integrity: sha512-QCSUFdwOi924g24czhOH5eTkXxUCqlLGZBRCySlwDYHIXRJkdGyjJc9nZaqhlFBZws8dq5Dvk0lCilsmlfsPxw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.4.2 - ansi-styles: 5.2.0 - react-is: 18.2.0 - dev: true - - /pretty-format@29.4.2: - resolution: {integrity: sha512-qKlHR8yFVCbcEWba0H0TOC8dnLlO4vPlyEjRPw31FZ2Rupy9nLa8ZLbYny8gWEl8CkEhJqAE6IzdNELTBVcBEg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/schemas': 29.4.3 ansi-styles: 5.2.0 @@ -30541,13 +30600,13 @@ packages: hasBin: true dev: true - /regexp.prototype.flags@1.4.3: - resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} + /regexp.prototype.flags@1.5.1: + resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.4 - functions-have-names: 1.2.3 + define-properties: 1.2.1 + set-function-name: 2.0.1 /regexpu-core@5.3.2: resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} @@ -31110,7 +31169,7 @@ packages: resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} dependencies: call-bind: 1.0.2 - get-intrinsic: 1.1.3 + get-intrinsic: 1.2.1 is-regex: 1.1.4 /safe-regex2@2.0.0: @@ -31359,6 +31418,14 @@ packages: /set-cookie-parser@2.6.0: resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} + /set-function-name@2.0.1: + resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.0 + /set-value@2.0.1: resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} engines: {node: '>=0.10.0'} @@ -31402,6 +31469,7 @@ packages: dependencies: inherits: 2.0.4 safe-buffer: 5.2.1 + dev: false /shebang-command@1.2.0: resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} @@ -31452,7 +31520,7 @@ packages: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: call-bind: 1.0.2 - get-intrinsic: 1.1.3 + get-intrinsic: 1.2.1 object-inspect: 1.12.2 /sift@16.0.1: @@ -31465,7 +31533,6 @@ packages: /signal-exit@4.0.2: resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} engines: {node: '>=14'} - dev: true /signedsource@1.0.0: resolution: {integrity: sha512-6+eerH9fEnNmi/hyM1DXcRK3pWdoMQtlkQ+ns0ntzunjKqp5i3sKCc80ym8Fib3iaYhdJUOPdhlJWj1tvge2Ww==} @@ -31671,7 +31738,7 @@ packages: peerDependencies: graphql: ^15.0.0 || ^16.0.0 dependencies: - '@graphql-tools/utils': 10.0.1(graphql@16.6.0) + '@graphql-tools/utils': 10.0.7(graphql@16.6.0) '@whatwg-node/fetch': 0.9.12 ansi-colors: 4.1.3 fets: 0.2.0 @@ -31860,11 +31927,12 @@ packages: tweetnacl: 0.14.5 dev: true - /ssri@10.0.1: - resolution: {integrity: sha512-WVy6di9DlPOeBWEjMScpNipeSX2jIZBGEn5Uuo8Q7aIuFEuDX0pw8RxcOjlD1TWP4obi24ki7m/13+nFpcbXrw==} + /ssri@10.0.5: + resolution: {integrity: sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minipass: 4.2.5 + minipass: 7.0.4 + dev: false /ssri@6.0.2: resolution: {integrity: sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==} @@ -31956,6 +32024,13 @@ packages: bl: 5.1.0 dev: true + /stop-iteration-iterator@1.0.0: + resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} + engines: {node: '>= 0.4'} + dependencies: + internal-slot: 1.0.5 + dev: false + /stoppable@1.1.0: resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==} engines: {node: '>=4', npm: '>=6'} @@ -32084,32 +32159,31 @@ packages: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 strip-ansi: 7.0.1 - dev: true /string.prototype.matchall@4.0.8: resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==} dependencies: call-bind: 1.0.2 - define-properties: 1.1.4 + define-properties: 1.2.1 es-abstract: 1.20.4 - get-intrinsic: 1.1.3 + get-intrinsic: 1.2.1 has-symbols: 1.0.3 - internal-slot: 1.0.3 - regexp.prototype.flags: 1.4.3 + internal-slot: 1.0.5 + regexp.prototype.flags: 1.5.1 side-channel: 1.0.4 /string.prototype.trimend@1.0.5: resolution: {integrity: sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==} dependencies: call-bind: 1.0.2 - define-properties: 1.1.4 + define-properties: 1.2.1 es-abstract: 1.20.4 /string.prototype.trimstart@1.0.5: resolution: {integrity: sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==} dependencies: call-bind: 1.0.2 - define-properties: 1.1.4 + define-properties: 1.2.1 es-abstract: 1.20.4 /string_decoder@0.10.31: @@ -32168,7 +32242,6 @@ packages: engines: {node: '>=12'} dependencies: ansi-regex: 6.0.1 - dev: true /strip-bom-string@1.0.0: resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} @@ -33180,9 +33253,10 @@ packages: resolution: {integrity: sha512-3phiGcxPSSR47RBubQxPoZ+pqXsEsozLo4G4AlSrsMKTFg9TA3l+3he5BqpUi9wiuDbaHWXH/amlzQ49uEdXtg==} dev: true - /ts-graphviz@1.5.5: - resolution: {integrity: sha512-abon0Tlcgvxcqr8x+p8QH1fTbR2R4cEXKGZfT4OJONZWah2YfqkmERb6hrr82omAc1IHwk5PlF8g4BS/ECYvwQ==} + /ts-graphviz@1.8.1: + resolution: {integrity: sha512-54/fe5iu0Jb6X0pmDmzsA2UHLfyHjUEUwfHtZcEOR0fZ6Myf+dFoO6eNsyL8CBDMJ9u7WWEewduVaiaXlvjSVw==} engines: {node: '>=14.16'} + dev: false /ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} @@ -33767,6 +33841,7 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: unique-slug: 4.0.0 + dev: false /unique-slug@2.0.2: resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==} @@ -33787,6 +33862,7 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: imurmurhash: 0.1.4 + dev: false /unique-string@2.0.0: resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} @@ -34185,8 +34261,8 @@ packages: inherits: 2.0.4 is-arguments: 1.1.1 is-generator-function: 1.0.10 - is-typed-array: 1.1.9 - which-typed-array: 1.1.8 + is-typed-array: 1.1.12 + which-typed-array: 1.1.11 /utils-merge@1.0.1: resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} @@ -34742,6 +34818,7 @@ packages: is-set: 2.0.2 is-weakmap: 2.0.1 is-weakset: 2.0.2 + dev: false /which-module@2.0.0: resolution: {integrity: sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==} @@ -34755,16 +34832,15 @@ packages: path-exists: 4.0.0 dev: true - /which-typed-array@1.1.8: - resolution: {integrity: sha512-Jn4e5PItbcAHyLoRDwvPj1ypu27DJbtdYXUa5zsinrUx77Uvfb0cXwwnGMTn7cjUfhhqgVQnVJCwF+7cgU7tpw==} + /which-typed-array@1.1.11: + resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==} engines: {node: '>= 0.4'} dependencies: available-typed-arrays: 1.0.5 call-bind: 1.0.2 - es-abstract: 1.20.4 for-each: 0.3.3 + gopd: 1.0.1 has-tostringtag: 1.0.0 - is-typed-array: 1.1.9 /which@1.3.1: resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} @@ -34939,7 +35015,6 @@ packages: ansi-styles: 6.2.1 string-width: 5.1.2 strip-ansi: 7.0.1 - dev: true /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} diff --git a/website/src/pages/docs/features/apollo-federation.mdx b/website/src/pages/docs/features/apollo-federation.mdx index 88e2d8aabb..313c8098fc 100644 --- a/website/src/pages/docs/features/apollo-federation.mdx +++ b/website/src/pages/docs/features/apollo-federation.mdx @@ -11,27 +11,12 @@ import { Callout } from '@theguild/components' [Apollo Federation](https://apollographql.com/docs/federation) is a specification that applies microservice architecture through GraphQL APIs. -Thanks to [Envelop's Apollo Federation](https://envelop.dev/plugins/use-apollo-federation) plugin, -we can use GraphQL Yoga to build our gateway server. - - - As documented in the [Apollo Federation - docs](https://www.apollographql.com/docs/federation/gateway/#setup), `@apollo/gateway` package - doesn't support GraphQL v16 so you have to install `graphql@15`. - - - - Please note that Apollo Federation implementation doesn't support GraphQL Subscriptions. If you - need to use Subscriptions with a Federated Gateway you can use [Schema - Stitching](https://graphql-tools.com/docs/schema-stitching/stitch-federation). - - ## Gateway ### Installation for Gateway ```sh npm2yarn -npm i @apollo/gateway @envelop/apollo-federation graphql-yoga graphql@15 +npm i @graphql-tools/federation graphql-yoga ``` ### Example Gateway @@ -39,27 +24,12 @@ npm i @apollo/gateway @envelop/apollo-federation graphql-yoga graphql@15 ```ts import { createServer } from 'http' import { createYoga } from 'graphql-yoga' -import { ApolloGateway } from '@apollo/gateway' -import { useApolloFederation } from '@envelop/apollo-federation' - -// Initialize the gateway -const gateway = new ApolloGateway({ - serviceList: [ - { name: 'accounts', url: 'http://localhost:4001' }, - { name: 'products', url: 'http://localhost:4002' } - // ...additional subgraphs... - ] -}) - -// Make sure all services are loaded -await gateway.load() +import { getStitchedSchemaFromSupergraphSdl } from '@graphql-tools/federation' const yoga = createYoga({ - plugins: [ - useApolloFederation({ - gateway - }) - ] + schema: getStitchedSchemaFromSupergraphSdl({ + supergraphSdl: readFileSync('./supergraph.graphql', 'utf-8') + }) }) // Start the server and explore http://localhost:4000/graphql @@ -69,29 +39,43 @@ server.listen(4000, () => { }) ``` -### Handling Subgraph Errors +## Subscriptions over WS -By default, GraphQL Yoga masks any unexpected GraphQL Errors. This is done to prevent leaking -internal errors to the client. If you know that your subgraph is safe and you want to expose the -errors to the client, you can customize the error masking bahviour. +By default, `@graphql-tools/federation` handles subscriptions per +[GraphQL over SSE](https://github.com/enisdenjo/graphql-sse/blob/master/PROTOCOL.md). But if you +want to use WebSockets between services and the gateway, you can use the +`@graphql-tools/executor-graphql-ws`. -[Learn more about error masking](/docs/features/error-masking) +### Installation for Gateway -```ts filename="Expose subgraph errors to the client" -import { createYoga, maskError } from 'graphql-yoga' -import { schema } from './schema.js' +```sh npm2yarn +npm i @graphql-tools/executor-graphql-ws @graphql-tools/executor-http +``` + +### Example Gateway + +```ts +import { buildGraphQLWSExecutor } from '@graphql-tools/executor-graphql-ws' +import { buildHTTPExecutor } from '@graphql-tools/executor-http' const yoga = createYoga({ - schema, - maskedErrors: { - maskError(error, message, isDev) { - if (error?.extensions?.code === 'DOWNSTREAM_SERVICE_ERROR') { - return error + schema: getStitchedSchemaFromSupergraphSdl({ + supergraphSdl: readFileSync('./supergraph.graphql', 'utf-8'), + onExecutor({ endpoint }) { + const httpExecutor = buildHTTPExecutor({ + endpoint + }) + const wsExecutor = buildGraphQLWSExecutor({ + url: endpoint + }) + return function executor(executionRequest) { + if (executionRequest.operationType === 'subscription') { + return wsExecutor(executionRequest) + } + return httpExecutor(executionRequest) } - - return maskError(error, message, isDev) } - } + }) }) ```