@ fmit/ eslint- config
此软件包从 @antfu/eslint-config,有一些定制.
- 单引号, 半
- 用于格式化的自动修正( 改为单独使用) 无 较高级)
- 排序的导入, 拼接逗号
- 合理缺省,最佳做法,只有一行配置
- 设计用于与TypeScript,JSX,Vue出道相通
- 还有Json, yaml, Toml, 减分
- 有观点,但 非常自定义
- ESLint 平面配置轻而易举地写作!
- 使用 ESLint 结构化
- 尊重
.gitignore默认 - 可选 反应, (中文(简体) ), 坚果 支助
- 可选 格式化器 支持 CSS, HTML等.
- 样式原则: 阅读最小值, diff稳定, 一致
使用量
安装
pnpm i -D eslint @fmit/eslint-config
创建配置文件
与 "type": "module" 内 package.json (建议):
// eslint.config.js
import fmit from '@fmit/eslint-config';
export default fmit();
与CJS:
// eslint.config.js
const fmit = require('@fmit/eslint-config').default;
module.exports = fmit();
[TIP] ESLint 只检测
eslint.config.js作为平面配置条目,表示您需要设置type: module在你身边package.json或者你必须使用 CJS 在eslint.config.js。如果您想要像.mjs或者说.cjs,或甚至eslint.config.ts,您可以安装eslint-ts-patch来修复它.
这个
.eslintignore文件不再在平面配置中工作,参见 定制 更多细节.
为 package.json 添加脚本
例如:
{
"scripts": {
"lint": "eslint .",
"lint:fix": "eslint . --fix"
}
}
可选配置
我们提供了一些特定用途的可选配置, 即我们不包含它们的依赖性默认.
格式化器
使用外部格式化器来格式化ESLint尚不能处理的文件(.css,.html等). 电源 eslint-plugin-format。 。 。 .
// eslint.config.js
import fmit from '@fmit/eslint-config';
export default fmit({
formatters: {
/**
* Format CSS, LESS, SCSS files, also the `<style>` blocks in Vue
* By default uses Prettier
*/
css: true,
/**
* Format HTML files
* By default uses Prettier
*/
html: true,
/**
* Format Markdown files
* Supports Prettier and dprint
* By default uses Prettier
*/
markdown: 'prettier'
}
});
运行 npx eslint 如果您需要安装所需的依赖, 您可以手动安装 :
npm i -D eslint-plugin-format
反应
// eslint.config.js
import fmit from '@fmit/eslint-config';
export default fmit({
react: true,
});
运行 npx eslint 应提示您安装所需的依赖, 否则您可以手动安装 :
npm i -D eslint-plugin-react eslint-plugin-react-hooks eslint-plugin-react-refresh
类型意识规则
您可以通过将选项传递到打字符配置来选择启用该类型意识规则 :
// eslint.config.js
import fmit from '@fmit/eslint-config';
export default fmit({
typescript: {
tsconfigPath: 'tsconfig.json',
},
});
VS 代码支持( 自动固定)
将以下设置添加到您的 .vscode/settings.json数字 :
{
// Disable the default formatter, use eslint instead
"prettier.enable": false,
"editor.formatOnSave": false,
// Auto fix
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit",
"source.organizeImports": "never"
},
// Silent the stylistic rules in you IDE, but still auto fix them
"eslint.rules.customizations": [
{ "rule": "style/*", "severity": "off", "fixable": true },
{ "rule": "format/*", "severity": "off", "fixable": true },
{ "rule": "*-indent", "severity": "off", "fixable": true },
{ "rule": "*-spacing", "severity": "off", "fixable": true },
{ "rule": "*-spaces", "severity": "off", "fixable": true },
{ "rule": "*-order", "severity": "off", "fixable": true },
{ "rule": "*-dangle", "severity": "off", "fixable": true },
{ "rule": "*-newline", "severity": "off", "fixable": true },
{ "rule": "*quotes", "severity": "off", "fixable": true },
{ "rule": "*semi", "severity": "off", "fixable": true }
],
// Enable eslint for all supported languages
"eslint.validate": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact",
"vue",
"html",
"markdown",
"json",
"jsonc",
"yaml",
"toml",
"xml",
"gql",
"graphql",
"astro",
"svelte",
"css",
"less",
"scss",
"pcss",
"postcss"
]
}
要查看所有可用的选项和扩展文档, 请访问原始的 repo : @antfu/eslint-config。 。 。 .
发布新版本
发布由 语义释放 当犯罪被推向 main 树枝.
所需的CI/CD变量
下列变量必须配置在 设置 → CI/CD → 变量数字 :
-
NPM_TOKEN: 用于向 npm 注册机构发布认证符- 创建网址:https://www.npmjs.com/ settings/[用户名]/tokens
- 需要的范围: 自动化或出版
-
GITLAB_TOKEN: GitLab 操作的个人或项目访问令牌- 生成地点: 设置 – 访问托肯s
- 所需范围 :
api, (中文(简体) ),write_repository - 用于: 创建发布, 推动版本出错和 ChangeGELOG 更新
如何运作
- 使用 常规武器委员会
- 合并到
main分支 - GitLab CI 自动 :
- 分析承诺确定版本凸起
- 更新
package.json财务报告和审定财务报表CHANGELOG.md - 创建 Git 标签和 GitLab 发布
- 向 npm 登记册发布