open-index/open-npm huggingface dataset:
npm package: @gotoandplay/cottonmouth
Description: An asset dependency sorting system for Fractal.
Author: gotoAndPlay
Latest version: 1.0.5

# cottonmouth

An asset dependency sorting system for Fractal.

## usage

1. Install the package: `npm install @gotoandplay/cottonmouth --save`.
2. Require the package: `const cottonmouth = require('@gotoandplay/cottonmouth');`
3. Use it:

```
cottonmouth({
    fractal: fractal, // reference your fractal instance
    components: ['icon', 'button'], // collect dependencies for a specified set of components
    tag: 'main', // collect dependencies for all components that have this tag
    prependComponents: ['reset', 'typography'], // required components that should be prepended
    appendComponents: ['helper'], // required components that should be appended
    sortAssets: ['scss', 'js'] // asset types (extensions) that should be searched for and sorted
}
).then((dependencies) => {
    // to stuff with returned dependencies object
}
);
```
npm package: @gotoandplay/fractal-module-resolver-webpack-plugin
Description: A webpack resolver plugin that resolves component imports through Fractal API
Author: Mihkel Eidast
Latest version: 0.2.0

# Fractal Module Resolver Webpack Plugin

A Webpack resolver plugin that resolves component imports through Fractal API.

Requires Webpack 4.x.x.

## Installation
```
npm install @gotoandplay/fractal-module-resolver-webpack-plugin --save-dev
```

## Usage
Require the plugin in your Webpack configuration file:
```
const FractalModuleResolver = require('@gotoandplay/fractal-module-resolver-webpack-plugin');
```

Add the plugin to your resolve plugins array:
```
resolve: {
    plugins: [
        // resolve fractal component imports automatically
        new FractalModuleResolver({
            fractal: fractal,
        }),
    ],
}
```

Pass it your Fractal instance as an option.
npm package: @gotoandplay/fractal-tsx-adapter
Description: A React + TypeScript adapter for Fractal.
Author: Mihkel Eidast
Latest version: 0.13.0

# A React + TypeScript adapter for Fractal.

An adapter to let you use TSX templates with Fractal.

## Installation
```
npm install @gotoandplay/fractal-tsx-adapter --save-dev
```

## Usage
Require the adapter in your Fractal configuration file:
```
let tsxAdapter = require('@gotoandplay/fractal-tsx-adapter');
```

Register the adapter as engine:
```
fractal.components.engine(tsxAdapter);
```

# Features

## Use HTML/JSX in context strings

By default, it's not possible to use HTML (or other Fractal components as JSX) in context variables.

So this example:
```
{
  "context": {
    "children": "<div>this text is in a div</div>"
  }
}
```
does not render a div in children, instead it escapes the string.

To workaround that, you can set the `parseJsxFrom` meta key in your component config:
```
{
  "meta": {
    "parseJsxFrom": [
      "children"
    ]
  },
  "context": {
    "children": "<div>this text is in a div</div>"
  }
}
```

