open-index/open-npm huggingface dataset:
npm package: @fuyoo/real_ip
Description: a packgage and cli-tool to get current real ip not 127.0.0.1 or localhost ...
Author: fuyoo
Latest version: 1.1.5

# real_ip package and cli tool

## support nodejs version

version >= 12.0.0

## how to use?

### as a cli tool

1. `npm i -g @fuyoo/real_ip`

2. `execute command ip show`

### as a node.js package

1. `npm i @fuyoo/real_ip`

2. `require this package`
    ```javascript
    const real_ip = require('@fuyoo/real_ip');
    (async () => {
       const res = await real_ip();
       console.log(res);
    })
    ```

## principle

this package use udpV4 to connect dns ip addresses.

when connect successed we close this connection.

get the used local ip addres.
npm package: @fuyoo/svg2vue
Description: a command line tool to transform svg file to vue component, support vue2/3.
Author: fuyoo
Latest version: 0.1.5

# svg2vue

> a command line tool to transform svg file to vue component, support vue2/3.

## features

- vue2/3
- configure

## use

- install `pnpm i @fuyoo/svg2vue -D`
- create a config file `.svg2vue.json` at the project root path
- add script in package.json `"svg2vue":"svg2vue"`
- npm run svg2vue

## config

- `in` svg file path default `project/src/asserts/svg`
- `out` components path default `project/src/components/SvgIcon`
- `lang` ts syntax support such as `<script lang="ts">` default `ts`
- `overwirte` if the component has been exists, is the tools should to do overwrite action. default false

```json
{
  "in": "svg",
  "out": "dev",
  "lang": "ts",
  "overwrite": false
}
```
npm package: @fuyoo/vue-cut-img
Description: a vue component, easy to cut image, support vue2.x and vue3.x
Author: fuyoo
Latest version: 0.1.5

# vue-cut-img

**支持vue2.x vue3.x的图标裁剪工具**

## 快速开始

+ 首先安装组件
    + **yarn**
    + `yarn add @fuyoo/vue-cut-img`

    + **npm**
    + `npm i @fuyoo/vue-cut-img -S`

+ 然后安装组件

    + **vue2 使用**
    + ```js
        import Vue from 'vue'
        import VueCutImg from '@fuyoo/vue-cut-img'
        import "@fuyoo/vue-cut-img/lib/vue-cut-img.css"
        Vue.use(VueCutImg)
        ```

    + **vue3 使用**
    + ```js
        import { createApp } from 'vue'
        import { createApp } from 'vue'
        import App from './App.vue'
        import VueCutImg from '@fuyoo/vue-cut-img'
        import "@fuyoo/vue-cut-img/lib/vue-cut-img.css"
        createApp(App).use(VueCutImg).mount('#app')
        ```

## 属性

|  属性   | 描述  |
|  ----  | ----  |
| :blob  | {bool} 结果返回base64还是blob |
| :title  | {string} 标题名称 |
| :choose-btn  | {string} 选择图片按钮标题 |
| :cut-btn  | {string} 裁剪按钮标题 |
| :show-close  | {bool} 是否显示关闭按钮，默认true |

## 事件

|  事件   | 描述  |
|  ----  | ----  |
| @data  | 裁剪按钮点击过后触发的事件 |
| @close  | 关闭按钮点击过后触发的事件 |
| @error  | 选择的文件不是图片的时候触发的事件，返回选择的文件 |

### 例子

```html
<template>
    <div>
        <vue-cut-img 
        :title="`title`" 
        :close-show="true" 
        :choose-btn="`choose img`"
        :cut-btn="`cut img`"
        @close="closeFn" 
        :blob="true" @data="getDataFn"></vue-cut-img>
    </div> 
</template>    

<script>
import VueCutImg from '@fuyoo/vue-cut-img'
export default {
    name:"demo",
    components:{VueCutImg},
    data(){
        return {isBlob:false}
    }
    methods:{
        /**
         * 如果 this.isBlob === true
         * @data {blob:Blob,file:File} 返回裁剪后的blob对象和原始文件对象
         * 如果 this.isBlob  === false
         * @data {String} base64字符串
         */
        getDataFn(data){
            console.log(data)
        },
        /**
         * 组件关闭事件触发
         */
        closeFn(){

        }
    }
}
</script>
```
## 预览

