Introduzido com este PR:
https://github.com/apollographql/apollo-link/pull/804
O ExecutionResult<TData>
gera erros em compiladores modernos de texto datilografado.
Meu erro de digitação:
../node_modules/apollo-link/lib/types.d.ts:22:56 - error TS2315: Type 'ExecutionResult' is not generic.
22 }, C = Record<string, any>, E = Record<string, any>> = ExecutionResult<TData> & {
~~~~~~~~~~~~~~~~~~~~~~
Found 1 error.
Ok, parece que o código ainda está em Definitivamente Typed, então o código introduzido em #804 ainda deve estar correto.
/**
* The result of GraphQL execution.
*
* - `errors` is included when any errors occurred as a non-empty array.
* - `data` is the result of a successful execution of the query.
*/
export interface ExecutionResult<TData = ExecutionResultDataDefault> {
errors?: ReadonlyArray<GraphQLError>;
data?: TData;
}
Você precisará certificar-se de que seus @types/graphql estejam atualizados.
@syndesis descobriu que estava usando @types/graphql 0.12.6, que tem 10 meses. https://www.npmjs.com/package/@types/graphql
Olhando para ver o requisito de versão mínima agora.
Justo o suficiente se for necessária uma nova lib graphql, também posso estar em uma versão mais antiga devido a outras dependências de biblioteca.
@gaberudy estamos conversando em #contribuindo agora mesmo no slack se você quiser participar
@gaberudy você também está usando o apollo-link-dedup?
Eu tenho esse mesmo problema ao importar o pacote graphql-tools
😢
Você pode contornar esse problema com uma seção resolutions
como esta em seu package.json:
"resolutions": {
"apollo-link-dedup": "^1.0.13",
"@types/graphql": "^14.0.0"
}
Fechando isso uma vez que está resolvido, se alguém ainda tiver um problema após a correção proposta com as resoluções, sinta-se à vontade para reabrir.
Você pode contornar esse problema com uma seção
resolutions
como esta em seu package.json:"resolutions": { "apollo-link-dedup": "^1.0.13", "@types/graphql": "^14.0.0" }
Infelizmente, isso não resolveu o problema para mim
este problema ainda não foi resolvido
Isso está acontecendo para mim depois de atualizar para os pacotes mais recentes. Podemos reabrir isso, por favor?
A resolução proposta não funciona e não estou usando dedup.
Eu tenho o mesmo problema.
Eu já tentei:
alguma outra sugestão?
alguma correção para este problema?
@qin-guan você deve atualizar suas dependências, mas certifique-se de atualizar também as dependências transitivas. A maneira mais fácil de fazer isso é remover node_modules e o arquivo de bloqueio e instalar novamente. Se você não remover o arquivo de bloqueio, poderá ficar preso a uma versão antiga (consulte https://github.com/yarnpkg/yarn/issues/4986).
Descobri que o downgrade do graphql de 15.0.0 -> 14.6.0 resolve o problema.
@PowerKiKi , a solução de @david-wb funciona para mim, atualizar meus deps não funcionou
Este pacote quebra com a versão graphql: ^15.0.0
mais recente. Alguma idéia de como consertar o último?
@johannesschobel tente ler antes de comentar. Você precisará fazer o downgrade por enquanto.
Caro @OmgImAlexis ,
sim, eu sei - e li a "solução alternativa atual" sobre o downgrade para 14.6.0
. No entanto, este é um obstáculo atual para mim, pois outros pacotes já dependem de 15.0
, então estou bastante preso.
Tudo de bom
Essa questão é MUITO ruim. Como ainda não resolveu??
Acabei de me deparar com isso também...
A única maneira de contornar isso era fazer o downgrade do graphql para 14.6.0
Encontrei esse erro porque tenho um diretório functions
para funções de nuvem dentro da raiz do meu projeto, que tem seu próprio node_modules
para o cliente. O cliente está usando a série 14 e o servidor está usando a série 15.
Resolvi o problema com patch-package
adicione um arquivo chamado functions/patches/graphql+15.0.0.patch
com este conteúdo:
diff --git a/node_modules/graphql/execution/execute.d.ts b/node_modules/graphql/execution/execute.d.ts
index 46a1bc6..4ddbfb5 100644
--- a/node_modules/graphql/execution/execute.d.ts
+++ b/node_modules/graphql/execution/execute.d.ts
@@ -37,15 +37,20 @@ export interface ExecutionContext {
errors: Array<GraphQLError>;
}
+export interface ExecutionResultDataDefault {
+ [key: string]: any;
+}
+
/**
* The result of GraphQL execution.
*
* - `errors` is included when any errors occurred as a non-empty array.
* - `data` is the result of a successful execution of the query.
*/
-export interface ExecutionResult {
+// TS_SPECIFIC: TData and ExecutionResultDataDefault
+export interface ExecutionResult<TData = ExecutionResultDataDefault> {
errors?: ReadonlyArray<GraphQLError>;
- data?: { [key: string]: any } | null;
+ data?: TData | null;
}
export type ExecutionArgs = {
em seguida, adicione npx patch-package
a postinstall
o patch afeta apenas os tipos de ts, então parece à primeira vista ser uma solução segura até que o upstream resolva o problema.
Sim, eu tive que voltar para
"graphql": "^14.6.0"
A partir de
"graphql": "10.0.0",
Para fazer isso funcionar.
@gaberudy , algum dia veremos uma atualização disso? Já está aberto há 3 meses.
Também pode ser bloqueado para que não continuemos recebendo comentários "Eu tive que reverter"?
Eu também tive que fazer o downgrade de 15 para 14.6.0
Isso foi possivelmente corrigido por https://github.com/apollographql/apollo-link/pull/1263 , mas ainda não foi totalmente propagado para pacotes que dependem dele?
Caro @abernix , obrigado por apontar isso. Parece que o problema original foi resolvido e corrigido. No entanto, apollo-client
não e agora lança os mesmos erros :laughing:
@OmgImAlexis
vamos ver uma atualização para isso? Já está aberto há 3 meses.
Acho que você perdeu o ano de 2019 ;-) Já faz mais de um ano.
As resoluções e versões de dependência abaixo corrigiram para mim - o mais importante é a resolução apollo-link
para ^1.2.14
. Isso forçará qualquer pacote usando apollo-link a usar a versão mais recente (independentemente do que especifica em suas dependências). Para mim, foi o pacote aws-appsync
fixado em "apollo-link": "1.2.3"
"resolutions": {
"apollo-link": "^1.2.14"
},
"dependencies": {
"graphql": "^14.6.0",
}
Acabei de receber este problema. Teve que rebaixar também. Como pode um problema desses ainda estar aqui?
De fato .. fazer o downgrade para [email protected] corrigiu o problema para mim também.
Tendo esse problema de tipo genérico com typescript em [email protected]
@david-wb obrigado funcionando bem após o downgrade para 14.6.0
ERROR in node_modules/apollo-client/core/watchQueryOptions.d.ts:56:32 - error TS2315: Type 'ExecutionResult' is not generic.
56 refetchQueries?: ((result: ExecutionResult<T>) => RefetchQueryDescription) | RefetchQueryDescription;
~~~~~~~~~~~~~~~~~~
node_modules/apollo-client/core/LocalState.d.ts:40:23 - error TS2315: Type 'ExecutionResult' is not generic.
40 remoteResult: ExecutionResult<TData>;
~~~~~~~~~~~~~~~~~~~~~~
node_modules/apollo-client/core/LocalState.d.ts:44:17 - error TS2315: Type 'ExecutionResult' is not generic.
44 }): Promise<ExecutionResult<TData>>;
~~~~~~~~~~~~~~~~~~~~~~
Eu tive o erro acima com "graphql": "^15.0.0"
, depois de fazer o downgrade para "graphql": "^14.6.0"
e fazer npm install
funcionou para mim
Isso foi abordado em https://github.com/apollographql/apollo-client/pull/6258. Se alguém ainda estiver enfrentando esse problema, tente atualizar para [email protected]
. Obrigado!
usando [email protected] não funcionou para mim
@moritzewert você ainda está vendo erros de ExecutionResult
ou algo mais? Você pode postar a saída da execução: npx envinfo<strong i="7">@latest</strong> --preset apollo
Olá @hwillson ,
Estou vendo esse problema depois de atualizar o graphql de 14.6.0
para 15.0.0
.
O erro:
Type 'ExecutionResult' is not generic.
21 | export declare type FetchResult<TData = {
22 | [key: string]: any;
> 23 | }, C = Record<string, any>, E = Record<string, any>> = ExecutionResult<TData> & {
| ^
24 | extensions?: E;
25 | context?: C;
26 | };
Version: typescript 3.9.3
Aqui está meu ambiente:
$ npx envinfo<strong i="14">@latest</strong> --preset apollo
npx: installed 1 in 1.063s
System:
OS: macOS 10.15.4
Binaries:
Node: 10.19.0 - ~/.nvm/versions/node/v10.19.0/bin/node
Yarn: 1.22.4 - /usr/local/bin/yarn
npm: 6.14.1 - ~/code/frontend/node_modules/.bin/npm
Browsers:
Chrome: 83.0.4103.61
Edge: 83.0.478.44
Firefox: 76.0.1
Safari: 13.1
npmPackages:
apollo-boost: ^0.4.7 => 0.4.9
apollo-cache-inmemory: ^1.6.6 => 1.6.6
apollo-client: ^2.6.10 => 2.6.10
apollo-codegen: ^0.20.2 => 0.20.2
apollo-link: ^1.2.14 => 1.2.14
apollo-link-context: ^1.0.20 => 1.0.20
apollo-link-http: ^1.5.17 => 1.5.17
apollo-link-state: ^0.4.2 => 0.4.2
apollo-link-ws: ^1.0.20 => 1.0.20
Obrigado!
Comentários muito úteis
Descobri que o downgrade do graphql de 15.0.0 -> 14.6.0 resolve o problema.