add relay eslint plugin

This commit is contained in:
João Geonizeli
2021-08-14 11:37:55 -03:00
parent 4922994da6
commit 249925e176
5 changed files with 95 additions and 107 deletions

View File

@@ -1,5 +1,5 @@
{
"extends": ["vtex"],
"extends": ["vtex", "plugin:relay/recommended"],
"ignorePatterns": [
"__mocks__/",
"__generated__/"
@@ -9,5 +9,9 @@
"files": ["**/*.tsx"],
"extends": ["vtex-react"]
}
]
],
"rules": {
"relay/generated-flow-types": "false"
},
"plugins": ["relay"]
}

View File

@@ -30,20 +30,14 @@ export const Exchange: FC = () => {
fiatBalances {
edges {
node {
id
amountCents
amountCurrency
}
}
}
balances {
edges {
node {
id
amount
currency {
name
}
}
}
}

View File

@@ -8,20 +8,14 @@ export type ExchangeQueryResponse = {
readonly fiatBalances: {
readonly edges: ReadonlyArray<{
readonly node: {
readonly id: string;
readonly amountCents: number;
readonly amountCurrency: string;
};
}>;
};
readonly balances: {
readonly edges: ReadonlyArray<{
readonly node: {
readonly id: string;
readonly amount: string;
readonly currency: {
readonly name: string;
};
};
}>;
};
@@ -38,25 +32,20 @@ query ExchangeQuery {
fiatBalances {
edges {
node {
id
amountCents
amountCurrency
id
}
}
}
balances {
edges {
node {
id
amount
currency {
name
id
}
}
}
}
}
*/
const node: ConcreteRequest = (function(){
@@ -64,10 +53,109 @@ var v0 = {
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "id",
"name": "amountCents",
"storageKey": null
},
v1 = {
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "amount",
"storageKey": null
},
v2 = {
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "id",
"storageKey": null
};
return {
"fragment": {
"argumentDefinitions": [],
"kind": "Fragment",
"metadata": null,
"name": "ExchangeQuery",
"selections": [
{
"alias": null,
"args": null,
"concreteType": "FiatBalanceConnection",
"kind": "LinkedField",
"name": "fiatBalances",
"plural": false,
"selections": [
{
"alias": null,
"args": null,
"concreteType": "FiatBalanceEdge",
"kind": "LinkedField",
"name": "edges",
"plural": true,
"selections": [
{
"alias": null,
"args": null,
"concreteType": "FiatBalance",
"kind": "LinkedField",
"name": "node",
"plural": false,
"selections": [
(v0/*: any*/)
],
"storageKey": null
}
],
"storageKey": null
}
],
"storageKey": null
},
{
"alias": null,
"args": null,
"concreteType": "BalanceConnection",
"kind": "LinkedField",
"name": "balances",
"plural": false,
"selections": [
{
"alias": null,
"args": null,
"concreteType": "BalanceEdge",
"kind": "LinkedField",
"name": "edges",
"plural": true,
"selections": [
{
"alias": null,
"args": null,
"concreteType": "Balance",
"kind": "LinkedField",
"name": "node",
"plural": false,
"selections": [
(v1/*: any*/)
],
"storageKey": null
}
],
"storageKey": null
}
],
"storageKey": null
}
],
"type": "Query",
"abstractKey": null
},
"kind": "Request",
"operation": {
"argumentDefinitions": [],
"kind": "Operation",
"name": "ExchangeQuery",
"selections": [
{
"alias": null,
"args": null,
"concreteType": "FiatBalanceConnection",
@@ -92,20 +180,7 @@ v1 = {
"plural": false,
"selections": [
(v0/*: any*/),
{
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "amountCents",
"storageKey": null
},
{
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "amountCurrency",
"storageKey": null
}
(v2/*: any*/)
],
"storageKey": null
}
@@ -115,28 +190,6 @@ v1 = {
],
"storageKey": null
},
v2 = {
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "amount",
"storageKey": null
},
v3 = {
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "name",
"storageKey": null
};
return {
"fragment": {
"argumentDefinitions": [],
"kind": "Fragment",
"metadata": null,
"name": "ExchangeQuery",
"selections": [
(v1/*: any*/),
{
"alias": null,
"args": null,
@@ -160,80 +213,9 @@ return {
"kind": "LinkedField",
"name": "node",
"plural": false,
"selections": [
(v0/*: any*/),
(v2/*: any*/),
{
"alias": null,
"args": null,
"concreteType": "Currency",
"kind": "LinkedField",
"name": "currency",
"plural": false,
"selections": [
(v3/*: any*/)
],
"storageKey": null
}
],
"storageKey": null
}
],
"storageKey": null
}
],
"storageKey": null
}
],
"type": "Query",
"abstractKey": null
},
"kind": "Request",
"operation": {
"argumentDefinitions": [],
"kind": "Operation",
"name": "ExchangeQuery",
"selections": [
(v1/*: any*/),
{
"alias": null,
"args": null,
"concreteType": "BalanceConnection",
"kind": "LinkedField",
"name": "balances",
"plural": false,
"selections": [
{
"alias": null,
"args": null,
"concreteType": "BalanceEdge",
"kind": "LinkedField",
"name": "edges",
"plural": true,
"selections": [
{
"alias": null,
"args": null,
"concreteType": "Balance",
"kind": "LinkedField",
"name": "node",
"plural": false,
"selections": [
(v0/*: any*/),
(v2/*: any*/),
{
"alias": null,
"args": null,
"concreteType": "Currency",
"kind": "LinkedField",
"name": "currency",
"plural": false,
"selections": [
(v3/*: any*/),
(v0/*: any*/)
],
"storageKey": null
}
(v2/*: any*/)
],
"storageKey": null
}
@@ -246,14 +228,14 @@ return {
]
},
"params": {
"cacheID": "7a42b2fc93f97505aaaf21867de36321",
"cacheID": "bb1b8283beba2daf38bacec716816383",
"id": null,
"metadata": {},
"name": "ExchangeQuery",
"operationKind": "query",
"text": "query ExchangeQuery {\n fiatBalances {\n edges {\n node {\n id\n amountCents\n amountCurrency\n }\n }\n }\n balances {\n edges {\n node {\n id\n amount\n currency {\n name\n id\n }\n }\n }\n }\n}\n"
"text": "query ExchangeQuery {\n fiatBalances {\n edges {\n node {\n amountCents\n id\n }\n }\n }\n balances {\n edges {\n node {\n amount\n id\n }\n }\n }\n}\n"
}
};
})();
(node as any).hash = '80cac44f2e6288dfb573d0037b7d4148';
(node as any).hash = '517d3bf7bc6330021f8eb615e78417f5';
export default node;

View File

@@ -47,6 +47,7 @@
"eslint": "^7.32.0",
"eslint-config-vtex": "^14.1.0",
"eslint-config-vtex-react": "^8.1.0",
"eslint-plugin-relay": "^1.8.2",
"graphql": "^15.5.1",
"prettier": "^2.3.2",
"relay-compiler": "^11.0.2",

9
yarn.lock generated
View File

@@ -3563,6 +3563,13 @@ eslint-plugin-react@^7.20.6:
resolve "^2.0.0-next.3"
string.prototype.matchall "^4.0.5"
eslint-plugin-relay@^1.8.2:
version "1.8.2"
resolved "https://registry.yarnpkg.com/eslint-plugin-relay/-/eslint-plugin-relay-1.8.2.tgz#925f59231e39dfc076b3cbb39ef793c13381579e"
integrity sha512-bqIfXJnPMd6iHPitONSi8JqxrWQWaX4Rqk1shusKDlUu5vswUgoqOEGgqE8nDu6SmejBUZMz0vY+ROvq5wqOsw==
dependencies:
graphql "^14.0.0 || ^15.0.0"
eslint-plugin-vtex@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-vtex/-/eslint-plugin-vtex-2.1.0.tgz#cb328b5d6f4bba400cf57d5dca679985ac768e2a"
@@ -4256,7 +4263,7 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee"
integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==
graphql@^15.5.1:
"graphql@^14.0.0 || ^15.0.0", graphql@^15.5.1:
version "15.5.1"
resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.5.1.tgz#f2f84415d8985e7b84731e7f3536f8bb9d383aad"
integrity sha512-FeTRX67T3LoE3LWAxxOlW2K3Bz+rMYAC18rRguK4wgXaTZMiJwSUwDmPFo3UadAKbzirKIg5Qy+sNJXbpPRnQw==