UNPKG

@luozhu/eslint-config-react-typescript

Version:
102 lines (73 loc) 2.18 kB
# @luozhu/eslint-config-react-typescript ## Install ```sh yarn add -D @luozhu/eslint-config-react-typescript eslint prettier typescript @luozhu/prettier-config lint-staged yorkie ``` ## 自动配置 ```sh yarn create @luozhu/create-coding-style # 类型选择 react-typescript ``` ## 手动配置 ### .eslintrc.js > vscode extension: [dbaeumer.vscode-eslint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) ```js module.exports = { root: true, extends: ['@luozhu/eslint-config-react-typescript'], }; ``` ### .prettierrc.js ```js module.exports = require('@luozhu/prettier-config'); ``` ### .editorconfig > vscode extension: [editorconfig.editorconfig](https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig) ``` # EditorConfig is awesome: http://EditorConfig.org # top-most EditorConfig file root = true # Unix-style newlines with a newline ending every file [*] quote_type = single # Fix Prettier "prettier.singleQuote" not working in 1.40 vs code indent_style = space indent_size = 2 end_of_line = lf charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true [*.md] trim_trailing_whitespace = false [Makefile] indent_style = tab ``` ### pre-commit lint #### package.json ```json { "gitHooks": { "pre-commit": "lint-staged" }, "lint-staged": { "**/*.{js,jsx,ts,tsx}": ["eslint --fix"], "**/*.{md,json}": ["prettier --write"] } } ``` #### .vscode/settings.json ```js { "editor.formatOnSave": false, "editor.codeActionsOnSave": { "source.fixAll.eslint": true }, } ``` ## Problem ### ESLint plugins used by this config must also be installed within your project. This is a limitation within ESLint. **Related Links:** - [Support having plugins as dependencies in shareable config](https://github.com/eslint/eslint/issues/3458) - [rfcs](https://github.com/eslint/rfcs/tree/main/designs/2019-config-simplification) - [progress](https://github.com/eslint/eslint/issues/13481) **Temporary Solutions:** - [Fix eslint shareable config using rushstack/eslint-patch](https://github.com/facebook/create-react-app/commit/6e10091a235ba4e15097be79b003fdde1f373331)