open-index/open-npm huggingface dataset:
npm package: @ort-fe/guava
Description: 前端常用工具函数和功能封装📦
Author: ort
Latest version: 1.0.5

### Guava - 高效的前端工具库

Guava是一个开源的前端工具库，旨在为现代Web应用程序提供一系列高效、可重用的工具函数和组件。通过精心设计的API，简化了常见的开发任务，从而加速开发流程并提高代码质量。

#### 功能亮点

- **模块化设计**：根据项目需求灵活选择功能模块，保持打包体积精简。
- **框架兼容性**：兼容主流前端框架React和Vue，轻松集成现有项目。
- **丰富的API**：提供字符串处理、数组操作、文件处理等常用API。
- **文件操作**：集成多种文件操作功能，如读取文件、获取文件体积等。
- **性能优化**：通过封装第三方库，提升性能并简化API。

#### 安装

使用npm安装Guava：
```bash```
npm install guava --save

#### 使用方法
引入Guava
import { _deepUnique, reverseString, getFileKB } from 'guava';

#### 示例

### 数组操作

```javascript
const array = [1, 2, 3, 3, 5];
const newArray = _deepUnique(array);
console.log(newArray);
```

### 字符串处理
```javascript
const result = reverseString("hello guava");
console.log(result);
```

### 文件处理
```javascript
const fileSize = getFileKB("path/to/your/file");
console.log(`File size is ${fileSize} bytes`);
```
npm package: @ort-fe/make-img-tiny-loader
Description: Use [tinypng.com](https://tinypng.com) upload/download achieve compress images
Latest version: 0.0.6

## make-img-tiny-loader

Use [tinypng.com](https://tinypng.com) upload/download achieve compress images

### 常见问题

https://cloud.tencent.com/developer/article/1363596

### Feature

- [X] Mini size
- [X] Cache

### Install

```bash
$ yarn add --dev @ort-fe/make-img-tiny-loader
```

OR

```bash
$ npm i --save-dev @ort-fe/make-img-tiny-loader
```

### Usage

```js
const path = require('path')

module.exports = {
  mode: 'development',
  entry: {
    app: path.join(__dirname, './demo/index.js') // 打包内容入口
  },
  output: {
    path: path.join(__dirname, './test/') // 出口
  },
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: 'babel-loader'
      },
      {
        test: /\.(png|jpg|gif)$/i,
        use: [
          {
            loader: 'url-loader',
            options: {
              limit: 10000,
              name: 'img/[name].[ext]',
              publicPath: '/'
            }
          },
          { 
            loader: '@ort-fe/make-img-tiny-loader'
          }
        ]
      }
    ]
  },
  optimization: {
    minimize: false
  }
}

```
npm package: @ort-fe/ort-cli
Description: Provides the ability to quickly create preset projects.
Author: yuanjing
Latest version: 0.1.5

<h1 align='center'>ort-cli</h1>

## 功能

提供快速创建项目模板的能力

除了创建官方和开源社区提供的优秀模板作为您的项目之外，还可以将其用作管理个人常用项目模板配置的工具。

- ✈ 实用性 - 开箱即用的项目入门模板
- ⚡️ 高效 - 减少每次创建新项目时的重复配置过程
- 🤹 交互 - 简单的命令行交互操作
- 🛠 丰富 - 提供常用的多技术栈项目支持
- 🚀 与时俱进 - 提供开源且长期维护更新的模板
- 🔑 私有配置 - 支持本地配置文件来管理私有模板列表。

## 简单使用

可以通过 npm 的命令简单体验一下，通过 npm create ort 直接创建您需要的模板。

```
npm create ort
```

然后按照提示操作即可

## 全局使用

为了方便使用，建议全局安装：

```
npm install -g ort-cli
```

可以使用以下命令检查是否安装成功。如果成功，您将获得一个版本号。

ort-cli -v
npm package: @ort-fe/vitepress-theme
Description: A simple Vitepress theme
Latest version: 0.1.0

# @ort/vitepress-theme

简约风的 Vitepress 博客主题


## 快速搭建
① 创建项目

```bash
# With PNPM:
pnpm create @ort/vitepress-theme

# With NPM:
npm create @ort/vitepress-theme@latest

# With Yarn:
yarn create @ort/vitepress-theme

```

创建成功后，进入项目目录，安装依赖

② 安装依赖
```sh
pnpm install
```

③ 开发启动
```sh
pnpm dev
```

④ 构建产物
```sh
pnpm build
```

⑤ 预览构建产物
```sh
pnpm serve
```


背景图案背景可以去 https://pixabay.com/zh/images/search/%e5%9b%be%e6%a1%88/ 中选择
npm package: @orta/graphqxl
Description: Node.js bindings for GraphQXL - A GraphQL schema language with imports, generics, and more
Author: Orta Therox
Latest version: 0.1.4

# @orta/graphqxl

Node.js bindings for [GraphQXL](https://github.com/gabotechs/graphqxl), a GraphQL schema language extension that provides additional features like imports, generics, and inheritance.

## Installation

```bash
npm install @orta/graphqxl
# or
yarn add @orta/graphqxl
```

## Usage

This package provides a single function `graphqxlToSdl` that takes a virtual file system (VFS) object and converts GraphQXL schemas to standard GraphQL SDL.

### Basic Example

```javascript
import { graphqxlToSdl } from "@orta/graphqxl";

// Create a virtual file system with your GraphQXL schemas
const vfs = {
  "schema.graphqxl": `
    type User {
      id: ID!
      name: String!
      email: String!
    }
    
    type Query {
      user(id: ID!): User
      users: [User!]!
    }
  `,
};

// Convert to GraphQL SDL
const sdl = graphqxlToSdl(vfs, "schema.graphqxl");
console.log(sdl);
```

### With Imports

```javascript
const vfs = {
  "schema.graphqxl": `
    import "user"
    import "post"
    
    type Query {
      user(id: ID!): User
      users: [User!]!
      post(id: ID!): Post
      posts: [Post!]!
    }
  `,
  "user.graphqxl": `
    type User {
      id: ID!
      name: String!
      email: String!
      posts: [Post!]!
    }
  `,
  "post.graphqxl": `
    type Post {
      id: ID!
      title: String!
      content: String!
      author: User!
    }
  `,
};

const sdl = graphqxlToSdl(vfs, "schema.graphqxl");
```

### With Generics

```javascript
const vfs = {
  "schema.graphqxl": `
    type Connection<T> {
      edges: [Edge!]!
      pageInfo: PageInfo!
    }
    
    type Edge<T> {
      node: T!
      cursor: String!
    }
    
    type PageInfo {
      hasNextPage: Boolean!
      endCursor: String
    }
    
    type User {
      id: ID!
      name: String!
    }
    
    type UserConnection = Connection<User>
    type UserEdge = Edge<User>
    
    type Query {
      users: UserConnection!
    }
  `,
};

const sdl = graphqxlToSdl(vfs, "schema.graphqxl");
```

## API

### `graphqxlToSdl(vfs, entryPath, indentSpaces?, privatePrefix?)`

Converts GraphQXL schema files to standard GraphQL SDL.

#### Parameters:

- `vfs` (object): A virtual file system object where keys are file paths and values are file contents
- `entryPath` (string): The entry point file path in the VFS
- `indentSpaces` (number, optional): Number of spaces for indentation (default: 2)
- `privatePrefix` (string, optional): Prefix for private fields (default: "\_")

#### Returns:

- (string): The generated GraphQL SDL

## Features Supported

- ✅ Basic GraphQL types (type, input, enum, interface, union, scalar)
- ✅ Import system for modular schemas
- ✅ Generic types with type parameters
- ✅ Type inheritance and composition
- ✅ Schema extensions
- ✅ Private fields (with configurable prefix)
- ✅ Directives

## License

MIT
npm package: @orta/graphqxl-android-arm-eabi
Description: This is the **armv7-linux-androideabi** binary for `@orta/graphqxl`
Latest version: 0.1.4

# `@orta/graphqxl-android-arm-eabi`

This is the **armv7-linux-androideabi** binary for `@orta/graphqxl`
npm package: @orta/graphqxl-linux-arm-gnueabihf
Description: This is the **armv7-unknown-linux-gnueabihf** binary for `@orta/graphqxl`
Latest version: 0.1.4

# `@orta/graphqxl-linux-arm-gnueabihf`

This is the **armv7-unknown-linux-gnueabihf** binary for `@orta/graphqxl`
npm package: @orta/graphqxl-linux-arm-musleabihf
Description: This is the **armv7-unknown-linux-musleabihf** binary for `@orta/graphqxl`
Latest version: 0.1.4

# `@orta/graphqxl-linux-arm-musleabihf`

This is the **armv7-unknown-linux-musleabihf** binary for `@orta/graphqxl`
npm package: @orta/graphqxl-linux-arm64-gnu
Description: This is the **aarch64-unknown-linux-gnu** binary for `@orta/graphqxl`
Latest version: 0.1.4

# `@orta/graphqxl-linux-arm64-gnu`

This is the **aarch64-unknown-linux-gnu** binary for `@orta/graphqxl`
npm package: @orta/graphqxl-linux-arm64-musl
Description: This is the **aarch64-unknown-linux-musl** binary for `@orta/graphqxl`
Latest version: 0.1.4

# `@orta/graphqxl-linux-arm64-musl`

This is the **aarch64-unknown-linux-musl** binary for `@orta/graphqxl`
npm package: @orta/graphqxl-linux-riscv64-gnu
Description: This is the **riscv64gc-unknown-linux-gnu** binary for `@orta/graphqxl`
Latest version: 0.1.4

# `@orta/graphqxl-linux-riscv64-gnu`

This is the **riscv64gc-unknown-linux-gnu** binary for `@orta/graphqxl`
npm package: @orta/graphqxl-linux-x64-gnu
Description: This is the **x86_64-unknown-linux-gnu** binary for `@orta/graphqxl`
Latest version: 0.1.4

# `@orta/graphqxl-linux-x64-gnu`

This is the **x86_64-unknown-linux-gnu** binary for `@orta/graphqxl`
npm package: @orta/graphqxl-linux-x64-musl
Description: This is the **x86_64-unknown-linux-musl** binary for `@orta/graphqxl`
Latest version: 0.1.4

# `@orta/graphqxl-linux-x64-musl`

This is the **x86_64-unknown-linux-musl** binary for `@orta/graphqxl`
npm package: @orta/graphqxl-win32-arm64-msvc
Description: This is the **aarch64-pc-windows-msvc** binary for `@orta/graphqxl`
Latest version: 0.1.4

# `@orta/graphqxl-win32-arm64-msvc`

This is the **aarch64-pc-windows-msvc** binary for `@orta/graphqxl`
npm package: @orta/graphqxl-win32-ia32-msvc
Description: This is the **i686-pc-windows-msvc** binary for `@orta/graphqxl`
Latest version: 0.1.4

# `@orta/graphqxl-win32-ia32-msvc`

This is the **i686-pc-windows-msvc** binary for `@orta/graphqxl`
npm package: @orta/graphqxl-win32-x64-msvc
Description: This is the **x86_64-pc-windows-msvc** binary for `@orta/graphqxl`
Latest version: 0.1.4

# `@orta/graphqxl-win32-x64-msvc`

This is the **x86_64-pc-windows-msvc** binary for `@orta/graphqxl`
npm package: @orta/markdown-translator
Description: Directly translate markdown file using Azure Text Translate API
Author: Menthays
Latest version: 0.4.3

# Markdown Translator

其他语言：[中文](./README.zh.md)

> Directly translate markdown file using Azure Text Translate API

## Prerequisites
Get Text Translate API Key from [Azure Cognitive Services](https://docs.microsoft.com/en-us/azure/cognitive-services/translator/translator-text-how-to-signup)

## Quick Start
### Use as cli
```bash
# install cli
npm install markdown-translator -g

# set key and region from Azure Text Translate API
md-translator set --key <your key>
md-translator set --region <your region>

# do translate
md-translator translate --src README.md --dest README.zh.md --to zh

# get more information
md-translator --help
```

### Use as binaries
> Run markdown-translator without Node environment

- Update config.json with your Azure Text Translate API.
- Run `npm run dist:mac` to build for macos and `npm run dist:win` for windows.
- Run the dist binary files like cli, e.g, `./markdown-translator translate --src README.md --dest README.zh.md --to zh`

> Modify dist scripts according to your platform. Find more at [here](https://github.com/zeit/pkg)

### Use as a module
```bash
# install module
npm install markdown-translator
```

```javascript
const markdownTranslate = require('markdown-translator')
markdownTranslate({
  // Give either a filepath
  src: pathToSrcFile,
  // Or pass in the text directly
  text: markdownContent,
  
  from: languageToTranslateFrom,
  to: languageToTranslateTo,
  subscriptionKey: yourSubscriptionKey,
  region: theRegionOfYourAzureInstance
}).then(res => {
  // deal with result
})
```

Note that there are some opinionated defaults: from is by default 'en', to 'zh'.
The region argument is optional.
npm package: @orta/monaco-typescript
Description: TypeScript and JavaScript language support for Monaco Editor
Author: Microsoft Corporation
Latest version: 3.7.0-beta-1

# Monaco TypeScript

Simple TypeScript and JavaScript language support for the Monaco Editor.

![typescript](https://cloud.githubusercontent.com/assets/5047891/15926623/5262fe08-2e3d-11e6-9b90-1d43fda07178.gif)

*Note* that this project focuses on single-file scenarios and that things like project-isolation, cross-file-features like Rename etc. are *outside* the scope of this project and not supported.

## Issues

Please file issues concerning `monaco-typescript` in the [`monaco-editor` repository](https://github.com/Microsoft/monaco-editor/issues).

## Installing

This npm module is bundled and distributed in the [monaco-editor](https://www.npmjs.com/package/monaco-editor) npm module.


## Development

* `git clone https://github.com/Microsoft/monaco-typescript`
* `cd monaco-typescript`
* `npm install .`
* `npm run compile`
* `npm run watch`
* open `$/monaco-typescript/test/index.html` in your favorite browser.

## Updating TypeScript

* change typescript's version in `package.json`.
* execute `npm install .`
* execute `npm run import-typescript`
* adopt new APIs

## Code of Conduct

This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.


## License
[MIT](https://github.com/Microsoft/monaco-typescript/blob/master/LICENSE.md)
npm package: @orta/type-noops
Description: Empty .d.ts files for TypeScript 4.5's lib overrides
Author: Orta Therox
Latest version: 0.0.1

## TypeScript type System NO-OPs

Do you have a TypeScript project which is DOM-adjacent but doesn't use the DOM, such as a React Native project or something based on a Web Worker, Shared Worker, Service Worker or Audio Worker?

This npm module can be used with TypeScript 4.5's lib override features to create empty versions of lib files in TypeScript. A good case for this is for completely removing the DOM types if it becomes included via a transitive dependency:

```
{
  "dependencies": {
    "@typescript/lib-dom": "npm:@orta/type-noops"
  }
}
```

Would replace `dom` and `dom.iterable` with empty .d.ts files which don't affect the global types anywhere.
npm package: @orta/y2
Description: Yarn 2, but with Yarn 1 defaults
Latest version: 0.0.3

# y2 - An experiment in using Yarn 2 with Yarn 1 defaults

Building off some of my notes in [yarn-vs-npm](https://orta.io/notes/js/yarn-vs-npm), I wondered out loud what a version of Yarn 2 looks like where it's deployed like a normal npm package, and has defaults which align with traditional node projects.

This is the result of that. It's a fork of [berry](https://github.com/yarnpkg/berry) ([here](https://github.com/orta/berry/tree/y2)) forked from [2da8101](https://github.com/yarnpkg/berry/commit/2da810140af64e07a7c94d368ad5c937f7373cb0) which defaults to the loosest resolution mode, and uses node_modules.

Usage: 

```sh
npm install -g @orta/y2

y2 init
y2 add --dev typescript
y2 tsc
```

### Building

Get a CLI build created in berry, then copy it into the vendor folder.

```sh
cd berry
yarn build:cli

cd ..
cp berry/packages/yarnpkg-cli/bundles/yarn.js vendor
```

### Prod

Be careful with this, it's definitely safe to say `y2` is not battle tested. I have removed the built-in patches (they _should_ only be needed for PNP projects) 

### License

What little code in here I made it MIT. The vendored copy of [Yarn 2 is BSD 2-Clause](https://github.com/yarnpkg/yarn/blob/master/LICENSE).
npm package: @ortac/libs-js
Description: A collection of library functions useful for Ortac development in javascript and typescript
Author: oratc.org
Latest version: 0.0.4

# Ortac library of useful Javascript/Typescript functions

[![Typescript](https://shields.io/badge/TypeScript-3178C6?logo=TypeScript&logoColor=FFF)](https://www.typescriptlang.org/)
[![Node.js CI](https://github.com/ortac-org/libs-js/actions/workflows/linux-ci.yml/badge.svg)](https://github.com/ortac-org/libs-js/actions/workflows/linux-ci.yml)
[![Node.js CI](https://github.com/ortac-org/libs-js/actions/workflows/windows-ci.yml/badge.svg)](https://github.com/ortac-org/libs-js/actions/workflows/windows-ci.yml)
[![Coverage Status](https://coveralls.io/repos/github/ortac-org/libs-js/badge.svg?branch=main)](https://coveralls.io/github/ortac-org/libs-js?branch=main)

## Install

```console
> npm install @ortac/libs-js
```

## Features

- Works with CommonJS and ESM
- Provides Typescript types

## Usage
ESM:
```js
import {argv, log} from '@ortac/libs-js';

log.info('Completed something');
```

CommonJS:
```js
var log = require('@ortac/libs-js').log;

log.info('Completed something');
```

## API Reference

Documentation can be found at:

- [Argv](https://ortac-org.github.io/libs-js/docs/functions/argv.html)
- [Config](https://ortac-org.github.io/libs-js/docs/variables/config.html)
- [Logger](https://ortac-org.github.io/libs-js/docs/variables/log.html)
- [Translator](https://ortac-org.github.io/libs-js/docs/classes/Translator.html)

## Contributing

Make sure your code passes testing, and create a Pull Request
```console
> npm test
```
npm package: @ortegaangelo/angular-signaturepad
Description: Angular Component wrapper for szimek / signature_pad [fork from discontinued wulfsolter / angular2-signaturepad]
Author: Angelo Ortega
Latest version: 17.0.21

# angular2-signaturepad
Angular 17 component for [szimek/signature_pad](https://www.npmjs.com/package/signature_pad).

# New maintained version
The original project is no longer maintained. See wulfsolter / angular2-signaturepad.
I created a fork and will maintain it in the future.

## Install
`npm install https://gitlab.com/ortegaangelo/angular-signaturepad --save`

## Usage example

API is identical to [szimek/signature_pad](https://www.npmjs.com/package/signature_pad).

Options are as per [szimek/signature_pad](https://www.npmjs.com/package/signature_pad) with the following additions:
* canvasWidth: width of the canvas (px)
* canvasHeight: height of the canvas (px)
  The above options are provided to avoid accessing the DOM directly from your component to adjust the canvas size.

```typescript

// import into app module

import { SignaturePadModule } from '@ortegaangelo/angular-signaturepad';

...

@NgModule({
  declarations: [ ],
  imports: [ SignaturePadModule ],
  providers: [ ],
  bootstrap: [ AppComponent ]
})

// then import for use in a component

import { Component, ViewChild } from 'angular2/core';
import { SignaturePad } from '@ortegaangelo/signature-pad';

@Component({
  template: '<signature-pad [options]="signaturePadOptions" (onBeginEvent)="drawStart()" (onEndEvent)="drawComplete()"></signature-pad>'
})

export class SignaturePadPage{

  @ViewChild(SignaturePad) signaturePad: SignaturePad;

  signaturePadOptions: Object = { // passed through to szimek/signature_pad constructor
    'minWidth': 5,
    'canvasWidth': 500,
    'canvasHeight': 300
  };

  constructor() {
    // no-op
  }

  ngAfterViewInit() {
    // this.signaturePad is now available
    this.signaturePad.set('minWidth', 5); // set szimek/signature_pad options at runtime
    this.signaturePad.clear(); // invoke functions from szimek/signature_pad API
  }

  drawComplete() {
    // will be notified of szimek/signature_pad's onEnd event
    console.log(this.signaturePad.toDataURL());
  }

  drawStart() {
    // will be notified of szimek/signature_pad's onBegin event
    console.log('begin drawing');
  }
}
```