open-index/open-npm huggingface dataset:
npm package: @silicoflare/crypto
Description: This package is a wrapper on the crypto library, and can be used both with Node.js or on the browser. I wrote it to ease the use of crypto in my other projects.
Author: SilicoFlare
Latest version: 1.0.0

# @silicoflare/crypto

This package is a wrapper on the crypto library, and can be used both with Node.js or on the browser. I wrote it to ease the use of crypto in my other projects.

---

## Installation

```bash
bun add @silicoflare/crypto
```

## Features

- AES encryption and decryption
- ECDH key exchange
- HMAC signing and verification
- RSA encryption and decryption
- Shamir's Secret Sharing

---

## Usage

### AES
```ts
import { AES } from "@silicoflare/crypto";

const aes = await AES.create("my-secret-key");
const encrypted = await aes.encrypt("Hello, world!");
const decrypted = await aes.decrypt(encrypted);
```

### ECDH
```ts
import { ECDH } from "@silicoflare/crypto";

const ecdh = await ECDH.create();
const publicKey = await ecdh.getPublicKey();
const privateKey = await ecdh.getPrivateKey();

```

### HMAC
```ts
import { HMAC } from "@silicoflare/crypto";

const hmac = await HMAC.create("my-secret-key");
const signature = await hmac.sign("Hello, world!");
const verified = await hmac.verify("Hello, world!", signature);
```

### RSA
```ts
import { RSA } from "@silicoflare/crypto";

const rsa = await RSA.create();
const publicKey = await rsa.getPublicKey();
const privateKey = await rsa.getPrivateKey();
const encrypted = await rsa.encrypt("Hello, world!");
const decrypted = await rsa.decrypt(encrypted);
```

### SSS
```ts
import { SSS } from "@silicoflare/crypto";

const shares = await SSS.split("my-secret-key", 3, 2);
const combined = await SSS.combine(shares);
```

## License

MIT
npm package: @silicoflare/filestore
Description: To install dependencies:
Author: SilicoFlare
Latest version: 1.0.2

# filestore

To install dependencies:

```bash
bun install
```

To run:

```bash
bun run index.ts
```