**初始化**

![初始化](./imgs/1.png)

**图片操作**

![图片操作](./imgs/2.png)

## 开源协议

MIT
npm package: @fuyoo/wasm-hasher
Description: computed data hash by webAssembly support md5,sha1,sha2,sha3,sm3
Author: fuyoo
Latest version: 0.1.21

# wasm-hasher

> computed data's hash by webAssembly
> 
> support md5,sha1,sha2-224,sha2-356,sha2-384,sha2-512,sha3-224,sha3-256,sha3-384,sha3-512,china-sm3

| type | function | params                  | return  |
|------|----------|-------------------------|---------|
| md5  | md5      | md5(file,callback)      | promise |
| sha1 | sha1     | sha1(file,callback)     | promise |
| sha2 | sha2_224 | sha2_224(file,callback) | promise |
| -    | sha2_256 | sha2_256(file,callback) | promise |
| -    | sha2_384 | sha2_384(file,callback) | promise |
| -    | sha2_512 | sha2_512(file,callback) | promise |
| sha3 | sha3_224 | sha3_224(file,callback) | promise |
| -    | sha3_256 | sha3_256(file,callback) | promise |
| -    | sha3_384 | sha3_384(file,callback) | promise |
| -    | sha3_512 | sha3_512(file,callback) | promise |
| sm3  | sm3      | sm3(file,callback)      | promise |


## How to install

```sh
npm install @fuyoo/wasm-hasher
```

## How to use

*tips: vite should be set vite.config.js optimizeDeps:{ exclude: [
"@fuyoo/wasm-hasher"
]},like this:*

```ts
export default defineConfig({
    plugins: [vue()],
    optimizeDeps: {
        exclude: [
            "@fuyoo/wasm-hasher"
        ]
    }
})
```

```vue
<template>
  <div>
    计算方式：<select id="type" @change="setValue">
    <optgroup label="md5">
      <option value="md5">md5</option>
    </optgroup>
    <optgroup label="sha1">
      <option value="sha1">sha1</option>
    </optgroup>
    <optgroup label="sha2">
      <option value="sha2_224">sha2-224</option>
      <option value="sha2_256">sha2-256</option>
      <option value="sha2_384">sha2-384</option>
      <option value="sha2_512">sha2-512</option>
    </optgroup>
    <optgroup label="sha3">
      <option value="sha3_224">sha3-224</option>
      <option value="sha3_256">sha3-256</option>
      <option value="sha3_384">sha3-384</option>
      <option value="sha3_512">sha3-512</option>
      <option value="sha3_512">sha3-512</option>
    </optgroup>
    <optgroup label="国密">
      <option value="sm3">sm3</option>
    </optgroup>
  </select>
    <button id="file" @click="chooseFileFn">select file</button>
    <div id="hash">
      <div>progress：<input type="range" :value="ps"> {{ps}}%</div>
      <div>{{t}}值：{{h}}</div>
    </div>
  </div>

</template>

<script lang="ts" setup>
import * as hash from "@fuyoo/wasm-hasher"
import {ref} from "vue";

let t = ref("md5")
let ps = ref(0)
let h = ref("")
const setValue = (evt: any) => {
  t.value = evt.target.value
}
const chooseFileFn = () => {
  const input = document.createElement("input")
  input.type = 'file'
  input.onchange = function (ev: any) {
    const file = ev.target.files[0]
    hash.default().then(() => {
      ps.value = 0
      //@ts-ignore
      hash[t.value](file, (p: number) => {
        ps.value = p
      })
          .then((res: string) => {
            ps.value = 100
            h.value = res
          })
    })
  }
  input.click()
}
</script>

<style lang="scss">
</style>

```
## license

[MIT LICENSE](./LICENSE)
npm package: @fuyun791/demo-one
Description: 测试物料
Latest version: 0.1.6

# Arco 物料模板

## 注意

**此项目只有在 Arco 官方 Monorepo 模板中才能正常使用。**

## 快速开始

