<p>apollo-link 1.2.5/1.2.6 вызывает ошибки компиляции машинописного текста</p>

Созданный на 16 янв. 2019  ·  39Комментарии  ·  Источник: apollographql/apollo-link

Представлено с этим PR:
https://github.com/apollographql/аполло-ссылка/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.

Самый полезный комментарий

Я обнаружил, что понижение версии graphql с 15.0.0 до 14.6.0 решает проблему.

Все 39 Комментарий

Хорошо, похоже, что код все еще находится на DefinitelyTyped, поэтому код, представленный в # 804, все еще должен быть правильным.

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

Вам нужно будет убедиться, что ваш @types/graphql обновлен.

@syndesis обнаружил, что использует @types/graphql 0.12.6, которому 10 месяцев. https://www.npmjs.com/package/@types/graphql

Глядя, чтобы увидеть требование минимальной версии сейчас.

Достаточно справедливо, если требуется более новая библиотека graphql, я также могу использовать более старую версию из-за других зависимостей библиотеки.

@gaberudy , мы сейчас общаемся в #contributing в slack, если вы хотите присоединиться

@gaberudy ты тоже используешь apollo-link-dedup?

У меня такая же проблема при импорте пакета graphql-tools 😢

Вы можете обойти эту проблему с помощью раздела resolutions , подобного этому, в вашем package.json:

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

Закрытие этого, поскольку оно решено, если у кого-то все еще есть проблема после предложенного исправления с разрешениями, не стесняйтесь снова открывать.

Вы можете обойти эту проблему с помощью раздела resolutions , подобного этому, в вашем package.json:

"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 работает для меня, обновление моих приложений не сработало

Этот пакет не работает с последней версией 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 нет и теперь выдает те же ошибки :смеется:

@OmgImAlexis

мы когда-нибудь увидим это обновление? Он открыт уже 3 месяца.

Я думаю, что вы пропустили 2019 год ;-) Прошло уже больше года.

Приведенные ниже разрешения и версии зависимостей исправили это для меня - самое главное, разрешение apollo-link до ^1.2.14 . Это заставит любой пакет, использующий apollo-link, использовать последнюю версию (независимо от того, что он указывает в своих зависимостях). Для меня это был пакет aws-appsync , прикрепленный к «apollo-link»: «1.2.3»

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

Я только что получил эту проблему. Пришлось тоже понизить. Как такая проблема все еще может быть здесь?

Действительно... переход на [email protected] решил проблему и для меня.

Наличие этой общей проблемы с машинописным текстом на [email protected]

@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": "^15.0.0" , после понижения до "graphql": "^14.6.0" и выполнения npm install у меня сработало

Это было рассмотрено в 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

Вот моя инфа:

$ 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

Спасибо!

Была ли эта страница полезной?
0 / 5 - 0 рейтинги