@echristian/slint-config (英语)
由TypeScript,JSX,CSS,和Markdown支持的现代和有舆论的ESLint配置.
安装
使用 npm :
npm install -D @echristian/eslint-config eslint
使用线条 :
yarn add -D @echristian/eslint-config eslint
使用 pnpm :
pnpm add -D @echristian/eslint-config eslint
使用量
创建一个 eslint.config.js 在工程根中的文件 :
import eslintConfig from "@echristian/eslint-config";
export default eslintConfig({
// Configuration options here
});
配置选项
配置函数接受一个选项对象,其结构如下:
interface ESLintConfigOptions {
// Glob patterns to ignore
ignores?: Array<string>;
// TypeScript configuration
typescript?: {
options?: {
typeChecked?: boolean; // defaults to true
};
};
// React configuration
react?: {
enabled?: boolean; // defaults to false
options?: {
typeChecked?: boolean; // defaults to true
};
};
// React Hooks configuration
reactHooks?: {
enabled: boolean; // defaults to false
};
// JSX configuration
jsx?: {
enabled?: boolean; // defaults to false
a11y?: boolean; // defaults to true
};
// Markdown configuration
markdown?: {
enabled?: boolean; // defaults to false
options?: {
language?: "commonmark" | "gfm"; // defaults to "gfm"
frontMatter?: "yaml" | "toml" | "json" | false; // defaults to false
};
};
// Prettier configuration
prettier?: {
experimentalOperatorPosition?: "start" | "end";
experimentalTernaries?: boolean;
semi?: boolean;
// More prettier config
};
// Package.json rules configuration
packageJson?: {
package?: boolean; // defaults to false
};
}
示例配置
基本类型脚本工程
import eslintConfig from "@echristian/eslint-config";
export default eslintConfig({
ignores: ["dist/"],
});
类型脚本项目不检查类型
import eslintConfig from "@echristian/eslint-config";
export default eslintConfig({
typescript: {
options: {
typeChecked: false,
},
},
});
用钩子反应工程
import eslintConfig from "@echristian/eslint-config";
export default eslintConfig({
react: {
enabled: true,
},
reactHooks: {
enabled: true,
},
jsx: {
enabled: true,
},
});
带有 CSS 的全层项目
import eslintConfig from "@echristian/eslint-config";
export default eslintConfig({
ignores: ["dist/", "build/"],
react: {
enabled: true,
},
reactHooks: {
enabled: true,
},
jsx: {
enabled: true,
},
css: {
enabled: true,
},
});
带有 Markdown 的文档工程
import eslintConfig from "@echristian/eslint-config";
export default eslintConfig({
markdown: {
enabled: true,
options: {
language: "gfm", // GitHub Flavored Markdown
frontMatter: "yaml", // Enable YAML frontmatter support
},
},
});
完成带有全部特性的工程
import eslintConfig from "@echristian/eslint-config";
export default eslintConfig({
ignores: ["dist/", "build/"],
react: {
enabled: true,
},
reactHooks: {
enabled: true,
},
jsx: {
enabled: true,
},
markdown: {
enabled: true,
options: {
language: "gfm",
frontMatter: "yaml",
},
},
});
依赖关系
此配置包括以下主要依赖性:
@eslint/js: ESLint核心规则@eslint/jsonJSON 支持 :@eslint/css: CSS 支持@eslint/markdown: 下调支持typescript-eslint: 类型脚本支持@stylistic/eslint-plugin: 样式相关规则eslint-plugin-unused-imports: 未用进口管理eslint-plugin-perfectionist: 其他最佳做法eslint-plugin-prettier: 初步整合eslint-plugin-regexp: 正则表达式eslint-plugin-de-morgan: 逻辑表达式优化eslint-plugin-package-json: package.json 验证eslint-plugin-react-hooks: 反钩出放规则@eslint-react/eslint-plugin: 反应组件内嵌
许可证
麻省理工学院-见 自由主义 更多信息.