open-index/open-npm huggingface dataset:
npm package: @scant/emitter
Description: Dead simple event emitter.
Author: Joe Fleming
Latest version: 0.2.2
Deprecated: This package is no longer being maintained. You should not use it.

# @scant/emitter

Dead simple event emitter.

[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/w33ble/scant-js/master/LICENSE)
[![npm](https://img.shields.io/npm/v/@scant/emitter.svg)](https://www.npmjs.com/package/@scant/emitter)

## Install

```
yarn add @scant/emitter
```

## Usage

```
import createEmitter from '@scant/emitter';

const emitter = createEmitter();

const handleHello = name => console.log(`hello ${name}!`);

// create a listener
emitter.on('hello', handleHello);

// get count of all listeners
emitter.listeners(); // { hello: 1 }

// get count of listeners by name
emitter.listeners('hello'); // { hello: 1 }
emitter.listeners('farewell'); // { farewell: 0 }

// emit the event, with a payload
emitter.emit('hello', 'world');

// remove the listener
emitter.off('hello', handleHello);

// or, remove ALL listeners on the event
// emitter.off('hello');
```
npm package: @scant/history
Description: Dead simple browser history notifier.
Author: Joe Fleming
Latest version: 0.1.2
Deprecated: This package is no longer being maintained. You should not use it.

# @scant/history

Dead simple browser history notifier.

[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/w33ble/scant-js/master/LICENSE)
[![npm](https://img.shields.io/npm/v/@scant/history.svg)](https://www.npmjs.com/package/@scant/history)

## Install

```
yarn add @scant/history
```

## Usage

```
import createHistory from '@scant/history';

// configure the handler, passing in the window object and the onChange handler
const historyHandler = createHistory(window, (payload) => {
  const [ location, state, title ] = payload;
  console.log('Browser history changed:', location.href);
})

// start listening for changes to the browser history
historyHandler.start();

// changes to the browser history, using the history api or change the hash, will trigger the handler

// stop listening for history changes
historyHandler.stop();
```

The payload is an array, which contains location information, any state object, and a title. 

The object is a slice of the important parts of `window.location`, as well as a `type` property so you can tell if the event came from the use of `history.pushState` (or `history.replaceState`) or from browser history navigation. This includes the `href`, `host`, `hostname`, `port`, `pathname`, `hash`, and `search`, all taken from the [location object](https://developer.mozilla.org/en-US/docs/Web/API/Location) when the history changed.

Any state object or title comes form the use of [pushState or replaceState](https://developer.mozilla.org/en-US/docs/Web/API/History_API#Adding_and_modifying_history_entries).
npm package: @scanwarp/instrument
Description: Zero-config OpenTelemetry auto-instrumentation for Node.js apps monitored by ScanWarp
Author: ScanWarp
Latest version: 0.3.0

# @scanwarp/instrument

Zero-config OpenTelemetry auto-instrumentation for Node.js apps monitored by ScanWarp.

When loaded, it automatically traces HTTP requests, database queries (Postgres, MySQL, Redis), and outbound fetch/HTTP calls — with zero code changes.

## Quickstart

```bash
npm install @scanwarp/instrument
```

### Option 1: `--require` flag (any Node.js app)

```bash
SCANWARP_PROJECT_ID=your-project-id \
  node --require @scanwarp/instrument ./dist/server.js
```

### Option 2: Next.js `instrumentation.ts` hook

Create `instrumentation.ts` in your project root:

```ts
export async function register() {
  if (process.env.NEXT_RUNTIME === "nodejs") {
    await import("@scanwarp/instrument");
  }
}
```

### Option 3: Import at the top of your entrypoint

```ts
import "@scanwarp/instrument";
// ... rest of your app
```

> The import **must** be the first import in your entrypoint so OpenTelemetry can patch modules before they are loaded.

## Environment Variables

| Variable | Required | Default | Description |
|---|---|---|---|
| `SCANWARP_PROJECT_ID` | Yes | — | Your ScanWarp project ID |
| `SCANWARP_SERVER` | No | `http://localhost:3000` | ScanWarp server URL |
| `SCANWARP_SERVICE_NAME` | No | Auto-detected from `package.json` `name` | Service name for traces |
| `SCANWARP_DEBUG` | No | `false` | Set to `true` to enable OTel diagnostic logging |

## What gets instrumented

Automatically enabled:

- **HTTP** — incoming and outgoing `http`/`https` requests
- **Express** — route-level spans
- **Fastify** — route-level spans
- **PostgreSQL** (`pg`) — query spans with statement text
- **MySQL** — query spans
- **Redis** (`ioredis` / `redis@4`) — command spans
- **Fetch / Undici** — outbound `fetch()` and `undici` requests

Explicitly disabled (noisy, low value):

- `fs` — filesystem operations
- `dns` — DNS lookups
- `net` — raw TCP socket operations

## How it works

`@scanwarp/instrument` initializes the OpenTelemetry Node SDK at import time. It:

1. Creates an OTLP HTTP trace exporter pointed at your ScanWarp server (`/v1/traces`)
2. Creates an OTLP HTTP metric exporter pointed at your ScanWarp server (`/v1/metrics`)
3. Registers auto-instrumentations for supported libraries
4. Attaches `scanwarp.project.id` as a resource attribute on all telemetry
5. Flushes pending data on `SIGTERM`/`SIGINT` for graceful shutdown

Metrics are exported every 30 seconds. Traces are exported in batches by the SDK's default `BatchSpanProcessor`.
npm package: @scapers/rs-api
Description: [![Travis](https://img.shields.io/travis/scapers/rs-api.svg)](https://travis-ci.org/scapers/rs-api) [![Coveralls](https://img.shields.io/coveralls/scapers/rs-api.svg)](https://coveralls.io/github/scapers/rs-api) [![Dev Dependencies](https://david-dm.org/s
Author: axke
Latest version: 1.2.0

# RS-API

[![Travis](https://img.shields.io/travis/scapers/rs-api.svg)](https://travis-ci.org/scapers/rs-api)
[![Coveralls](https://img.shields.io/coveralls/scapers/rs-api.svg)](https://coveralls.io/github/scapers/rs-api)
[![Dev Dependencies](https://david-dm.org/scapers/rs-api/dev-status.svg)](https://david-dm.org/scapers/rs-api?type=dev)

### Introduction
`@scapers/rs-api` is an open source wrapper, written with TypeScript using the [TypeScript library starter](https://github.com/alexjoverm/typescript-library-starter), for the popular MMORPG RuneScape.

NOTE: This package is a TypeScript rewrite of [rs-api](https://github.com/axke/rs-api)

### Installation
`npm install @scapers/rs-api`

### Usage
Documentation can be found at [here](https://scapers.github.io/rs-api)

### Contribution
All `.ts` files are found in the `src` folder. The project is hooked in to scripts via the `package.json` scripts, such as `build`, `test`, `commit`, ect. See NPM scripts section below for more details.

This project is set up using `git-cz`. As such, upon committing, use `npm run commit` and fill the template out.

### NPM scripts

 - `npm t`: Run test suite
 - `npm start`: Run `npm run build` in watch mode
 - `npm run test:watch`: Run test suite in [interactive watch mode](http://facebook.github.io/jest/docs/cli.html#watch)
 - `npm run test:prod`: Run linting and generate coverage
 - `npm run build`: Generate bundles and typings, create docs
 - `npm run lint`: Lints code
 - `npm run commit`: Commit using conventional commit style ([husky](https://github.com/typicode/husky) will tell you to use it if you haven't :wink:)
npm package: @scapes-studio/scape-renderer
Description: A simple script to render Scapes based on [Scape Element](https://opensea.io/collection/scape-elements) and [Scape Archive](https://medium.com/scapes-eth/welcome-to-the-scapes-archive-8d41b9237359) assets.
Latest version: 1.1.0

# Scape Renderer

A simple script to render Scapes based on [Scape Element](https://opensea.io/collection/scape-elements) and [Scape Archive](https://medium.com/scapes-eth/welcome-to-the-scapes-archive-8d41b9237359) assets.

## Setup
1. Clone this repo
2. Make sure you have `node` and `pnpm` installed
3. Run `pnpm install` to install libraries

## Rendering images
- `pnpm run generate --id=123` "Render Scape #123 at its default dimensions"
- `pnpm run generate --id=123 --height=32` "Render Scape #123 at 32px height"
- `pnpm run generate` "Render all Scapes at their default dimensions"
- `pnpm run generate --height=32` "Render all Scapes with a height of 32px"

## Merging Scapes
- `pnpm run generate --merge=123+456` "Merge Scapes #123 and #456"
- `pnpm run generate --merge-id=abc123` "Render a merge by its ID"

## Converting to hex
- `pnpm run png-to-hex` "Convert rendered PNGs to hex format"

## Options
- `--id={123}`: Render a specific Scape by ID
- `--height={123}`: Set a custom height for the render (default: 24)
- `--width={123}`: Crop the output to a specific width
- `--offset={123}`: Set the horizontal offset when cropping
- `--skip-landmarks`: Don't render things like Buildings, Cars, etc.
- `--sun-offset={123}`: Adjust the sun position offset
- `--upscale`: Upscale the output to 1440px width
- `--upscale={123}`: Upscale the output to {123}px width
- `--merge={id1+id2}`: Merge multiple Scapes together
- `--merge-id={id}`: Render a pre-defined merge by its ID

## Send/Receive by Snowfro

To generate a valid output for [Send/Receive by Snowfro](https://www.sendreceive.org/):

1. Generate a 32x32 or 64x64 Scape PNG
2. Convert it to a hex string via the `png-to-hex` command

```bash
pnpm exec ts-node src/index.ts --id=9 --height=64 --width=64 --sun-offset=5
pnpm exec ts-node src/png-to-hex.ts --input dist/9.png
```