Skip to content

Commit

Permalink
fix: Re-use eslint rules from @gliff-ai/eslint-config (#258)
Browse files Browse the repository at this point in the history
  • Loading branch information
SilviaZeta authored Jul 28, 2022
1 parent 527e64b commit b274d28
Show file tree
Hide file tree
Showing 3 changed files with 67 additions and 53 deletions.
61 changes: 8 additions & 53 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,58 +1,13 @@
module.exports = {
root: true,
parser: "@typescript-eslint/parser",
extends: ["@gliff-ai"],
parserOptions: {
tsconfigRootDir: __dirname,
project: ["./tsconfig.json"]
project: ["./tsconfig.json"],
},
plugins: ["@typescript-eslint", "mui-unused-classes"],
extends: ["eslint:recommended", "airbnb-typescript", "plugin:@typescript-eslint/recommended", "plugin:@typescript-eslint/recommended-requiring-type-checking", "prettier", "plugin:storybook/recommended"],
overrides: [{
files: ["*.ts", "*.tsx"],
rules: {
"global-require": 0,
"import/extensions": 0,
"@typescript-eslint/no-var-requires": 0,
"mui-unused-classes/unused-classes": 2,
"no-void": ["error", {
allowAsStatement: true
}],
"react/react-in-jsx-scope": "off",
// This isn't true as of React 17
"react/jsx-indent": "off",
// this just argues with prettier, and we validate against prettier anyway
"react/destructuring-assignment": "off",
// This would be nice, but we call a lot of methods on props we pass down which rules it out
"import/prefer-default-export": "off",
// Most of the internet agrees this should be off
"no-restricted-syntax": [// AirBnb don't allow for...of loops. We do, but still want to restrict the rest. Huge argument here: https://github.com/airbnb/javascript/issues/1271
"error", {
selector: "ForInStatement",
message: "for..in loops iterate over the entire prototype chain, which is virtually never what you want. Use Object.{keys,values,entries}, and iterate over the resulting array."
}, {
selector: "LabeledStatement",
message: "Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand."
}, {
selector: "WithStatement",
message: "`with` is disallowed in strict mode because it makes code impossible to predict and optimize."
}],
"react/static-property-placement": [2, "static public field"],
"no-param-reassign": [2, {
props: false
}]
}
}, {
files: ["./*.js"],
rules: {
"@typescript-eslint/no-var-requires": "off"
overrides: [
{
files: ["*.ts", "*.tsx"],
rules: {},
},
env: {
node: true
}
}, {
files: ["*.test.*", "*.spec.*"],
rules: {
"@typescript-eslint/no-unsafe-member-access": "off"
}
}]
};
],
};
58 changes: 58 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
"@babel/core": "^7.18.6",
"@emotion/react": "^11.9.3",
"@emotion/styled": "^11.9.3",
"@gliff-ai/eslint-config": "^0.2.4",
"@mui/icons-material": "^5.8.4",
"@mui/material": "^5.9.0",
"@mui/styles": "^5.9.0",
Expand Down

0 comments on commit b274d28

Please sign in to comment.