typescript - @graphql-eslint/eslint-plugin fel
Vi utvecklar mikrotjänster i NestJS-typescript, var och en av dem exponerar ett GraphQL-schema. För att exponera ett enda graf använder vi en federeringstjänst, även den i NestJS.
Jag försökte integrera med '@graphql-eslint/eslint-plugin' och några konstiga undantag kastades:
Okänd direktiv "@key"
De felen löstes genom att följa ett GitHub-ärende: https://github.com/cjoudrey/graphql-schema-linter/issues/210
Jag har skapat en ny fil med typspecifikationerna enligt Apollo-dokumentationen: https://www.apollographql.com/docs/federation/federation-spec/#federation-schema-specification
Efter att ha löst detta problem får jag några fler fel som jag inte har någon aning om vad de betyder och hur man löser dem:
Parsningfel: Kan inte utöka typ "Query" eftersom den inte är definierad. Menade du "User"?
Kan inte utöka typen "Mutation" eftersom den inte är definierad.
Okänd typ "Query". Menade du "User"?
Okänd typ "Mutation".eslint
Detta är mitt schema:
extend type Query {
users: [User]
user(email: EmailAddress!): User
}
extend type Mutation {
createUser(userData: UserData!): User
}
type User @key(fields: "email") {
email: String!
name: String
}
input UserData {
email: String!
name: String
}
Har någon en idé om varför jag får de där felen?
Svar #1
Som felet anger är "Query" och "Mutation" inte definierade.
Det måste först definieras innan det utvidgas, så här:
type Query {
_empty: String
}
type Mutation {
_empty: String
}
