<p>apollo-link 1.2.5/1.2.6 provoca errores de compilación mecanografiados</p>

Creado en 16 ene. 2019  ·  39Comentarios  ·  Fuente: apollographql/apollo-link

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.

Comentario más útil

Descubrí que degradar graphql de 15.0.0 -> 14.6.0 resuelve el problema.

Todos 39 comentarios

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.

https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/graphql/execution/execute.d.ts#L43

/**
 * 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:

  • solución de resolución.
  • actualizar apolo y graphql

¿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!

¿Fue útil esta página
0 / 5 - 0 calificaciones