fleet/.eslintrc.js
Gabe Hernandez d0ded91d0b partial implementation of user table with generic table and new create user form (#500)
* use new data table in user manage page'

* remove default empty array hiddenColumns props, was causing render performance problems

* remove unused tooltip in hostcontainer

* add search to user manage table

* add query params to user GET requests

* move createUserForm closer to user management page

* starting to implement create user modal

* starting to add team checking functionality to create user

* styling of select team form

* changing logic for selectedTeamsForm, simplifying

* updated SelectedTeamsForm to handle own state and pass back relevant state to parent

* created reusable infobanner component and use it in osquery options page

* use infobanner in createuserform

* create new Radio component and use in createuserform

* create new Radio component and use in createuserform

* added new radio buttons to createUserForm

* finish custom radio button styling

* finish styling of radio in createUserForm

* fix and add entities/users#loadAll tests

* remove unneeded tests and updated broken ones on UserManagementPage

* remove unused modules
2021-03-31 11:58:29 -07:00

92 lines
3.1 KiB
JavaScript

var path = require('path');
module.exports = {
extends: [
'airbnb',
'plugin:jest/recommended',
'plugin:react-hooks/recommended',
'plugin:@typescript-eslint/recommended',
'plugin:cypress/recommended',
],
parser: '@typescript-eslint/parser',
plugins: [
'jest',
'react',
'@typescript-eslint',
],
env: {
node: true,
mocha: true,
browser: true,
'jest/globals': true,
},
globals: {
expect: false,
describe: false,
},
rules: {
camelcase: 'off',
'consistent-return': 1,
'arrow-body-style': 0,
'max-len': 0,
'no-unused-expressions': 0,
'no-console': 0,
'space-before-function-paren': 0,
'react/prefer-stateless-function': 0,
'react/no-multi-comp': 0,
'react/no-unused-prop-types': [1, { customValidators: [], skipShapeProps: true }],
'react/require-default-props': 0, // TODO set default props and enable this check
'react/jsx-filename-extension': [1, { extensions: ['.jsx', '.tsx'] }],
'no-param-reassign': 0,
'new-cap': 0,
'import/no-unresolved': [2, { caseSensitive: false }],
'linebreak-style': 0,
'import/no-named-as-default': 'off',
'import/no-named-as-default-member': 'off',
'import/extensions': 0,
'import/no-extraneous-dependencies': 0,
'no-underscore-dangle': 0,
'jsx-a11y/no-static-element-interactions': 'off',
// note you must disable the base rule as it can report incorrect errors. more info here:
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-use-before-define.md
'no-use-before-define': 'off',
'@typescript-eslint/no-use-before-define': ['error'],
// turn off and override to not run this on js and jsx files. More info here:
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/explicit-module-boundary-types.md#configuring-in-a-mixed-jsts-codebase
'@typescript-eslint/explicit-module-boundary-types': 'off',
// Most of the js modules written by us need to be rewritten into TS. Until then
// we use ts-ignore comment to ignore the error TS gives us from not having those modules
// declared (TS7016). This is done on purpose as there is not time to rewrite everything in TS.
'@typescript-eslint/ban-ts-comment': 'off',
'no-shadow': 'off', // replaced by ts-eslint rule below
'@typescript-eslint/no-shadow': 'error',
// There is a bug with these rules in our version of jsx-a11y plugin (5.1.1)
// To upgrade our version of the plugin we would need to make more changes
// with eslint-config-airbnb, so we will just turn off for now.
'jsx-a11y/heading-has-content': 'off',
'jsx-a11y/anchor-has-content': 'off',
},
overrides: [
{
files: ['*.ts', '*.tsx'],
rules: {
// Set to warn for now at the beginning to make migration easier
// but want to change this to error when we can.
'@typescript-eslint/explicit-module-boundary-types': ['warn'],
},
},
],
settings: {
'import/resolver': {
webpack: {
config: path.join(__dirname, 'webpack.config.js'),
},
},
},
};