UNPKG

2.73 kBJavaScriptView Raw
1"use strict";
2
3var _graphql = require("graphql");
4
5module.exports = schema => {
6 return {
7 useEslintrc: false,
8 resolvePluginsRelativeTo: __dirname,
9 baseConfig: {
10 globals: {
11 graphql: true,
12 __PATH_PREFIX__: true,
13 __BASE_PATH__: true // this will rarely, if ever, be used by consumers
14
15 },
16 extends: [require.resolve(`eslint-config-react-app`)],
17 plugins: [`graphql`],
18 rules: {
19 "import/no-webpack-loader-syntax": [0],
20 "graphql/template-strings": [`error`, {
21 env: `relay`,
22 schemaString: (0, _graphql.printSchema)(schema, {
23 commentDescriptions: true
24 }),
25 tagName: `graphql`
26 }],
27 // https://github.com/evcohen/eslint-plugin-jsx-a11y/tree/master/docs/rules
28 "jsx-a11y/accessible-emoji": `warn`,
29 "jsx-a11y/alt-text": `warn`,
30 "jsx-a11y/anchor-has-content": `warn`,
31 "jsx-a11y/anchor-is-valid": `warn`,
32 "jsx-a11y/aria-activedescendant-has-tabindex": `warn`,
33 "jsx-a11y/aria-props": `warn`,
34 "jsx-a11y/aria-proptypes": `warn`,
35 "jsx-a11y/aria-role": `warn`,
36 "jsx-a11y/aria-unsupported-elements": `warn`,
37 // TODO: It looks like the `autocomplete-valid` rule hasn't been published yet
38 // "jsx-a11y/autocomplete-valid": [
39 // "warn",
40 // {
41 // inputComponents: [],
42 // },
43 // ],
44 "jsx-a11y/click-events-have-key-events": `warn`,
45 "jsx-a11y/heading-has-content": `warn`,
46 "jsx-a11y/html-has-lang": `warn`,
47 "jsx-a11y/iframe-has-title": `warn`,
48 "jsx-a11y/img-redundant-alt": `warn`,
49 "jsx-a11y/interactive-supports-focus": `warn`,
50 "jsx-a11y/label-has-associated-control": `warn`,
51 "jsx-a11y/lang": `warn`,
52 "jsx-a11y/media-has-caption": `warn`,
53 "jsx-a11y/mouse-events-have-key-events": `warn`,
54 "jsx-a11y/no-access-key": `warn`,
55 "jsx-a11y/no-autofocus": `warn`,
56 "jsx-a11y/no-distracting-elements": `warn`,
57 "jsx-a11y/no-interactive-element-to-noninteractive-role": `warn`,
58 "jsx-a11y/no-noninteractive-element-interactions": `warn`,
59 "jsx-a11y/no-noninteractive-element-to-interactive-role": `warn`,
60 "jsx-a11y/no-noninteractive-tabindex": `warn`,
61 "jsx-a11y/no-onchange": `warn`,
62 "jsx-a11y/no-redundant-roles": `warn`,
63 "jsx-a11y/no-static-element-interactions": `warn`,
64 "jsx-a11y/role-has-required-aria-props": `warn`,
65 "jsx-a11y/role-supports-aria-props": `warn`,
66 "jsx-a11y/scope": `warn`,
67 "jsx-a11y/tabindex-no-positive": `warn`
68 }
69 }
70 };
71};
72//# sourceMappingURL=eslint-config.js.map
\No newline at end of file