深视 ESLint 配置
这个软件包为后端(Node.js)和前端(Vue.js)项目提供即用ESLint配置.
特征
- 全能解决方案: 不需要单独安装 ESLint 或任何插件 - 全部包含在内
- 类型脚本支持: 已建入型号Script 林入型号
- 标准规则: 以 @stylistic/eslint-plugin 格式统一代码
- Vue.js 支持语录: 完成 Vue 3 嵌入配置
- 节点.js 支持:后端节点js项目优化规则
- ESLint 9+ 兼容性: 使用新的平面配置格式
- Oxlint + Oxfmt 预设: Oxlint 和 Oxfmt 的规则相同(
@deepvision/eslint-plugin/oxc),加上一个.vue-templades 唯一的 ESLint 配置
安装
npm install --save-dev @deepvision/eslint-plugin
这一一揽子计划包括所有必要的依赖。 没有额外安装 eslint, (中文(简体) ), typescript-eslint, (中文(简体) ), eslint-plugin-vue,或者需要任何其他与ESLint相关的软件包.
使用量
创建一个 eslint.config.js 中的文件,并导入相应的配置.
用于通用JS项目
eslint.config.mjs,以压制警告Module type of eslint.config.js is not specified
后端 / 节点. js 项目
对于后端的Node.js项目(NestJS,Express等):
import deepEslint, { defineConfig } from '@deepvision/eslint-plugin';
export default defineConfig([
deepEslint.configs.node,
]);
前端 / Vue.js 项目
对于前端 Vue.js 项目:
import deepEslint, { defineConfig } from '@deepvision/eslint-plugin';
export default defineConfig([
deepEslint.configs.vue,
]);
克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克
相同的预设,用于插入的项目 氧化剂 和格式为 氧化剂 ——例如通过 维特+ (单位:千美元)vp lint, (中文(简体) ), vp fmt) (中文(简体) ). Oxlint在相同的规则上大约比ESLint快了50-100×.
oxlint()联合来文/技术服务规则node财务报告和审定财务报表vue预设,规则用于规则(一个测试将其比作ESLint预设的有效配置).oxfmt——将预设的半个(@stylistic)格式化为Pretier相容物配置,printWidth: 120。 。 。 .configs.vueTemplatesOxlint还不能做的一件事: 模板 规则(slint-plugin-vue)和no-unused-vars内<script setup>. ESLint 线条.vue仅保存文件,其布局规则已关闭,所以不会与 Oxfmt 战斗.
vite.config.ts数字 :
import { oxfmt, oxlint } from '@deepvision/eslint-plugin/oxc';
import { defineConfig } from 'vite-plus';
export default defineConfig({
// Monorepo: say which globs are `node` and which are `vue`.
lint: oxlint({
node: ['apps/api/**'],
vue: ['apps/app/**', 'libs/ui/**'],
// Project overrides go after the preset's own.
overrides: [
{ files: ['apps/api/**'], rules: { 'typescript/no-non-null-assertion': 'off' } },
],
}),
fmt: oxfmt,
});
一个Vue应用程序是 oxlint({ vue: ['**'] })。没有 Vite+,则将相同的对象写入 .oxlintrc.json 编号 : .oxfmtrc.json。 。 。 .
eslint.config.js 软件包 .vue 文件 :
import deepEslint, { defineConfig } from '@deepvision/eslint-plugin';
export default defineConfig([
deepEslint.configs.vueTemplates,
]);
{
"scripts": {
"lint": "vp lint --fix src && eslint src --fix && vp fmt src"
}
}
奥克林特规则名称: typescript/* 页:1 @typescript-eslint/*,且打字-slint扩展规则保留其核心名称(no-unused-vars) (中文(简体) ).
Oxc 预设未覆盖 :
@stylistic/padding-line-between-statements(前面的横线)return:Oxfmt保留了空白行但从未添加一行,而Oxlint没有这样的规则.- 这个
vue预设忽略src/graphql/**/*.ts: 加进ignorePatterns你自己来.
软件包.json 脚本
向您添加 Linting 脚本 package.json数字 :
{
"scripts": {
"lint": "eslint",
"lint:fix": "eslint --fix"
}
}
包含什么
本套件包括所有必要的依赖性:
eslint- 核心ESLint灯@eslint/js-ESLint推荐的JavaScript规则typescript-eslint- ESLint的脚本类型支持@stylistic/eslint-plugin- 标准格式规则eslint-plugin-vue- Vue.js 林克规则
你不需要单独安装这些东西!
运行 ESLint
设置后,可以使用:
# Check for linting errors
npm run lint
# Automatically fix issues
npm run lint:fix
许可证
麻省理工学院