open-index/open-npm huggingface dataset:
npm package: @rubys/ical
Latest version: 0.0.1

The purpose of this module is to provide `parse` and
`serialize` methods that enable round tripping of data
from [iCalendar](https://icalendar.org/) format to
JSON serializable objects.

For the most part, parsing is handled by
[ical.js](https://www.npmjs.com/package/ical.js) and
serialization by
[ical-generator](https://www.npmjs.com/package/ical-generator).
npm package: @rubys/react-hook-middleware
Description: React App Server
Author: Sam Ruby
Latest version: 0.0.5

Converts your express web server into a React Application Server

### QuickStart

    yarn add @rubys/react-hook-middleware

    const middleware = require('@rubys/react-hook-middleware');

    app.use(middleware(appDir));

Start your web server, and `.js` files dropped into the `appDir` directory
will be served as web applications.

The requirements for application files to be served:

  - they must import 'React'
  - they must export a default function
  - this function must either return a result (typically a JSX element)
    or send a response or call the next function.

To run the demo:

    git clone https://github.com/rubys/react-hook-middleware.git
    cd react-hook-middleware
    yarn install
    yarn demo
npm package: @rubys/snowpack-plugin-require-context
Description: require-context plugin for Snowpack
Author: Sam Ruby
Latest version: 0.0.6

# @rubys/snowpack-plugin-require-context

A Snowpack plugin implementing webpack's
[require.context](https://webpack.js.org/guides/dependency-management/#requirecontext)
API.  The motivation for this was to bring the simplicity of
[Webpack's development of Stimulus applications](https://stimulus.hotwire.dev/handbook/installing#using-webpack)
to Snowpack, but it should be useful for other purposes too.

This plugin works by rewriting `require.context` calls to generate the
necessary context definitions at build time.  It will also watch the
source directories for changes and trigger a rebuild when files change.

The `input` configuration option described below is optional, and if not
present will cause all `.js` files to be scanned.  Only those that contain
calls to `require.context` will be processed by this plugin.

Limitations of this implementation:
 * fourth argument to `require.context` (`sync`) is ignored/not supported
 * resulting context object only has a `keys` property, in other words
    * it has no `resolve` function
    * it has no `id` property
 * module definitions does not contain named exports, only `default`

None of these limitations affect Stimulus.js usage.

Usage:

```bash
npm install @rubys/snowpack-plugin-require-context
```

Then add the plugin to your Snowpack config:

```js
// snowpack.config.js

module.exports = {
  plugins: [
    [
      '@rubys/snowpack-plugin-require-context',
      {
        input: ['application.js'], // files to watch
      },
    ],
  ],
};
```

Once the plugin is installed, you can use `require.context` just like
you would with Webpack.  An example usage with Stimulus.js:

```javascript
// src/application.js
import { Application } from "stimulus"
import { definitionsFromContext } from "stimulus/webpack-helpers"

const application = Application.start()
const context = require.context("./controllers", true, /\.js$/)
application.load(definitionsFromContext(context))
```

## Plugin Options

| Name     |    Type    | Description |
| :------- | :--------: | :-------------------------------------------------------------------------- |
| `input`  | `string[]` | Array of extensions to watch for.
npm package: @rubys/stimulus-live-elements
Description: Live Element support for Rails via Stimulus
Author: Sam Ruby
Latest version: 0.0.5

# @rubys/stimulus-live-elements

**Status: ALPHA**

API may change dramatically before release.  For now, pin a specific version.

## Usage

See [gist](https://gist.github.com/rubys/2f94bffcd369f1c014fef35fd355beba) or
run the following commang to get started:

```sh
bin/importmap pin @rubys/stimulus-live-elements@0.0.5
echo 'export { default } from  "@rubys/stimulus-live-elements"' > \
  app/javascript/controllers/live_elements_controller.js
```

Add `data-controller="live-elements"` to your containing HTML element.
For example, if you are using a Rails form:

```erb
<%= form_with data: {controller: "live-elements"} do |form| %>
```

Within that containing element, you can associate DOM events with
Rails actions by adding `data-action` attributes.  For example,
to cause a button clike to invoke a demo#click controller action
on the server, do something like the following:

```erb
<%= form.button "blue", name: 'color',
  data: {action: {click: demo_click_path}}
%>
```

In your server, produce a [turbostream](https://turbo.hotwired.dev/handbook/streams) response.  An example of a response that replaces a header:

```ruby
respond_to do |format|
  format.turbo_stream {
    render turbo_stream: turbo_stream.replace('header',
      render_to_string(partial: 'header', locals: {color: color}))
  }
end
```
npm package: @rubysdk/secret-client
Description: RubySDK Secret Network client utilities for data, token and escrow operations
Author: Rubysoft
Latest version: 1.0.0

# @rubysdk/secret-client

RubySDK Secret Network client utilities for data, token and escrow operations.

## Installation

```bash
npm install @rubysdk/secret-client
```

## Usage

```typescript
import {
  SecretTokenClient,
  SecretEscrowClient,
  SecretMetadataClient,
} from '@rubysdk/secret-client'
```

## API Reference

### Clients

- `SecretTokenClient` - Token contract interactions
- `SecretEscrowClient` - Escrow contract interactions
- `SecretMetadataClient` - Metadata contract interactions

## License

MIT

```

```
npm package: @rubysown/node-service
Description: Easily access service and process stats for services
Latest version: 0.1.1

# node-service
Node.JS module to help making grab process & service information

## Requirements:
* Linux
* systemctl

## Install
```sh
# NPM
npm install --save node-service

# Yarn
yarn add node-service
```

## Use
```js
const nodeService = require('node-service')

// Promise
nodeService.getService('redis')
    .then(res => console.log(res))
    .catch(err => console.error(err))

// Try/catch
try {
    let service = await nodeService.getService('redis')
    console.log(service)
} catch (error) {
    console.error(error)
}

// Different process / service name
nodeService.getService('redis-server', 'redis')
    .then(res => console.log(res))
    .catch(err => console.error(err))

// Different ps arguments (node-service uses `aux` by default)
nodeService.getService('redis-server', 'redis', 'au')
    .then(res => console.log(res))
    .catch(err => console.error(err))

// Set debug value to get more errors
nodeService.DEBUG = true;
```
npm package: @rubytech/taskmaster
Description: AI-powered business assistant for small businesses
Latest version: 1.44.8

# Taskmaster

AI-powered business assistant for small businesses. Handles customer messages, scheduling, quotes, and daily briefings — all via WhatsApp.

**Website:** [taskmaster.bot](https://taskmaster.bot)

## Install

Set your npm auth token (required for the scoped package):

```bash
npm config set //registry.npmjs.org/:_authToken YOUR_NPM_TOKEN
```

Then install:

```bash
npm install -g @rubytech/taskmaster
taskmaster provision
```

Or one command on a fresh device:

```bash
curl -fsSL https://taskmaster.bot/install.sh | sudo bash
```

After install, open the setup wizard in your browser:

```
http://taskmaster.local:18789/setup
```

## Documentation

The **User Guide** ships with the package at `taskmaster-docs/USER-GUIDE.md` and is available online at [taskmaster.bot](https://taskmaster.bot).

## License

MIT — **Rubytech LLC** · [taskmaster.bot](https://taskmaster.bot)
npm package: @ruc-cheese/node-srp-rs-darwin-x64
Description: This is the **x86_64-apple-darwin** binary for `@ruc-cheese/node-srp-rs`
Latest version: 0.2.2

# `@ruc-cheese/node-srp-rs-darwin-x64`

This is the **x86_64-apple-darwin** binary for `@ruc-cheese/node-srp-rs`
npm package: @ruc-cheese/node-srp-rs-linux-x64-gnu
Description: This is the **x86_64-unknown-linux-gnu** binary for `@ruc-cheese/node-srp-rs`
Latest version: 0.2.2

# `@ruc-cheese/node-srp-rs-linux-x64-gnu`

This is the **x86_64-unknown-linux-gnu** binary for `@ruc-cheese/node-srp-rs`
npm package: @ruc-cheese/node-srp-rs-linux-x64-musl
Description: This is the **x86_64-unknown-linux-musl** binary for `@ruc-cheese/node-srp-rs`
Latest version: 0.2.2

# `@ruc-cheese/node-srp-rs-linux-x64-musl`

This is the **x86_64-unknown-linux-musl** binary for `@ruc-cheese/node-srp-rs`
npm package: @ruc-cheese/node-srp-rs-win32-x64-msvc
Description: This is the **x86_64-pc-windows-msvc** binary for `@ruc-cheese/node-srp-rs`
Latest version: 0.2.2

# `@ruc-cheese/node-srp-rs-win32-x64-msvc`

This is the **x86_64-pc-windows-msvc** binary for `@ruc-cheese/node-srp-rs`
npm package: @ruchernchong/number-format
Description: Package to convert huge numbers to their respective named values in thousands separator
Author: Ru Chern Chong
Latest version: 2.3.5

# number-format

[![npm version](https://img.shields.io/npm/v/@ruchernchong/number-format.svg)](https://www.npmjs.com/package/@ruchernchong/number-format)
[![npm downloads](https://img.shields.io/npm/dm/@ruchernchong/number-format.svg)](https://www.npmjs.com/package/@ruchernchong/number-format)
[![License](https://img.shields.io/npm/l/@ruchernchong/number-format.svg)](https://github.com/username/@ruchernchong/number-format/blob/main/LICENSE)

Convert large numbers to their respective readable named values using thousands as the separator

## Installation

```bash
pnpm add @ruchernchong/number-format
```

## Usage

```javascript
const numberFormat = require("@ruchernchong/number-format");
// or
import { numberFormat } from "@ruchernchong/number-format";

// Basic example
numberFormat(1000); // 1k
```

## TypeScript Support

This package includes TypeScript type definitions. Example usage with TypeScript:

```typescript
import { numberFormat } from "@ruchernchong/number-format";

const value: string = numberFormat(1000000); // 1M
```

## Testing

```bash
pnpm test
```

## License

This project is licensed under the [MIT License](LICENSE) - see the LICENSE file for details.

## Changelog

See [CHANGELOG.md](CHANGELOG.md) for a list of changes.

## Support

- Create an [issue](https://github.com/ruchernchong/number-format/issues)
- Email: [hello@ruchern.dev](mailto:hello@ruchern.dev)
- Twitter: [@ruchernchong](https://twitter.com/ruchernchong)