open-index/open-npm huggingface dataset:
npm package: @moluoxixi/autoroutes
Description: autoRoutes 组件
Latest version: 0.0.2-beta.0

# Auto Routes Plugin

这是一个Vite插件，用于自动生成Vue路由配置。

## 功能特性

- 自动扫描指定目录下的Vue文件，生成路由配置
- 支持嵌套路由，根据目录结构自动生成层级关系
- 支持热更新，当文件变化时自动更新路由
- 使用虚拟模块，无需额外文件生成
- 完全基于TypeScript，提供完整的类型定义和类型检查
- 路由生成逻辑分离到独立文件，便于维护和扩展

## 项目结构

- `index.ts`: 主插件文件，处理虚拟模块加载
- `routeGenerator.ts`: 包含路由生成的核心逻辑，使用TypeScript编写，提供类型安全
- `routeGenerator.d.ts`: 路由生成器的类型声明文件
- `index.d.ts`: 插件和虚拟模块的类型声明文件

## 使用方法

### 1. 在vite.config.ts中引入插件

```ts
import autoRoutes from '@moluoxixi/utils/autoRoutes/index.ts'

export default defineConfig({
  plugins: [
    // 其他插件...
    autoRoutes({
      routeConfig: {
        views: 'src/views/**/index.vue',
        examples: 'src/examples/**/index.vue',
        // 可以添加更多的路由配置，key为路由前缀，value为glob匹配规则
      },
    }),
  ],
  // 其他配置...
})
```

### 2. 在路由文件中使用虚拟模块

```ts
import autoRoutes from 'virtual:auto-routes'
// src/router/index.ts
import { createRouter, createWebHistory } from 'vue-router'

const routes = [
  {
    path: '/',
    name: 'layout',
    component: () => import('./layout.vue'),
    children: autoRoutes,
  },
  {
    path: '/:pathMatch(.*)*',
    redirect: '/',
  },
]

const router = createRouter({
  history: createWebHistory(import.meta.env.BASE_URL),
  routes,
})

export default router
```

## 配置说明

插件接收一个配置对象，其中：

- `routeConfig`: 路由配置对象
  - 键(key)：作为路由的前缀
  - 值(value)：作为glob匹配规则，必须基于根目录
- `virtualModuleId`: 可选，自定义虚拟模块ID，默认为 'virtual:auto-routes'

## 类型说明

插件提供了完整的TypeScript类型定义：

- `RouteModule`: 路由模块的类型定义
- `Component`: 组件的类型定义
- `FilesMap`: 文件映射对象的类型定义
- `AutoRoutesPluginConfig`: 插件配置的类型定义

## 实现原理

插件通过以下步骤工作：

1. 将路由生成逻辑使用TypeScript编写，提供类型安全
2. 在插件加载时，读取路由生成器文件的内容作为字符串
3. 处理字符串内容，移除TypeScript特有的类型注解，确保在运行时不会出现语法错误
4. 当虚拟模块被请求时，将处理后的路由生成逻辑与动态配置组合成完整的代码
5. 返回生成的代码作为虚拟模块的内容

这种方式使得路由生成逻辑既可以享受TypeScript带来的类型安全，又能在运行时作为JavaScript代码执行。

## 注意事项

- glob匹配规则必须基于项目根目录
- 虚拟模块导出的是JS，不包含TS类型声明
- 路径处理逻辑：从src后面一位到倒数第二位作为路径
- 组件名称取自组件的name属性或路径的最后一部分
npm package: @moluoxixi/button
Description: Button 组件
Latest version: 0.0.5

# Button 按钮组件

在 Element Plus `ElButton` 基础上增强：支持禁用态或常显时展示 Popover 说明，并内置点击防抖/节流能力。

## 基础示例

```vue
<template>
  <Button
    show-type="disabled"
    content="权限不足，无法点击"
    :debounce="600"
    type="primary"
  >提交</Button>
</template>
```

