eslint-config-traitify v0.4.0
Traitify's Javascript Style Guide
Note: This guide just outlines the differences from Airbnb's Guide
Rules
"arrow-parens": ["error", "always"]Consistency
"babel/object-curly-spacing": "error"Replace non-babel version
"class-methods-use-this": "off"Allows methods to be overridden
"comma-dangle": ["error", "never"]Unnecessary
"consistent-return": "off"Makes it hard to return early for conditionals
"func-names": "off"Unnecessary and unused with arrow functions
Deprecated
"jsx-a11y/label-has-for": ["error", { components: [], required: { some: ["nesting", "id"], }, allowChildren: false, }]Unnecessary to have nesting for both
"keyword-spacing": ["error", { before: false, after: false, overrides: { as: {before: true, after: true}, case: {before: true, after: true}, catch: {before: true}, const: {before: true, after: true}, default: {before: true, after: true}, else: {before: true, after: true}, export: {before: true, after: true}, from: {before: true, after: true}, import: {before: true, after: true}, let: {before: true, after: true}, return: {before: true, after: true}, this: {before: true, after: true}, try: {before: true, after: true} } }]Whitespace - Preference
"lines-between-class-members": ["error", "never"]Whitespace - Preference
"no-else-return": "off"Allows more functional styles
"no-multiple-empty-lines": ["error", {max: 1, maxBOF: 0, maxEOF: 0}]Little stricter
"no-underscore-dangle": "off"Doesn't allow
const key = _key.toLowerCase()"no-unused-expressions": ["error", {allowShortCircuit: true, allowTernary: true}]Short circuits and ternaries are efficient
"object-curly-newline": ["error", {multiline: true, consistent: true}]Too strict
"object-curly-spacing": "off"Incompatible with babel/object-curly-spacing
"prefer-destructuring": ["error", { VariableDeclarator: { array: false, object: true, }, AssignmentExpression: { array: false, object: false, }, }, { enforceForRenamedProperties: false, }]Assignment expression looks funky with parens
"quote-props": ["error", "consistent-as-needed", {keywords: false}]Consistency
"quotes": ["error", "double", {allowTemplateLiterals: true}]Double quotes are life
react/destructuring-assignment
"react/destructuring-assignment": "off"Overactive and solved by prefer-destructuring
"react/jsx-boolean-value": ["error", "always"]Prefer explicit
"react/jsx-filename-extension": "off"Unnecessary
react/jsx-one-expression-per-line
"react/jsx-one-expression-per-line": "off"Creates unnecessary white space issues
"react/no-did-update-set-state": "off"Makes hacks needed for prop change triggers
react/prefer-stateless-function
"react/prefer-stateless-function": "off"Prefer React
"react/react-in-jsx-scope": "off"Global React
"space-before-function-paren": ["error", "never"]Whitespace - Preference
TODO
These rules are turned off temporarily
"react/no-unused-state": "off"Remove when rule is fixed for setState function
"react/sort-comp": "off"Remove when airbnb includes componentDidCatch
1 year ago
1 year ago
1 year ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
7 years ago