wetravel-eslint-config v1.0.0
Wetravel ESLing config
Overview
The WeTravel ESLint Configuration project provides a standardized ESLint setup optimized for both JavaScript and TypeScript environments. This configuration aims to enforce best practices and consistency across the development of React applications, as well as writing maintainable tests using Jest.
Installation
Remove current eslint
You need to remove all eslint related package, you can do it manually or with this command:
jq -r '.dependencies + .devDependencies | keys | map(select(test("eslint")))[]' package.json | xargs yarn remove!NOTE You would need
jqinstalled on your system,brew install jqmight help
Install config package
yarn add wetravel-eslint-configPotentially you would need to install dependencies that are used by eslint plugins
yarn add --dev @eslint/js@^8 eslint@^8 eslint-config-prettier eslint-plugin-jest-dom eslint-plugin-prettier eslint-plugin-react eslint-plugin-react-hooks typescript-eslint prettier globalsNow replace in package.json scripts to run lint and lit with autofix:
"lint": "ESLINT_USE_FLAT_CONFIG=true eslint . --config node_modules/wetravel-eslint-config/eslint.config.mjs",
"lint:fix": "ESLINT_USE_FLAT_CONFIG=true eslint . --config node_modules/wetravel-eslint-config/eslint.config.mjs --fix"We're using ESLINT_USE_FLAT_CONFIG flag to be compatiple with ESLint 9 that came out recently and requires new, flat config by default. Unfortunately React Hooks plugin not yet compatible with ESLint 9, so we're using ESLint 8 but with new config.
We also using config file directly from node_modules folder to avoid unnecessary customisations of rulest (which kinda defeats the purpose of one centralized config).
Usage
Run to lint the project
yarn lint2 years ago