UNPKG

@rajzik/config-eslint

Version:
108 lines (107 loc) 3.81 kB
"use strict"; const core_1 = require("@beemo/core"); const lumos_common_1 = require("@rajzik/lumos-common"); const config = { root: true, parser: 'babel-eslint', parserOptions: { requireConfigFile: false, }, extends: ['airbnb', 'plugin:jsx-a11y/recommended'], plugins: ['import', 'react', 'react-hooks'], globals: { __DEV__: 'readonly', // Metrics and analytics providers ga: 'readonly', newrelic: 'readonly', // Mostly for easier compatibility between browsers, workers, etc global: 'readonly', // Mostly references to `process.env.NODE_ENV` process: 'readonly', // references for globalThis globalThis: 'readonly', // Webpack variables __webpack_public_path__: 'writeable', __webpack_require__: 'readonly', __webpack_chunk_load__: 'readonly', __webpack_modules__: 'readonly', __webpack_hash__: 'readonly', __non_webpack_require__: 'readonly', __webpack_exports_info__: 'readonly', DEBUG: 'readonly', }, env: { browser: true, node: false, }, reportUnusedDisableDirectives: true, settings: { propWrapperFunctions: ['forbidExtraProps', 'exact', 'Object.freeze'], 'import/ignore': [ 'node_modules', '\\.json$', lumos_common_1.ASSET_EXT_PATTERN.source, lumos_common_1.CSS_EXT_PATTERN.source, lumos_common_1.GQL_EXT_PATTERN.source, ], 'import/extensions': lumos_common_1.EXTS, 'import/resolver': { node: { extensions: lumos_common_1.EXTS, }, [core_1.Path.resolve('../resolvers/graphql.js', __dirname).path()]: { extensions: ['.gql', '.graphql'], }, }, }, rules: { 'react-hooks/exhaustive-deps': 'error', 'react-hooks/rules-of-hooks': 'error', }, overrides: [ { files: [`*.test.${lumos_common_1.EXTS_GROUP}`], plugins: ['jest'], globals: { jsdom: 'readonly', }, env: { jest: true, node: true, }, rules: { 'max-classes-per-file': 'off', 'no-magic-numbers': 'off', 'sort-keys': 'off', // JEST 'jest/expect-expect': 'error', 'jest/no-alias-methods': 'error', 'jest/no-disabled-tests': 'error', 'jest/no-duplicate-hooks': 'error', 'jest/no-expect-resolves': 'error', 'jest/no-export': 'error', 'jest/no-focused-tests': 'error', 'jest/no-identical-title': 'error', 'jest/no-if': 'error', 'jest/no-jasmine-globals': 'error', 'jest/no-jest-import': 'error', 'jest/no-standalone-expect': 'error', 'jest/no-test-prefixes': 'error', 'jest/no-test-return-statement': 'error', 'jest/prefer-hooks-on-top': 'error', 'jest/prefer-spy-on': 'error', 'jest/prefer-todo': 'error', 'jest/prefer-to-be-null': 'error', 'jest/prefer-to-be-undefined': 'error', 'jest/prefer-to-contain': 'error', 'jest/prefer-to-have-length': 'error', 'jest/require-to-throw-message': 'error', 'jest/require-top-level-describe': 'error', 'jest/valid-describe': 'error', 'jest/valid-expect': 'error', 'jest/valid-title': 'error', }, }, ], }; module.exports = config;