## API

### Props

| 参数 | 说明 | 类型 | 默认值 |
| --- | --- | --- | --- |
| `showType` | 提示显示方式 | `'disabled'` \| `'content'` | `'disabled'` |
| `content` | 提示内容 | string | `''` |
| `popoverProps` | 透传给 `ElPopover` 的属性 | `Record<string, any>` | `{ placement: 'top', trigger: 'hover' }` |
| `debounce` | 点击防抖时间（ms） | number | `0` |
| `throttle` | 点击节流时间（ms） | number | `300` |
| `options` | 防抖/节流配置 | `{ trailing?: boolean; leading?: boolean; promise?: boolean }` | `{}` |

> 同时传入 `debounce` 与 `throttle` 时，优先使用 `debounce`。

### Events

| 事件名 | 说明 | 回调参数 |
| --- | --- | --- |
| `click` | 点击事件 | `(ev: MouseEvent) => void` |

### Slots

| 插槽名 | 说明 |
| --- | --- |
| `default` | 按钮内容 |
| `content` | 气泡内容（未传则展示 `content` 文本） |

### Expose

无。
npm package: @moluoxixi/configfrom
Description: ConfigFrom 组件
Latest version: 0.0.2

# ConfigFrom 配置化表单（基于 form-create）

说明：基于 `@form-create/element-ui` 封装，传入 `rule` 与 `option` 动态渲染表单。

## 用法

```vue
<script setup lang="ts">
import ConfigFrom from '@moluoxixi/components/ConfigFrom'
import { ref } from 'vue'

const model = ref<Record<string, any>>({})
const rule = ref<any[]>([
  { type: 'input', field: 'name', title: '姓名', props: { placeholder: '请输入姓名' } },
])
const option = ref<Record<string, any>>({ submitBtn: false })
</script>

<template>
  <ConfigFrom v-model="model" :rule="rule" :option="option" />
  <!-- 需要在上层安装依赖：@form-create/element-ui -->
  <!-- pnpm -C packages/components add @form-create/element-ui -w -->
  <!-- 如需设计器：pnpm -C packages/components add @form-create/designer -w -->
  
</template>
```
npm package: @moluoxixi/eslint-config
Description: EslintConfig 组件
Latest version: 0.0.13

# EslintConfig

一行集成 ESLint 规则的工具包。导出 `createEslintConfig(config, ...userConfigs)`，便捷生成可复用的 ESLint 配置。

## 使用示例

```ts
import createEslintConfig from '@moluoxixi/eslintconfig'

export default createEslintConfig({
  ignores: [
    '.husky/**',
    '**/*.md',
  ],
})
```

## API

### createEslintConfig(config, ...userConfigs)

- `config`: 基础配置对象
- `...userConfigs`: 额外用户配置，按序合并覆盖
npm package: @moluoxixi/keepallalive
Description: KeepAllAlive 组件
Latest version: 1.3.10

# KeepAllAlive 路由缓存组件

一个基于Vue 3的路由组件缓存方案，提供更灵活的路由组件缓存控制能力，支持基于路由参数的缓存控制。

## 特性

- 基于路径的缓存：使用路由的完整路径作为缓存键
- 条件缓存：支持通过路由元数据、查询参数或自定义函数控制是否缓存组件
- 缓存清理：提供清除特定路由或所有缓存的方法
- 与Vue Router集成：可直接替代常规router-view与keep-alive组合

## 使用方法

### 基本用法

```vue
<template>
  <div>
    <keep-all-alive>
      <!-- 内容会被自动缓存 -->
    </keep-all-alive>
  </div>
</template>

<script setup>
import KeepAllAlive from '@moluoxixi/components/KeepAllAlive'
</script>
```

### 通过查询参数控制缓存

默认情况下，组件会检查路由的查询参数中是否包含`keepAlive=true`来决定是否缓存该路由：

