Я работаю над реализацией сшивания схемы в проекте NodeJS / Apollo / GraphQL, над которым я работаю. Он написан на TypeScript.
Код -
import {
makeRemoteExecutableSchema,
introspectSchema,
mergeSchemas
} from 'graphql-tools';
import { HttpLink } from 'apollo-link-http';
import fetch from 'node-fetch';
export default async () => {
const link = new HttpLink({
uri:'http://localhost:4545',
fetch
})
const remoteSchema = await introspectSchema(link);
// Make remote executable schema
return makeRemoteExecutableSchema({
schema: remoteSchema,
link
});
}
, и он жалуется, что
.
Ссылочный раздел файла типов:
export interface HttpOptions {
uri?: string | UriFunction;
includeExtensions?: boolean;
fetch?: WindowOrWorkerGlobalScope['fetch'];
headers?: any;
credentials?: string;
fetchOptions?: any;
}
Кажется, это ошибка , которая была исправлена , но здесь она не исправлена, хотя Я использую последние версии, и строка
fetch?: WindowOrWorkerGlobalScope['fetch'];
, кажется, является тем, что рекомендуется для одного из обходных путей, следовательно, оно должно быть исправлено.
Что бы это ни стоило, мои package.json
-
{
"dependencies": {
"apollo-datasource-graphql": "^1.3.2",
"apollo-datasource-rest": "^0.7.0",
"apollo-link-http": "^1.5.16",
"apollo-server": "^2.10.1",
"axios": "^0.19.2",
"dotenv": "^8.2.0",
"graphql": "^14.6.0",
"graphql-tools": "^4.0.7",
"https-proxy-agent": "^5.0.0",
"node-fetch": "^2.6.0",
"uuid": "^7.0.1"
},
"devDependencies": {
"@types/node": "^13.9.1",
"@types/ramda": "^0.26.43",
"babel-eslint": "^10.0.3",
"eslint": "^6.8.0",
"eslint-config-airbnb-base": "^14.0.0",
"eslint-config-prettier": "^6.10.0",
"eslint-plugin-prettier": "^3.1.2",
"pino": "^5.16.0",
"prettier": "^1.19.1",
"ramda": "^0.26.1",
"typescript": "^3.8.3"
},
"scripts": {
"dev": "tsc && node dist/index.js"
}
}
Любые подсказки очень ценятся!