npm package: @jncode/configs
Description: jncode 项目通用配置
Latest version: 0.0.0

# @jncode/configs

> jncode 项目通用配置包

这个包提供了 jncode 项目中所有应用程序和库的统一配置，包括代码格式化、类型检查、构建工具等配置。

## 📦 安装

```bash
pnpm add -D @jncode/configs
```

## 🚀 使用方法

### 完整导入

```javascript
import configs from '@jncode/configs';

// 使用各种配置
const { biome, tsconfig, tailwind, vite } = configs;
```

### 按需导入

```javascript
import { biome, tsconfig, createViteAppConfig } from '@jncode/configs';
```

### 直接引用配置文件

```javascript
// 在你的配置文件中直接引用
import '@jncode/configs/biome';
import '@jncode/configs/tsconfig';
import '@jncode/configs/tailwind';
```

## 📋 包含的配置

### 🎨 代码格式化和检查

#### Biome 配置
- **文件**: `biome.json`
- **用途**: 代码格式化、语法检查、导入排序
- **特性**:
  - 统一的代码风格（2空格缩进，100字符行宽）
  - TypeScript 和 JavaScript 支持
  - React JSX 支持
  - 自动导入组织

```javascript
// 使用方式
import { biome } from '@jncode/configs';
```

#### Lint-staged 配置
- **文件**: `lint-staged.json`
- **用途**: Git 提交前的代码检查和格式化
- **支持文件类型**: `.js`, `.jsx`, `.ts`, `.tsx`, `.json`, `.css`, `.md`

```javascript
// 在 package.json 中使用
{
  "lint-staged": "@jncode/configs/lint-staged"
}
```

### 🔧 TypeScript 配置

#### 基础配置 (tsconfig.base.json)
- **目标**: ES2020
- **模块系统**: ESNext with bundler resolution
- **特性**: 严格模式、React JSX 支持、声明文件生成

#### 应用配置 (tsconfig.app.json)
- 继承基础配置，适用于应用程序

#### Node.js 配置 (tsconfig.node.json)
- 继承基础配置，适用于 Node.js 环境

```json
// 在你的 tsconfig.json 中使用
{
  "extends": "@jncode/configs/tsconfig"
}
```

### 🎨 样式配置

#### Tailwind CSS 配置
- **文件**: `tailwind.config.js`
- **特性**:
  - 集成 HeroUI 组件库
  - 支持暗色模式
  - 可扩展的主题配置

```javascript
// tailwind.config.js
import baseConfig from '@jncode/configs/tailwind';

export default {
  ...baseConfig,
  content: [
    './src/**/*.{js,jsx,ts,tsx}',
    // 添加你的内容路径
  ],
};
```

#### PostCSS 配置
- **文件**: `postcss.config.js`
- **插件**: Tailwind CSS、Autoprefixer

```javascript
// postcss.config.js
export { default } from '@jncode/configs/postcss';
```

### ⚡ Vite 配置

#### 库配置 (createViteLibConfig)
适用于构建可复用的库和组件包：

```javascript
// vite.config.ts
import { createViteLibConfig } from '@jncode/configs';

export default createViteLibConfig({
  entry: './src/index.ts',
  name: 'MyLibrary',
  external: ['react', 'react-dom'],
  globals: {
    react: 'React',
    'react-dom': 'ReactDOM'
  }
});
```

#### 应用配置 (createViteAppConfig)
适用于构建前端应用程序：

```javascript
// vite.config.ts
import { createViteAppConfig } from '@jncode/configs';

export default createViteAppConfig({
  alias: {
    '@': './src'
  },
  port: 3000,
  open: true,
  outDir: 'dist'
});
```

### 🛠️ 开发工具配置

#### VSCode 设置
- **文件**: `vscode/settings.json`
- **特性**:
  - 默认使用 Biome 作为格式化工具
  - 保存时自动格式化
  - 自动修复和导入组织

```json
// .vscode/settings.json
{
  "extends": "@jncode/configs/vscode"
}
```

## 🏗️ 项目结构
```
packages/configs/
├── README.md              # 文档
├── package.json           # 包配置
├── index.js              # 主入口文件
├── index.d.ts            # TypeScript 类型定义
├── biome.json            # Biome 配置
├── tsconfig.base.json    # TypeScript 基础配置
├── tsconfig.app.json     # TypeScript 应用配置
├── tsconfig.node.json    # TypeScript Node.js 配置
├── tailwind.config.js    # Tailwind CSS 配置
├── postcss.config.js     # PostCSS 配置
├── vite.config.base.ts   # Vite 基础配置
├── lint-staged.json      # Lint-staged 配置
└── vscode/
└── settings.json     # VSCode 设置
```
## 🔄 更新日志

### v0.1.0
- 初始版本
- 包含 Biome、TypeScript、Tailwind、Vite、VSCode 等配置
- 支持库和应用程序两种构建模式

## 🤝 贡献

如果你发现配置有问题或需要改进，请提交 Issue 或 Pull Request。

## 📄 许可证

[MIT License](LICENSE)