1.6.1 • Published 5 months ago

@moneko/eslint v1.6.1

Weekly downloads
-
License
MIT
Repository
-
Last release
5 months ago

@moneko/eslint

npm version License: MIT

一个功能强大、规则完善的 ESLint 配置包,旨在提高 JavaScript/TypeScript 代码质量和一致性。

特性

  • 针对现代 JavaScript 和 TypeScript 项目的优化配置
  • 集成 Prettier 用于代码格式化
  • 智能的 import 排序规则
  • 完善的代码质量和代码风格规则集
  • 基于 ESLint 平面配置系统 (eslint.config.mjs)

安装

使用 npm:

npm install --save-dev @moneko/eslint

使用 yarn:

yarn add --dev @moneko/eslint

使用 pnpm:

pnpm add -D @moneko/eslint

快速开始

在项目根目录创建 eslint.config.mjs 文件:

import base from '@moneko/eslint/base';

export default base.configs.recommended;

可用配置

此包提供以下几种预设配置:

  • base - 基础配置,适用于大多数 JavaScript/TypeScript 项目
  • react - react配置,适用于大多数 react 项目
  • vue - vue 配置,适用于大多数 vue 项目
  • solid - solidjs 配置,适用于大多数 solidjs 项目

自定义配置

您可以通过扩展默认配置并覆盖规则来自定义配置:

import react from '@moneko/eslint/react'; // 使用 react 规则

export default [
  ...react,
  {
    rules: {
      // 您的自定义规则
      'no-console': 'warn',
    },
  },
];

功能特点

  • 智能导入排序: 使用 eslint-plugin-simple-import-sort 自动组织和排序导入语句
  • 代码格式化: 与 Prettier 无缝集成,确保代码风格一致
  • TypeScript 支持: 针对 TypeScript 项目的特定规则和类型检查集成
  • Modern JavaScript: 支持最新的 ECMAScript 特性和语法
  • 开箱即用: 内置有 React、Vue、Solid JS、Typescript 等语法规则

Nodejs API 使用

# .prettierrc.yaml
printWidth: 100
singleQuote: true
bracketSameLine: false
// eslint.config.mjs
import react from '@moneko/eslint/react';

export default react;
// nodejs api
import { ESLint } from '@moneko/eslint';

try {
  console.log('ESLint runing...');
  console.time('ESLint');
  const fix = false; // fix
  const lint = new ESLint({
    cache: true,
    fix: fix,
  });
  const results = await lint.lintFiles(['__tests__/*.ts', '__tests__/*.tsx']);
  const formatter = await lint.loadFormatter('stylish');
  const output = await formatter.format(results);

  if (fix) {
    await ESLint.outputFixes(results);
  }
  if (output) {
    process.stdout.write(output);
  }
  const hasErrors = results.some((result) => result.errorCount > 0);

  console.timeEnd('ESLint');
  if (hasErrors) {
    process.exit(1);
  }
} catch (error) {
  console.log(error);
}

许可证

MIT

作者

moneko

1.6.1

5 months ago

1.6.0-beta.11

5 months ago

1.6.0-beta.10

5 months ago

1.6.0-beta.9

5 months ago

1.6.0-beta.8

5 months ago

1.6.0-beta.7

5 months ago

1.6.0-beta.6

5 months ago

1.6.0-beta.5

5 months ago

1.6.0

5 months ago

1.6.0-beta.4

5 months ago

1.6.0-beta.3

5 months ago

1.6.0-beta.2

5 months ago

1.6.0-beta.1

5 months ago

1.6.0-beta.0

5 months ago

1.5.0

6 months ago

1.5.0-beta.0

6 months ago

1.4.0

6 months ago

1.3.0

7 months ago

1.2.1

7 months ago

1.2.0

7 months ago

1.1.0

7 months ago

1.1.0-beta.5

7 months ago

1.1.0-beta.4

7 months ago

1.1.0-beta.3

7 months ago

1.1.0-beta.2

7 months ago

1.1.0-beta.0

7 months ago

1.0.1

8 months ago

1.0.0

8 months ago

0.0.3

8 months ago

0.0.2

8 months ago

0.0.1

8 months ago