open-index/open-npm huggingface dataset:
npm package: @qxip/to-file
Description: Convert a file path to a vinyl file.
Author: Jon Schlinkert
Latest version: 0.2.1

# to-file [![NPM version](https://img.shields.io/npm/v/to-file.svg?style=flat)](https://www.npmjs.com/package/to-file) [![NPM downloads](https://img.shields.io/npm/dm/to-file.svg?style=flat)](https://npmjs.org/package/to-file) [![Build Status](https://img.shields.io/travis/jonschlinkert/to-file.svg?style=flat)](https://travis-ci.org/jonschlinkert/to-file)

Convert a file path to a vinyl file.

## Install

Install with [npm](https://www.npmjs.com/):

```sh
$ npm install to-file --save
```

## Usage

```js
var toFile = require('to-file');
var glob = require('glob');

var files = glob.sync('**/*.js')
files = files.map(function(fp) {
  return toFile(fp);
});
```

**glob parent**

Optionally pass the original glob pattern as the second argument to populate `file.base` from the [glob-parent](https://github.com/es128/glob-parent).

```js
var files = glob.sync('**/*.js')
files = files.map(function(fp) {
  return toFile(fp, '**/*.js');
});
```

**options**

If an options object is passed as the second or third argument, the `cwd` and `base` properties will be used to update the file object, and the `options` object will be added as a property on the `file` object.

```js
var files = glob.sync('**/*.js')
files = files.map(function(fp) {
  return toFile(fp, '**/*.js');
});
```

## Related projects

You might also be interested in these projects:

* [to-template](https://www.npmjs.com/package/to-template): Convert a vinyl file object to a Template-compatible template object. | [homepage](https://github.com/jonschlinkert/to-template)
* [to-vinyl](https://www.npmjs.com/package/to-vinyl): Convert an object to a vinyl file object. Safely mixes additional properties onto the file… [more](https://www.npmjs.com/package/to-vinyl) | [homepage](https://github.com/jonschlinkert/to-vinyl)

## Contributing

Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/to-file/issues/new).

## Building docs

Generate readme and API documentation with [verb](https://github.com/verbose/verb):

```sh
$ npm install verb && npm run docs
```

Or, if [verb](https://github.com/verbose/verb) is installed globally:

```sh
$ verb
```

## Running tests

Install dev dependencies:

```sh
$ npm install -d && npm test
```

## Author

**Jon Schlinkert**

* [github/jonschlinkert](https://github.com/jonschlinkert)
* [twitter/jonschlinkert](http://twitter.com/jonschlinkert)

## License

Copyright © 2016, [Jon Schlinkert](https://github.com/jonschlinkert).
Released under the [MIT license](https://github.com/jonschlinkert/to-file/blob/master/LICENSE).

***

_This file was generated by [verb](https://github.com/verbose/verb), v0.9.0, on May 07, 2016._
npm package: @qxs-bns/utils
Description: - **适用情况**：如果你有多个与媒体（图像、视频、音频）相关的工具函数。 - **示例包含内容**：     - 图片剪切     - 视频剪辑     - 音频格式转换
Latest version: 0.0.45

## utils 开发分类方案

### 1. **媒体处理（Media Utilities）**

- **适用情况**：如果你有多个与媒体（图像、视频、音频）相关的工具函数。
- **示例包含内容**：
    - 图片剪切
    - 视频剪辑
    - 音频格式转换

### 2. **数据操作（Data Manipulation Utilities）**

- **适用情况**：如果你的工具函数主要用于数据处理和操作。
- **示例包含内容**：
    - 图片数据处理（如剪切、压缩）
    - 字符串处理
    - 数组和对象操作

### 3. **工具函数（Utility Functions）**

- **适用情况**：如果你有大量通用的工具函数，难以归入更具体的类别。
- **示例包含内容**：
    - 图片剪切
    - 防抖、节流函数
    - 深拷贝和浅拷贝

### 4. **用户界面（UI Utilities）**

- **适用情况**：如果你的工具函数主要用于用户界面的处理和操作。
- **示例包含内容**：
    - 图片剪切（用于 UI）
    - 动画函数
    - 元素布局计算

### 5. **格式化和转换（Formatting and Conversion Utilities）**

- **适用情况**：如果你的工具函数集中在格式化和数据转换上。
- **示例包含内容**：
    - 图片格式转换
    - 日期格式化
    - 单位转换

### 6. **性能优化（Performance Utilities）**

- **适用情况**：如果你的工具函数主要用于优化性能或提升应用效率。
- **示例包含内容**：
    - 图片压缩（以减少加载时间）
    - 缓存管理
    - 懒加载工具

### 7. **网络处理（Networking Utilities）**

- **适用情况**：如果你的工具函数涉及网络请求或数据传输。
- **示例包含内容**：
    - 图片上传/下载
    - HTTP 请求处理
    - WebSocket 管理

### 8. **错误处理和调试（Error Handling and Debugging Utilities）**

- **适用情况**：如果你的工具函数涉及错误处理或调试辅助。
- **示例包含内容**：
    - 图片加载错误处理
    - 日志记录
    - 断言工具
npm package: @qxy/cipher
Description: QXY cipher utils
Author: ntnyq
Latest version: 0.2.0

# qxy-cipher

[![CI](https://github.com/qxy-fe/qxy-cipher/workflows/CI/badge.svg)](https://github.com/qxy-fe/qxy-cipher/actions)
[![NPM VERSION](https://img.shields.io/npm/v/@qxy/cipher.svg)](https://www.npmjs.com/package/@qxy/cipher)
[![Coverage Status](https://coveralls.io/repos/github/qxy-fe/qxy-cipher/badge.svg?branch=main)](https://coveralls.io/github/qxy-fe/qxy-cipher?branch=main)
[![LICENSE](https://img.shields.io/github/license/qxy-fe/qxy-cipher.svg)](https://github.com/qxy-fe/qxy-cipher/blob/main/LICENSE)

:lock: QXY-FE cipher utils for OA projects.

## Install

```bash
npm -i @qxy/cipher crypto-js -S
```

```bash
yarn add @qxy/cipher crypto-js
```

```bash
pnpm add @qxy/cipher crypto-js
```

## Usage

```ts
import { createCipher } from '@qxy/cipher'
import { getHash } from '@/services/utils'

const password = 'foobar'
const { hash: key } = await getHash()
const { encrypt, decrypt } = createCipher({ key })

const encryptedPassword = encrypt(password)
console.log(encryptedPassword) // => encryptedMessage

const decryptedPassword = decrypt(encryptedPassword)
console.log(decryptedPassword) // => `foobar`
```

## License

[MIT](./LICENSE) License © 2022 [ntnyq](https://github.com/ntnyq)
npm package: @qxy/cspell-dict
Description: Sharable CSpell dictionary for qxy-fe team.
Author: ntnyq
Latest version: 0.0.4

# @qxy/cspell-dict

[![CI](https://github.com/qxy-fe/cspell-dict/workflows/CI/badge.svg)](https://github.com/qxy-fe/cspell-dict/actions)
[![NPM VERSION](https://img.shields.io/npm/v/@qxy/cspell-dict.svg)](https://www.npmjs.com/package/@qxy/cspell-dict)
[![NPM DOWNLOADS](https://img.shields.io/npm/dy/@qxy/cspell-dict.svg)](https://www.npmjs.com/package/@qxy/cspell-dict)
[![LICENSE](https://img.shields.io/github/license/qxy-fe/cspell-dict.svg)](https://github.com/qxy-fe/cspell-dict/blob/main/LICENSE)

Sharable CSpell dictionary for qxy-fe team.

## Install

```shell
npm i @qxy/cspell-dict -g
```

## LICENSE

[MIT](./LICENSE)
npm package: @qxy/date-time
Description: QXY-FE date time utils for OA projects
Author: ntnyq
Latest version: 0.0.2

# qxy-date-time

[![CI](https://github.com/qxy-fe/qxy-date-time/workflows/CI/badge.svg)](https://github.com/qxy-fe/qxy-date-time/actions)
[![NPM VERSION](https://img.shields.io/npm/v/@qxy/date-time.svg)](https://www.npmjs.com/package/@qxy/date-time)
[![Coverage Status](https://coveralls.io/repos/github/qxy-fe/qxy-date-time/badge.svg?branch=main)](https://coveralls.io/github/qxy-fe/qxy-date-time?branch=main)
[![LICENSE](https://img.shields.io/github/license/qxy-fe/qxy-date-time.svg)](https://github.com/qxy-fe/qxy-date-time/blob/main/LICENSE)

:lock: QXY-FE date time utils for OA projects.

## Install

```bash
npm -i @qxy/date-time dayjs -S
```

```bash
yarn add @qxy/date-time dayjs
```

```bash
pnpm add @qxy/date-time dayjs
```

## Usage

```ts
import { now } from '@qxy/date-time'

console.log(now()) // => 1684230041493
```

## Functions

- [now](./src/now.ts)
- [formatTime](./src/formatTime.ts)
- [toTimestamp](./src/toTimestamp.ts)

## Features

- 📥 Prefer unix timestamp

## License

[MIT](./LICENSE) License © 2023-PRESENT [ntnyq](https://github.com/ntnyq)
npm package: @qxy/eslint-config-jest
Description: qxy-fe eslint config for Jest
Latest version: 0.1.14

# eslint-config-jest

> qxy-fe eslint config for Jest

## Usage

### Install

```bash
$ npm i @qxy/eslint-config-jest -D
# OR
$ yarn add @qxy/eslint-config-jest -D
```

### Extend this config

in `.eslintrc.js`

```js
module.exports = {
    root: true,

    extends: [
        // Other preset
        '@qxy/jest',
    ],

    rules: {
        // Override rules
    },
}
```

in `package.json`

```json
{
    "eslintConfig": {
        "root": true,
        "extends": [
            // Other Preset
            "@qxy/jest"
        ]
    }
}
```
npm package: @qxy/eslint-config-prettier
Description: qxy-fe eslint config with prettier
Latest version: 0.2.18

# eslint-config-prettier

> qxy-fe eslint config with prettier

## Usage

### Install

```bash
$ npm i @qxy/eslint-config-prettier -D
# OR
$ yarn add @qxy/eslint-config-prettier -D
```

### Extend this config

in `.eslintrc.js`

```js
module.exports = {
    root: true,

    extends: ['@qxy/prettier'],

    rules: {
        // Override rules
    },
}
```

in `package.json`

```json
{
    "eslintConfig": {
        "root": true,
        "extends": "@qxy/prettier"
    }
}
```
npm package: @qxy/eslint-config-prettier-vue
Description: qxy-fe eslint config with prettier for Vue.js
Latest version: 0.2.21

# eslint-config-prettier-vue

> qxy-fe eslint config with prettier for VueJs

## Usage

### Install

```bash
$ npm i @qxy/eslint-config-prettier-vue -D
# OR
$ yarn add @qxy/eslint-config-prettier-vue -D
```

### Extend this config

in `.eslintrc.js`

```js
module.exports = {
    root: true,

    extends: ['@qxy/prettier-vue'],

    rules: {
        // Override rules
    },
}
```

in `package.json`

```json
{
    "eslintConfig": {
        "root": true,
        "extends": "@qxy/prettier-vue"
    }
}
```
npm package: @qxy/scss-mixins
Description: __TODO:__
Latest version: 0.1.0

# scss-utils

> Common sass mixins and functions of qxy fe team

## Usage

### Install

```sh
$ npm i @qxy/scss-utils -D
# OR
$ yarn add @qxy/scss-utils -D
```

### Import

import as sass resources, eg: `vue.config.js`

```js
module.exports = {
    css: {
        loaderOptions: {
            sass: {
                additionalData: '@import "~@qxy/scss-utils";',
            },
        },
    },
}
```

import in a scss file, eg: `src/styles/style.scss`

```scss
@import '~@qxy/scss-utils';
```
npm package: @qxy/scss-normalize
Description: __TODO:__
Latest version: 0.1.1

# scss-normalize

> Opinionated normalize style of qxy fe team

## Usage

### Install

```sh
$ npm i @qxy/scss-normalize -D
# OR
$ yarn add @qxy/scss-normalize -D
```

### Import

import in build entry, eg: `src/main.js`

```js
import '@qxy/scss-normalize'
```

import in global common style, eg: `src/styles/style.scss`

```scss
@import '~@qxy/scss-normalize';
```
npm package: @qxy/utils
Description: ![CI](https://github.com/qxy-fe/utils/workflows/CI/badge.svg)
Author: ntnyq
Latest version: 0.0.2

# @qxy/utils

![CI](https://github.com/qxy-fe/utils/workflows/CI/badge.svg)

## Quick start

-   Install with yarn: `yarn add @qxy/utils`
-   Via CDN: `<script src="https://unpkg.com/@qxy/utils"></script>`

## CHANGELOG

[CHANGELOG](./CHANGELOG.md)
npm package: @qxy/vue-debugger
Description: A simple Vue app debugger plugin
Author: ntnyq
Latest version: 0.0.1

# @qxy/vue-debugger

> A simple Vue app debugger plugin

## Usage

```sh
$ yarn add @qxy/vue-debugger
```

```main.js
import Vue from 'vue'
import '@qxy/vue-debugger/dist/style.css'
import VueDebugger from '@qxy/vue-debugger'

Vue.use(VueDebugger)
```

## License

[MIT](./LICENSE)
npm package: @qy-utils/fe-deployer
Description: Frontend deployment toolset: SSH deploy, Docker scaffolding, multi-cloud upload (OSS/MinIO/S3/COS), YAML config, notifications.
Author: yxb123456cy
Latest version: 1.0.13

# fe-deployer

前端工程部署工具集（TypeScript）：
- 一键部署到服务器（SSH + 压缩/解压）
- Docker 模板生成（Dockerfile + docker-compose）
- 多云上传：阿里云 OSS / MinIO / AWS S3 / 腾讯云 COS
- YAML 配置（`fe-deployer.yaml` 或 `deploy.config.yaml`）
- 部署通知（钉钉、飞书、Slack 或通用 Webhook）

## 快速开始

```bash
npm i -g fe-deployer
fe-deployer --help

# 生成 Docker 模板
fe-deployer docker

# 上传构建产物到云存储
fe-deployer upload -t oss

# 部署到服务器（读取 YAML 配置）
fe-deployer deploy -e prod
```

## 配置文件

创建 `fe-deployer.yaml`（或 `deploy.config.yaml`）在你的项目根目录：

```yaml
envs:
  dev:
    host: 1.2.3.4
    port: 22
    username: root
    # 私钥方式（推荐）或 password 二选一
    privateKey: ~/.ssh/id_rsa
    # password: "your-password"
    deployPath: /var/www/apps/myapp
    preCommands:
      - mkdir -p /var/www/apps/myapp
    postCommands:
      - ls -lah
  prod:
    host: 5.6.7.8
    port: 22
    username: ubuntu
    privateKey: ~/.ssh/id_rsa
    deployPath: /srv/myapp

storage:
  provider: oss # 可选：oss|minio|s3|cos
  baseDir: dist
  oss:
    region: oss-cn-hangzhou
    bucket: your-bucket
    accessKeyId: ${OSS_ID}
    accessKeySecret: ${OSS_SECRET}
  minio:
    endPoint: 127.0.0.1
    port: 9000
    useSSL: false
    accessKey: ${MINIO_KEY}
    secretKey: ${MINIO_SECRET}
    bucket: my-bucket
  s3:
    region: ap-southeast-1
    bucket: my-bucket
    accessKeyId: ${AWS_ID}
    secretAccessKey: ${AWS_SECRET}
  cos:
    SecretId: ${COS_ID}
    SecretKey: ${COS_SECRET}
    Bucket: my-bucket-1250000000
    Region: ap-singapore

notify:
  enable: true
  channels:
    - type: dingtalk
      webhook: https://oapi.dingtalk.com/robot/send?access_token=xxx
    - type: feishu
      webhook: https://open.feishu.cn/open-apis/bot/v2/hook/xxx
    - type: slack
      webhook: https://hooks.slack.com/services/xxx/yyy/zzz
    - type: webhook
      webhook: https://example.com/deploy-callback
```

> 支持 `${ENV_VAR}` 占位符：会从环境变量里取值。

## 安全提示
- 推荐使用 SSH 私钥，不在 YAML 里写明文密码。
- CI 环境把密钥设置在 Secrets 中。

## License
MIT
npm package: @qy-utils/orange-utils-kit
Description: A useXXX-style utility function library for modern frontend development, featuring robust TypeScript type support. It includes two categories of utilities: Node.js server-side helpers and Browser-based functions.
Author: yxb123456cy
Latest version: 0.0.7


---

````markdown
# Orange Utils Kit

[![npm version](https://img.shields.io/npm/v/@qy-utils/orange-utils-kit)](https://www.npmjs.com/package/@qy-utils/orange-utils-kit)
[![License: MIT](https://img.shields.io/badge/License-MIT-green)](LICENSE)

**Orange Utils Kit** 是一个 **useXXX 风格的前端通用工具函数库**，专为现代前端开发设计。
它提供 **完善的 TypeScript 类型支持**，并包含两类实用函数：

- **浏览器函数**（默认导入）
- **Node.js 服务端函数**（可选导入）

该库帮助你编写 **干净、可维护、可复用** 的工具函数，适用于前端和后端环境。

---

## 特性

- ✅ **useXXX 风格 API**，函数调用一致、易读
- ✅ **TypeScript 优先**，类型推导友好
- ✅ **双环境支持**
  - 浏览器：默认导入
  - Node.js：通过 `@qy-utils/orange-utils-kit/node` 可选导入
- ✅ **轻量、支持 tree-shaking**
- ✅ **默认不包含外部依赖**（Vue、Pinia 等为 peerDependencies）

---

## 安装

```bash
npm install @qy-utils/orange-utils-kit
# 或者
yarn add @qy-utils/orange-utils-kit
````

---

## 使用示例

### 浏览器（默认导入）

```ts
import { useDebounce } from '@qy-utils/orange-utils-kit'

const result = useDebounce(() => {
  console.log('Hello World')
}, 300)
```

### Node.js（可选导入）

```ts
import { useDebounce } from '@qy-utils/orange-utils-kit/node'

const result = useDebounce(() => {
  console.log('Hello from Node')
}, 300)
```

---

## 贡献指南

* 请遵循 **Conventional Commits**（`feat`, `fix`, `chore` 等）
* 开发时运行 `npm run dev`
* 测试时运行 `npm run test`

---

## 许可证

MIT © [yxb123456cy](https://github.com/yxb123456cy)
npm package: @qy2025/plugin-quote-card
Description: wangEditor link-card plugin
Author: github.com/QiaoYang0923
Latest version: 1.0.5

# wangEditor 链接卡片 插件

[English Documentation](./README-en.md)

## 介绍

[wangEditor](https://www.wangeditor.com/) 链接卡片 插件。

![](./_img/demo.png)

## 安装

```shell
yarn add @wangeditor/plugin-link-card
```

## 使用

### 注册到编辑器

```js
import { Boot } from '@wangeditor/editor'
import linkCardModule from '@wangeditor/plugin-link-card'

// 注册。要在创建编辑器之前注册，且只能注册一次，不可重复注册。
Boot.registerModule(linkCardModule)
```

### 配置

编辑器配置

```ts
import { IEditorConfig } from '@wangeditor/editor'

const editorConfig: Partial<IEditorConfig> = {
  hoverbarKeys: {
    // 在编辑器中，选中链接文本时，要弹出的菜单
    link: {
      menuKeys: [
        'editLink', 'unLink', 'viewLink', // 默认的配置可以通过 `editor.getConfig().hoverbarKeys.link` 获取
        'convertToLinkCard' // 增加 '转为链接卡片'菜单
      ],
    },
  },

  MENU_CONF: {
    // '转为链接卡片'菜单的配置
    convertToLinkCard: {
      // 自定义获取 link-card 信息，可选
      // 返回 { title, iconImgSrc }
      async getLinkCardInfo(linkText: string, linkUrl: string) {
        // 1. 可通过 iframe 加载网页，然后获取网页 title 和其中的图片
        // 2. 服务端获取（有些网页会设置 `X-Frame-Options` ，无法通过 iframe 加载）

        // // 模拟异步返回
        // return new Promise(resolve => {
        //   setTimeout(() => {
        //     const info = { title: linkText, iconImgSrc: '' }
        //     resolve(info)
        //   }, 100)
        // })
      }
    },

    // 其他...
  },

  // 其他...
}
```

然后创建编辑器和工具栏，会用到 `editorConfig` 。具体查看 wangEditor 文档。

### 显示 HTML

一个 link-card 节点产出的 HTML 格式如下

```html
<div data-w-e-type="link-card" data-w-e-is-void data-title="百度新闻" data-link="http://news.baidu.com/"
  data-iconImgSrc="https://news-bos.cdn.bcebos.com/mvideo/log-news.png">
  <div class="info-container">
    <div class="title-container">
      <p>百度新闻</p>
    </div>
    <div class="link-container"><span>http://news.baidu.com/</span></div>
  </div>
  <div class="icon-container">
    <img src="https://news-bos.cdn.bcebos.com/mvideo/log-news.png" />
  </div>
</div>
```

渲染这段 HTML 需要自己定义 CSS 样式，可参考

```css
div[data-w-e-type="link-card"] {
  width: 450px;
  margin: 0 auto;
  background-color: #f1f1f1;
  border-radius: 10px;
  display: flex;
  padding: 10px 20px;
  cursor: pointer;
}
div[data-w-e-type="link-card"] .info-container {
  flex: 1;
  padding-right: 20px;
}
div[data-w-e-type="link-card"] .info-container p {
  margin-top: 5px;
  font-weight: bold;
}
div[data-w-e-type="link-card"] .info-container span {
  opacity: .5;
}
div[data-w-e-type="link-card"] .icon-container {
  width: 64px;
  overflow: hidden;
}
div[data-w-e-type="link-card"] .icon-container img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
```

## 其他

支持 i18n 多语言