mirror of
https://github.com/BradNut/dotfiles
synced 2025-09-08 17:40:19 +00:00
Changing eslint to match Wes Bos and making JS file. Editing vscode settings and changing to JSON file.
This commit is contained in:
parent
a40b3f98d7
commit
1b8e82f787
3 changed files with 132 additions and 137 deletions
136
.eslintrc
136
.eslintrc
|
|
@ -1,136 +0,0 @@
|
|||
{
|
||||
"extends": [
|
||||
"airbnb",
|
||||
"prettier",
|
||||
"prettier/react"
|
||||
],
|
||||
"parser": "babel-eslint",
|
||||
"parserOptions": {
|
||||
"ecmaVersion": 2018,
|
||||
"ecmaFeatures": {
|
||||
"impliedStrict": true,
|
||||
"classes": true
|
||||
}
|
||||
},
|
||||
"env": {
|
||||
"browser": true,
|
||||
"node": true,
|
||||
"jquery": true,
|
||||
"jest": true
|
||||
},
|
||||
"rules": {
|
||||
"no-debugger": 0,
|
||||
"no-alert": 0,
|
||||
"no-await-in-loop": 0,
|
||||
"no-return-assign": [
|
||||
"error",
|
||||
"except-parens"
|
||||
],
|
||||
"no-restricted-syntax": [
|
||||
2,
|
||||
"ForInStatement",
|
||||
"LabeledStatement",
|
||||
"WithStatement"
|
||||
],
|
||||
"no-unused-vars": [
|
||||
1,
|
||||
{
|
||||
"ignoreSiblings": true,
|
||||
"argsIgnorePattern": "res|next|^err"
|
||||
}
|
||||
],
|
||||
"prefer-const": [
|
||||
"error",
|
||||
{
|
||||
"destructuring": "all",
|
||||
}
|
||||
],
|
||||
"arrow-body-style": [
|
||||
2,
|
||||
"as-needed"
|
||||
],
|
||||
"no-unused-expressions": [
|
||||
2,
|
||||
{
|
||||
"allowTaggedTemplates": true
|
||||
}
|
||||
],
|
||||
"no-param-reassign": [
|
||||
2,
|
||||
{
|
||||
"props": false
|
||||
}
|
||||
],
|
||||
"no-console": 0,
|
||||
"import/prefer-default-export": 0,
|
||||
"import": 0,
|
||||
"func-names": 0,
|
||||
"space-before-function-paren": 0,
|
||||
"comma-dangle": 0,
|
||||
"max-len": 0,
|
||||
"import/extensions": 0,
|
||||
"no-underscore-dangle": 0,
|
||||
"consistent-return": 0,
|
||||
"react/display-name": 1,
|
||||
"react/no-array-index-key": 0,
|
||||
"react/react-in-jsx-scope": 0,
|
||||
"react/prefer-stateless-function": 0,
|
||||
"react/forbid-prop-types": 0,
|
||||
"react/no-unescaped-entities": 0,
|
||||
"jsx-a11y/accessible-emoji": 0,
|
||||
"react/require-default-props": 0,
|
||||
"react/jsx-filename-extension": [
|
||||
1,
|
||||
{
|
||||
"extensions": [
|
||||
".js",
|
||||
".jsx"
|
||||
]
|
||||
}
|
||||
],
|
||||
"radix": 0,
|
||||
"no-shadow": [
|
||||
2,
|
||||
{
|
||||
"hoist": "all",
|
||||
"allow": [
|
||||
"resolve",
|
||||
"reject",
|
||||
"done",
|
||||
"next",
|
||||
"err",
|
||||
"error"
|
||||
]
|
||||
}
|
||||
],
|
||||
"quotes": [
|
||||
2,
|
||||
"single",
|
||||
{
|
||||
"avoidEscape": true,
|
||||
"allowTemplateLiterals": true
|
||||
}
|
||||
],
|
||||
"prettier/prettier": [
|
||||
"error",
|
||||
{
|
||||
"trailingComma": "es5",
|
||||
"singleQuote": true,
|
||||
"printWidth": 80,
|
||||
}
|
||||
],
|
||||
"jsx-a11y/href-no-hash": "off",
|
||||
"jsx-a11y/anchor-is-valid": [
|
||||
"warn",
|
||||
{
|
||||
"aspects": [
|
||||
"invalidHref"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"plugins": [
|
||||
// "html",
|
||||
"prettier"
|
||||
]
|
||||
}
|
||||
115
.eslintrc.js
Normal file
115
.eslintrc.js
Normal file
|
|
@ -0,0 +1,115 @@
|
|||
|
||||
module.exports = {
|
||||
extends: ['airbnb', 'prettier', 'prettier/react'],
|
||||
parser: 'babel-eslint',
|
||||
parserOptions: {
|
||||
ecmaVersion: 2020,
|
||||
// Can I remove these now?
|
||||
ecmaFeatures: {
|
||||
impliedStrict: true,
|
||||
classes: true,
|
||||
},
|
||||
},
|
||||
env: {
|
||||
browser: true,
|
||||
node: true,
|
||||
jquery: true,
|
||||
jest: true,
|
||||
},
|
||||
rules: {
|
||||
'no-debugger': 0,
|
||||
'no-alert': 0,
|
||||
'no-await-in-loop': 0,
|
||||
'no-return-assign': ['error', 'except-parens'],
|
||||
'no-restricted-syntax': [
|
||||
2,
|
||||
'ForInStatement',
|
||||
'LabeledStatement',
|
||||
'WithStatement',
|
||||
],
|
||||
'no-unused-vars': [
|
||||
1,
|
||||
{
|
||||
ignoreRestSiblings: true,
|
||||
argsIgnorePattern: 'res|next|^err',
|
||||
},
|
||||
],
|
||||
'prefer-const': [
|
||||
'error',
|
||||
{
|
||||
destructuring: 'all',
|
||||
},
|
||||
],
|
||||
'arrow-body-style': [2, 'as-needed'],
|
||||
'no-unused-expressions': [
|
||||
2,
|
||||
{
|
||||
allowTaggedTemplates: true,
|
||||
},
|
||||
],
|
||||
'no-param-reassign': [
|
||||
2,
|
||||
{
|
||||
props: false,
|
||||
},
|
||||
],
|
||||
'no-console': 0,
|
||||
'import/prefer-default-export': 0,
|
||||
import: 0,
|
||||
'func-names': 0,
|
||||
'space-before-function-paren': 0,
|
||||
'comma-dangle': 0,
|
||||
'max-len': 0,
|
||||
'import/extensions': 0,
|
||||
'no-underscore-dangle': 0,
|
||||
'consistent-return': 0,
|
||||
'react/display-name': 1,
|
||||
'react/no-array-index-key': 0,
|
||||
'react/react-in-jsx-scope': 0,
|
||||
'react/prefer-stateless-function': 0,
|
||||
'react/forbid-prop-types': 0,
|
||||
'react/no-unescaped-entities': 0,
|
||||
'jsx-a11y/accessible-emoji': 0,
|
||||
'react/require-default-props': 0,
|
||||
'react/jsx-filename-extension': [
|
||||
1,
|
||||
{
|
||||
extensions: ['.js', '.jsx'],
|
||||
},
|
||||
],
|
||||
radix: 0,
|
||||
'no-shadow': [
|
||||
2,
|
||||
{
|
||||
hoist: 'all',
|
||||
allow: ['resolve', 'reject', 'done', 'next', 'err', 'error'],
|
||||
},
|
||||
],
|
||||
quotes: [
|
||||
2,
|
||||
'single',
|
||||
{
|
||||
avoidEscape: true,
|
||||
allowTemplateLiterals: true,
|
||||
},
|
||||
],
|
||||
'prettier/prettier': [
|
||||
'error',
|
||||
{
|
||||
trailingComma: 'es5',
|
||||
singleQuote: true,
|
||||
printWidth: 80,
|
||||
},
|
||||
],
|
||||
'jsx-a11y/href-no-hash': 'off',
|
||||
'jsx-a11y/anchor-is-valid': [
|
||||
'warn',
|
||||
{
|
||||
aspects: ['invalidHref'],
|
||||
},
|
||||
],
|
||||
'react-hooks/rules-of-hooks': 'error',
|
||||
'react-hooks/exhaustive-deps': 'warn',
|
||||
},
|
||||
plugins: ['html', 'prettier', 'react-hooks'],
|
||||
};
|
||||
|
|
@ -3,7 +3,23 @@
|
|||
"editor.wordWrap": "off",
|
||||
"javascript.updateImportsOnFileMove.enabled": "always",
|
||||
"editor.renderWhitespace": "all",
|
||||
"editor.formatOnSave": false,
|
||||
// These are all my auto-save configs
|
||||
"editor.formatOnSave": true,
|
||||
// turn it off for JS and JSX, we will do this via eslint
|
||||
"[javascript]": {
|
||||
"editor.formatOnSave": false
|
||||
},
|
||||
"[javascriptreact]": {
|
||||
"editor.formatOnSave": false
|
||||
},
|
||||
// show eslint icon at bottom toolbar
|
||||
"eslint.alwaysShowStatus": true,
|
||||
// tell the ESLint plugin to run on save
|
||||
"editor.codeActionsOnSave": {
|
||||
"source.fixAll": true
|
||||
},
|
||||
// Optional BUT IMPORTANT: If you have the prettier extension enabled for other languages like CSS and HTML, turn it off for JS since we are doing it through Eslint already
|
||||
"prettier.disableLanguages": ["javascript", "javascriptreact"],
|
||||
"editor.tabSize": 2,
|
||||
"workbench.colorTheme": "Cobalt2",
|
||||
"editor.fontFamily": "Menlo, Monaco, 'Courier New', monospace, Fira Code Retina",
|
||||
Loading…
Reference in a new issue