このPRで紹介されました:
https://github.com/apollographql/apollo-link/pull/804
ExecutionResult<TData>
は、最新のタイプスクリプトコンパイラでエラーをスローします。
私のタイプスクリプトエラー:
../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.
わかりました。コードはまだDefinitelyTypedにあるようです。したがって、#804で導入されたコードはまだ正しいはずです。
/**
* 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;
}
@ types / graphqlが最新であることを確認する必要があります。
@syndesisは、生後10か月の@ types /graphql0.12.6を使用していることを発見しました。 https://www.npmjs.com/package/@types/graphql
最小バージョンの要件を今すぐ確認してください。
新しいgraphqllibが必要な場合は十分に公平ですが、他のライブラリの依存関係のために古いバージョンを使用している可能性もあります。
@gaberudy参加したい場合は、今すぐSlackで#contributingでチャットしています
@gaberudyもapollo-link-dedupを使用していますか?
graphql-tools
パッケージをインポートするときにも同じ問題が発生します😢
package.jsonの次のようなresolutions
セクションを使用して、この問題を回避できます。
"resolutions": {
"apollo-link-dedup": "^1.0.13",
"@types/graphql": "^14.0.0"
}
解決されたのでこれを閉じます。解決策の提案された修正後も問題が解決しない場合は、自由に再開してください。
package.jsonの次のような
resolutions
セクションを使用して、この問題を回避できます。"resolutions": { "apollo-link-dedup": "^1.0.13", "@types/graphql": "^14.0.0" }
残念ながら、これは私にとって問題を解決しませんでした
この問題はまだ解決されませんでした
これは、最新のパッケージにアップグレードした後に発生します。 これを再開してもらえますか?
提案された解決策は機能せず、重複排除を使用していません。
同じ問題があります。
私はすでに試しました:
他に何か提案はありますか?
この問題の修正はありますか?
@ qin-guan依存関係をアップグレードする必要がありますが、推移的な依存関係もアップグレードするようにしてください。 これを行う最も簡単な方法は、node_modulesとロックファイルを削除してから、再度インストールすることです。 ロックファイルを削除しないと、実際には古いバージョンでスタックする可能性があります(https://github.com/yarnpkg/yarn/issues/4986を参照)。
私は、graphqlを15.0.0-> 14.6.0からダウングレードすると問題が解決することを発見しました。
@ PowerKiKi 、@ david-wbのソリューションは私のために機能し、私のdepsのアップグレードは機能しませんでした
このパッケージは、最新のgraphql: ^15.0.0
バージョンで壊れます。 後者を修正する方法について何かアイデアはありますか?
@johannesschobelは、コメントする前に読んでみてください。 今のところダウングレードする必要があります。
親愛なる@OmgImAlexis 、
ええ、私は知っています-そして私は14.6.0
へのダウングレードに関する「現在の回避策」を読みました。 ただし、他のパッケージはすでに15.0
に依存しているため、これは私にとって現在の障害であり、私はかなり行き詰まっています。
ではごきげんよう
この問題は本当に悪いです。 どうしてまだ直っていないの?
これにも出くわしました...
これを回避する唯一の方法は、graphqlを14.6.0
にダウングレードすることでした。
このエラーが発生したのは、プロジェクトルート内にクラウド関数用のfunctions
ディレクトリがあり、クライアント用に独自のnode_modules
があるためです。 クライアントは14シリーズを使用しており、サーバーは15シリーズを使用しています。
patch-package
で問題を解決しました
このコンテンツを含むfunctions/patches/graphql+15.0.0.patch
というファイルを追加します。
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 = {
次に、 npx patch-package
をpostinstall
に追加します
パッチはtsタイピングにのみ影響するため、アップストリームが問題を解決するまで、最初は安全な解決策であるように思われます。
はい、私はに戻らなければなりませんでした
"graphql": "^14.6.0"
から
"graphql": "10.0.0",
これを機能させるため。
@gaberudyこれまでに更新が表示されますか? 現在3ヶ月間営業しております。
また、「元に戻さなければならなかった」というコメントが表示され続けないようにロックすることはできますか?
また、15から14.6.0にダウングレードする必要がありました
これはhttps://github.com/apollographql/apollo-link/pull/1263によって修正された可能性がありますが、それに依存するパッケージにはまだ完全には反映されていませんか?
親愛なる@abernix 、これを指摘してくれてありがとう。 元の問題が解決され、修正されたようです。 ただし、 apollo-client
は同じエラーをスローしませんでしたが、現在は同じエラーをスローします:laughing:
@OmgImAlexis
これに対する更新が表示されることはありますか? 現在3ヶ月間営業しております。
2019年を逃したと思います;-)もう1年以上経ちました。
以下の解像度と依存関係のバージョンは私のためにそれを修正しました-最も重要なのはapollo-link
の解像度を^1.2.14
に修正しました。 これにより、apollo-linkを使用するすべてのパッケージが、(依存関係で指定されているものに関係なく)最新バージョンを使用するように強制されます。 私にとっては、 「apollo-link」に固定されたaws-appsync
パッケージでした:「1.2.3」
"resolutions": {
"apollo-link": "^1.2.14"
},
"dependencies": {
"graphql": "^14.6.0",
}
この問題が発生しました。 ダウングレードもしなければなりませんでした。 どうしてそのような問題がまだここにあるのでしょうか?
確かに..graphql @ 14.6.0にダウングレードすると、私にとっても問題が修正されました。
[email protected]のtypescriptでこのジェネリック型の問題が発生している
@ david-wb 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>>;
~~~~~~~~~~~~~~~~~~~~~~
"graphql": "^14.6.0"
にダウングレードし、$ npm install
$を実行した後、 "graphql": "^15.0.0"
で上記のエラーが発生しました。
これはhttps://github.com/apollographql/apollo-client/pull/6258で対処されています。 それでもこの問題が発生する場合は、 [email protected]
に更新してみてください。 ありがとう!
[email protected]を使用してもうまくいきませんでした
@moritzewertまだExecutionResult
エラーなどが表示されていますか? ランニングの出力を投稿できますか: npx envinfo<strong i="7">@latest</strong> --preset apollo
こんにちは@hwillson 、
graphqlを14.6.0
から15.0.0
にアップグレードした後、この問題が発生します。
エラー:
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
これが私の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
ありがとう!
最も参考になるコメント
私は、graphqlを15.0.0-> 14.6.0からダウングレードすると問題が解決することを発見しました。