<p>apollo-link 1.2.5 / 1.2.6 menyebabkan kesalahan kompilasi TypeScript</p>

Dibuat pada 16 Jan 2019  ·  39Komentar  ·  Sumber: apollographql/apollo-link

Diperkenalkan dengan PR ini:
https://github.com/apollographql/apollo-link/pull/804

ExecutionResult<TData> memunculkan kesalahan dalam kompiler TypeScript modern.

Kesalahan skrip saya:

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

Komentar yang paling membantu

Saya menemukan bahwa menurunkan graphql dari 15.0.0 -> 14.6.0 menyelesaikan masalah.

Semua 39 komentar

Oke, sepertinya kodenya masih dalam PastiTyped, jadi kode yang diperkenalkan di #804 harusnya masih benar.

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

Anda harus memastikan @types/graphql Anda mutakhir.

@syndesis menemukan dia menggunakan @types/graphql 0.12.6 yang berusia 10 bulan. https://www.npmjs.com/package/@types/graphql

Mencari untuk melihat persyaratan versi min sekarang.

Cukup adil jika lib graphql yang lebih baru diperlukan, saya juga mungkin menggunakan versi yang lebih lama karena dependensi perpustakaan lainnya.

@gaberudy kita chat di #contributing sekarang di slack kalau mau gabung

@gaberudy apakah Anda juga menggunakan apollo-link-dedup?

Saya memiliki masalah yang sama saat mengimpor paket graphql-tools

Anda dapat mengatasi masalah ini dengan bagian resolutions seperti ini di package.json Anda:

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

Menutup ini sejak diselesaikan, jika ada yang masih memiliki masalah setelah perbaikan yang diusulkan dengan resolusi, silakan buka kembali.

Anda dapat mengatasi masalah ini dengan bagian resolutions seperti ini di package.json Anda:

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

Sayangnya, ini tidak memperbaiki masalah bagi saya

masalah ini masih belum terselesaikan

Ini terjadi pada saya setelah memutakhirkan ke paket terbaru. Bisakah ini dibuka kembali?

Resolusi yang diusulkan tidak berfungsi, dan saya tidak menggunakan dedup.

Saya memiliki masalah yang sama.

Saya sudah mencoba:

  • solusi resolusi.
  • memutakhirkan apollo & graphql

ada saran lain?

ada perbaikan untuk masalah ini?

@qin-guan Anda harus memutakhirkan dependensi Anda, tetapi pastikan Anda juga memutakhirkan dependensi transitif. Cara termudah untuk melakukannya adalah menghapus node_modules dan file kunci, lalu instal lagi. Jika Anda tidak menghapus file kunci, Anda mungkin akan terjebak dengan versi lama (lihat https://github.com/yarnpkg/yarn/issues/4986).

Saya menemukan bahwa menurunkan graphql dari 15.0.0 -> 14.6.0 menyelesaikan masalah.

@PowerKiKi , solusi @ david-wb berfungsi untuk saya, memutakhirkan deps saya tidak berfungsi

Paket ini rusak dengan versi graphql: ^15.0.0 terbaru. Adakah ide tentang cara memperbaiki yang terakhir?

@johannesschobel coba baca sebelum berkomentar. Anda harus menurunkan versi untuk saat ini.

Dear @OmgImAlexis ,
ya, saya tahu - dan saya membaca "solusi saat ini" tentang menurunkan versi ke 14.6.0 . Namun, ini adalah penghalang bagi saya saat ini, karena paket lain sudah bergantung pada 15.0 , jadi saya cukup mandek..

Semua yang terbaik

Masalah ini BENAR-BENAR buruk. Kok masih belum fix??

Barusan juga ngalamin ini...

Satu-satunya cara bagi saya untuk mengatasinya adalah dengan menurunkan versi graphql ke 14.6.0

Saya mengalami kesalahan ini karena saya memiliki dir functions untuk fungsi cloud di dalam root proyek saya, yang memiliki node_modules sendiri untuk klien. Klien menggunakan 14 seri, dan server menggunakan 15 seri.

Saya memecahkan masalah dengan patch-package

tambahkan file bernama functions/patches/graphql+15.0.0.patch dengan konten ini:

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

lalu tambahkan npx patch-package ke postinstall

tambalan hanya memengaruhi pengetikan ts sehingga tampaknya pada awalnya blush menjadi solusi yang aman sampai hulu menyelesaikan masalah.

Ya, saya harus kembali ke

"graphql": "^14.6.0"

Dari

"graphql": "10.0.0",

Untuk mendapatkan ini bekerja.

@gaberudy apakah kita akan melihat pembaruan untuk ini? Sekarang sudah buka selama 3 bulan.

Juga bisakah itu dikunci agar kami tidak terus mendapatkan komentar "Saya harus mengembalikan"?

Saya juga harus menurunkan versi dari 15 menjadi 14.6.0

Apakah ini mungkin diperbaiki oleh https://github.com/apollographql/apollo-link/pull/1263 tetapi belum sepenuhnya disebarkan ke paket yang bergantung padanya?

@abernix yang terhormat, terima kasih telah menunjukkan hal ini. Sepertinya masalah asli telah diatasi dan diperbaiki. Namun, apollo-client belum dan sekarang menimbulkan kesalahan yang sama :laughing:

@OmgImAlexis

apakah kita akan melihat pembaruan untuk ini? Sekarang sudah buka selama 3 bulan.

Saya pikir Anda melewatkan tahun 2019 ;-) Sudah lebih dari setahun.

Versi resolusi & ketergantungan di bawah ini memperbaikinya untuk saya - yang paling penting resolusi apollo-link menjadi ^1.2.14 . Ini akan memaksa paket apa pun yang menggunakan apollo-link untuk menggunakan versi terbaru (terlepas dari apa yang ditentukan dalam dependensinya). Bagi saya itu adalah paket aws-appsync yang disematkan ke "apollo-link": "1.2.3"

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

Saya baru saja mendapatkan masalah ini. Harus downgrade juga. Bagaimana masalah seperti itu masih ada di sini?

Memang.. menurunkan versi ke [email protected] memperbaiki masalah saya juga.

Memiliki masalah tipe generik ini dengan TypeScript di [email protected]

@david-wb terima kasih berfungsi dengan baik setelah diturunkan ke 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>>;
                   ~~~~~~~~~~~~~~~~~~~~~~

Saya memiliki kesalahan di atas dengan "graphql": "^15.0.0" , setelah menurunkan versi ke "graphql": "^14.6.0" dan melakukan npm install berhasil untuk saya

Ini telah diatasi di https://github.com/apollographql/apollo-client/pull/6258. Jika ada yang masih mengalami masalah ini, coba perbarui ke [email protected] . Terima kasih!

menggunakan [email protected] tidak berhasil untuk saya

@moritzewert apakah Anda masih melihat kesalahan ExecutionResult atau yang lainnya? Bisakah Anda memposting output dari menjalankan: npx envinfo<strong i="7">@latest</strong> --preset apollo

Halo @hwillson ,
Saya melihat masalah ini setelah memutakhirkan graphql dari 14.6.0 ke 15.0.0 .
kesalahan:

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

Ini envinfo saya:

$ 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

Terima kasih!

Apakah halaman ini membantu?
0 / 5 - 0 peringkat