```
// 这个路由会被缓存
/user/profile?keepAlive=true

// 这个路由不会被缓存
/user/profile?keepAlive=false
```

### 通过路由元数据控制缓存

在路由配置中设置`meta.keepAlive`属性：

```js
// router.js
const routes = [
  {
    path: '/user/profile',
    component: UserProfile,
    meta: {
      keepAlive: true // 此路由会被缓存
    }
  },
  {
    path: '/user/settings',
    component: UserSettings,
    meta: {
      keepAlive: false // 此路由不会被缓存
    }
  }
]
```

### 自定义缓存逻辑

通过传递`defaultKeepAlive`函数来自定义缓存判断逻辑：

```vue
<template>
  <keep-all-alive :default-keep-alive="shouldKeepAlive">
    <!-- 内容 -->
  </keep-all-alive>
</template>

<script setup>
import KeepAllAlive from '@moluoxixi/components/KeepAllAlive'

// 自定义函数决定是否缓存
const shouldKeepAlive = (route) => {
  // 例如：只缓存特定模块的路由
  return route.path.startsWith('/dashboard')
}
</script>
```

### 手动清理缓存

```vue
<template>
  <div>
    <button @click="clearPathCache">清除特定路由缓存</button>
    <button @click="clearAllCache">清除所有缓存</button>
    <keep-all-alive ref="keepAliveRef">
      <!-- 内容 -->
    </keep-all-alive>
  </div>
</template>

<script setup>
import { ref } from 'vue'
import KeepAllAlive from '@moluoxixi/components/KeepAllAlive'

const keepAliveRef = ref(null)

// 清除特定路由缓存
const clearPathCache = () => {
  keepAliveRef.value?.clearCache('/user/profile?id=1')
}

// 清除所有缓存
const clearAllCache = () => {
  keepAliveRef.value?.clearAllCache()
}
</script>
```

## API

### Props

| 属性名 | 说明 | 类型 | 默认值 |
| --- | --- | --- | --- |
| defaultKeepAlive | 自定义缓存判断函数，返回true表示缓存，false表示不缓存 | Function | null |

### 方法

| 方法名 | 说明 | 参数 |
| --- | --- | --- |
| clearCache | 清除特定路由的缓存 | fullPath: string (路由的完整路径，包括查询参数) |
| clearAllCache | 清除所有缓存 | - |

## 注意事项

- 缓存的键是路由的完整路径（fullPath），这意味着不同参数的相同路由会被视为不同的缓存实例
- 默认情况下，组件会检查路由查询参数中的`keepAlive`或路由meta中的`keepAlive`属性来决定是否缓存
- 如果提供了`defaultKeepAlive`函数，它将优先被使用来决定是否缓存路由
npm package: @moluoxixi/select
Description: Select 组件
Latest version: 1.3.13

# Select 组件

基于Element Plus的Select选择器组件的二次封装，支持本地数据和远程接口数据源。

## 基本用法

```vue
<template>
  <Select v-model="value" :options="options" />
</template>

<script setup>
import { ref } from 'vue'
import { Select } from '@moluoxixi/components/Select'

const value = ref('')
const options = [
  { label: '选项1', value: '1' },
  { label: '选项2', value: '2' },
  { label: '选项3', value: '3' }
]
</script>
```

## 远程数据源

```vue
<template>
  <Select 
    v-model="value" 
    :serverProps="{ 
      serverType: 'base', 
      optionsParams: { dictType: 'COMMON_YES_NO' } 
    }" 
  />
</template>

<script setup>
import { ref } from 'vue'
import { Select } from '@moluoxixi/components/Select'

const value = ref('')
</script>
```

## 全局配置

在应用的入口文件（如main.ts）中，可以配置全局的远程数据源：

