open-index/open-npm huggingface dataset:
npm package: @handles-net/handles-server
Description: Verify Bluesky handles.
Latest version: 0.3.1

# Handles Server

A very simple server that reponds to Bluesky handle verification requests for
the domain(s) that the server is exposed to, as an alternative to managing
claims via DNS. Configure with a provider, and let it run.

> [!IMPORTANT]  
> `handles-server` is already serving thousands of Handles in production
> at [Handles Club](https://handles.club) and [handles.net](https://handles.net)
> but as it is not yet v1 it may change.

[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fshrink-inc%2Fhandles-server&env=HANDLES_PROVIDER)

```shell
curl -LO https://github.com/prompt/handles-server/releases/download/v0/handles-server-linux
chmod +x handles-server-linux
HANDLES_PROVIDER="map:alice.at.example.com->did:plc:example1" \
./handles-server-linux
```

## Providers

The provider is configured using the `HANDLES_PROVIDER` Environment Variable. A
`key` identifies the provider and the `value` configures how the provider will
behave.

```shell
HANDLES_PROVIDER="provider:configuration"
```

### `HandleMap`

`HandleMap` is an example provider, it serves the comma-separated handle->did
values it has been configured with.

```shell
$ HANDLES_PROVIDER="map:alice.at.example.com->did:plc:example1,bob.at.example.com->did:plc:example2" \
./handles-server

[00:00:00.000] INFO (0000): Resolved configuration to provider 'map'
[00:00:00.000] DEBUG (0000): Successfully parsed a list of handles.
    handles: [
      [
        "alice.at.example.com",
        "did:plc:example1"
      ],
      [
        "bob.at.example.com",
        "did:plc:example2"
      ]
    ]
[00:00:00.000] INFO (0000): Instantiated 'map'
[00:00:00.000] INFO (0000): Listening on 3000
```

Make a request passing in the target handle as the `Host`.

```shell
$ curl http://localhost:3000/.well-known/atproto-did --header "Host: alice.at.example.com"
did:plc:example1
```

### Postgres

`PostgresHandles` queries a `handles` table (or view) for a `did` identified by
a `handle`. The `HANDLES_PROVIDER` configuration can either point to another
Environment Variable which contains the connection string or it can contain a
connection string itself.

```shell
$ HANDLES_PROVIDER="pg:DATABASE_URL" ./handles-server
```

### Google Sheets

...
npm package: @handleui/shimmer
Description: Shimmering text for terminals
Latest version: 0.1.0

# Shimmer

Shimmering text for terminals. A wave of light sweeps across your text.

## Install

```bash
npm install @handleui/shimmer
```

## Usage

```ts
import { run } from "@handleui/shimmer";
run("Loading", "#00D787");
```

### With background task

```ts
import { newSpinner } from "@handleui/shimmer";
await newSpinner("Installing", "#00D787")
  .action(async () => { await exec("npm install"); })
  .run();
```

### With abort signal

```ts
const controller = new AbortController();
setTimeout(() => controller.abort(), 5000);
await runContext(controller.signal, "Loading", "#00D787");
```

## API

| Function | Description |
|----------|-------------|
| `run(text, color, opts?)` | Display shimmer until Ctrl+C |
| `runContext(signal, text, color, opts?)` | Display shimmer with AbortSignal |
| `create(text, color, opts?)` | Create shimmer Model |
| `newSpinner(text, color, opts?)` | Create spinner with action |

### Options

| Option | Default | Description |
|--------|---------|-------------|
| `interval` | 50 | Animation speed in ms |
| `waveWidth` | 8 | Wave size in characters |
| `wavePause` | 8 | Pause between loops |
| `peakLight` | 90 | Brightness 0-100 |
| `direction` | Right | `Direction.Left` or `Direction.Right` |

## Demo

```bash
npm run demo
```
npm package: @handmade-systems/eslint-plugin
Description: Shared eslint config for Handmade Systems
Author: Handmade Systems
Latest version: 1.0.9

# eslint-plugin-handmade

Shared eslint config for [Handmade Systems](https://handmade-systems.de/)

## Installation

You'll first need to install [ESLint](https://eslint.org/):

```sh
npm i eslint --save-dev
```

Next, install `@handmade-systems/eslint-plugin`:

```sh
npm install @handmade-systems/eslint-plugin --save-dev
```

## Usage

Add `@handmade-systems` to the plugins section of your `.eslintrc` configuration file. You can omit the `eslint-plugin-` prefix:

```json
{
    "plugins": [
        "@handmade-systems"
    ]
}
```

For a nextjs app use following config:

```json
{
    "extends": [
      "plugin:@handmade-systems/base",
      "plugin:@handmade-systems/react",
      "plugin:@handmade-systems/next"
    ]
}
```

For a react app use following config:

```json
{
    "extends": [
      "plugin:@handmade-systems/base",
      "plugin:@handmade-systems/react"
    ]
}
```

For a node app use following config:

```json
{
    "extends": [
      "plugin:@handmade-systems/base"
    ]
}
```

If you use tailwind use additional config:

```json
{
    "extends": [
      "plugin:@handmade-systems/tailwind"
    ]
}
```

If you use storybook use additional config:

```json
{
    "extends": [
      "plugin:@handmade-systems/storybook"
    ]
}
```

If you playwright use additional config:

```json
{
    "extends": [
      "plugin:@handmade-systems/playwright"
    ]
}
```
npm package: @handmade-systems/prettier-config
Description: Shared prettier config for [Handmade Systems](https://handmade-systems.de/)
Author: Handmade Systems
Latest version: 1.0.0

# @handmade-systems/prettier-config

Shared prettier config for [Handmade Systems](https://handmade-systems.de/)

## Installation

1. Install eslint-config-prettier:

   ```
   npm install --save-dev @handmade-systems/prettier-config
   ```

2. Add eslint-config-prettier to your prettier.config.json
- For a project using base config:

```js
// eslint-disable-next-line @typescript-eslint/no-var-requires
const { base } =  require('@handmade-systems/prettier-config')

// eslint-disable-next-line no-undef
module.exports = {
  ...base,
  overrides: [
    {
      files: ["**/**"],
      options: {
        plugins: [
          "@handmade-systems/prettier-config"
        ]
      },
    },
  ],
}
```
- For a project using Tailwind CSS:
```js
// eslint-disable-next-line @typescript-eslint/no-var-requires
const { tailwind } =  require('@handmade-systems/prettier-config')

// eslint-disable-next-line no-undef
module.exports = {
  ...tailwind,
  overrides: [
    {
      files: ["**/**"],
      options: {
        plugins: [
          "@handmade-systems/prettier-config"
        ]
      },
      tailwindConfig: './tailwind.config.js',
    },
  ],
}
```
npm package: @handnet/vite-plugin-typed-css-modules
Description: A Vite plugin for strong typing CSS modules, using ⚡ lightningcss for efficiency
Author: Steve Beaugé
Latest version: 0.0.8

# Vite Plugin Typed CSS Modules

This Vite plugin generates strong TypeScript definitions for CSS modules. It ensures that you have type safety when working with CSS modules in your TypeScript projects.

## Installation

Install the plugin using npm or yarn:

```sh
npm install @handnet/vite-plugin-typed-css-modules --save-dev
# or
pnpm add @handnet/vite-plugin-typed-css-modules --save-dev
# or
yarn add @handnet/vite-plugin-typed-css-modules --dev
```

## Usage

Add the plugin to your Vite configuration:

```typescript
// vite.config.ts
import { defineConfig } from "vite";
import typedCssModules from "@handnet/vite-plugin-typed-css-modules";

export default defineConfig({
    plugins: [typedCssModules()],
});
```

## How It Works

The plugin processes your CSS and SCSS files, extracts the class names, and generates corresponding TypeScript definition files (`.d.ts`). This allows you to import your CSS modules with type safety.

It uses [lightningcss](https://lightningcss.dev) under the hood to maximize performance.

## Example

Given a CSS module file `styles.module.css`:

```css
.button {
    background-color: blue;
}
```

The plugin will generate a TypeScript definition file `styles.module.css.d.ts`:

```typescript
declare const styles: {
    readonly button: string;
};
export default styles;
```

You can then import and use the styles in your TypeScript files with type safety:

```typescript
import styles from "./styles.module.css";

const buttonClass = styles.button; // type-safe
```

## Configuration

Currently, the plugin does not require any configuration. It automatically processes files with `.css` and `.scss` extensions.

## Contributing

Contributions are welcome! If you have any ideas, suggestions, or bug reports, please open an issue or submit a pull request. We appreciate your help in improving this project.

## License

Apache License 2.0