SLint, Prettier snippets VSCODE#
Editor Setup#
এই পোস্ট টিতে mainly VSCODE এ react.js এর জন্য কিছু usefull plug-in এর setup দেওয়া হয়েছে ।
Plugins#
নিম্নের extention গুলো install দেওয়া থাকতে হবে।
ESLint by Dirk Baeumer
Prettier - Code formatter by Prettier
Dracula Official Theme (optional)
Settings#
Follow the below settings for VS Code -
Create a new folder called “.vscode” inside the project root folder
Create a new file called “settings.json” inside that folder.
Paste the below json in the newly created settings.json file and save the file.
{
// Theme
"workbench.colorTheme": "Dracula",
// config related to code formatting
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
"[javascript]": {
"editor.formatOnSave": false,
"editor.defaultFormatter": null
},
"[javascriptreact]": {
"editor.formatOnSave": false,
"editor.defaultFormatter": null
},
"javascript.validate.enable": false, //disable all built-in syntax checking
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true,
"source.fixAll.tslint": true,
"source.organizeImports": true
},
"eslint.alwaysShowStatus": true,
// emmet
"emmet.triggerExpansionOnTab": true,
"emmet.includeLanguages": {
"javascript": "javascriptreact"
}
}
If you followed all previous steps, the theme should change and your editor should be ready.
Set Line Breaks#
Make sure in your VS Code Editor, “LF” is selected as line feed instead of CRLF (Carriage return and line feed). To do that, just click LF/CRLF in bottom right corner of editor, click it and change it to “LF”. If you dont do that, you will get errors in my setup.
Linting Setup#
In order to lint and format your React project automatically according to popular airbnb style guide, I recommend you to follow the instructions below.
Install Dev Dependencies#
yarn add -D prettier
yarn add -D babel-eslint
npx install-peerdeps --dev eslint-config-airbnb
yarn add -D eslint-config-prettier eslint-plugin-prettier
or You can also add a new script in the scripts section like below to install everything with a single command:
scripts: {
"lint": "yarn add -D prettier && yarn add -D babel-eslint && npx install-peerdeps --dev eslint-config-airbnb && yarn add -D eslint-config-prettier eslint-plugin-prettier"
}
and then simply run the below command in the terminal -
yarn lint #or 'npm run lint'
Create Linting Configuration file manually#
Create a .eslintrc
file in the project root and enter the below contents:
{
"extends": [
"airbnb",
"airbnb/hooks",
"eslint:recommended",
"prettier",
"plugin:jsx-a11y/recommended"
],
"parser": "babel-eslint",
"parserOptions": {
"ecmaVersion": 8
},
"env": {
"browser": true,
"node": true,
"es6": true,
"jest": true
},
"rules": {
"react/react-in-jsx-scope": 0,
"react-hooks/rules-of-hooks": "error",
"no-console": 0,
"react/state-in-constructor": 0,
"indent": 0,
"linebreak-style": 0,
"react/prop-types": 0,
"jsx-a11y/click-events-have-key-events": 0,
"react/jsx-filename-extension": [
1,
{
"extensions": [".js", ".jsx"]
}
],
"prettier/prettier": [
"error",
{
"trailingComma": "es5",
"singleQuote": true,
"printWidth": 100,
"tabWidth": 4,
"semi": true,
"endOfLine": "auto"
}
]
},
"plugins": ["prettier", "react", "react-hooks"]
}
for ignore eslint checking#
eslint আর node_modules এর ভিতরের eslint এর version এ error হইতে পারে। এর জন্য simpley just terminal এর prosedure টা follow করলেই চলবে । such as , প্রথমে যে directory তে yarn.lock বা .eslintrc file আছে ঐ directory তে .env ফাইল তৈরি করে তার ভিতর
SKIP_PREFLIGHT_CHECK=true
দিয়ে দিব , টা হইলে এর error face হবে না।