```
// 开发模式
yarn dev

// 构建
yarn build

// 生成元数据 arcoMeta
arco generate

// 发布包
arco publish

// 查看当前 arco-scripts 使用的配置
yarn show:config -- webpack:component
```

## API 文档

**为了帮助他人更好地使用你的组件，请提供详细的 API 文档。**

### 书写注释

我们提供了自动化的文档生成工具，它从 TS 接口定义中提取注释自动生成属性文档。按照以下指引使用，为接口书写 tsDoc 类型的注释：

```typescript
/**
 * @title Button (必填，带有 `title` 描述的接口或者类型才会被收集)
 */
interface ButtonProps {
  /**
   * @zh 按钮尺寸 (属性的中文描述)
   * @en Size of Button (属性的英文描述)
   * @version 1.2.0 (可选，新增的属性在哪个版本开始支持)
   * @defaultValue 'default' (可选，属性的默认值)
   */
  size?: 'mini' | 'small' | 'default' | 'large';
  /**
   * @zh 按钮状态
   * @en Status of Button
   */
  status?: 'danger' | 'error' | 'success';
}
```

### 扩展 TEMPLATE.md

`TEMPLATE.md` 是用于自动文档生成的模板，你可以修改此文件添加更多组件的使用帮助信息，但请不要删除其原有的内容，否则可能导致内容替换失败。

```markdown
// TEMPLATE.md
---
file: index
---

# TooltipButton

## 属性/Props

%%Props%%

### OtherProps

在这里你可以书写更多组件帮助文档。

## Demos

%%Demos%%
```

## 测试

测试目录位于 `src/__test__`。你可以在 `index.test.tsx` 中编写你的测试用例，在 `demo.test.tsx` 中可以进行基于 Demo 的快照测试。

`yarn test` 命令允许你传入任何 `jest` 的命令行参数，例如 `yarn test --u` `yarn test --no-cache`。

## DEMO

Demo 目录位于 `src/demo`。 如果你添加了一个 Demo，那么你需要在 `src/demo/index.js` 添加对应代码，才能在 Storybook 中预览到它。请使用 JsDoc 的形式描述各个 Demo，这些帮助信息将被展示在物料平台上。

[查看完整帮助文档](https://arco.design/cli)
npm package: @fuzdev/fuz_app
Description: fullstack app library
Latest version: 0.7.1

# @fuzdev/fuz_app

> fullstack app library 🗝 pre-alpha ⚠️ do not use in production

fuz_app is a fullstack app library for
TypeScript, [Svelte](https://svelte.dev/), SvelteKit,
[Hono](https://hono.dev/), and [PostgreSQL](https://www.postgresql.org/)
with [PGlite](https://pglite.dev/) for embedded targets.
It provides auth, sessions, accounts, database integration, middleware, CLI utilities, and more,
the goal being an excellent and flexible whole-stack experience
for developers, operators, and end-users.

fuz_app supports deploying with Deno, Node, and Bun,
to servers, static websites, and local-first binaries, with more to come,
eventually with compatible alternatives written in Rust.

For more see the <a href="https://github.com/fuzdev/fuz_app/discussions">discussions</a>.
fuz_app is part of the Fuz stack
([fuz.dev](https://www.fuz.dev/), [@fuzdev](https://github.com/fuzdev)).

> ⚠️ This is a pre-alpha release, not ready for production.
> There are no known security vulnerabilities,
> and security has been \_the\_ primary focus for the initial release,
> but it shouldn't be trusted until audited.

## Usage

```bash
npm i -D @fuzdev/fuz_app
```

Some projects using fuz_app are in progress and will be open source soon.
Usage currently looks something like this:

```ts
import {create_app_backend} from '@fuzdev/fuz_app/server/app_backend.js';
import {create_app_server} from '@fuzdev/fuz_app/server/app_server.js';

const backend = await create_app_backend({...});

const {app} = await create_app_server({backend, ...});

Deno.serve({port: PORT, hostname: HOST}, app.fetch);
```

See [CLAUDE.md](CLAUDE.md) for more usage patterns and the AI-generated docs.

## License

[MIT](LICENSE)