```ts
import { createApp } from 'vue'
import App from './App.vue'
import axios from 'axios'
import { configureServerOptions } from '@moluoxixi/components/Select/src/uitls'

// 配置Select组件的全局选项
configureServerOptions({
  // 配置服务类型和对应的API端点
  serverMap: {
    base: '/api/common/dict',
    users: '/api/users',
    departments: '/api/departments',
    // 添加更多自定义服务类型...
  },
  
  // 自定义请求处理函数
  requestHandler: async (url, params) => {
    try {
      // 使用axios或其他HTTP客户端
      const response = await axios.post(url, params)
      // 根据自己的API返回格式处理结果
      if (response.data.code === 200) {
        return response.data.data.list || []
      }
      return []
    } catch (error) {
      console.error('Failed to fetch options:', error)
      return []
    }
  }
})

const app = createApp(App)
app.mount('#app')
```

## 组件属性

| 属性名 | 说明 | 类型 | 默认值 |
|--------|------|------|--------|
| modelValue / v-model | 选中项绑定值 | string / number / boolean / object | — |
| options | 下拉框选项数据 | Array | [] |
| label | 选项标签的键名 | string | 'label' |
| value | 选项值的键名 | string | 'value' |
| clearable | 是否可以清空选项 | boolean | true |
| filterable | 是否可搜索 | boolean | true |
| filterMethod | 自定义搜索方法 | function | — |
| collapseTags | 多选时是否将选中值按文字形式展示 | boolean | true |
| collapseTagsTooltip | 当鼠标悬停于折叠标签的文本时，是否显示所有选中的标签 | boolean | true |
| teleported | 是否将下拉菜单插入至body元素 | boolean | true |
| serverProps | 远程数据源配置 | object | — |

### serverProps 属性

| 属性名 | 说明 | 类型 | 默认值 |
|--------|------|------|--------|
| serverType | 服务类型，对应全局配置中的键名 | string | — |
| optionsParams | 请求参数 | object | {} |

## 事件

| 事件名 | 说明 | 回调参数 |
|--------|------|----------|
| change | 选中值变化时触发 | 当前选中值 |
npm package: @moluoxixi/tsbutton
Description: TsButton 组件
Latest version: 0.0.5

# Button 按钮组件

在 Element Plus `ElButton` 基础上增强：支持禁用态或常显时展示 Popover 说明，并内置点击防抖/节流能力。

## 基础示例

```vue
<template>
  <Button
    show-type="disabled"
    content="权限不足，无法点击"
    :debounce="600"
    type="primary"
  >提交</Button>
</template>
```

## API

### Props

| 参数 | 说明 | 类型 | 默认值 |
| --- | --- | --- | --- |
| `showType` | 提示显示方式 | `'disabled'` \| `'content'` | `'disabled'` |
| `content` | 提示内容 | string | `''` |
| `popoverProps` | 透传给 `ElPopover` 的属性 | `Record<string, any>` | `{ placement: 'top', trigger: 'hover' }` |
| `debounce` | 点击防抖时间（ms） | number | `0` |
| `throttle` | 点击节流时间（ms） | number | `300` |
| `options` | 防抖/节流配置 | `{ trailing?: boolean; leading?: boolean; promise?: boolean }` | `{}` |

> 同时传入 `debounce` 与 `throttle` 时，优先使用 `debounce`。

### Events

| 事件名 | 说明 | 回调参数 |
| --- | --- | --- |
| `click` | 点击事件 | `(ev: MouseEvent) => void` |

### Slots

| 插槽名 | 说明 |
| --- | --- |
| `default` | 按钮内容 |
| `content` | 气泡内容（未传则展示 `content` 文本） |

### Expose

无。
npm package: @moluoxixi/vite-config
Description: ViteConfig 组件
Latest version: 0.0.36

# ViteConfig

一行集成稳定的 Vite 配置：内置 Vue 生态、自动引入、自动路由、微前端、构建优化与 CDN 等能力，并提供清晰开关。

## 快速开始

