Presentado con este PR:
https://github.com/apollographql/apollo-link/pull/804
El ExecutionResult<TData>
arroja errores en los compiladores modernos de mecanografiados.
Mi error mecanografiado:
../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 el código todavía está en DefinitelyTyped, por lo que el código introducido en el n.º 804 aún debería ser correcto.
/**
* 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;
}
Deberá asegurarse de que su @types/graphql esté actualizado.
@syndesis descubrió que estaba usando @types/graphql 0.12.6, que tiene 10 meses. https://www.npmjs.com/package/@types/graphql
Buscando ver el requisito de versión mínima ahora.
Bastante justo si se necesita una nueva biblioteca graphql, también puedo estar en una versión anterior debido a otras dependencias de la biblioteca.
@gaberudy estamos chateando en #contributing ahora mismo en Slack si quieres unirte
@gaberudy , ¿también estás usando apollo-link-dedup?
Tengo este mismo problema al importar el paquete graphql-tools
😢
Puede solucionar este problema con una sección resolutions
como esta en su paquete.json:
"resolutions": {
"apollo-link-dedup": "^1.0.13",
"@types/graphql": "^14.0.0"
}
Cerrando esto ya que se resolvió, si alguien todavía tiene un problema después de la solución propuesta con las resoluciones, siéntase libre de volver a abrir.
Puede solucionar este problema con una sección
resolutions
como esta en su paquete.json:"resolutions": { "apollo-link-dedup": "^1.0.13", "@types/graphql": "^14.0.0" }
Desafortunadamente, esto no solucionó el problema para mí.
este problema aún no se resolvió
Esto me está sucediendo después de actualizar a los últimos paquetes. ¿Podemos reabrir esto, por favor?
La resolución propuesta no funciona y no estoy usando la desduplicación.
Tengo el mismo problema.
Ya he probado:
¿cualquier otra sugerencia?
alguna solución para este problema?
@qin-guan, debe actualizar sus dependencias, pero asegúrese de actualizar también las dependencias transitivas. La forma más fácil de hacerlo es eliminar node_modules y el archivo de bloqueo, luego instalar de nuevo. Si no elimina el archivo de bloqueo, es posible que se quede atascado con una versión anterior (consulte https://github.com/yarnpkg/yarn/issues/4986).
Descubrí que degradar graphql de 15.0.0 -> 14.6.0 resuelve el problema.
@PowerKiKi , la solución de @david-wb funciona para mí, actualizar mis deps no funcionó
Este paquete rompe con la última versión graphql: ^15.0.0
. ¿Alguna idea sobre cómo solucionar este último?
@johannesschobel intenta leer antes de comentar. Tendrás que bajar de categoría por ahora.
Estimado @OmgImAlexis ,
sí, lo sé, y leí la "solución alternativa actual" con respecto a la degradación a 14.6.0
. Sin embargo, este es un obstáculo actual para mí, ya que otros paquetes ya dependen de 15.0
, por lo que estoy bastante atascado.
Todo lo mejor
Este problema es REALMENTE malo. como es que aun no se arregla??
Acabo de encontrarme con esto también...
La única forma de solucionar esto fue degradar graphql a 14.6.0
Encontré este error porque tengo un directorio functions
para funciones en la nube dentro de la raíz de mi proyecto, que tiene su propio node_modules
para el cliente. El cliente usa la serie 14 y el servidor usa la serie 15.
Resolví el problema con patch-package
agregue un archivo llamado functions/patches/graphql+15.0.0.patch
con este contenido:
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 = {
luego agregue npx patch-package
a postinstall
el parche solo afecta a los tipos de ts, por lo que a primera vista parece ser una solución segura hasta que se resuelva el problema.
Sí, tuve que volver a
"graphql": "^14.6.0"
Desde
"graphql": "10.0.0",
Para que esto funcione.
@gaberudy , ¿alguna vez veremos una actualización de esto? Hace 3 meses que está abierto.
¿También se puede bloquear para que no sigamos recibiendo comentarios de "Tuve que revertir"?
También tuve que bajar de 15 a 14.6.0
¿Fue esto posiblemente solucionado por https://github.com/apollographql/apollo-link/pull/1263 pero no se propagó completamente a los paquetes que dependen de él todavía?
Estimado @abernix , gracias por señalar esto. Parece que el problema original se ha abordado y solucionado. Sin embargo, apollo-client
no lo ha hecho y ahora arroja los mismos errores :risas:
@OmgImAlexis
¿Alguna vez veremos una actualización de esto? Hace 3 meses que está abierto.
Creo que te perdiste el año 2019 ;-) Ya ha pasado más de un año.
Las siguientes resoluciones y versiones de dependencia lo arreglaron para mí, lo más importante es la resolución apollo-link
a ^1.2.14
. Esto obligará a cualquier paquete que use apollo-link a usar la última versión (independientemente de lo que especifique en sus dependencias). Para mí, fue el paquete aws-appsync
anclado a "apollo-link": "1.2.3"
"resolutions": {
"apollo-link": "^1.2.14"
},
"dependencies": {
"graphql": "^14.6.0",
}
Acabo de recibir este problema. Tuve que bajar de categoría también. ¿Cómo es posible que un problema así siga aquí?
De hecho... bajar de categoría a [email protected] también me solucionó el problema.
Tener este problema de tipo genérico con mecanografiado en [email protected]
@ david-wb gracias funciona bien después de la actualización a 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>>;
~~~~~~~~~~~~~~~~~~~~~~
Tuve el error anterior con "graphql": "^15.0.0"
, después de cambiar a "graphql": "^14.6.0"
y hacer npm install
funcionó para mí
Esto se ha abordado en https://github.com/apollographql/apollo-client/pull/6258. Si alguien todavía tiene este problema, intente actualizar a [email protected]
. ¡Gracias!
usar [email protected] no funcionó para mí
@moritzewert , ¿sigues viendo ExecutionResult
errores o algo más? ¿Puedes publicar el resultado de ejecutar: npx envinfo<strong i="7">@latest</strong> --preset apollo
Hola @hwillson ,
Veo este problema después de actualizar graphql de 14.6.0
a 15.0.0
.
El error:
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
Aquí está mi envinfo:
$ 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
¡Gracias!
Comentario más útil
Descubrí que degradar graphql de 15.0.0 -> 14.6.0 resuelve el problema.