open-index/open-npm huggingface dataset:
npm package: @halliday/react-i18n
Description: This library provides some simple functions to add multi-language support (internationalization) to your React app.
Latest version: 2.0.3

# React internationalization (i18n) helper

This library provides some simple functions to add multi-language support (internationalization) to your React app.

Easy eaxmple:

```tsx
import {loadLanguage, config as i18nConfig} from '@halliday/react-i18n';

// define your supported languages
// each language must have a file at "/i18n/{lang}.json"
i18nConfig.supportedLanguages = ['en', 'de'];

const container = document.getElementById('root') as HTMLElement;
const root = ReactDOM.createRoot(container);

// load language file
loadLanguage().then(() => {

    // render app when language is loaded
    root.render(<App />);
});

```

A language file must look like this:

- _/i18n/en.json_

```json
{
    "hello": "Hello!",
    "welcome": "Welcome to my app.
}
```

 - _/i18n/de.json_ (German)

```json
{
    "hello": "Hallo!",
    "welcome": "Willkommen in meiner App.
}
```

Now you can use the translations in your code:

```tsx
import { L } from "@halliday/react-i18n";

function WelcomeBanner() {
    return <div>
        <h1>{L('hello')}</h1>
        <p>{L('welcome')}</p>
    </div>;
}
```

## Functions

### `L(key: string)`

Loads the value associated with `key` from the current language file.


### `loadLanguage(): Promise<void>`

Load the current language file from `"/i18n/{lang}.json"`. This function must be called exactly once and before any `L` call is made.
npm package: @hallipr/mplat
Description: A simple npm package
Latest version: 1.0.10

# My NPM Package

## Installation

To install this package, run:

```
npm install my-npm-package
```

## Usage

After installation, you can import the package in your project:

```javascript
const myPackage = require('my-npm-package');
```

## API

### Functions

- `functionName(args)`: Description of what the function does.

## Contributing

If you would like to contribute to this project, please fork the repository and submit a pull request.

## License

This project is licensed under the MIT License.
npm package: @hallo94/cra-template-tailwindcss
Description: A Tailwind CSS template for Create React App
Latest version: 1.0.1

# cra-template-tailwindcss