This adapter will then parse the specified keys through [react-jsx-parser](https://github.com/TroyAlford/react-jsx-parser). This allows the use of HTML in context strings. Additionally, it allows the use of other components in the current Fractal library.

> NB! This also means you need to do the same parsing when hydrating the component client-side.

## Wrap components in other components

By default, the render method renders only the component exported as default in the component template file.

Sometimes, it's necessary to render outer components that wrap the rendered components, like a React Context provider.

```
let SomeComponent = require('some-react-component');
let tsxAdapter = require('@gotoandplay/fractal-tsx-adapter')({
  wrapperElements: [
    {
      component: SomeComponent,
      props: {
        some: 'prop',
        yin: 'yang,
      },
    },
    {
      component: '@fractal-component',
      props: {
        some: 'prop',
        yin: 'yang,
      },
    },
  ],
});
```
> NB! This also means you need to do the same wrapping when hydrating the component client-side.
npm package: @gotocva/digital-signature
Description: A lightweight and efficient Node.js library for generating and managing digital signatures using elliptic curve cryptography (secp256k1). This library provides an easy-to-use interface for securely generating key pairs, signing data, verifying signatures,
Author: sivabharathy
Latest version: 1.0.0

# @gotocva/digital-signature

A lightweight and efficient library for generating and managing digital signatures using elliptic curve cryptography (secp256k1). Perfect for blockchain and cryptographic applications.

## Installation

To install the package, use npm:

```bash
npm install @gotocva/digital-signature
```

## Usage

### Importing the Library

```javascript
const DigitalSignature = require('@gotocva/digital-signature');

// Create an instance of the DigitalSignature class
const ds = new DigitalSignature();
```

### API Methods

#### 1. `generateWallet()`

Generates a new wallet with a public and private key pair.

```javascript
const wallet = ds.generateWallet();
console.log('Public Key:', wallet.publicKey);
console.log('Private Key:', wallet.privateKey);
```

#### 2. `checkPublicKeyValid(publicKey)`

Validates whether a given public key is valid.

```javascript
const publicKey = wallet.publicKey;
const result = ds.checkPublicKeyValid(publicKey);
console.log('Is Public Key Valid:', result.valid);
```

#### 3. `signData(privateKey, data)`

Signs a piece of data using the provided private key.

```javascript
const privateKey = wallet.privateKey;
const data = 'Hello, Digital Signature!';
const signedData = ds.signData(privateKey, data);
console.log('Signed Data:', signedData);
```

#### 4. `verifySignature(publicKey, data, signature)`

Verifies the authenticity of a signature using the public key and original data.

```javascript
const isValid = ds.verifySignature(
  wallet.publicKey,
  'Hello, Digital Signature!',
  signedData.signature
);

console.log('Is Signature Valid:', isValid.is_verified);
```

## Example Workflow

```javascript
const DigitalSignature = require('@gotocva/digital-signature');
const ds = new DigitalSignature();

// Step 1: Generate a new wallet
const wallet = ds.generateWallet();
console.log('Public Key:', wallet.publicKey);
console.log('Private Key:', wallet.privateKey);

// Step 2: Sign some data
const data = 'Blockchain is amazing!';
const signedData = ds.signData(wallet.privateKey, data);
console.log('Signed Data:', signedData);

// Step 3: Verify the signature
const isVerified = ds.verifySignature(wallet.publicKey, data, signedData.signature);
console.log('Is Signature Valid:', isVerified.is_verified);
```

## License

This project is licensed under the MIT License. See the LICENSE file for details.
npm package: @gotocva/express-env
Description: Express middleware to update .env file dynamically
Author: Sivabharathy
Latest version: 1.0.0

# @gotocva/express-env

## Overview
`@gotocva/express-env` is an Express middleware that allows secure and dynamic updates to the `.env` file of an Express project. It provides:
- A **POST API** to update environment variables.
- A **GET API** to retrieve all environment variables.
- Optional **authentication** for security.

## Installation

Install the package using npm:
```sh
npm install @gotocva/express-env
```

## Usage

### 1. Import and Use Middleware in Express App

```javascript
const express = require('express');
const expressEnv = require('@gotocva/express-env');

const app = express();
app.use(express.json());

// Initialize middleware with authentication (optional)
app.use(expressEnv({ auth: { token: 'your_secure_token' } }));

app.listen(3000, () => console.log('Server running on port 3000'));
```

### 2. Update Environment Variables via API

**Endpoint:** `POST /gotocva/env`

**Request Body:**
```json
{
  "key": "API_KEY",
  "value": "123456",
  "authToken": "your_secure_token"
}
```

**Response:**
```json
{
  "success": true,
  "message": "Environment variable updated"
}
```

### 3. Retrieve All Environment Variables

**Endpoint:** `GET /gotocva/env?authToken=auth_token`

**Response:**
```json
{
  "success": true,
  "env": {
    "API_KEY": "123456"
  }
}
```

## Security Considerations
- Always enable authentication (`authToken`) to prevent unauthorized changes.
- Restrict access using middleware like `cors` or IP whitelisting.

## License
This project is licensed under the MIT License.
npm package: @gotocva/nestjs-auth
Description: Gotocva Queue is a lightweight, in-memory event queue for Node.js that allows you to manage asynchronous tasks efficiently without requiring Redis or any external dependencies. It supports job retries with customizable attempts and backoff strategies, mak
Author: sivabharathy
Latest version: 0.0.1



# 🔐 @gotocva/nestjs-auth

A **NestJS Auth Library** built with **Mongoose** and **Passport**, providing ready-to-use authentication features:

* Register
* Login
* Email verification (via OTP)
* Reset Password

## 📦 Installation

```bash
npm install @gotocva/nestjs-auth
```

Or if using Yarn:

```bash
yarn add @gotocva/nestjs-auth
```

> Ensure `@nestjs/mongoose`, `mongoose`, `bcrypt`, and `class-validator` are installed in your host app.

---

## ⚙️ Setup in Your NestJS App

### 1. Import `AuthModule`

```ts
// app.module.ts or auth.module.ts
import { Module } from '@nestjs/common';
import { MongooseModule } from '@nestjs/mongoose';
import { AuthModule } from '@gotocva/nestjs-auth';

@Module({
  imports: [
    MongooseModule.forRoot('mongodb://localhost/your-db'),
    AuthModule,
  ],
})
export class AppModule {}
```

---

## 📘 Endpoints

| Method | Path                   | Description           |
| ------ | ---------------------- | --------------------- |
| POST   | `/auth/register`       | Register a user       |
| POST   | `/auth/login`          | Login user            |
| POST   | `/auth/verify-email`   | Verify OTP from email |
| POST   | `/auth/reset-password` | Reset user password   |

---

## 🧪 Example Payloads

### 🔸 Register

```json
POST /auth/register
{
  "name": "John Doe",
  "email": "john@example.com",
  "password": "Password123"
}
```

### 🔸 Login

```json
POST /auth/login
{
  "email": "john@example.com",
  "password": "Password123"
}
```

### 🔸 Verify Email

```json
POST /auth/verify-email
{
  "email": "john@example.com",
  "otp": "123456"
}
```

### 🔸 Reset Password

```json
POST /auth/reset-password
{
  "email": "john@example.com",
  "otp": "123456",
  "newPassword": "NewPassword123"
}
```

---

## 🛠️ Customize

* Extend the `UserSchema` to add more fields (e.g., role, profileImage)
* Hook up an email service (e.g., nodemailer, SendGrid) to send OTPs
* Add JWT if you need token-based auth (this library only covers login + verification)

---

## 📄 License

MIT © Sivabharathy

---
npm package: @gotoeasy/browserify
Description: 使用固定配置让browserify转译代码，简化满足特定需求：把含require的代码转成能在浏览器上运行的代码
Author: 青松
Latest version: 0.4.3

# @gotoeasy/browserify
使用固定配置让browserify转译代码，简化满足特定需求：把含require的代码转成能在浏览器上运行的代码
<br>
<br>

[![NPM version](https://img.shields.io/npm/v/@gotoeasy/browserify.svg)](https://www.npmjs.com/package/@gotoeasy/browserify)
[![License](https://img.shields.io/badge/License-MIT-brightgreen.svg)](https://github.com/gotoeasy/npm-packages/blob/master/LICENSE)
<br>
<br>



## Sample
```js
const browserify = require('@gotoeasy/browserify');

let code = `
"use strict";

require("core-js/modules/es6.string.starts-with");

var flg = 'abc'.startsWith('a');
`;

(async function(){
    let rs = await browserify(code, './'); // 在当前目录查找补丁模块
    console.info(rs);
})();



// 转译结果如下
/*
(function(){function r(e,n,t)...
   ...
   ...
   ...
},{"./_export":9,"./_fails-is-regexp":10,"./_string-context":23,"./_to-length":25}],30:[function(require,module,exports){

"use strict";

require("core-js/modules/es6.string.starts-with");

var flg = 'abc'.startsWith('a');

},{"core-js/modules/es6.string.starts-with":29}]},{},[30]);
*/
```



## `Links`
* `npm-packages` https://github.com/gotoeasy/npm-packages
npm package: @gotoeasy/btf
Description: A JavaScript Block-Text-File Parser
Author: 青松
Latest version: 1.3.2

# `@gotoeasy/btf`
A JavaScript ![`Block-Text-File`](https://github.com/gotoeasy/block-text-file) Parser
<br>
<br>

[![NPM version](https://img.shields.io/npm/v/@gotoeasy/btf.svg)](https://www.npmjs.com/package/@gotoeasy/btf)
[![License](https://img.shields.io/badge/License-MIT-brightgreen.svg)](https://github.com/gotoeasy/npm-packages/blob/master/LICENSE)
<br>
<br>

## Install
```
npm i @gotoeasy/btf
```

## API
* BlockTextFile.getText(blockName) - get text of blockName from the first Document
* BlockTextFile.getMap(blockName) - get key-value map of blockName from the first Document
* BlockTextFile.getDocument() - get the first Document
* BlockTextFile.getDocuments() - get the Document array
* Document.getText(blockName) - get text of blockName from the Document
* Document.getMap(blockName) - get key-value map of blockName from the Document

```js
sample.btf
[key1]
value1
---------

[key2]
value2

[key-value]
k1 : v1
k2 = v2

=========
[name1]
111
[name2]
222
[]
333
[\]
\
[\]]
]
[\]\]
\---------
[\][\]]
\=========
```

```js
// parser sample.btf
const BlockTextFile = require('@gotoeasy/btf');

let btf = new BlockTextFile('sample.btf');

console.info(btf.getText('key1') == 'value1'); // true
console.info(btf.getText('key2') == 'value2\n'); // true

let map = btf.getMap('key-value');
console.info(map.get('k1') == 'v1'); // true
console.info(map.get('k2') == 'v2'); // true

let docs = btf.getDocuments(); // array
console.info(docs.length == 2); // true
let doc1 = docs[0];
console.info(doc1.getText('key1') == 'value1'); // true
console.info(doc1.getText('key2') == 'value2\n'); // true
let doc2 = docs[1];
console.info(doc2.getText('name1') == '111'); // true
console.info(doc2.getText('name2') == '222'); // true
console.info(doc2.getText('') == '333'); // true
console.info(doc2.getText('\\') == '\\'); // true
console.info(doc2.getText(']') == ']'); // true
console.info(doc2.getText(']\\') == '---------'); // true
console.info(doc2.getText('][]') == '========='); // true

```
<br>
<br>

## `Links`
* `Block-Text-File Specification` https://github.com/gotoeasy/block-text-file
* `npm-packages` https://github.com/gotoeasy/npm-packages
npm package: @gotoeasy/css-selector-elements
Description: get elements from css selector
Author: 青松
Latest version: 0.1.0

# @gotoeasy/css-selector-elements
get elements from css selector
<br>
<br>

[![NPM version](https://img.shields.io/npm/v/@gotoeasy/css-selector-elements.svg)](https://www.npmjs.com/package/@gotoeasy/css-selector-elements)
[![License](https://img.shields.io/badge/License-Apache%202-brightgreen.svg)](http://www.apache.org/licenses/LICENSE-2.0)
<br>
<br>

## Install
```
npm i @gotoeasy/css-selector-elements
```

## Sample
```js
const cssSelectorElements = require('@gotoeasy/css-selector-elements');
let selector = "a .foo span.bar > div.baz";
let rs = cssSelectorElements(selector); // => ['a', 'span', 'div']
```


## `Links`
* `npm-packages` https://github.com/gotoeasy/npm-packages
npm package: @gotoeasy/os
Description: os info util
Author: 青松
Latest version: 0.2.1

# `@gotoeasy/os`
os info util
<br>
<br>

[![NPM version](https://img.shields.io/npm/v/@gotoeasy/os.svg)](https://www.npmjs.com/package/@gotoeasy/os)
[![License](https://img.shields.io/badge/License-MIT-brightgreen.svg)](https://github.com/gotoeasy/npm-packages/blob/master/LICENSE)
<br>
<br>

## Install
```
npm i @gotoeasy/os
```

## API
```js
const os = require('@gotoeasy/os');

console.log('homedir:', os.homedir());
console.log('locale:', os.locale());
```
<br>
<br>

## `Links`
* `npm-packages` https://github.com/gotoeasy/npm-packages
npm package: @gotoeasy/spose
Description: spose
Author: 青松
Latest version: 0.0.21

# @gotoeasy/spose

[![NPM version](https://img.shields.io/npm/v/@gotoeasy/spose.svg)](https://www.npmjs.com/package/@gotoeasy/spose)
[![License](https://img.shields.io/badge/License-MIT-brightgreen.svg)](https://github.com/gotoeasy/npm-packages/blob/master/LICENSE)
<br>

简易搭建`Greenwich`版微服务

<br>
<br>

## 安装
```
npm i -g @gotoeasy/spose
```


## 命令行例子
Java、Gradle、Redis、Kafka、ES等环境需自行准备
```
// 以下命令创建注册中心，会生成eureka工程目录并编译打包为jar文件
spose eureka
```


## 列表

<details>
<summary><strong>1. 注册中心 <mark>Eureka</mark></strong></summary> 

* spring boot 2.1.6.RELEASE
* spring cloud Greenwich.RELEASE
* 一个起动类
* 配置文件

版本已定，起动类的类名和包名会不同但完全没影响<br>
实际上仅仅是配置不同，而且，配置文件通常又是外置<br>
所以，这个事情干一次就够了<br>

命令行执行 `spose eureka`，随即生成工程目录并编译打包

</details>


<details>
<summary><strong>2. 配置中心 <mark>Config</mark></strong></summary> 

同理 `spose config`

</details>


<details>
<summary><strong>3. 网关 <mark>Gateway</mark></strong></summary> 

`spose gateway`

</details>


<details>
<summary><strong>4. 熔断监控 <mark>Turbine</mark></strong></summary> 

`spose turbine`<br>
可选，按需开启使用

</details>


<details>
<summary><strong>5. 服务监控 <mark>Spring Boot Admin</mark></strong></summary> 

`spose admin`<br>
可选，按需开启使用

</details>


<details>
<summary><strong>6. 链路跟踪 <mark>Zipkin</mark></strong></summary> 

`spose zipkin`<br>
按官方推荐，实际处理是下载最新版zipkin-server到当前目录供直接起动<br>
可选，按需开启使用，被跟踪服务需相应配置

</details>


<details>
<summary><strong>7. 微服务 <mark>Redis</mark></strong></summary> 

`spose redis`<br>
假装一套缓存支持，极简接口，连接Redis

</details>


<details>
<summary><strong>8. 微服务 <mark>Kafka Producer</mark></strong></summary> 

`spose kafka-producer`<br>
假装一套消息队列生产者，极简接口，连接Kafka

</details>


<details>
<summary><strong>9. 微服务 <mark>Kafka Consumer</mark></strong></summary> 

`spose kafka-consumer`<br>
假装一套消息队列消费者，极简接口，连接Kafka

</details>


<details>
<summary><strong>10. 微服务 <mark>Kafka To ElasticSearch</mark></strong></summary> 

`spose kafka2es`<br>
假装一套消息队列消费者，消费队列中的日志，保存到ES中，连接Kafka、ES

</details>


<details>
<summary><strong>11. 微服务 <mark>Hello World</mark></strong></summary> 

`spose helloworld`<br>
联动各微服务

</details>
npm package: @gotoeasy/svgicon
Description: SVG图标字体管理
Author: 青松
Latest version: 0.0.11

# @gotoeasy/svgicon

[![NPM version](https://img.shields.io/npm/v/@gotoeasy/svgicon.svg)](https://www.npmjs.com/package/@gotoeasy/svgicon)
[![License](https://img.shields.io/badge/License-MIT-brightgreen.svg)](https://github.com/gotoeasy/npm-packages/blob/master/LICENSE)
<br>

简化满足svg图标需求： 收集 => 筛选 => 图标字体<br>

- [x] 从指定git地址导入svg图标到本地磁盘缓存<br>
- [x] 从指定npm包导入svg图标到本地磁盘缓存<br>
- [x] 从指定目录导入svg图标到本地磁盘缓存<br>
- [x] 开启服务器，通过浏览器检索浏览图标<br>
- [x] 通过浏览器筛选图标（收藏/取消收藏）<br>
- [x] 使用命令行，按收藏内容生成webfonts相关文件<br>

<br>

[![https://github.com/gotoeasy/npm-packages/blob/master/svgicon/www/search.png](https://github.com/gotoeasy/npm-packages/blob/master/svgicon/www/search.png)](https://github.com/gotoeasy/npm-packages/blob/master/svgicon/www/search.png)


<br>
<br>

## Install
```
npm i -g @gotoeasy/svgicon
```


## Sample (cli)
```
// import from giturl
svgicon imp https://github.com/FortAwesome/Font-Awesome.git


// import from npm package
svgicon imp @fortawesome/fontawesome-free


// import from dir
svgicon imp ./svgicons


// open the browser to show the icons, and edit your favorites
svgicon open


// create webfonts by favorites icons
svgicon font
```




## `Links`
* `npm-packages` https://github.com/gotoeasy/npm-packages
npm package: @gotohuman/n8n-nodes-gotohuman
Description: n8n node to request human reviews in AI workflows with gotoHuman
Author: Till
Latest version: 0.1.1

![Banner Image](https://github.com/user-attachments/assets/4d31e977-018f-47cc-86f5-2caff3fae1d7)

# n8n-nodes-gotohuman

This is an n8n community node. It lets you use [gotoHuman](https://gotohuman.com) in your n8n workflows.

gotoHuman is a Human-in-the-Loop solution that lets you easily add highly customizable human approvals to your AI workflows.  
Perfect for long-running workflows or workflows triggered in the background by external triggers like emails, tickets, or webhooks.

Many built-in features:
- Ready-to-use web UI
	- Inbox
	- Customizable review interface
	- Controls to approve, reject, or edit AI outputs
	- Allow retries with instructions
	- Supports text, markdown, JSON, images, and more
- Slack integration
- Notifications
- Response dataset to use as memory
- And much more!

## Installation

npm package name:
```
@gotohuman/n8n-nodes-gotohuman
```

Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.

## Credentials

Find your API key in the [gotoHuman dashboard](https://app.gotohuman.com).

## Usage

Refer to our [documentation](https://docs.gotohuman.com/Integrations/n8n/) for detailed information on using this node.

## License

[MIT](LICENSE.md)
npm package: @gotrade/semantic-generator
Description: Semantic Release configuration generator for conventional commits
Author: atomi-throw-away-1
Latest version: 0.7.1

<p align="center">
    <img src="sample/b/logo.png" width="100px" height="100px" />
</p>

<h1 align="center">Semantic Generator</h1>

<p align="center">Generate basic documentation, conventional commit configurations and semantic release configurations</p>

<p align="center">
    <a href="https://github.com/kirinnee/semantic-generator/actions"><img src="https://github.com/kirinnee/semantic-generator/actions/workflows/ci.yaml/badge.svg"/></a>
    <a href="https://github.com/kirinnee/semantic-generator/blob/master/LICENSE.MDactions"><img src="https://img.shields.io/github/license/kirinnee/semantic-generator"/></a>
</p>

# Quick Start

Install via NPM

```bash
npm i @kirinnee/semantic-generator -g
```

or via Yarn

```bash
yarn global add @kirinnee/semantic-generator
```

Execute the help command

```bash
semantic-generator --help
```

# Contributing

Please read [CONTRIBUTING.md](CONTRIBUTING.MD) for details on our code of conduct, and the process for submitting pull
requests to us.

# Versioning

We use [SemVer](https://semver.org/) for versioning. For the versions available, see the tags on this repository.

# Authors

- [kirinnee](mailto:kirinnee97@gmail.com)

# License

This project is licensed under MIT - see the [LICENSE.md](LICENSE.MD) file for details
npm package: @gotrip/prettier-config
Description: GoTrip base configuration for Prettier
Latest version: 1.0.1

Recommended Prettier configuration to create formatted code with best practices.

## Installation

Install the package as development dependency, alongside `prettier` package

    npm i @gotrip/prettier-config prettier -D

or yarn

    yarn add @gotrip/prettier-config prettier -D

## Usage

In your `package.json`, add the following:

    {
        ...
        "prettier": "@gotrip/prettier-config",
        "hysky": {
            "hooks": {
                "pre-commit": "npx lint-staged"
            }
        }
        ...
    }

If you need to change or add any other config to the prettier, you must remove the prettier option on `package.json` and create a `.prettierrc.js` file with the following content:

    module.exports = {
        ...require('@gotrip/prettier-config')
        // some overrides if needed
    }