open-index/open-npm huggingface dataset:
npm package: @spcpl/hwt
Description: Generate terminal commands from your terminal using natural language
Author: Daniele Spacccapeli
Latest version: 0.1.1

<pre>      ___           ___           ___     
     /\__\         /\__\         /\  \    
    /:/  /        /:/ _/_        \:\  \   
   /:/__/        /:/ /\__\        \:\  \  
  /::\  \ ___   /:/ /:/ _/_       /::\  \ 
 /:/\:\  /\__\ /:/_/:/ /\__\     /:/\:\__\
 \/__\:\/:/  / \:\/:/ /:/  /    /:/  \/__/
      \::/  /   \::/_/:/  /    /:/  /     
      /:/  /     \:\/:/  /     \/__/      
     /:/  /       \::/  /                 
     \/__/         \/__/  </pre> 

## hwt is the open-source terminal application to rule them all.

[![npm version](https://badge.fury.io/js/@spcpl%2Fhwt.svg)](https://badge.fury.io/js/@spcpl%2Fhwt)

Finding hard to remember all these pesky commands and flags for your CLI applications? Use hwt to use them with natural language.

### Example usage, in your terminal:

```
$ hwt print the path of the current directory

+----------------------+                | Press Enter to execute the command.
| Commands to execute: |                | Move between commands ⬆, ⬇ .
+----------------------+                | Press Esc/C-c to exit the program.
1.   pwd

// or you could ask

$ hwt list all the running docker containers

// or ...

$ hwt update python
```

It's an open-source alternative to [Github Copilot X CLI](https://githubnext.com/projects/copilot-cli). 

**You need an OpenAI API key to get started.**

### Install:

```
// To use hwt, you need to have Node and NPM installed

$ npm install -g @spcpl/hwt

// After that, you need to initialize it with your OpenAI API key.

$ hwt --init
```
npm package: @spcsp/explore-settings-json
Description: Exploring `StrokesPlus.net.json` with a `StrokesPlus.UI.HTMLWindow`
Author: Kevin Hill
Latest version: 0.3.0

@spcsp/explore-settings-json
============================

Exploring `StrokesPlus.net.json` with a `StrokesPlus.UI.HTMLWindow`

![screenshot](./screenshot.png)
npm package: @spcsp/scripts-plus
Description: Enhance the scripting capabilities of S+ with a rich module library.
Author: Kevin Hill
Latest version: 0.1.0

# @spcsp/scripts-plus

Enhance the scripting capabilities of S+ with a rich module library.

Inspired by the simplicity of jQuery, there are 40+ modules that extend and enhance the scripting capabilities within action scripts.
Many common `sp.xxxx` methods are wrapped to simplify their use and some wrapped together to create new tools.

# Install

Open the S+ console and in the `script` tab & paste this command

```javascript
SPPM.Install("@spcsp/scripts-plus");
```

and click <kbd>&#9654;&nbsp;Execute</kbd>

# Usage

Open the main interface of StrokesPlus

- Head to `Global Actions`
- Open the `Load/Unload` tab
- Check the box to enable the load script
- Paste in this snippet: `var $ = ScriptsPlus();`
- Now `$.xxx` methods are available in any script context

# Examples

### Wrapped Methods

```javascript
// wraps `sp.MessageBox()`
$.alert("Hello World!");

// wraps `new DisplayTextInfo()`
$.toast("Hello World!");

// wraps `sp.sp.ShowBalloonTip()`
$.balloon("Hello World!");
```

### Dialogs

```javascript
function getUserInput() {
  var modal = $.dialog.create("Text Input Demo");

  modal.show(input => $.alert(input, "Input"));
}

getUserInput();
```

### Popup Menus

```javascript
var { addToMenu, addToSubMenu, menuItem, show } = $.popup;

var popup = $.popup.create();
var addToMainMenu = $.popup.addToMenu(popup);

var mastercam = menuItem("Mastercam");
var addToDemo = $.popup.addToSubMenu(mastercam);

addToDemo(menuItem("Hello World", `$.alert('Hello World')`));
addToDemo(menuItem("Taco Bell", `$.alert('Taco Bell')`));
addToDemo(menuItem("Is Good", `$.alert('Is Good')`));

addToMainMenu(mastercam);
addToMainMenu($.popup.spacer);
addToMainMenu($.popup.cancel);

show(popup);
```
npm package: @spctrltd/api
Description: general http api
Author: Charles Johannisen, SPCTR
Latest version: 0.0.5-6

<img src="/assets/api-1024-banner.png" />

## Install
```
# nodejs >= 18
npm install @spctrltd/api
```

## Quick Start
```JS
import Api from '@spctrltd/api'
const api = new Api()
api.start()
```

## Testing
```JS
import Api, {Test} from '@spctrltd/api'
import path from 'path'

const mongoDBConfig = {
  database: {
    type: Api.DATABASE_TYPE_MONGODB,
    connectionString: 'mongodb://localhost:27017/spctr-api-unit-test'
  },
  test: {
    shutdown: true,
    dropDatabase: true
  }
}

const sqliteConfig = {
  database: {
    type: Api.DATABASE_TYPE_SQLITE,
    databaseFile: `${path.resolve('.')}/datastore/spctr-api-unit-test.db`
  },
  test: {
    shutdown: true,
    dropDatabase: true
  }
}

const test = new Test(mongoDBConfig)
test.start()
```

## Default Config
```JS
{
  database: {
    type: Helper.DATABASE_TYPE_SQLITE, // currently only MongoDB and SQLite type
    databaseFile: undefined, // if SQLite, creates file in project's root directory if undefined
    memoryOnly: false, // SQLite only
    defaultUser: {
      username: 'superuser',
      password: 'superpassword'
    },
    connectionString: undefined, // MongoDB Only
    connectionOptions: {autoIndex: false}, // MongoDB Only
    userDataModelPath: undefined, // Absolute path to user-defined models
    initialiseUserAccount: false,
    /*
    create default database data for user authentication. If true, this will create
    default user (at defaultUser property) and otp database tables/collections 
    for use with the default authentication routes
    */
    addConnection: false
    /*
    when creating the database class make this a seperate
    database connection to the server's
    */
  },
  server: {
    sessionKey: Helper.defaultKey, // server token encryption hash
    formatedResponse: Helper.formatedResponse, // a function that formats the http response data
    httpsConfig: {
      key: undefined, // fs.readFileSync('/app/server-private-key.pem'),
      cert: undefined // fs.readFileSync('/app/server-certificate.pem')
    },
    uploadDir: '/tmp/dump',
    allowCors: false,
    port: 8000,
    proxy: undefined,
    morgan: ['common'],
    userRoutePath: undefined // Absolute path to user-defined routes (see docs for more details)
  },
  service: {
    otp: otp => Helper.developerPrinter({otp}) // a function for sending the otp code. arguments = (otp, databaseObject) (see docs for example)
  },
  account: {
    secretKey: Helper.defaultKey, // encrypting JWT
    usernameField: 'username', // the formfield when logging in (see docs for example)
    jwtExpiresInMinutes: Helper.defaultExpireToken, // 3 minutes
    jwtRefreshExpiresInMinutes: Helper.defaultExpireRefresh // 5 minutes
  },
  system: {
    developerPrinter: Helper.developerPrinter // a function that prints to STDOUT in dev enironment or debug mode (see docs for example)
  },
  test: {
    shutdown: false, // exit the running server after testing completes
    dropDatabase: false // drop the test database
  }
}
```
## Guide
[Walkthrough](./WALKTHROUGH.md)
npm package: @spctrltd/api-cloud-storage
Description: Common functions for cloud storage services
Author: Charles Johannisen, SPCTR
Latest version: 0.0.0-3

# S P C T R . L T D . API CLOUD STORAGE

## Install
```
# nodejs >= 18
npm install @spctrltd/api-cloud-storage
```

## Quick Start
```JS
import CloudStorage, {AWS} from '@spctrltd/api-cloud-storage'
const storage = new CloudStorage({
  type: AWS,
  bucket: AWS_BUCKET,
  endpoint: AWS_ENDPOINT,
  region: AWS_REGION,
  accessKeyId: AWS_ACCESS_KEY_ID,
  accessKeySecret: AWS_ACCESS_SECRET,
  acl: AWS_ACL
})

export const cdn = storage.initialise()
```
npm package: @spcy/pub.react-scripts
Description: Configuration and scripts for Create React App.
Latest version: 3.4.1-spcy-05

# react-scripts

This package includes scripts and configuration used by [Create React App](https://github.com/facebook/create-react-app).<br>
Please refer to its documentation:

- [Getting Started](https://facebook.github.io/create-react-app/docs/getting-started) – How to create a new app.
- [User Guide](https://facebook.github.io/create-react-app/) – How to develop apps bootstrapped with Create React App.
npm package: @spcy/vendor.react-scripts
Description: Configuration and scripts for Create React App.
Latest version: 3.4.1-spcy-02

# react-scripts

This package includes scripts and configuration used by [Create React App](https://github.com/facebook/create-react-app).<br>
Please refer to its documentation:

- [Getting Started](https://facebook.github.io/create-react-app/docs/getting-started) – How to create a new app.
- [User Guide](https://facebook.github.io/create-react-app/) – How to develop apps bootstrapped with Create React App.
npm package: @spd_dev/xchain-cosmos
Description: Custom Cosmos client and utilities used by XChainJS clients
Author: XChainJS
Latest version: 0.19.0-alpha1

# `@xchainjs/xchain-client`

Cosmos Module for XChainJS Clients

## Installation

```
yarn add @xchainjs/xchain-cosmos
```

Following peer dependencies have to be installed into your project. These are not included in `@xchainjs/xchain-cosmos`.

```
yarn add @xchainjs/xchain-client @xchainjs/xchain-crypto @xchainjs/xchain-util axios cosmos-client/core

```

## Cosmos Client Testing

```
yarn install
yarn test
```
## Documentation

### [`xchain cosmos`](http://docs.xchainjs.org/xchain-client/xchain-cosmos/)
[`How xchain-cosmos works`](http://docs.xchainjs.org/xchain-client/xchain-cosmos/how-it-works.html)\
[`How to use xchain-cosmos`](http://docs.xchainjs.org/xchain-client/xchain-cosmos/how-to-use.html)


## Service Providers

This package uses the following service providers:

| Function                    | Service    | Notes                                                               |
| --------------------------- | ---------- | ------------------------------------------------------------------- |
| Balances                    | Cosmos RPC | https://cosmos.network/rpc/v0.37.9 (`GET /bank/balances/{address}`) |
| Transaction history         | Cosmos RPC | https://cosmos.network/rpc/v0.37.9 (`GET /txs`)                     |
| Transaction details by hash | Cosmos RPC | https://cosmos.network/rpc/v0.37.9 (`GET /txs/{hash}`)              |
| Transaction broadcast       | Cosmos RPC | https://cosmos.network/rpc/v0.37.9 (`POST /txs`)                    |
| Explorer                    | BigDipper  | https://cosmos.bigdipper.live                                       |

Rate limits: No


## Extras
Important note: Make sure to install same version of `cosmos-client/core` as `xchain-cosmos` is using (currently `"@cosmos-client/core": "^0.45.1",` ). In other case things might break.
npm package: @spd_dev/xchain-thorchain
Description: Custom Thorchain client and utilities used by XChainJS clients
Author: THORChain
Latest version: 0.25.3-alpha1

# `@xchainjs/xchain-thorchain`

Thorchain Module for XChainJS Clients

## Installation

```
yarn add @xchainjs/xchain-thorchain
```

Following peer dependencies have to be installed into your project. These are not included in `@xchainjs/xchain-thorchain`.

```
yarn add @xchainjs/xchain-client @xchainjs/xchain-crypto @xchainjs/xchain-util @xchainjs/xchain-cosmos axios @cosmos-client/core bech32-buffer
```

Important note: Make sure to install same version of `@cosmos-client/core` as `xchain-thorchain` is using (currently `@cosmos-client/core@0.45.1` ). In other case things might break.


## Documentation

### [`xchain thorchain`](http://docs.xchainjs.org/xchain-client/xchain-thorchain/)
[`How xchain-thorchain works`](http://docs.xchainjs.org/xchain-client/xchain-thorchain/how-it-works.html)\
[`How to use xchain-thorchain`](http://docs.xchainjs.org/xchain-client/xchain-thorchain/how-to-use.html)


For more examples check out tests in `./__tests__/client.test.ts`

## Service Providers

This package uses the following service providers:

| Function                    | Service        | Notes                                                               |
| --------------------------- | -------------- | ------------------------------------------------------------------- |
| Balances                    | Cosmos RPC     | https://cosmos.network/rpc/v0.37.9 (`GET /bank/balances/{address}`) |
| Transaction history         | Tendermint RPC | https://docs.tendermint.com/master/rpc/#/Info/tx_search             |
| Transaction details by hash | Cosmos RPC     | https://cosmos.network/rpc/v0.37.9 (`GET /txs/{hash}`)              |
| Transaction broadcast       | Cosmos RPC     | https://cosmos.network/rpc/v0.37.9 (`POST /txs`)                    |
| Explorer                    | Thorchain.net  | https://thorchain.net                                               |

Rate limits: No

## Extras

## Creating protobuffer typescript bindings

In order for this library to de/serialize proto3 structures, you can use the following to create bindings

1. `git clone https://gitlab.com/thorchain/thornode`
2. run the following (adjust the paths acordingly) to generate a typecript file for MsgDeposit
   ```bash
   yarn run pbjs -w commonjs  -t static-module  <path to repo>/thornode/proto/thorchain/v1/x/thorchain/types/msg_deposit.proto <path to repo>/thornode/proto/thorchain/v1/common/common.proto <path to repo>/thornode/proto/thorchain/v1/x/thorchain/types/msg_send.proto <path to repo>/thornode/third_party/proto/cosmos/base/v1beta1/coin.proto -o src/types/proto/MsgCompiled.js
   ```
3. run the following to generate the .d.ts file
   ```bash
   yarn run pbts src/types/proto/MsgCompiled.js -o src/types/proto/MsgCompiled.d.ts
   ```

Alternatively, you can run the convenience script: `genMsgs.sh`, which will overwrite the proto/js files in types/proto. This should only be done and checked in if changes were made to the upstream Msg in the THORNode repo.
npm package: @spdl/unplayplay
Description: Playplay key decryptor
Author: PwLDev
Latest version: 1.0.9

# @spdl/unplayplay
Maintained fork of `unplayplay` library.

## Usage
```js
import unplayplay from "@spdl/unplayplay";

const token = unplayplay.token;

// example values
const obfuscatedKey = Buffer.from("01", "hex");
const fileId = Buffer.from("01", "hex");

// returns a buffer
const result = unplayplay.deobfuscateKey(fileId, obfuscatedKey);
```

> ### version: 2

PlayPlay key decryptor.
Originally based on https://github.com/baltitenger/spsync/blob/master/ppdecrypt.cc.

## Credits
Original contributors: uh wot, suischan and es3n1n

Fork maintained by [PwLDev](https://github.com/PwLDev).
Made for the [spdl](https://github.com/PwLDev/node-spdl) library.

Thanks for using this library!
npm package: @spdream/flappy-bird-tizen
Description: A simple Flappy Bird game for TizenBrew
Author: SPdream
Latest version: 1.0.3

# Flappy Bird for TizenBrew

A simple Flappy Bird game for Tizen-powered Samsung TVs.

## Installation

Requires TizenBrew to be installed on your TV.

1.  Open the TizenBrew interface.
2.  Install module from NPM using the package name: `@spdream/flappy-bird-tizen`
3.  Launch the module from the TizenBrew list.

## Usage

* Press **Up Arrow** or **Enter** to jump and start/restart the game.
* Press **Media Play/Pause** to pause/resume.
npm package: @spduk/jsdoc-autogen
Description: Automatically generate unit tests and docs
Author: SPDUK
Latest version: 1.0.14

# jsdoc-autogen

Inspired by: [Elixir Doctests](https://elixir-lang.org/getting-started/mix-otp/docs-tests-and-with.html) & [ExDoc](https://github.com/elixir-lang/ex_doc)

### Idea

The idea is to have docs that will be automatically generated for your JavaScript code, with code examples that also double as tests within the source code.

### Solution

I have no idea how to do this but my idea is basically [this](https://github.com/MainShayne233/js-doctest) while using jest & being able to work on non-exported functions

- Parse @example for the input/output
- Use [Rewire](https://github.com/jhnns/rewire) to call functions without exporting them
- Place @example input/output into test using rewire exported function
- Generate docs with JSDoc example if test passes
- Maybe it works? 🥴

</div>

## ⭐️ Features

- Webpack 4
- Babel 7
- UMD exports, so your library works everywhere.
- Jest unit testing
- Daily [dependabot](https://dependabot.com) dependency updates

## 📦 Getting Started

```
git clone https://github.com/hodgef/js-library-boilerplate-basic.git myLibrary
npm install
```

## 💎 Customization

> Before shipping, make sure to:

1. Edit `LICENSE` file
2. Edit `package.json` information (These will be used to generate the headers for your built files)
3. Edit `library: "MyLibrary"` with your library's export name in `./webpack.config.js`

## 🚀 Deployment

1. `npm publish`
2. Your users can include your library as usual

### npm

```
import MyLibrary from 'my-library';
let libraryInstance = new MyLibrary();
...
```

### self-host/cdn

```
<script src="build/index.js"></script>

let MyLibrary = window.MyLibrary.default;
let libraryInstance = new MyLibrary();
...
```
npm package: @spdx/tools
Description: A Typescript library for creating SPDX documents
Latest version: 0.1.0

<!--
SPDX-FileCopyrightText: 2023 SPDX contributors

SPDX-License-Identifier: CC0-1.0
-->

# @spdx/tools
@spdx/tools is a lightweight JavaScript library for creating SBOMs in the SPDX format.
It enables you to create SPDX documents, add contents to it and write it to a file.

**Important:** This repository is in early development state and can not yet be used in production.

## Usage
Install the library using npm:

```bash
npm i @spdx/tools
```

The recommended way to use this library is to create a document, add contents to it and then write it to a file:

```javascript
import * as spdx from "@spdx/tools";

const document = spdx.createDocument("my-first-document");
const pkg = document.addPackage("my-package");
document.addRelationship(document, pkg, "DESCRIBES");

document.write("./sample.spdx.json");
```

## Supported features

This library is currently in early development state and supports only a limited set of features.
It allows for creating and writing of SPDX 2.3 documents in the JSON format.
Parsing and validation of existing documents is not yet supported.
Other output formats, besides JSON, as well as SPDX 3.0 are not yet supported.

The following features are supported by this library:
The library currently does not yet support all features of the SPDX 2.3 specification.
The following features are supported:

| Feature | State |
| ------- | ----- |
| Document creation | DONE
| Packages | DONE
| Files | DONE
| Relationships | DONE
| Other licensing information | DONE
| Snippets | PLANNED
| Annotations | PLANNED

## Documentation
Please refer to [DOCUMENTATION.md](https://github.com/spdx/tools-ts/blob/main/DOCUMENTATION.md) for a detailed documentation of the API.

We provide a number of example workflows in the `examples` directory that demonstrate how this library can be used to create SPDX documents.

## Contributing
We welcome contributions to this repository.

See [CONTRIBUTING.md](https://github.com/spdx/tools-ts/blob/main/CONTRIBUTING.md) for more information.