```ts
// vite.config.ts
import viteConfig, { wrapperEnv } from '@moluoxixi/vite-config'
import path from 'node:path'
import { loadEnv } from 'vite'

export default viteConfig(({ mode }) => {
  const env = loadEnv(mode!, process.cwd())
  const viteEnv = wrapperEnv(env)
  return {
    rootPath: path.resolve(),
    mode: {
      base: { VITE_APP_TITLE: viteEnv.VITE_APP_TITLE, VITE_APP_CODE: viteEnv.VITE_APP_CODE, VITE_AUTO_ROUTES: true },
      development: { VITE_DEVTOOLS: true },
      production: {},
    },
    viteConfig: {},
    autoRoutes: { routeConfig: {} },
  }
})
```

## API 概览

- `createViteConfig(Config: ViteConfigType): UserConfigExport`
- 配置项主要包含：`rootPath`、`mode`、`viteConfig`、`autoRoutes`、`unpluginAutoImportOptions`、`unpluginVueComponentsOptions`、`CDNImportOptions`
npm package: @moly-mcp/lido
Description: Terminal assistant for Lido staking — stake, unstake, wrap, govern, bridge, and monitor positions.
Latest version: 1.2.2

# @moly-mcp/lido

Terminal assistant for managing Lido staking positions. Stake ETH, manage stETH/wstETH, track withdrawals, vote on governance, bridge from L2, and monitor your position with alerts.

## Install

```
npm i -g @moly-mcp/lido
```

Or run directly:

```
npx @moly-mcp/lido
```

## Setup

First run launches an interactive wizard that configures your wallet, network, and RPC.

```
moly setup    # re-run wizard
moly config   # view current config (keys redacted)
moly reset    # wipe config and start fresh
```

Config is saved to `~/.moly/config.json` (chmod 600).

## Commands

### Position

```
moly position              # cross-chain summary (ETH + Base + Arbitrum)
moly position 0xAddress    # specific address
```

### Bounds (Policy Limits)

Human-set guardrails enforced before any write operation.

```
moly bounds                # show current bounds
moly bounds set --max-stake-per-tx 1.0 --max-daily-stake 10 --min-eth-reserve 0.5
moly bounds reset          # restore defaults
```

Defaults: max 10 ETH/tx, 50 ETH/day, 0.5 ETH reserve, auto-vote off.

### Alerts

```
moly alert add balance_below 1.0
moly alert add withdrawal_ready
moly alert add reward_rate_below 0.01
moly alert add proposal_new
moly alert add balance_below 5.0 --channel webhook
moly alert list
moly alert remove <id>
moly alert channels --telegram-token <token> --telegram-chat <chat-id>
moly alert channels --webhook-url https://example.com/hook
```

Alert types: `balance_below`, `balance_above`, `reward_rate_below`, `reward_rate_above`, `withdrawal_ready`, `proposal_new`, `conversion_rate_above`, `conversion_rate_below`, `reward_delta`, `governance_expiring`.

### Monitor

Background daemon that checks alert conditions every 30s.

```
moly monitor start
moly monitor status
moly monitor stop
```

### Ledger (Activity Log)

```
moly ledger list                              # recent entries
moly ledger list --tool stake_eth --limit 10
moly ledger list --since 2025-01-01
moly ledger stats
moly ledger export --format json
moly ledger export --format csv
```

## MCP Server

Moly also runs as an MCP server exposing 28 tools for staking, withdrawals, wrapping, governance, bridging, alerts, and position tracking.

```
moly --server
```

All write operations support `dry_run` and are gated by your configured bounds.

## Requirements

Node.js >= 18

## License

MIT
npm package: @mome0320/kartrider.js-fetch
Description: KartRider library interacting with Nexon API use fetch
Author: MoartMedia
Latest version: 0.0.9

# tmi-kartrider.js

> 카트라이더 TMI API warpper 라이브러리

Node.js 환경으로 만들어진 카트라이더 api wrapper 라이브러리입니다.
아직 프로젝트가 완성되지 않았으며
완벽하게 테스트 끝나지 않은 상태입니다.