A [Tailwind CSS](https://tailwindcss.com) template for [Create React App](https://github.com/facebook/create-react-app).

## Usage

```bash
npx create-react-app myapp --template @hallo94/tailwindcss
```
npm package: @halloweenbot/halloween
Description: Get the time left until Halloween
Author: halloweenbot
Latest version: 1.0.0

# Halloween.js

Get the number of months, weeks, days, hours, minutes, seconds, or the total time left until Halloween (with timezone support).

## Installation

Install with npm/pnpm/yarn:

`npm i @halloweenbot/halloween.js`

## Usage

### Example

```js
const Halloween = require('@halloweenbot/Halloween.js');
console.log(Halloween.getDays());
```
npm package: @hallowf/cloc-all-repos
Description: Count lines of code across all repos from Github, Gitlab or both
Author: hallowf
Latest version: 1.4.0

# cloc-all-repos

![npm](https://img.shields.io/npm/v/@hallowf/cloc-all-repos)


This project assumes you have [cloc](https://github.com/AlDanial/cloc) and [git](https://git-scm.com/) installed on your system.

cloc-all-repos is a CLI tool that allows you to count all lines of code across all your repositories on Github, Gitlab or both. It uses cloc to generate individual reports and them sums them up into two files one for all languages and one for all projects

You can install it using npm by typing

`npm i -g @hallowf/cloc-all-repos`

Then you can run it by typing

`cloc-all-repos -p PLATFORM -u USERNAME`

## Arguments

* `-p` or `--platform`: STRING, can be Github, Gitlab or both (Case insensitive, required)
* `-u` or `--username`: STRING, your username (Case sensitive, required)
* `-rep` or `--remove-each-repo`: BOOLEAN, removes each repository after creating a report (default `true`)
* `-dbg` or `--debug`: BOOLEAN, logs full error stack to console (default `false`)
* `--version`: shows version
* `--help`: shows help
npm package: @hallpass/sdk
Description: TypeScript SDK for Hallpass — agent key material, JWT signing, message proofs, and API client.
Latest version: 0.2.1

# Hallpass TypeScript SDK

Agent key material, JWT signing, message proofs, and a typed API client for [Hallpass](https://hallpass.org).

## Install

```bash
npm install @hallpass/sdk
```

## Quick start

```typescript
import {
  createClient,
  createMessageProofBundle,
  loadAgentKeyMaterial,
  verifyMessageBundle,
} from '@hallpass/sdk';

const client = createClient({ baseUrl: 'https://hallpass.org/api/v1' });
const keyMaterial = await loadAgentKeyMaterial();

const bundle = createMessageProofBundle({
  principalUsername: 'alice',
  body: 'Invoice #1234 approved',
  authorLabel: 'Billing Agent',
  keyMaterial,
});

const { data } = await verifyMessageBundle({ client, body: bundle });
console.log(data.overall_decision); // "verified"
```

## API

### Key material

- **`generateAgentKeyMaterial()`** — Generates an ECDSA P-256 key pair, DID, verification method, and key fingerprint.
- **`loadAgentKeyMaterial()`** — Loads key material from `HALLPASS_AGENT_KEY` (JSON), `HALLPASS_AGENT_KEY_FILE` (path), or `agent-key.json`.
- **`didJwk(publicJwk)`** — Derives a `did:jwk` from a public JWK.
- **`verificationMethodForDid(did)`** — Returns the `#0` verification method for a DID.
- **`fingerprintPublicJwk(publicJwk)`** — SHA-256 hex fingerprint of a public JWK.

### JWT

- **`signCompactJwt(payload, privateJwk, header?)`** — Signs a compact JWT with ES256.
- **`verifyCompactJwt(jwt, publicJwk)`** — Verifies a compact JWT signature and returns `{ valid, payload, header }`.
- **`decodeCompactJwt(jwt)`** — Decodes a JWT without signature verification.

### Messages

- **`createMessageProofBundle({ principalUsername, body, authorLabel, keyMaterial })`** — Creates a signed message proof bundle.
- **`verifyMessageProofBundle(bundle)`** — Locally verifies a bundle's signature and key consistency.

### Challenges

- **`createAgentChallengeResponse({ challenge, keyMaterial })`** — Signs a challenge token to prove key possession.

### Delegation

- **`createDelegationJwt(payload, privateJwk)`** — Signs a delegation JWT for self-managed key mode.

### HTTP client

- **`createClient({ baseUrl })`** — Returns a typed API client generated from the OpenAPI spec.

## Environment variables

| Variable | Description |
|---|---|
| `HALLPASS_AGENT_KEY` | Agent key material as JSON |
| `HALLPASS_AGENT_KEY_FILE` | Path to agent key material file |

## License

MIT
npm package: @hallway/create-hallway-app
Description: Scaffold a new Hallway app from templates
Author: Hallway
Latest version: 0.1.0

# @hallway/create-hallway-app

A simple scaffolding tool to create a new Hallway app from templates.

## Usage

Using `npx`:

```
npx @hallway/create-hallway-app [template] [project-name]
```

Examples:

```
# Create a new app using the default template in a new folder "my-app"
npx @hallway/create-hallway-app default my-app

# Use the default template into the current directory (must be empty)
npx @hallway/create-hallway-app

# If there are multiple templates available, choose by name
npx @hallway/create-hallway-app minimal my-app
```

## Templates

Templates are stored under `templates/`. Passing no template defaults to `default`.

## Development

```
pnpm dev
```

## License

MIT
npm package: @halo-dev/editor
Description: <h1 align="center"><a href="https://github.com/halo-dev" target="_blank">halo-editor</a></h1>
Author: hinesboy
Latest version: 3.0.5
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

<h1 align="center"><a href="https://github.com/halo-dev" target="_blank">halo-editor</a></h1>

> halo-editor 基于 [mavonEditor](https://github.com/hinesboy/mavonEditor) 开发，感谢 [hinesboy](https://github.com/hinesboy)。

## Project setup

```bash
pnpm install
```

### Compiles and hot-reloads for development

```bash
pnpm dev
```

### Compiles and minifies for production

```bash
pnpm build:lib
```

### Lints and fixes files

```bash
pnpm lint
```
npm package: @halo-dev/theme-package-cli
Description: A CLI tool for packaging Halo theme template files
Author: @halo-dev
Latest version: 1.0.4

# @halo-dev/theme-package-cli

A command-line tool for packaging Halo theme template files, making them ready for distribution.

## Features

- Package Halo theme template files into a ZIP file
- Option to package all files or only essential files

## Installation

### Global Installation

```bash
npm install -g @halo-dev/theme-package-cli

# or

npx @halo-dev/theme-package-cli
```

### Local Installation

```bash
npm install @halo-dev/theme-package-cli
```

## Usage

Run the command in your Halo theme project root directory:

```bash
# Only package essential files (templates, README.md, *.yaml/*.yml, i18n, LICENSE)
theme-package

# Package all files except common unnecessary files and directories
theme-package --all
# or
theme-package -a
```

### Packaging Rules

- By default, only packages essential files and directories:
  - templates directory
  - README.md
  - All .yaml and .yml files
  - i18n directory
  - LICENSE file

- When using the `--all` parameter, packages all files in the project while excluding some common unnecessary files and directories:
  - dist directory
  - node_modules directories
  - .git directory
  - .github directory
  - .idea directory
  - .DS_Store files

## Requirements

- Node.js environment
- The theme project root directory must contain a properly formatted theme.yaml file

## License

MIT
npm package: @halo-terminal/hat
Description: CLI for Halo Terminal - Know exactly when to return to Claude Code
Author: Martin Sigloch
Latest version: 0.1.0

# @halo-terminal/hat

CLI for Halo Terminal - Know exactly when to return to Claude Code.

Halo Terminal is a USB-C device that lights up when Claude Code needs your input. No more checking the terminal—just glance at the light.

## Installation

```bash
npm install -g @halo-terminal/hat
```

## Quick Start

1. **Plug in** your Halo Terminal via USB-C
2. **Setup** the Claude Code hooks:
   ```bash
   hat setup
   ```
3. **Run** the service:
   ```bash
   hat run
   ```

## LED States

| Color  | State          | Meaning                          |
|--------|----------------|----------------------------------|
| Blue   | Idle           | Waiting for a new prompt         |
| Yellow | Thinking       | Processing your request          |
| Red    | Input Required | Needs your input to continue     |

## Commands

- `hat setup` - Install Claude Code hooks
- `hat run` - Start the Halo service
- `hat status` - Show connection status
- `hat test` - Test LED states

## Supported Platforms

- macOS ARM64 (Apple Silicon)
- macOS x64 (Intel)
- Linux x64

## Links

- [Documentation](https://github.com/f0i/halo-terminal#readme)
- [Report Issues](https://github.com/f0i/halo-terminal/issues)

## License

MIT
npm package: @halo_gmx/amap-jsapi-loader
Description: 高德官网提供的地图JSAPI加载器，可以避免多种异步加载API的错误用法
Author: mengmeng.du@alibaba-inc.com
Latest version: 1.0.4

# amap-jsapi-loader
amap-jsapi-loader 是高德开放平台官网提供的地图 JSAPI 的加载器，可帮助开发者快速定位、有效避免加载引用地图 JSAPI 各种错误用法。


该加载器具有以下特性：
* 支持以 普通JS 和 npm包 两种方式使用；
* 有效避免错误异步加载导致的 JSAPI 资源加载不完整问题；
* 对于加载混用多个版本 JSAPI 的错误用法给予报错处理；
* 对于不合法加载引用 JSAPI 给予报错处理；
* 支持指定 JSAPI 版本；
* 支持插件加载；
* 允许多次执行加载操作，网络资源不会重复请求，便于大型工程模块管理；


# USAGE

## AMapLoader.load方法参数说明
```js
AMapLoader.load({
    "key": "",              // 申请好的Web端开发者Key，首次调用 load 时必填
    "version": "2.0",   // 指定要加载的 JSAPI 的版本，缺省时默认为 1.4.15
    "plugins": []           // 需要使用的的插件列表，如比例尺'AMap.Scale'等
    "AMapUI": {             // 是否加载 AMapUI，缺省不加载
        "version": '1.1',   // AMapUI 缺省 1.1
        "plugins":[],       // 需要加载的 AMapUI ui插件
    },
    "Loca":{                // 是否加载 Loca， 缺省不加载
        "version": '1.3.2'  // Loca 版本，缺省 1.3.2
    },
}).then(()=>{
    window.AMap.xx;
    window.AMapUI.xx;
    window.Loca.xx
});

```

## AMapUI

AMapUI 用法和官网有一点点区别。通过 AMapUI.xx 来获取组件
```js
AMapLoader.load({
    key: '',//首次load必填
    version: '2.0',
    AMapUI: {
        version: '1.1',
        plugins: ['overlay/SimpleMarker'],
    }
}).then((AMap) => {
    map = new AMap.Map('container');

    // !!! 通过 AMap.SimpleMarker 获取组件
    new AMapUI.SimpleMarker({
        //前景文字
        iconLabel: 'A',
        //图标主题
        iconTheme: 'default',
        //背景图标样式
        iconStyle: 'red',
        map: map,
        position: map.getCenter()
    });
}).catch((e) => {
    console.error(e);
});
```


# 使用
#### 以普通 JS 方式使用 Loader
尚未发布在线Loader，可将 dist/index.js 复制到项目下
```
<script src="../dist/index.js"></script>
<script>
    AMapLoader.load({
        key:'',//首次load必填
        version:'2.0',
        plugins:['AMap.Scale']
    }).then((AMap)=>{
        map = new AMap.Map('container');
        map.addControl(new AMap.Scale())
    }).catch((e)=>{
        console.error(e);
    });   
</script>
```
#### 以 NPM 包方式使用 Loader
安装
```
tnpm i @alife/amap-jsapi-loader --save-dev
```
使用
```
import AMapLoader from '@alife/amap-jsapi-loader';

AMapLoader.load().then((AMap)=>{
    map = new AMap.Map('container');
}).catch(e=>{
    console.log(e);
})

```

# 相关链接：
地&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;图 JSAPI：  &nbsp;&nbsp;[示例中心](https://lbs.amap.com/demo-center/js-api)&nbsp;&nbsp;&nbsp;&nbsp;[教程](https://lbs.amap.com/api/javascript-api/summary)&nbsp;&nbsp;&nbsp;&nbsp;[参考手册](https://lbs.amap.com/api/javascript-api/reference/map)



数据可视化 JSAPI：  &nbsp;&nbsp;[示例中心](https://lbs.amap.com/demo-center/loca-api)&nbsp;&nbsp;&nbsp;&nbsp;[教程](https://lbs.amap.com/api/loca-api/prod_intro)&nbsp;&nbsp;&nbsp;&nbsp;[参考手册](https://lbs.amap.com/api/loca-api/guide/baselayer)
npm package: @halobear/dom
Description: balajs from https://github.com/Tencent/weui.js/blob/master/src/util/util.js
Author: luzhongk@126.com
Latest version: 1.0.1

# @haloebar/dom

> balajs from https://github.com/Tencent/weui.js/blob/master/src/util/util.js

## enhance methods `$(selector).method`

- `append`
- `remove`
- `find`
- `addClass`
- `removeClass`
- `removeClass`
- `eq`
- `show`
- `hide`
- `css`
- `on`
- `off`
- `index`
- `offAll`
- `val`
- `attr`

## `$.prop`

- `noop`
- `getStyle`
npm package: @halobear/lazyload
Description: lozyload.js write by ts
Author: kuan1
Latest version: 1.0.0

## @halobear/lazyload

[lozyload.js](https://github.com/tuupola/lazyload/blob/2.x/lazyload.js) rewrite by ts

## 安装

```bash
yarn add @halobear/lazyload
# or
npm install @halobear/lazyload
```

## 使用

```html
<div data-src="images/1.jpg" class="lazyload"></div>
<img
  src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQYV2N49+7dfwAJYgPK+tLRowAAAABJRU5ErkJggg=="
  data-src="images/2.jpg"
  class="lazyload"
/>
```

```ts
import Lazyload from '@halobear/lazyload'

typeof Images: NodeListOf<HTMLImageElement | HTMLElement> | undefined

type LazyloadSetting = {
  src: string,
  srcset: string,
  selector: string,
  root: null,
  rootMargin: string,
  threshold: number,
}

// 初始化加载
const lazyload = new Lazyload(images: Images, setting: LazyloadSetting)

// 销毁
lazyload.destroy()

// 强制加载
lazyload.loadAndDestory()
```
npm package: @halobear/monitor
Description: 一个入门级前端监控
Author: kuan1
Latest version: 2.0.2

## haloMonitor

功能介绍

- 监控 js 运行错误
- 监控 JS、CSS、Image、Video、Audio 加载错误
- 监控 ajax/fetch 错误
- 监控 promise 未处理错误（默认不开启）
- 监控 performance 基本的性能统计

### 配套项目

- [js-monitor-server](https://github.com/halobear/js-monitor-server): node 服务(每周六凌晨 5 点自动清空 10 天前数据)
- [js-monitor-admin](https://github.com/halobear/js-monitor-admin): 监控的管理后台

### 使用一、通过 script (推荐)

```html
<script src="https://img1.halobear.com/static/haloMonitor.2.0.1.js"></script>
<script>
  haloMonitor.config({ pid: '测试项目', reportUrl: 'http://localhost:9601/api/monitor/report' })
</script>
```

### 使用二、webpack 模板 html 中

```html
<% if (process.env.NODE_ENV === 'production') { %>
<script src="https://img1.halobear.com/static/haloMonitor.2.0.1.js"></script>
<script>
  haloMonitor.config({
    pid: '测试项目',
    reportUrl: '/api/monitor/report',
  })
</script>
<% } %>
```

## 使用三、通过 npm

```bash
npm install -S @halobear/monitor
```

```js
import haloMonitor from '@halobear/monitor'

haloMonitor.init({
  pid: 'test',
  reportUrl: 'http://localhost:9601/api/report',
})

export default initHaloMonitor
```

## 初始化参数

```js
export interface InitOptions {
  pid: string // 项目名称
  reportUrl: string // 上报地址
  uid?: string // 用户名称
  needReport?: Function // 是否上报验证函数
  delay?: number // 延迟时间 默认 1000
  disabledHttp?: Boolean //  是否xrh/fetch错误上报 默认：不禁用
  disabledRejection?: Boolean // 是否rejection上报 默认：禁用
  disabledPerformance?: Boolean // 是否上报性能  默认：不禁用
}
```
npm package: @halobear/viewer
Description: 类似微信图片预览，支持缩放、手指下滑关闭
Author: kuan1
Latest version: 1.0.3

## @halobear/viewer

类似微信图片预览插件，支持缩放、手势、方向键翻页

[➡️ Live DEMO](https://halobear.github.io/js-utils/viewer/index.html)

## 使用

```js
import preview from "@halobear/viewer"

// var data = [
//   'https://www.luzhongkuan.cn/static/temp/0b97b79a76eb5d3e29582778ab2ea0bc.jpeg',
//   'https://www.luzhongkuan.cn/static/temp/41a3582cc2eb461e68ebfbc768ee81e1.jpeg',
//   'https://www.luzhongkuan.cn/static/temp/51a7c6fdb1a6de91e021d5faf951fcdc.jpeg',
//   'https://www.luzhongkuan.cn/static/temp/27b1d178d4a1d06d93866a3866843d03.jpeg',
// ]

interface ViewerOptions {
  data: string[]
  container?: HTMLDivElement
  gap?: number
  screenWidth?: number
  screenHeight?: number
  index?: number
  onChange?: (index: number) => void
}

// 预览
const destroy = preview(options: ViewerOptions, e?: MouseEvent | TouchEvent)

// 关闭
destory()
```

## [@halobear/viewer](https://cdn.jsdelivr.net/npm/@halobear/viewer)