Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/woai3c/eslint-config-airbnb-vue3-ts
结合了 airbnb 和 prettier 风格规范的 eslint 配置,适用于 vue3、js、ts 项目
https://github.com/woai3c/eslint-config-airbnb-vue3-ts
Last synced: 7 days ago
JSON representation
结合了 airbnb 和 prettier 风格规范的 eslint 配置,适用于 vue3、js、ts 项目
- Host: GitHub
- URL: https://github.com/woai3c/eslint-config-airbnb-vue3-ts
- Owner: woai3c
- License: mit
- Created: 2022-10-20T13:11:49.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-27T07:21:30.000Z (5 months ago)
- Last Synced: 2024-08-26T09:41:41.349Z (3 months ago)
- Language: JavaScript
- Homepage:
- Size: 63.5 KB
- Stars: 4
- Watchers: 2
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# eslint-config-airbnb-vue3-ts
结合了 [airbnb](https://github.com/airbnb/javascript) 和 [prettier](https://prettier.io/) 风格规范的 eslint 配置,适用于 vue3、js、ts 项目。
非 vue 项目可以使用这个插件 [eslint-prettier-config-airbnb-ts](https://github.com/woai3c/eslint-config-airbnb-vue3-ts/tree/no-vue)
## 使用
```
npm i -D eslint-config-airbnb-vue3-ts
```配置 `.eslintrc.js` 文件:
```js
module.exports = {
root: true,
env: {
browser: true,
node: true,
es6: true,
},
extends: ['eslint-config-airbnb-vue3-ts'],
rules: {},
}
```配置 `.prettierrc.json` 文件:
```json
{
"$schema": "https://json.schemastore.org/prettierrc",
"singleQuote": true,
"semi": false,
"printWidth": 120,
"tabWidth": 2,
"useTabs": false,
"jsxSingleQuote": false,
"bracketSameLine": false,
"jsxBracketSameLine": false,
"trailingComma": "all"
}
```配置 `.vscode/settings.json` 文件,当保存代码时使用 prettier 格式化代码:
```json
{
"editor.codeActionsOnSave": {
"source.fixAll": "explicit"
},
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode"
}
```配置 `.vscode/extensions.json` 文件:
```json
{
"recommendations": ["Vue.volar", "dbaeumer.vscode-eslint", "esbenp.prettier-vscode"]
}
```这个 eslint 插件将代码格式化的规则都禁用掉了,因为项目代码特别多的时候,eslint 格式化会很慢,经常需要等待。
所以在 eslint 只保留了代码错误的检查,代码格式化的工作需要使用 vsocde + prettier 插件来完成。但是这只会在保存代码的时候格式化代码,不会在提交代码的时候格式化代码。
所以需要配置 ci/cd 工具来在提交代码的时候格式化代码,例如可以使用 `lint-staged` + `husky` 来实现。
**PS**:这里提供了一个 [DEMO](https://github.com/impact-camp/easy-lowcode) 以供参考,如果你觉得配置不生效或者出错了,可以参考这个示例。