This project was created using `bun init` in bun v1.2.5. [Bun](https://bun.sh) is a fast all-in-one JavaScript runtime.
npm package: @silicon-jungle/cabinets-client
Description: A react wrapper for cabinets
Author: James Addison
Latest version: 1.1.4

In _app.js

```
import { CabinetProvider, CabinetClient } from '@silicon-jungle/cabinets-client'

const client = new CabinetClient({
  uri: SOCKET_URL,
  accessToken: ACCESS_TOKEN,
})

const MyApp = ({ Component, pageProps }) => (
  <CabinetProvider client={client}>
    <Component {...pageProps} />
  </CabinetProvider>
)
```

In whichever page or component you'd like to add collaborative content.

```
import { useShelf } from '@silicon-jungle/cabinets-client'

const Page = ({ route }) => {
  const [value, setValue] = useShelf(CABINET_NAME, KEY)
    
  const handleClick = () => {
    setValue(new Date().toString())
  }
    
  return (
    <div>
      <p>{JSON.stringify(value)}</p>
      <button onClick={handleClick}>Click me</button>
    </div>
  )
})
```

Contact me if you'd like an API key.

## License
MIT License

Copyright (c) 2022 James Addison

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
npm package: @silicon-jungle/fork-react-spreadsheet
Description: Simple, customizable yet performant spreadsheet for React
Author: Iddan Aaronsohn
Latest version: 0.8.5

<div align="center">
  <img src="https://raw.githubusercontent.com/iddan/react-spreadsheet/master/assets/logo.svg?sanitize=true" height="120">
</div>

# React Spreadsheet

Simple, customizable yet performant spreadsheet for React.

![Screenshot](https://github.com/iddan/react-spreadsheet/blob/master/assets/screenshot.png?raw=true)
[![CI](https://github.com/iddan/react-spreadsheet/workflows/CI/badge.svg?branch=master)](https://github.com/iddan/react-spreadsheet/actions/workflows/ci.yaml?query=branch%3Amaster)
[![Coverage Status](https://coveralls.io/repos/github/iddan/react-spreadsheet/badge.svg?branch=master)](https://coveralls.io/github/iddan/react-spreadsheet?branch=master)

```bash
npm install react react-dom scheduler react-spreadsheet
```

_or_

```bash
yarn add react react-dom scheduler react-spreadsheet
```

### Features

- Simple straightforward API focusing on common use cases while keeping flexibility
- Performant (yet not virtualized)
- Implements Just Components™

### [Demo](https://iddan.github.io/react-spreadsheet)

### [Docs](https://iddan.github.io/react-spreadsheet/docs)

### [Storybook](https://iddan.github.io/react-spreadsheet/storybook)
npm package: @silicon-jungle/tiny-fantasy-console
Description: A multiplayer & offline-first only fantasy console built on top of CRDT's.
Author: James Addison
Latest version: 0.0.4

# Tiny Fantasy Console

A multiplayer & offline-first only fantasy console built on top of CRDT's.

## License

MIT License

Copyright (c) 2022 James Addison

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
npm package: @silicon-soldier/darwin-libproc
Description: High-level interface over darwin's libproc library.
Author: Jordan Mele
Latest version: 0.1.0

# `@silicon-soldier/darwin-libproc`

High-level interface over darwin's `libproc` library.

## Usage

### `pidPath`

```js
import libproc from "@silicon-soldier/darwin-libproc";

// Current process (immune to `process.execPath` manipulation)
console.info(libproc.pidPath(process.pid));
// /opt/homebrew/Cellar/node@16/16.19.1/bin/node

// Parent process
console.info(libproc.pidPath(process.ppid));
// /bin/zsh

// PID 1 (launchd)
console.info(libproc.pidPath(1));
// /sbin/launchd
```

## Status

### C-to-Rust Binding

The crate `darwin-libproc-sys@0.2.0` houses the C-to-Rust bindings.

| `libproc.h` |  |
| - | - |
| `proc_listpidspath` | ✓ |
| `proc_listpids` | ✓ |
| `proc_listallpids` | ✗ |
| `proc_listpgrppids` | ✗ |
| `proc_listchildpids` | ✗ |
| `proc_pidinfo` | ✓ |
| `proc_pidfdinfo` | ✓ |
| `proc_pidfileportinfo` | ✗ |
| `proc_name` | ✓ |
| `proc_regionfilename` | ✓ |
| `proc_kmsgbuf` | ✓ |
| `proc_pidpath` | ✓ |
| `proc_libversion` | ✓ |
| `proc_setpcontrol` | ✗ |
| `proc_track_dirty` | ✗ |
| `proc_set_dirty` | ✗ |
| `proc_get_dirty` | ✗ |
| `proc_terminate` | ✗ |

### NodeJS Binding

The crate `darwin-libproc@0.2.0` acts as a safe and idiomatic wrapper over `darwin-libproc-sys@0.2.0`. This package exposes this API to NodeJS.

| `darwin-libproc@0.2.0` |  |
| - | - |
| `all_pids` | ✗ |
| `name` | ✗ |
| `pgrp_only_pids` | ✗ |
| `pid_cwd` | ✗ |
| `pid_path` | `pidPath` |
| `pid_rusage` | ✗ |
| `ppid_only_pids` | ✗ |
| `ruid_only_pids` | ✗ |
| `task_all_info` | ✗ |
| `task_info` | ✗ |
| `tty_only_pids` | ✗ |
| `uid_only_pids` | ✗ |
| `version` | ✗ |
| `vnode_path_info` | ✗ |
npm package: @silicon-soldier/eslint-config
Description: This ESLint configuration targets plain JavaScript, and is intended to be complemented with additional rulesets for suit projects using TypeScript, React, unit tests, etc.
Latest version: 0.3.0

# ESLint Config

This ESLint configuration targets plain JavaScript, and is intended to be complemented with additional rulesets for suit projects using TypeScript, React, unit tests, etc.

### 1. Install

```sh
npm i --save-dev @silicon-soldier/eslint-config
```

### 2. Configure

Create an ESLint config file called `.eslintrc.json` (or whichever extension you need/prefer).

```json
{
    "extends": "@silicon-soldier/eslint-config",
    "parserOptions": {
        "ecmaVersion": 2015
    }
}
```

Some things to note are;

- ECMA version is specified to ensure ESLint interprets source according to the correct spec version.

### 3. Integrate

ESLint isn't magic. To actually get value out, you'll need to integrate it with your projects existing tooling to maximise value. Some other recommendations are;

- Integrating with Git Hooks using [Husky](https://www.npmjs.com/package/husky), good for avoiding accidental commits of unlinted code.
- Including it in integration tests so that bad linting can be caught for every push/PR in a reliable fashion.
- Installing plugins for your IDE that will automatically lint what is being viewed, and overlay issues.
npm package: @silicon-soldier/eslint-config-typescript
Description: This ESLint configuration targets TypeScript, building on the baseline configuration `@silicon-soldier/eslint-config`.
Latest version: 0.2.0

# ESLint Config

This ESLint configuration targets TypeScript, building on the baseline configuration `@silicon-soldier/eslint-config`.

### 1. Install

```sh
npm i --save-dev @silicon-soldier/eslint-config-typescript
```

This plugin requires ESLint 6. Note that `@typescript-eslint/parser` and `@typescript-eslint/eslint-plugin` will peer dependency warning for ESLint 5, this can be safely ignored as they are compatible with both versions. Offical support in those plugins will arrive in v2, which is currently held up by other planned breaking changes that are targetted for the same major version bump.

### 2. Configure

Create an ESLint config file called `.eslintrc.json` (or whichever extension you need/prefer).

```json
{
    "extends": "@silicon-soldier/eslint-config-typescript",
    "parserOptions": {
        "ecmaVersion": 2015
    }
}
```

Some things to note are;

- ECMA version is specified to ensure ESLint interprets source according to the correct spec version.
- ESLint may need to be explicitly told what files to lint.
- ESLint will not lint TypeScript files unless you tell it to include them `.ts` files. Use the `--ext` flag, or provide a glob that includes the file extension to get around this.

### 3. Integrate

ESLint isn't magic. To actually get value out, you'll need to integrate it with your projects existing tooling to maximise value. Some other recommendations are;

- Integrating with Git Hooks using [Husky](https://www.npmjs.com/package/husky), good for avoiding accidental commits of unlinted code.
- Including it in integration tests so that bad linting can be caught for every push/PR in a reliable fashion.
- Installing plugins for your IDE that will automatically lint what is being viewed, and overlay issues.