open-index/open-npm huggingface dataset:
npm package: @0xtld/node-security
Description: Lightweight Node.js security utilities (timing-safe compare, password hashing, CSRF tokens)
Author: tyluudinh
Latest version: 1.0.0

# @0xtld/node-security

Lightweight Node.js security utilities: password hashing/verify, timing-safe compare, XSS detection, and safe file buffer fetch.

## Install

```bash
npm i @0xtld/node-security
```

## Quick start

```ts
import {
  // password utils
  hashPassword,
  verifyPassword,
  timingSafeCompare,
  // xss utils
  xssAttackDetection,
  validateXssAttack,
  // file/common utils
  isURL,
  isPath,
  isFileLocal,
  getFileContentBuffer,
} from '@0xtld/node-security';

// Passwords
const stored = hashPassword('secret');
verifyPassword('secret', stored); // true
timingSafeCompare('a', 'a'); // true

// XSS
const res = xssAttackDetection('<script>alert(1)</script>');
// res.isXss === true
// Throws if payload contains XSS patterns
// validateXssAttack('<img src=x onerror=alert(1)>');

// File helpers
await isFileLocal(__filename); // true
const data = await getFileContentBuffer('https://example.com');
// data: { buffer: Buffer, type: string }
```

## API

- Password
  - `hashPassword(password: string, opts?) => string`
  - `verifyPassword(password: string, stored: string) => boolean`
  - `timingSafeCompare(a: string|Buffer, b: string|Buffer) => boolean`

- XSS
  - `xssAttackDetection(text: string) => { isXss, patterns, severity, message }`
  - `validateXssAttack(payload: any) => void | throws`

- Common/File
  - `isURL(input: string) => boolean`
  - `isPath(input: string) => boolean`
  - `isFileLocal(path: string) => Promise<boolean>`
  - `getFileContentBuffer(urlOrPath: string) => Promise<{ buffer: Buffer; type: string } | null>`

## Scripts

```bash
npm run build      # bundle CJS/ESM + d.ts
npm test           # run jest tests
npm publish --access public
```

## License

MIT
npm package: @0xwen/core-v5
Description: wen contracts for ethers-v5
Author: Crypto Alexandas
Latest version: 0.0.3

