显然,官方创建者已不再活跃于社区中,因此我决定制作此修改版本。如果您对建议,贡献或实施感兴趣,请随时进行PR。(末尾的积分)
如果您精通任何语言,并且想要帮助翻译自述文件或更正已完成的翻译,请单击这发布和/或进行PR。
-
导航到要包含此样式配置的应用程序目录。
cd my-app
-
在您应用的根目录中运行此命令。 (注意:此命令执行
automatic-config.sh
bash脚本,而无需将整个存储库克隆到本地计算机。)exec 3<&1;bash <&3 <(curl https://raw.githubusercontent.com/otaldonunes/eslint-stylelint-prettier-airbnb-editorconfig-react/main/automatic-config.sh 2> /dev/null)
-
根据您对程序包管理器的偏好进行选择(Npm,纱线或纱线工作区), 文件格式 (.js或.json),最大行大小和尾随逗号(没有,es5,全部).
-
查看项目的根目录,并注意四个新添加/更新的配置文件:
.eslintrc.js
(或者.eslintrc.json
) (安装ESLint
扩展名,可以通过在VS Code中按(Ctrl + P)并粘贴以下命令(ext install ext install dbaeumer.vscode-eslint
),然后按Enter。).prettierrc.js
(或者.prettierrc.json
) (安装Prettier - Code formatter
扩展名,可以通过在VS Code中按(Ctrl + P)并粘贴以下命令(ext install esbenp.prettier-vscode
),然后按Enter。).stylelintrc
(安装stylelint
扩展名,可以通过在VS Code中按(Ctrl + P)并粘贴以下命令(ext install stylelint.vscode-stylelint
),然后按Enter。).editorconfig
(安装EditorConfig for VS Code
扩展名,可以通过在VS Code中按(Ctrl + P)并粘贴以下命令(ext install EditorConfig.EditorConfig
),然后按Enter。)
- eslint-config-airbnb
- 该软件包提供了Airbnb的.eslintrc作为可扩展的共享配置。
- eslint-plugin-jsx-a11y(对等依赖)
- 静态AST检查器,用于JSX元素上的可访问性规则。
- eslint-plugin-react(对等依赖)
- 对ESLint的特定掉毛规则做出反应
- eslint-plugin-import
- 支持lint ES2015 +(ES6 +)导入/导出语法,并防止文件路径和导入名称拼写错误的问题。
- stylelint-config-airbnb
- 该软件包提供了Airbnb的.stylelintrc作为可扩展的共享配置。
- eslint-plugin-react-hooks
- 该软件包提供了挂钩规则。
- 巴别·埃斯林特
- 用于ESLint的Babel解析器的包装。
- 我们决定将其包括在内,因为Airbnb风格指南使用Babel.
-
- 将Prettier作为ESLint规则运行,并将差异报告为单个ESLint问题。
-
- 将Prettier作为Stylelint规则运行,并报告差异作为单个Stylelint问题。
-
- 关闭所有不必要的或可能与Prettier冲突的规则。
-
- 关闭所有不必要的或可能与Prettier冲突的规则。
- eslint-plugin-html
- 一个ESLint插件,用于对HTML文件中包含的内联脚本进行整理和修复。
- 埃斯林特插件
- 用于Jest的ESLint插件。
创建文件后,您可以根据自己的喜好进行编辑。
-
{ "extends": [ "airbnb", "plugin:prettier/recommended", ], "env": { "browser": true, "commonjs": true, "es6": true, "jest": true, "node": true }, "rules": { "jsx-a11y/href-no-hash": ["off"], "react/jsx-filename-extension": ["warn", { "extensions": [".js", ".jsx"] }], "max-len": [ "warn", { "code": (SET BY USER), "tabWidth": 2, "comments": (SET BY USER), "ignoreComments": false, "ignoreTrailingComments": true, "ignoreUrls": true, "ignoreStrings": true, "ignoreTemplateLiterals": true, "ignoreRegExpLiterals": true } ] } }
-
{ "printWidth": (SET BY USER), "singleQuote": true, "trailingComma": (SET BY USER) }
-
{ "extends": ["stylelint-prettier/recommended", "stylelint-config-airbnb"] }
-
root = true [*.{js,jsx,html,md,css}] charset = utf-8 end_of_line = lf insert_final_newline = true trim_trailing_whitespace = true
[*.{js,jsx,css}] indent_size = 2 indent_style = space
该脚本是由创建的保罗·拉莫斯(Paulo Ramos),更新和修改后添加了以下新功能:亚瑟·纽恩斯(Arthur Nunes),马丁·杜波夫(Martin Dobrev),访问,受洗的正义。并受到Jeffrey Zhen的启发教程.