JavaScript Tooling CheatSheet
By Oguzhan Cakmak at
Eslint
Disable Eslint for the file
/* eslint-disable import/no-mutable-exports */
console.dir(obj)Disable on the line
console.dir(obj) // eslint-disable-line no-consoleDisable next line
// eslint-disable-next-line no-console
console.dir(obj)Example .eslintrc
{
"extends": "eslint-config-airbnb",
"parser": "babel-eslint",
"plugins": ["react-native"],
"globals": {
"__DEV__": true,
"fetch": true,
"navigator": true,
"IntervalID": true,
"TimeoutID": true
},
"rules": {
"import/extensions": 0,
"import/no-extraneous-dependencies": 0,
"import/no-unresolved": [2, { "ignore": ["electron"] }],
"import/prefer-default-export": 1,
"linebreak-style": 0,
"operator-linebreak": [
2,
"after",
{ "overrides": { "?": "before" } }
],
"no-console": 1,
"no-use-before-define": 0,
"no-plusplus": 1,
"implicit-arrow-linebreak": ["error", "beside"],
"space-in-parens": ["error", "never"],
"max-len": 1,
"arrow-parens": 0,
"comma-dangle": [
2,
{
"arrays": "always-multiline",
"objects": "always-multiline",
"imports": "always-multiline",
"exports": "always-multiline",
"functions": "always-multiline"
}
],
"react/jsx-filename-extension": [
1,
{ "extensions": [".js", ".jsx"] }
],
"react/prefer-stateless-function": [
1,
{ "ignorePureComponents": true }
],
"react/prop-types": [1, {}],
"react/jsx-boolean-value": 0,
"react/destructuring-assignment": 0,
"react/sort-comp": 0,
"react-native/no-unused-styles": 2,
"no-return-assign": 0,
"no-shadow": 0,
"no-confusing-arrow": 0
}
}Flow
// ignore next line
// $FlowFixMe
const supressedFlowError;Prettier
Example .prettierrc setup
{
"useTabs": false,
"printWidth": 72,
"tabWidth": 2,
"singleQuote": true,
"trailingComma": "all"
}