open-index/open-npm huggingface dataset:
npm package: @super-trans/cli
Description: ## 简介
Latest version: 2.0.1

# @super-trans/cli

## 简介

命令行工具，负责代码/配置的解析、转换与构建流程调度，支持通过配置文件驱动多转换器任务。

## 功能特性

- 配置驱动：支持读取`trans.config.json`配置文件
- 多任务处理：可同时执行多个转换器（如`@super-trans/trans-swagger`）
- 流程钩子：提供全流程 Hook 支持（文件遍历、AST 转换、结果输出等）

## 安装

```bash
pnpm add -g @super-trans/cli
```

## 快速开始

### 1. 创建配置文件（trans.config.json）

```json
{
  "context": ".",
  "source": {
    "include": ["src/**/*.ts"],
    "exclude": ["**/test/*"]
  },
  "transformers": {
    "@super-trans/trans-swagger": {
      "output": "dist/swagger",
      "plugins": []
    }
  }
}
```

### 2. 执行转换

```bash
npx super-trans --config trans.config.json
```

## 命令参数

| 参数     | 说明         | 默认值            |
| -------- | ------------ | ----------------- |
| --config | 配置文件路径 | trans.config.json |
| --help   | 查看帮助信息 | -                 |
npm package: @super-trans/core
Description: ## 简介
Latest version: 2.0.1

# @super-trans/core

## 简介

核心转换引擎，提供输入层、转换层、输出层的抽象类，支持通过 Hook 机制扩展各层逻辑，实现任意文本 ↔ AST 树 ↔ 任意文本的双向转换。

## 功能特性

- 分层架构：输入层（Resolver）、转换层（Transformer）、输出层（Releaser）
- 可扩展性：基于 tapable 的 Hook 系统，支持插件扩展
- 跨环境兼容：Node.js 与浏览器环境适配

## 安装

```bash
pnpm add @super-trans/core
```

## 使用示例

```typescript
import { Resolver, Transformer, Releaser } from "@super-trans/core";

class MyResolver extends Resolver {
  resolve(content: string) {
    // 实现输入解析逻辑
  }
}

class MyTransformer extends Transformer {
  parse(ast: ASTTree) {
    // 实现AST转换逻辑
  }
}

class MyReleaser extends Releaser {
  generate(result: any) {
    // 实现输出生成逻辑
  }
}
```

## 扩展机制

通过继承抽象类并注册 Hook，可扩展各层功能：

```typescript
const processer = new Processer();
processer.hooks.beforeParse.tap("MyPlugin", (ast) => {
  // 预处理AST
});
```
npm package: @super-trans/playground
Description: ## 简介 功能演示工程，提供Web界面验证转换流程，支持输入Swagger JSON或TS代码并实时预览转换结果（如Swagger转表单配置、TS声明转Markdown文档）。
Latest version: 2.0.1

# @super-trans/playground

## 简介
功能演示工程，提供Web界面验证转换流程，支持输入Swagger JSON或TS代码并实时预览转换结果（如Swagger转表单配置、TS声明转Markdown文档）。

## 功能特性
- 多转换器切换：支持`@super-trans/trans-swagger`和`@super-trans/trans-ts2md`
- 实时预览：输入源数据后立即展示转换结果
- 交互友好：提供输入编辑框、结果对比视图和转换器切换按钮

## 启动开发环境
```bash
cd packages/playground
npm run dev
```

## 使用说明
1. 启动服务后访问`http://localhost:5173`
2. 选择目标转换器（Swagger转表单/TS转Markdown）
3. 在输入框中粘贴Swagger JSON或TS代码
4. 实时查看右侧转换结果预览
5. 支持导出结果到本地文件

## 示例截图
![预览界面](https://via.placeholder.com/800x400?text=Playground+Preview+Interface)

（注：实际项目中应替换为真实截图路径）
npm package: @super-trans/share
Description: ## 简介 基础工具包，提供AST遍历、类型判断、通用渲染等通用工具函数，服务于核心转换引擎及各业务转换器。
Latest version: 2.0.1

# @super-trans/share

## 简介
基础工具包，提供AST遍历、类型判断、通用渲染等通用工具函数，服务于核心转换引擎及各业务转换器。

## 功能特性
- **AST遍历**：支持深度优先/广度优先遍历算法
- **类型判断**：校验AST节点类型（object/array/enum等）
- **通用渲染**：从节点描述中提取枚举值、参数信息

## 安装
```bash
pnpm add @super-trans/share
```

## 使用示例
### 深度优先遍历AST树
```typescript
import { dfsTraverse } from '@super-trans/share';

const ast = { /* AST节点结构 */ };
const result = dfsTraverse(ast, (node) => {
  if (node.type === 'enum') {
    console.log('枚举节点:', node.enums);
  }
});
```

### 类型校验
```typescript
import { isObjectNode } from '@super-trans/share';

if (isObjectNode(astNode)) {
  console.log('对象节点属性:', astNode.properties);
}
```
npm package: @super-trans/trans-swagger
Description: ## 简介 Swagger转换器，实现OpenAPI 3.0规范解析 → 标准AST树 → Ant Design表单/表格配置的双向转换。
Latest version: 2.0.1

# @super-trans/trans-swagger

## 简介
Swagger转换器，实现OpenAPI 3.0规范解析 → 标准AST树 → Ant Design表单/表格配置的双向转换。

## 功能特性
- **输入层**：解析Swagger JSON/yml文件生成AST树
- **转换层**：AST树→FormSchema（表单配置）、AST树→TableColumn（表格列配置）
- **输出层**：支持CLI命令输出和API调用返回

## 安装
```bash
pnpm add @super-trans/trans-swagger
```

## 使用示例
### CLI方式
```bash
npx super-trans --config trans.config.json
# 配置文件中指定trans-swagger输出目录
```

### API方式
```typescript
import swaggerTrans from '@super-trans/trans-swagger';

const swaggerJson = { /* OpenAPI 3.0文档 */ };
const { formSchema, tableColumns } = swaggerTrans(swaggerJson);

// 表单配置示例
console.log(formSchema);
// [{
//   label: "用户名",
//   field: "userName",
//   component: "Input",
//   required: true
// }]

// 表格列配置示例
console.log(tableColumns);
// [{
//   title: "用户ID",
//   dataIndex: "userId",
//   format: "int64"
// }]
```