open-index/open-npm huggingface dataset:
npm package: @particle-network/eslint-config
Description: particle network eslint config, used by particle network FE team
Latest version: 0.3.0

# @particle-network/eslint-config

<div align="center">
  <p align="center">
    <strong>UniversalX Design System - ESLint 配置</strong>
  </p>
  
  <p align="center">
    为整个 Monorepo 提供统一的代码规范和质量保证
  </p>

  <p align="center">
    <img src="https://img.shields.io/badge/internal-package-orange.svg" alt="internal package" />
    <img src="https://img.shields.io/badge/eslint-9.x-4B32C3.svg" alt="eslint" />
    <img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="license" />
  </p>
</div>

## 📦 关于

这是 UniversalX Design System 的 ESLint 共享配置包，提供一致的代码规范，确保整个项目的代码质量。

### 特性

- 🎯 **多场景配置** - 针对不同项目类型的优化配置
- 📱 **跨平台支持** - 支持 React、React Native、Node.js
- 🛡 **TypeScript** - 完整的 TypeScript 规则支持
- 🎨 **代码风格** - 统一的代码格式化规则
- ⚡ **性能优化** - 包含性能相关的最佳实践规则
- 🔧 **易于扩展** - 灵活的配置，可按需定制

## 🚀 使用方法

### 安装

> ⚠️ 注意：这是一个内部包，在 Monorepo 中的项目会自动引用。

对于外部项目：

```bash
# npm
npm install --save-dev @particle-network/eslint-config

# yarn
yarn add -D @particle-network/eslint-config

# pnpm
pnpm add -D @particle-network/eslint-config
```

### 配置

在项目的 `eslint.config.js` 中使用：

```javascript
// ESLint 9.x 扁平配置
import { getESLintConfig } from '@particle-network/eslint-config';
import { defineConfig } from 'eslint/config';

const config = [
  ...getESLintConfig({
    //
  }),
  // 自定义配置
];

export default defineConfig(config);
```

## 🛠 开发

### 项目结构

```
packages/eslint-config/
├── src/
│   ├── configs/
│   │   ├── base.js        # 基础配置
│   │   ├── react.js       # React 配置
│   │   ├── react-native.js # React Native 配置
│   │   ├── node.js        # Node.js 配置
│   │   └── typescript.js  # TypeScript 配置
│   ├── constants.js       # 共享常量
│   └── index.js          # 导出入口
├── eslint.config.js      # 自身的 ESLint 配置
└── package.json
```

### 添加新规则

1. 在相应的配置文件中添加规则
2. 测试规则效果
3. 更新文档
4. 提交变更

```javascript
// src/configs/base.js
export default {
  rules: {
    // 添加新规则
    'new-rule': 'error',
  },
};
```

## 🔄 版本管理

遵循语义化版本：

- **主版本**: 破坏性变更（如删除规则、更改错误级别）
- **次版本**: 新增功能（如添加新规则、新配置）
- **修订版本**: 问题修复（如规则调整、文档更新）

## 📊 规则严格程度

我们使用三个级别的规则严格程度：

| 级别    | 说明     | 使用场景             |
| ------- | -------- | -------------------- |
| `error` | 必须修复 | 可能导致错误的代码   |
| `warn`  | 建议修复 | 代码质量问题         |
| `off`   | 关闭     | 不适用或有争议的规则 |

## 🔗 相关链接

- [ESLint 官方文档](https://eslint.org/)
- [TypeScript ESLint](https://typescript-eslint.io/)
- [主项目仓库](https://gitlab.minijoy.work/frontend/ux-design)

---

<div align="center">
  Made with ❤️ by UniversalX Team
</div>