From fe84847d64c12bf26de66f71e76303849a856c77 Mon Sep 17 00:00:00 2001 From: Rikki Schulte Date: Fri, 23 Jun 2023 22:14:17 +0200 Subject: [PATCH] fix exec and the dreaded code file loader bug --- .../package.json | 2 +- .../src/GraphQLCache.ts | 17 ++- .../vscode-graphql-execution/package.json | 5 +- .../vscode-graphql-execution/src/extension.ts | 91 ++++++++----- .../src/helpers/network.ts | 16 ++- .../src/helpers/source.ts | 42 +++--- .../src/providers/exec-content.ts | 56 +++++--- yarn.lock | 128 +++++++++--------- 8 files changed, 206 insertions(+), 151 deletions(-) diff --git a/packages/graphql-language-service-server/package.json b/packages/graphql-language-service-server/package.json index e03f6a7a9bf..884d21719c3 100644 --- a/packages/graphql-language-service-server/package.json +++ b/packages/graphql-language-service-server/package.json @@ -39,7 +39,7 @@ "dependencies": { "@babel/parser": "^7.21.2", "@babel/types": "^7.21.2", - "@graphql-tools/load": "^7.5.3", + "@graphql-tools/code-file-loader": "8.0.1", "@vue/compiler-sfc": "^3.2.41", "dotenv": "8.2.0", "fast-glob": "^3.2.7", diff --git a/packages/graphql-language-service-server/src/GraphQLCache.ts b/packages/graphql-language-service-server/src/GraphQLCache.ts index 4480b029799..789769349b3 100644 --- a/packages/graphql-language-service-server/src/GraphQLCache.ts +++ b/packages/graphql-language-service-server/src/GraphQLCache.ts @@ -33,6 +33,7 @@ import { loadConfig, GraphQLConfig, GraphQLProjectConfig, + GraphQLExtensionDeclaration } from 'graphql-config'; import type { UnnormalizedTypeDefPointer } from '@graphql-tools/load'; @@ -42,6 +43,17 @@ import stringToHash from './stringToHash'; import glob from 'glob'; import { LoadConfigOptions } from './types'; import { URI } from 'vscode-uri'; +import { CodeFileLoader } from '@graphql-tools/code-file-loader' + +const LanguageServiceExtension: GraphQLExtensionDeclaration = api => { + // For schema + api.loaders.schema.register(new CodeFileLoader()); + // For documents + api.loaders.documents.register(new CodeFileLoader()); + + + return { name: 'languageService' }; +} // Maximum files to read when processing GraphQL files. const MAX_READS = 200; @@ -57,7 +69,10 @@ export async function getGraphQLCache({ loadConfigOptions: LoadConfigOptions; config?: GraphQLConfig; }): Promise { - const graphQLConfig = config || (await loadConfig(loadConfigOptions)); + const graphQLConfig = config || (await loadConfig({ + ...loadConfigOptions, + extensions: [LanguageServiceExtension] + })); return new GraphQLCache({ configDir: loadConfigOptions.rootDir!, config: graphQLConfig!, diff --git a/packages/vscode-graphql-execution/package.json b/packages/vscode-graphql-execution/package.json index 9388dc499a7..83dc52703d8 100644 --- a/packages/vscode-graphql-execution/package.json +++ b/packages/vscode-graphql-execution/package.json @@ -105,13 +105,14 @@ "@urql/core": "2.6.1", "capitalize": "2.0.4", "dotenv": "10.0.0", - "graphql-config": "4.3.0", + "graphql-config": "5.0.2", "graphql-tag": "2.12.6", "graphql-ws": "5.10.0", "@whatwg-node/fetch": "0.2.8", "ws": "8.8.1", "graphql": "16.6.0", - "nullthrows": "1.1.1" + "nullthrows": "1.1.1", + "@graphql-tools/code-file-loader": "8.0.1" }, "resolutions": { "cosmiconfig": "^5.0.1" diff --git a/packages/vscode-graphql-execution/src/extension.ts b/packages/vscode-graphql-execution/src/extension.ts index 9a06daea5ff..afe6d9e5375 100644 --- a/packages/vscode-graphql-execution/src/extension.ts +++ b/packages/vscode-graphql-execution/src/extension.ts @@ -8,6 +8,8 @@ import { languages, Uri, ViewColumn, + // Command, + // Disposable, } from 'vscode'; import { GraphQLContentProvider } from './providers/exec-content'; @@ -29,7 +31,7 @@ export function activate(context: ExtensionContext) { if (config.debug) { // eslint-disable-next-line no-console - console.log('Extension "vscode-graphql" is now active!'); + console.log('Extension "vscode-graphql-execution" is now active!'); } const commandShowOutputChannel = commands.registerCommand( @@ -41,7 +43,7 @@ export function activate(context: ExtensionContext) { context.subscriptions.push(commandShowOutputChannel); // const settings = workspace.getConfiguration("vscode-graphql-execution") - + // let provider: GraphQLCodeLensProvider; const registerCodeLens = () => { context.subscriptions.push( languages.registerCodeLensProvider( @@ -53,51 +55,68 @@ export function activate(context: ExtensionContext) { 'graphql', ], new GraphQLCodeLensProvider(outputChannel), - ), - ); + ), + ); }; + // if (settings.showExecCodelens !== false) { registerCodeLens(); // } - workspace.onDidChangeConfiguration(() => { - // const newSettings = workspace.getConfiguration("vscode-graphql-execution") - // if (newSettings.showExecCodeLens !== false) { - registerCodeLens(); - // } - }); - const commandContentProvider = commands.registerCommand( - 'vscode-graphql-execution.contentProvider', - (literal: ExtractedTemplateLiteral) => { - const uri = Uri.parse('graphql://authority/graphql'); + // let commandContentProvider: Disposable; - const panel = window.createWebviewPanel( - 'vscode-graphql-execution.results-preview', - 'GraphQL Execution Result', - ViewColumn.Two, - {}, - ); + const registerContentProvider = () => { + return commands.registerCommand( + 'vscode-graphql-execution.contentProvider', + (literal: ExtractedTemplateLiteral) => { + const uri = Uri.parse('graphql://authority/graphql'); + + const panel = window.createWebviewPanel( + 'vscode-graphql-execution.results-preview', + 'GraphQL Execution Result', + ViewColumn.Two, + {}, + ); + + const contentProvider = new GraphQLContentProvider( + uri, + outputChannel, + literal, + panel, + ); + const registration = workspace.registerTextDocumentContentProvider( + 'graphql', + contentProvider, + ); + context.subscriptions.push(registration); + panel.webview.html = contentProvider.getCurrentHtml(); + }, + ); + } - const contentProvider = new GraphQLContentProvider( - uri, - outputChannel, - literal, - panel, - ); - const registration = workspace.registerTextDocumentContentProvider( - 'graphql', - contentProvider, - ); - context.subscriptions.push(registration); - panel.webview.html = contentProvider.getCurrentHtml(); - }, - ); - context.subscriptions.push(commandContentProvider); + const provider = registerContentProvider() + context.subscriptions.push(provider); + + // workspace.onDidChangeConfiguration(async () => { + // // const newSettings = workspace.getConfiguration("vscode-graphql-execution") + // // if (newSettings.showExecCodeLens !== false) { + // commandContentProvider.dispose() + // // } + // }); + workspace.onDidSaveTextDocument(async (e) =>{ + await window.showErrorMessage('saved') + if (e.fileName.includes('graphql.config') || e.fileName.includes('graphqlrc')) { + await window.showErrorMessage('heyyy') + provider.dispose() + const newprovider = registerContentProvider() + context.subscriptions.push(newprovider); + } + }) } export function deactivate() { // eslint-disable-next-line no-console console.log('Extension "vscode-graphql-execution" is now de-active!'); -} +} // documents: ["./src/*.ts"], diff --git a/packages/vscode-graphql-execution/src/helpers/network.ts b/packages/vscode-graphql-execution/src/helpers/network.ts index e4f8940bb86..fb0504b140c 100644 --- a/packages/vscode-graphql-execution/src/helpers/network.ts +++ b/packages/vscode-graphql-execution/src/helpers/network.ts @@ -123,13 +123,15 @@ export class NetworkHelper { projectConfig, ); - const fragmentInfos = await getFragmentDependenciesForAST( - literal.ast, - fragmentDefinitions, - ); - - for (const fragmentInfo of fragmentInfos) { - literal.content = fragmentInfo.content + '\n' + literal.content; + if(fragmentDefinitions) { + const fragmentInfos = await getFragmentDependenciesForAST( + literal.ast, + fragmentDefinitions, + ); + + for (const fragmentInfo of fragmentInfos) { + literal.content = fragmentInfo.content + '\n' + literal.content; + } } const parsedOperation = gql` diff --git a/packages/vscode-graphql-execution/src/helpers/source.ts b/packages/vscode-graphql-execution/src/helpers/source.ts index d244c41b9f9..2931a06665a 100644 --- a/packages/vscode-graphql-execution/src/helpers/source.ts +++ b/packages/vscode-graphql-execution/src/helpers/source.ts @@ -123,26 +123,30 @@ export class SourceHelper { } async getFragmentDefinitions( projectConfig: GraphQLProjectConfig, - ): Promise> { - const sources = await projectConfig.getDocuments(); - const { fragmentDefinitions } = this; - - for (const source of sources) { - visit(source.document as DocumentNode, { - FragmentDefinition(node) { - const existingDef = fragmentDefinitions.get(node.name.value); - const newVal = print(node); - if ((existingDef && existingDef.content !== newVal) || !existingDef) { - fragmentDefinitions.set(node.name.value, { - definition: node, - content: newVal, - filePath: source.location, - }); - } - }, - }); + ): Promise | void> { + try { + const sources = await projectConfig.getDocuments(); + const { fragmentDefinitions } = this; + + for (const source of sources) { + visit(source.document as DocumentNode, { + FragmentDefinition(node) { + const existingDef = fragmentDefinitions.get(node.name.value); + const newVal = print(node); + if ((existingDef && existingDef.content !== newVal) || !existingDef) { + fragmentDefinitions.set(node.name.value, { + definition: node, + content: newVal, + filePath: source.location, + }); + } + }, + }); + } + return fragmentDefinitions; + } catch(err) { + this.outputChannel.append(`${err}`) } - return fragmentDefinitions; } extractAllTemplateLiterals( diff --git a/packages/vscode-graphql-execution/src/providers/exec-content.ts b/packages/vscode-graphql-execution/src/providers/exec-content.ts index ce8c7649578..23f7a0292d8 100644 --- a/packages/vscode-graphql-execution/src/providers/exec-content.ts +++ b/packages/vscode-graphql-execution/src/providers/exec-content.ts @@ -11,11 +11,21 @@ import { WorkspaceFolder, } from 'vscode'; import type { ExtractedTemplateLiteral } from '../helpers/source'; -import { loadConfig, GraphQLProjectConfig } from 'graphql-config'; +import { loadConfig, GraphQLProjectConfig, GraphQLExtensionDeclaration } from 'graphql-config'; import { visit, VariableDefinitionNode } from 'graphql'; import { NetworkHelper } from '../helpers/network'; import { SourceHelper, GraphQLScalarTSType } from '../helpers/source'; import type { Endpoints, Endpoint } from 'graphql-config/extensions/endpoints'; +import { CodeFileLoader } from '@graphql-tools/code-file-loader' + +const LanguageServiceExecutionExtension: GraphQLExtensionDeclaration = api => { + // For schema + api.loaders.schema.register(new CodeFileLoader()); + // For documents + api.loaders.documents.register(new CodeFileLoader()); + + return { name: 'languageServiceExecution' }; +} export type UserVariables = { [key: string]: GraphQLScalarTSType }; @@ -29,6 +39,7 @@ export class GraphQLContentProvider implements TextDocumentContentProvider { private panel: WebviewPanel; private rootDir: WorkspaceFolder | undefined; private literal: ExtractedTemplateLiteral; + private _projectConfig: GraphQLProjectConfig | undefined; // Event emitter which invokes document updates private _onDidChange = new EventEmitter(); @@ -127,10 +138,8 @@ export class GraphQLContentProvider implements TextDocumentContentProvider { this.updatePanel(); } - async loadEndpoint( - projectConfig?: GraphQLProjectConfig, - ): Promise { - let endpoints: Endpoints = projectConfig?.extensions?.endpoints; + async loadEndpoint(): Promise { + let endpoints: Endpoints = this._projectConfig?.extensions?.endpoints; if (!endpoints) { endpoints = { @@ -139,11 +148,11 @@ export class GraphQLContentProvider implements TextDocumentContentProvider { this.update(this.uri); this.updatePanel(); - if (projectConfig?.schema) { + if (this._projectConfig?.schema) { this.outputChannel.appendLine( "Warning: endpoints missing from graphql config. will try 'schema' value(s) instead", ); - const { schema } = projectConfig; + const { schema } = this._projectConfig; if (schema && Array.isArray(schema)) { for (const s of schema) { if (this.validUrlFromSchema(s as string)) { @@ -183,16 +192,17 @@ export class GraphQLContentProvider implements TextDocumentContentProvider { this.reportError('Error: this file is outside the workspace.'); return; } - const config = await loadConfig({ - rootDir: rootDir.uri.fsPath, - legacy: true, - }); - const projectConfig = config?.getProjectForFile(this.literal.uri); + + + await this.loadConfig(); + const projectConfig = this._projectConfig; + if (!projectConfig) { - return; + return } - const endpoint = await this.loadEndpoint(projectConfig); + + const endpoint = await this.loadEndpoint(); if (endpoint?.url) { const variableDefinitionNodes: VariableDefinitionNode[] = []; visit(this.literal.ast, { @@ -249,14 +259,22 @@ export class GraphQLContentProvider implements TextDocumentContentProvider { this.reportError('Error: this file is outside the workspace.'); return; } - const config = await loadConfig({ rootDir: rootDir.uri.fsPath }); - const projectConfig = config?.getProjectForFile(literal.uri); + this.reportError(rootDir.uri.fsPath) - if (!projectConfig!.schema) { + const config = await loadConfig({ + rootDir: rootDir.uri.fsPath, + throwOnEmpty: false, + throwOnMissing: false, + legacy: true, + extensions: [LanguageServiceExecutionExtension] + }); + this._projectConfig = config?.getProjectForFile(literal.uri); + this.reportError(JSON.stringify(this._projectConfig?.schema ?? {})) + + // eslint-disable-next-line unicorn/consistent-destructuring + if (!this._projectConfig?.schema) { this.reportError('Error: schema from graphql config'); - return; } - return projectConfig; } get onDidChange(): Event { diff --git a/yarn.lock b/yarn.lock index 9c750d9ebda..9d018011a1e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -720,6 +720,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.10.tgz#873b16db82a8909e0fbd7f115772f4b739f6ce78" integrity sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ== +"@babel/parser@^7.16.8", "@babel/parser@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.5.tgz#721fd042f3ce1896238cf1b341c77eb7dee7dbea" + integrity sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q== + "@babel/parser@^7.17.3": version "7.17.3" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.3.tgz#b07702b982990bf6fdc1da5049a23fece4c5c3d0" @@ -735,11 +740,6 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.2.tgz#dacafadfc6d7654c3051a66d6fe55b6cb2f2a0b3" integrity sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ== -"@babel/parser@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.5.tgz#721fd042f3ce1896238cf1b341c77eb7dee7dbea" - integrity sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q== - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2" @@ -1551,6 +1551,22 @@ "@babel/parser" "^7.12.13" "@babel/types" "^7.12.13" +"@babel/traverse@^7.16.8", "@babel/traverse@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.22.5.tgz#44bd276690db6f4940fdb84e1cb4abd2f729ccd1" + integrity sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ== + dependencies: + "@babel/code-frame" "^7.22.5" + "@babel/generator" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-function-name" "^7.22.5" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.5" + "@babel/parser" "^7.22.5" + "@babel/types" "^7.22.5" + debug "^4.1.0" + globals "^11.1.0" + "@babel/traverse@^7.17.3": version "7.17.3" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.3.tgz#0ae0f15b27d9a92ba1f2263358ea7c4e7db47b57" @@ -1583,22 +1599,6 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/traverse@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.22.5.tgz#44bd276690db6f4940fdb84e1cb4abd2f729ccd1" - integrity sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ== - dependencies: - "@babel/code-frame" "^7.22.5" - "@babel/generator" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-function-name" "^7.22.5" - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.5" - "@babel/parser" "^7.22.5" - "@babel/types" "^7.22.5" - debug "^4.1.0" - globals "^11.1.0" - "@babel/traverse@^7.7.2": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.9.tgz#deeff3e8f1bad9786874cb2feda7a2d77a904f98" @@ -1632,6 +1632,15 @@ "@babel/helper-validator-identifier" "^7.16.7" to-fast-properties "^2.0.0" +"@babel/types@^7.16.8", "@babel/types@^7.21.3", "@babel/types@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.5.tgz#cd93eeaab025880a3a47ec881f4b096a5b786fbe" + integrity sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA== + dependencies: + "@babel/helper-string-parser" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.5" + to-fast-properties "^2.0.0" + "@babel/types@^7.18.6", "@babel/types@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.9.tgz#7148d64ba133d8d73a41b3172ac4b83a1452205f" @@ -1649,15 +1658,6 @@ "@babel/helper-validator-identifier" "^7.19.1" to-fast-properties "^2.0.0" -"@babel/types@^7.21.3", "@babel/types@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.5.tgz#cd93eeaab025880a3a47ec881f4b096a5b786fbe" - integrity sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA== - dependencies: - "@babel/helper-string-parser" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.5" - to-fast-properties "^2.0.0" - "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" @@ -2640,6 +2640,17 @@ tslib "^2.4.0" value-or-promise "1.0.11" +"@graphql-tools/code-file-loader@8.0.1": + version "8.0.1" + resolved "https://registry.yarnpkg.com/@graphql-tools/code-file-loader/-/code-file-loader-8.0.1.tgz#86ab699cc8ed76010b2f0401e8a4a149338b759e" + integrity sha512-pmg81lsIXGW3uW+nFSCIG0lFQIxWVbgDjeBkSWlnP8CZsrHTQEkB53DT7t4BHLryoxDS4G4cPxM52yNINDSL8w== + dependencies: + "@graphql-tools/graphql-tag-pluck" "8.0.1" + "@graphql-tools/utils" "^10.0.0" + globby "^11.0.3" + tslib "^2.4.0" + unixify "^1.0.0" + "@graphql-tools/delegate@8.8.1": version "8.8.1" resolved "https://registry.yarnpkg.com/@graphql-tools/delegate/-/delegate-8.8.1.tgz#0653a72f38947f38ab7917dfac50ebf6a6b883e9" @@ -2663,6 +2674,18 @@ tslib "~2.3.0" unixify "^1.0.0" +"@graphql-tools/graphql-tag-pluck@8.0.1": + version "8.0.1" + resolved "https://registry.yarnpkg.com/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-8.0.1.tgz#480d804a0fd7576f5ee06460528f1ee2b426f50e" + integrity sha512-4sfBJSoXxVB4rRCCp2GTFhAYsUJgAPSKxSV+E3Voc600mK52JO+KsHCCTnPgCeyJFMNR9l94J6+tqxVKmlqKvw== + dependencies: + "@babel/parser" "^7.16.8" + "@babel/plugin-syntax-import-assertions" "^7.20.0" + "@babel/traverse" "^7.16.8" + "@babel/types" "^7.16.8" + "@graphql-tools/utils" "^10.0.0" + tslib "^2.4.0" + "@graphql-tools/import@6.6.10": version "6.6.10" resolved "https://registry.yarnpkg.com/@graphql-tools/import/-/import-6.6.10.tgz#b77d19c8e5b6d376c517aa16f959b14197840669" @@ -2682,16 +2705,6 @@ tslib "~2.3.0" unixify "^1.0.0" -"@graphql-tools/load@^7.5.3": - version "7.5.3" - resolved "https://registry.yarnpkg.com/@graphql-tools/load/-/load-7.5.3.tgz#e7414d11e53ad8b78d5a74a0bd7ae958fa717a5c" - integrity sha512-GYwLyGfX1nKUxg6rnTIdryv9d+ugFRTm2q11+IqNsajwNhxJExkx+e/h81AQR5382sAmPEIT+E1J1VS3xNfjyg== - dependencies: - "@graphql-tools/schema" "8.3.3" - "@graphql-tools/utils" "8.6.3" - p-limit "3.1.0" - tslib "~2.3.0" - "@graphql-tools/load@^7.5.5": version "7.5.7" resolved "https://registry.yarnpkg.com/@graphql-tools/load/-/load-7.5.7.tgz#8197e1e7be23c0a62721c3c8266ab5f777ea6bfd" @@ -2702,14 +2715,6 @@ p-limit "3.1.0" tslib "~2.3.0" -"@graphql-tools/merge@8.2.4": - version "8.2.4" - resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-8.2.4.tgz#f903545e5693c75418f95671bca1be6bc51bfa53" - integrity sha512-hiNRTsS948F+BB4Q7CZXLaGFOIHQzmimVq3EEI/+PQZsPb7kYDzg0Ow0GyV4conDdEiooLqHf7I1dWzTYwvs0A== - dependencies: - "@graphql-tools/utils" "8.6.3" - tslib "~2.3.0" - "@graphql-tools/merge@8.2.7", "@graphql-tools/merge@^8.2.6": version "8.2.7" resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-8.2.7.tgz#add05bcc47df6b7390f31acbcadd986e160d58f9" @@ -2726,16 +2731,6 @@ "@graphql-tools/utils" "8.9.0" tslib "^2.4.0" -"@graphql-tools/schema@8.3.3": - version "8.3.3" - resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-8.3.3.tgz#b69ea495026976f16e697253f08aa7905e7f6265" - integrity sha512-OrRLU9/7UmkDemeyNUy62uH+FofgV3bpVVZJprc9bhe3gZsY7kQNIdY7H1unINlepjLvGOgk7u7iLo2+EhjyWw== - dependencies: - "@graphql-tools/merge" "8.2.4" - "@graphql-tools/utils" "8.6.3" - tslib "~2.3.0" - value-or-promise "1.0.11" - "@graphql-tools/schema@8.3.7": version "8.3.7" resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-8.3.7.tgz#6e2be8e17a1f97f4d11d5b787c414ec29400fde2" @@ -2777,13 +2772,6 @@ value-or-promise "^1.0.11" ws "^8.3.0" -"@graphql-tools/utils@8.6.3": - version "8.6.3" - resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-8.6.3.tgz#ce9fc9adce4d45b229e314a2261290a88a252aed" - integrity sha512-CNyP7Uu7dlVMQ32IpHWOxz4yic9BYXXVkDhG0UdTKSszvzHdgMilemE9MpUrGzzBPsTe3aYTtNGyPUkyh9yTXA== - dependencies: - tslib "~2.3.0" - "@graphql-tools/utils@8.6.6", "@graphql-tools/utils@^8.6.5": version "8.6.6" resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-8.6.6.tgz#f7c88d32818b748f3e3867ed87a562769b544417" @@ -2798,6 +2786,14 @@ dependencies: tslib "^2.4.0" +"@graphql-tools/utils@^10.0.0": + version "10.0.1" + resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-10.0.1.tgz#52e6c0ce920b57473823e487184f5017974fe4c4" + integrity sha512-i1FozbDGHgdsFA47V/JvQZ0FE8NAy0Eiz7HGCJO2MkNdZAKNnwei66gOq0JWYVFztwpwbVQ09GkKhq7Kjcq5Cw== + dependencies: + "@graphql-typed-document-node/core" "^3.1.1" + tslib "^2.4.0" + "@graphql-tools/wrap@8.5.1": version "8.5.1" resolved "https://registry.yarnpkg.com/@graphql-tools/wrap/-/wrap-8.5.1.tgz#d4bd1f89850bb1ce0209f35f66d002080b439495" @@ -10148,7 +10144,7 @@ graphiql-explorer@^0.9.0: resolved "https://registry.yarnpkg.com/graphiql-explorer/-/graphiql-explorer-0.9.0.tgz#25f6b990bfc3e04e88c0cf419e28d12abe2c4fbe" integrity sha512-fZC/wsuatqiQDO2otchxriFO0LaWIo/ovF/CQJ1yOudmY0P7pzDiP+l9CEHUiWbizk3e99x6DQG4XG1VxA+d6A== -graphql-config@4.3.0: +graphql-config@4.3.0, graphql-config@5.0.2: version "4.3.0" resolved "https://registry.yarnpkg.com/graphql-config/-/graphql-config-4.3.0.tgz#b9bb7bf9c892a90e66ea937e8d7ed170eb1fd5e2" integrity sha512-Uiu3X7+s5c056WyrvdZVz2vG1fhAipMlYmtiCU/4Z2mX79OXDr1SqIon2MprC/pExIWJfAQZCcjYDY76fPBUQg==