![License: GPL](https://img.shields.io/badge/license-MIT-blue)![Version Badge](https://img.shields.io/badge/version-0.0.2-lightgrey.svg)
# Wen-Core-v5

`git submodule init`

`git submodule update`

`ln -s WenCore/contracts/ contracts`

`yarn build`
npm package: @0y0/exec
Description: Execute code and get the return.
Author: Jason Chung
Latest version: 1.0.2

# @0y0/exec · [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/o0y0o/web-scraper/blob/master/LICENSE) [![npm](https://img.shields.io/npm/v/@0y0/exec.svg)](https://www.npmjs.com/package/@0y0/exec)

`exec` is a sandbox to execute code and get the return.

# Installation

```sh
npm install --save @0y0/exec
```

# Usage

```js
const exec = require('@0y0/exec')
```

### 1. Run the string type of code wrapped with `{{` and `}}`.
```js
exec('{{`Hi, ${name}`}}', { name: 'JC' })
// 'Hi, JC'
```

### 2. Run the object type of code
``` js
exec({ value: '{{name}}' }, { name: 'JC' })
// { value: 'JC' }
```

### 3. Run the array type of code
``` js
exec(['{{name}}'], { name: 'JC' })
// ['JC']
```

### 4. Run the array type of code with `for/of`
```js
exec(
  ['for(item of list)', { value: '{{item.name}}' }],
  { list: [{ name: 'JC' }] }
)
// [{ value: 'JC' }]
```

### 5. Run the array type of code with `for`
```js
exec(
  ['for(i=0;i<list.length;i++)', { value: '{{list[i].name}}' }],
  { list: [{ name: 'JC' }] }
)
// [{ value: 'JC' }]
```

### 6. Use global variables
```js
exec.define('add', (a, b) => a + b)
exec('{{add(1,2)}}')
// 3
```

## License

[MIT](https://github.com/o0y0o/web-scraper/blob/master/LICENSE)
npm package: @0y0/exec-http
Description: Run the http request and aggregate the results.
Author: Jason Chung
Latest version: 1.0.1

# @0y0/exec-http · [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/o0y0o/web-scraper/blob/master/LICENSE) [![npm](https://img.shields.io/npm/v/@0y0/exec-http.svg)](https://www.npmjs.com/package/@0y0/exec-http)

`exec-http` runs the http request and aggregates the results.

# Installation

```sh
npm install --save @0y0/exec-http
```

# Usage

```js
const execHttp = require('@0y0/exec-http')

await execHttp(
  // (object) Http execution options
  {
    // (object) Request options
    request: {
      // (string) Request URL
      url,
      // (string?) Request method
      // (Default: GET)
      method,
      // (object?) Request headers
      headers,
      // (string?) Request body type
      // (Available: form, form-urlencoded, json)
      type,
      // (object?) Request body
      body
    },
    // (object?) Response options
    response: {
      // (string?) Response body type
      // (Available: json, text)
      type,
      // (object?) Response body model transformer
      model
    }
  },
  // (object?) Global definitions
  variables
)
```

## License

[MIT](https://github.com/o0y0o/web-scraper/blob/master/LICENSE)
npm package: @0y0/git-delete-branch
Description: Delete Git branches with interactive CLI.
Author: Jason Chung
Latest version: 2.1.1

# @0y0/git-delete-branch · [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/o0y0o/git-delete-branch/blob/master/LICENSE) [![npm](https://img.shields.io/npm/v/@0y0/git-delete-branch.svg)](https://www.npmjs.com/package/@0y0/git-delete-branch) ![Package Status](https://github.com/o0y0o/git-delete-branch/workflows/Package/badge.svg)

`@0y0/git-delete-branch` help you delete Git branches with interactive CLI.

![demo](https://media.giphy.com/media/24pbIXm2aG5c0lAzdN/giphy.gif)

## Installation

```
npm install @0y0/git-delete-branch --global
```

## Usage

Goto your git repo folder

```sh
git-delete-branch # or `gdb`
```

## License

[MIT](https://github.com/o0y0o/git-delete-branch/blob/master/LICENSE)
npm package: @0y0/gitbook-cli
Description: A Gitbook CLI
Author: Jason Chung
Latest version: 1.0.2

# @0y0/gitbook-cli · [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/o0y0o/gitbook-cli/blob/master/LICENSE) [![npm](https://img.shields.io/npm/v/@0y0/gitbook-cli.svg)](https://www.npmjs.com/package/@0y0/gitbook-cli) ![Package Status](https://github.com/o0y0o/gitbook-cli/workflows/Package/badge.svg) ![Test Status](https://github.com/o0y0o/gitbook-cli/workflows/Test/badge.svg)

`@0y0/gitbook-cli` is a Gitbook CLI.

## Installation

```
npm install @0y0/gitbook-cli --global
```

## Usage

Use `gitbook help` command to print the usage.

## License

[MIT](https://github.com/o0y0o/gitbook-cli/blob/master/LICENSE)
npm package: @0y0/scraper-plugin-google-sheet
Description: A @0y0/scraper plugin to export data to google sheet.
Author: Jason Chung
Latest version: 1.0.2

# @0y0/scraper-plugin-google-sheet · [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/o0y0o/web-scraper/blob/master/LICENSE) [![npm](https://img.shields.io/npm/v/@0y0/scraper-plugin-google-sheet.svg)](https://www.npmjs.com/package/@0y0/scraper-plugin-google-sheet)

`@0y0/scraper-plugin-google-sheet` is a `@0y0/scraper` plugin to export data to google sheet.

# Installation

```sh
npm install --save @0y0/scraper-plugin-google-sheet
```

# Usage

```js
const plugin = require('@0y0/scraper-plugin-google-sheet')

plugin.setGoogleCredentials(
  // (object) Google Credentials: A JSON object with service account key
  credentials
)

plugin.out(
  {
    // (string) Spreadsheet ID
    spreadsheetId
    sheet: {
      // (string) Sheet title
      title,
      // (string[]) Sheet header
      header,
      // (string[][]) Sheet body
      body
    }
  },
  // (object?) Global definitions
  variables
)
```

## License

[MIT](https://github.com/o0y0o/web-scraper/blob/master/LICENSE)
npm package: @0y0/scraper-plugin-http
Description: A @0y0/scraper plugin to handle http input and output.
Author: Jason Chung
Latest version: 1.0.0

# @0y0/scraper-plugin-http · [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/o0y0o/web-scraper/blob/master/LICENSE) [![npm](https://img.shields.io/npm/v/@0y0/scraper-plugin-http.svg)](https://www.npmjs.com/package/@0y0/scraper-plugin-http)

`@0y0/scraper-plugin-http` is a `@0y0/scraper` plugin to handle http input and output.

# Installation

```sh
npm install --save @0y0/scraper-plugin-http
```

## License

[MIT](https://github.com/o0y0o/web-scraper/blob/master/LICENSE)
npm package: @0y0/starter-kits
Description: A common hygen boilerplate kits to code faster and simple.
Author: Jason Chung
Latest version: 1.1.5

# @0y0/starter-kits · [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/o0y0o/starter-kits/blob/master/LICENSE) [![npm](https://img.shields.io/npm/v/@0y0/starter-kits.svg)](https://www.npmjs.com/package/@0y0/starter-kits) ![Status](https://github.com/o0y0o/starter-kits/workflows/Package/badge.svg)

`@0y0/starter-kits` is a common [hygen](https://github.com/jondot/hygen/) boilerplate kits to code faster and simple.

## Installation

```sh
npm install @0y0/starter-kits --global
```

## Usage

```sh
gen eslib new # Generate a repo with ES lib.
gen monolib new # Generate a monorepo with ES lib.
```

## License

[MIT](https://github.com/o0y0o/starter-kits/blob/master/LICENSE)
npm package: @0zd0/nx-oxfmt
Description: An Nx plugin for [oxfmt](https://oxc.rs/docs/guide/usage/formatter.html) - the high-performance JavaScript/TypeScript formatter.
Author: 0zd0
Latest version: 0.1.1

# nx-oxfmt

An Nx plugin for [oxfmt](https://oxc.rs/docs/guide/usage/formatter.html) - the high-performance JavaScript/TypeScript formatter.

## Install

```bash
nx add @0zd0/nx-oxfmt
```

## Run Formatting:

```bash
nx run your-project:fmt
```

or

```bash
nx run-many --target fmt
```

## Executor Options

All options are optional. The executor defaults to writing changes in place.

- `check` _(optional)_ - Check if files are formatted, show statistics (default: `false`)
- `write` _(optional)_ - Format and write files in place (default: `true`)
- `listDifferent` _(optional)_ - List files that would be changed (default: `false`)
- `config` _(optional)_ - Path to the configuration file (default: auto-detected by oxfmt)
- `ignorePath` _(optional)_ - Path to ignore file(s) (default: `.gitignore` and `.prettierignore`)
- `threads` _(optional)_ - Number of threads to use (default: auto-detected)
- `withNodeModules` _(optional)_ - Format code in node_modules directory (default: `false`)
- `noErrorOnUnmatchedPattern` _(optional)_ - Do not exit with error when pattern is unmatched (default: `false`)
- `additionalArguments` _(optional)_ - Additional arguments to pass to oxfmt as a string

## Configuration

If no config file is passed, **oxfmt** will automatically look for configuration files (e.g. `.oxfmtrc.json`).

See [oxfmt documentation](https://oxc.rs/docs/guide/usage/formatter/cli.html) for configuration options.
npm package: @1-dao-protocol/juice-delegates-registry
Description: ## Summary Provide an easy to access function linking Juicebox protocol pay and redemption delegate with their respective deployer address. This registry use create and create2 to, based on a deployer address and a nonce, generate a deterministic address 
Latest version: 1.0.2

# Juice Delegates Registry

## Summary
Provide an easy to access function linking Juicebox protocol pay and redemption delegate with their respective deployer address.
This registry use create and create2 to, based on a deployer address and a nonce, generate a deterministic address for a delegate.
This address is then used as a key to store the deployer address (after sanity check).

## Design
### Flow
After deploying a delegate, any addresses can call `registry.addDelegate(address deployer, uint256 nonce)` to add it. The registry will compute the corresponding 
delegate address, check if it is a valid delegate and add it. Alternatively, addDelegateCreate2(address _deployer, bytes32 _salt, bytes calldata _bytecode) can
be used to add delegate deployed from a contract, using create2.

The frontend might retrieve the correct nonce, for both contract and eoa, using  ethers `provider.getTransactionCount(address)` or web3js `web3.eth.getTransactionCount` just *before* the delegate deployment (if adding a delegate at a later time, manual nonce counting might be needed).
Create2 salt is based on the delegate deployer own internal logic while the deployment bytecode can be retrieved in the deployment transaction (off-chain) or via `abi.encodePacked(type(delegateContract).creationCode, abi.encode(constructorArguments))` (on-chain)

### Contracts/interface
- JBDelegatesRegistry: the registry
- IJBDelegatesRegistry; the registry interface

## Usage
Anyone can deploy this registry using the provided forge script.
To run this repo, you'll need [Foundry](https://book.getfoundry.sh/) and [NodeJS](https://nodejs.dev/en/learn/how-to-install-nodejs/) installed.

First install the dependencies with:

* `yarn install && git submodule update --init --force --recursive`

You should then be able to run the tests using:

* `forge test`
 
Deploy a new registry using:

* `forge script Deploy` (and the correct arguments, based on the chain and key you want to use - see the [Foundry docs](https://book.getfoundry.sh/)).

## Use-case
This registry allows frontend to easily and trustlessly query the deployer behind a given delegate. This might then used to assume a delegate as "safe" or not, based on front-end opinion.

## Risks & trade-off
A nasty delegate has a mint privilege access. It is therefore a key responsability to front-end providing informations to project owners and users on unintended/potentially adversarial behaviour, especially for unknow delegates.