<p>apollo-link 1.2.5 / 1.2.6 provoque des erreurs de compilation dactylographiées</p>

Créé le 16 janv. 2019  ·  39Commentaires  ·  Source: apollographql/apollo-link

Introduit avec ce PR :
https://github.com/apollographeql/apollo-link/pull/804

Le ExecutionResult<TData> génère des erreurs dans les compilateurs de scripts modernes.

Mon erreur de dactylographie :

../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.

Commentaire le plus utile

J'ai trouvé que la rétrogradation de graphql de 15.0.0 -> 14.6.0 résout le problème.

Tous les 39 commentaires

Ok, on dirait que le code est toujours sur DefinitelyTyped, donc le code introduit dans # 804 devrait toujours être correct.

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;
}

Vous devrez vous assurer que vos @types/graphql sont à jour.

@syndesis a découvert qu'il utilisait @types/graphql 0.12.6 qui date de 10 mois. https://www.npmjs.com/package/@types/graphql

Vous cherchez à voir l'exigence de version min maintenant.

Assez juste si une nouvelle librairie graphql est nécessaire, je peux aussi être sur une version plus ancienne en raison d'autres dépendances de bibliothèque.

@gaberudy nous discutons en #contribuant en ce moment sur slack si vous voulez nous rejoindre

@gaberudy utilisez -vous également apollo-link-dedup ?

J'ai le même problème lors de l'importation du package graphql-tools 😢

Vous pouvez contourner ce problème avec une section resolutions comme celle-ci dans votre package.json :

"resolutions": {
    "apollo-link-dedup": "^1.0.13",
    "@types/graphql": "^14.0.0"
  }

Fermant ceci car il est résolu, si quelqu'un a encore un problème après le correctif proposé avec des résolutions, n'hésitez pas à rouvrir.

Vous pouvez contourner ce problème avec une section resolutions comme celle-ci dans votre package.json :

"resolutions": {
    "apollo-link-dedup": "^1.0.13",
    "@types/graphql": "^14.0.0"
  }

Malheureusement, cela n'a pas résolu le problème pour moi

ce problème n'a toujours pas été résolu

Cela se produit pour moi après la mise à niveau vers les derniers packages. Pouvons-nous le rouvrir s'il vous plaît ?

La résolution proposée ne fonctionne pas et je n'utilise pas dedup.

J'ai le même problème.

J'ai déjà essayé :

  • solution de résolution.
  • mettre à jour apollo et graphql

d'autres suggestions?

des correctifs pour ce problème?

@qin-guan, vous devez mettre à niveau vos dépendances, mais assurez-vous également de mettre à niveau les dépendances transitives. Le moyen le plus simple consiste à supprimer node_modules et le fichier de verrouillage, puis à réinstaller. Si vous ne supprimez pas le fichier de verrouillage, vous risquez en fait de vous retrouver avec une ancienne version (voir https://github.com/yarnpkg/yarn/issues/4986).

J'ai trouvé que la rétrogradation de graphql de 15.0.0 -> 14.6.0 résout le problème.

@PowerKiKi , la solution de @david-wb fonctionne pour moi, la mise à niveau de mes deps n'a pas fonctionné

Ce package rompt avec la dernière version graphql: ^15.0.0 . Des idées sur la façon de réparer ce dernier?

@johannesschobel essaie de lire avant de commenter. Vous devrez rétrograder pour le moment.

Cher @OmgImAlexis ,
oui, je sais - et j'ai lu la "solution de contournement actuelle" concernant la rétrogradation à 14.6.0 . Cependant, c'est un obstacle actuel pour moi, car d'autres packages dépendent déjà de 15.0 , donc je suis assez bloqué.

Tous mes vœux

Ce problème est VRAIMENT mauvais. Comment ça c'est toujours pas réglé ??

Je viens de tomber sur ça aussi...

Le seul moyen pour moi de contourner ce problème était de rétrograder graphql à 14.6.0

J'ai rencontré cette erreur car j'ai un functions pour les fonctions cloud à l'intérieur de la racine de mon projet, qui a son propre node_modules pour le client. Le client utilise la série 14 et le serveur utilise la série 15.

J'ai résolu le problème avec patch-package

ajoutez un fichier appelé functions/patches/graphql+15.0.0.patch avec ce contenu :

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 = {

puis ajoutez npx patch-package à postinstall

le patch n'affecte que les typages ts, il semble donc à première vue être une solution sûre jusqu'à ce que l'amont résolve le problème.

Oui, j'ai dû revenir à

"graphql": "^14.6.0"

À partir de

"graphql": "10.0.0",

Pour que cela fonctionne.

@gaberudy allons -nous jamais voir une mise à jour à ce sujet ? Il est ouvert maintenant depuis 3 mois.

Peut-il également être verrouillé afin que nous ne continuions pas à recevoir des commentaires "Je devais revenir en arrière" ?

J'ai également dû rétrograder de 15 à 14.6.0

Cela a-t-il été éventuellement corrigé par https://github.com/apollographql/apollo-link/pull/1263 mais pas entièrement propagé aux packages qui en dépendent encore?

Cher @abernix , merci de l'avoir signalé. Il semble que le problème d'origine ait été traité et corrigé. Cependant, apollo-client n'a pas et lance maintenant les mêmes erreurs :laughing:

@OmgImAlexis

Allons-nous jamais voir une mise à jour à ce sujet ? Il est ouvert maintenant depuis 3 mois.

Je pense que vous avez raté l'année 2019 ;-) Cela fait déjà plus d'un an.

Les résolutions et les versions de dépendance ci-dessous l'ont corrigé pour moi - surtout la résolution apollo-link à ^1.2.14 . Cela forcera tout paquet utilisant apollo-link à utiliser la dernière version (indépendamment de ce qu'il spécifie dans ses dépendances). Pour moi, c'était le paquet aws-appsync épinglé à "apollo-link": "1.2.3"

  "resolutions": {
    "apollo-link": "^1.2.14"
  },
  "dependencies": {
    "graphql": "^14.6.0",
  }

Je viens d'avoir ce problème. J'ai dû rétrograder aussi. Comment un tel problème peut-il encore être là ?

En effet... la rétrogradation vers [email protected] a également résolu le problème pour moi.

Avoir ce problème de type générique avec le tapuscrit sur [email protected]

@david-wb merci de bien fonctionner après la rétrogradation à 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>>;
                   ~~~~~~~~~~~~~~~~~~~~~~

J'ai eu l'erreur ci-dessus avec "graphql": "^15.0.0" , après être passé à "graphql": "^14.6.0" et faire npm install a fonctionné pour moi

Cela a été résolu dans https://github.com/apollographql/apollo-client/pull/6258. Si quelqu'un rencontre toujours ce problème, veuillez essayer de mettre à jour vers [email protected] . Merci!

utiliser [email protected] n'a pas fonctionné pour moi

@moritzewert voyez -vous toujours des erreurs ExecutionResult ou autre chose ? Pouvez-vous publier la sortie de l'exécution : npx envinfo<strong i="7">@latest</strong> --preset apollo

Bonjour @hwillson ,
Je vois ce problème après la mise à niveau de graphql de 14.6.0 à 15.0.0 .
L'erreur:

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

Voici mon 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

Merci!

Cette page vous a été utile?
0 / 5 - 0 notes