open-index/open-npm huggingface dataset:
npm package: @gitbook/pinyin-pro
Description: GitBook's fork of pinyin-pro, a fantastic open-source package for turning Chinese characters to pinyin.
Author: zh-lx
Latest version: 3.26.0-gitbook4

### pinyin-pro

[zh-lx](https://github.com/zh-lx) maintains [a fantastic library](https://github.com/zh-lx/pinyin-pro) for converting traditional Chinese characters to pinyin. GitBook uses this library for our users who write in hànzì, to turn their docs into URLs. We've forked pinyin-pro simply to optimize performance slightly. GitBook runs pinyin-pro inside Cloudflare Workers, where start-up time is very important. So we made this fork to make optimizations around when the languages are loaded into memory. We try to keep this up-to-date with upstream.
npm package: @gitbook/slate
Description: A completely customizable framework for building rich text editors.
Latest version: 4.1.3

This package contains the core logic of Slate. It's separated further into a series of directories:

* [**Changes**](./src/changes) — containing the changes that are used to alter a Slate document.
* [**Constants**](./src/constants) — containing constants that are used in Slate's codebase.
* [**Models**](./src/models) — containing the models that define Slate's data structure.
* [**Operations**](./src/operations) — containing the low-level operations that create Slate changes.
* [**Schemas**](./src/schemas) - containing the core schema that ships with Slate by default.
* [**Utils**](./src/utils) — containing a few private convenience modules.

Feel free to poke around in each of them to learn more!
npm package: @gitbook/slate-edit-blockquote
Description: A Slate plugin to handle keyboard events in blockquotes.
Latest version: 4.1.3

# slate-edit-blockquote

[![NPM version](https://badge.fury.io/js/slate-edit-blockquote.svg)](http://badge.fury.io/js/slate-edit-blockquote)
[![Linux Build Status](https://travis-ci.org/GitbookIO/slate-edit-blockquote.png?branch=master)](https://travis-ci.org/GitbookIO/slate-edit-blockquote)

A Slate plugin to handle keyboard events in blockquotes. Blockquotes can contain blocks.

> ⚠️ This repository is now using GitBook's fork of [ianstormtaylor/slate](https://github.com/ianstormtaylor/slate).
> Previous versions are still [available on NPM](https://www.npmjs.com/package/slate-edit-blockquote)
> All the versions using GitBook's fork of slate are now published under the `@gitbook` NPM scope.
> To learn more about why we forked Slate, read [our manifest](https://github.com/GitbookIO/slate/blob/master/Readme.md)

### Install

```
npm install slate-edit-blockquote
```

### Features

Natural keybindings:

* Pressing <kbd>Enter</kbd> in an empty block of a blockquote, exits the blockquote
* Pressing <kbd>Backspace</kbd> at the start of a block in a blockquote, unwraps from the blockquote

### Simple Usage

```js
import EditBlockquote from 'slate-edit-blockquote'

const plugins = [EditBlockquote()]
```

#### Arguments

This plugin accepts options to redefine the following block types:

* `[type: String]` — type for blockquotes
* `[typeDefault: String]` — type for default block in blockquote.

### Utilities

`slate-edit-blockquote` exports utilities and changes:

#### `utils.isSelectionInBlockquote`

`plugin.utils.isSelectionInBlockquote(value: Value) => Boolean`

Return true if selection is inside a blockquote (and it can be unwrap).

#### `changes.wrapInBlockquote`

`plugin.changes.wrapInBlockquote(change: Change) => Change`

Wrap current block in a new blockquote.

#### `changes.unwrapBlockquote`

`plugin.changes.unwrapBlockquote(change: Change) => Change`

Unwrap from current blockquote if any.
npm package: @gitbook/slate-prism
Description: A Slate plugin to highlight code blocks using PrismJS.
Latest version: 4.1.3

# slate-prism

[![NPM version](https://badge.fury.io/js/slate-prism.svg)](http://badge.fury.io/js/slate-prism)

A Slate plugin to highlight code blocks using PrismJS

> ⚠️ This repository is now using GitBook's fork of [ianstormtaylor/slate](https://github.com/ianstormtaylor/slate).
> Previous versions are still [available on NPM](https://www.npmjs.com/package/slate-prism)
> All the versions using GitBook's fork of slate are now published under the `@gitbook` NPM scope.
> To learn more about why we forked Slate, read [our manifest](https://github.com/GitbookIO/slate/blob/master/Readme.md)

### Install

```
npm install slate-prism
```

### Simple Usage

```js
import Prism from 'slate-prism'

const plugins = [Prism()]
```

**Note:** You have to add a Prism theme CSS to your application.

#### Arguments

* `[onlyIn: (Node) => boolean]` — a filtering function to select code blocks.
* `[getSyntax: (Node) => string]` — a function to determine syntax for a code block.
npm package: @gitbook/slate-react
Description: A set of React components for building completely customizable rich-text editors.
Latest version: 4.1.3

This package contains the React-specific logic for Slate. It's separated further into a series of directories:

* [**Components**](./src/components) — containing the React components for rendering Slate editors.
* [**Constants**](./src/constants) — containing a few private constants modules.
* [**Plugins**](./src/plugins) — containing the React-specific plugins for Slate editors.
* [**Utils**](./src/utils) — containing a few private convenience modules.

Feel free to poke around in each of them to learn more!
npm package: @gitbook/unstated
Description: Simple state library for react application
Author: Samy Pessé
Latest version: 3.0.0-pre.1

# `@gitbook/unstated`

Simple state library for react application. It is based on [`unstated` by James Kyle](https://github.com/jamiebuilds/unstated).

## Installation

```
$ yarn add @gitbook/unstated
```

## Usage

```tsx
import { Container, useUnstated } from '@gitbook/unstated';

class Counter extends Container<{
    count: number
}> {
    state = {
        count: 0
    };

    increment() {
        this.setState({ count: this.state.count + 1 });
    }

    decrement() {
        this.setState({ count: this.state.count - 1 });
    }
}

function Counter() {
    const counter = useUnstated(Counter);

    return (
        <div>
            <button onClick={() => counter.decrement()}>-</button>
            <span>{counter.state.count}</span>
            <button onClick={() => counter.increment()}>+</button>
        </div>
    );
}

render(
    <Provider>
        <Counter />
    </Provider>,
    document.getElementById('root')
);
```

## API

### `useUnstated`

```ts
import { useUnstated } from '@gitbook/unstated';

useUnstated(
    C: ContainerConstructor,
    shouldUpdate?: (C: Container) => any
): Container
```

Hook to access a container and update the compontent each time the state is updated.

The `shouldUpdate` function can be used to prevent update of your component for certain updates of state. The result of the function will be shallowly compare to previous result.

### `useContainer`

```ts
import { useContainer } from '@gitbook/unstated';

useContainer(
    C: ContainerConstructor
): Container
```

Similar to `useUnstated` but the component is not updated when the state is updated. You can use this hook to access actions to modify the container.


## Credits

This module is based on [`unstated`](https://github.com/jamiebuilds/unstated). It started as a fork to add support for hooks.
npm package: @gitbutler/no-relative-imports
Description: An ESLint rule for non-relative imports in TypeScript
Latest version: 0.0.3

# @gitbutler/no-relative-imports

An eslint rule for enforcing non-relative imports if there are `paths` in your `tsconfig.json` available to you.

## What the rule affects

The rule requires that any import that _could_ be referenced absolutely via an entry in `paths` will provide an error.

Even if a sibling import (IE `./foo`) is used, if it could be accessed via a path (IE `$lib/foo`). An error will be provided.

## The `paths` format

It should be noted that the current implementation does not try to handle all the possible `paths` entries. Instead it handles the three common cases:

```json
{
	"compilerOptions": {
		"paths": {
			"$lib": "./lib", // Without glob. IE pointing directly to a file
			"$lib/*": "./lib/*", // Both with glob, IE anything starting in ./lib/... results in $lib/...
			"$lib": "./lib/*" // Path with, IE anything starting in ./lib/... results in $lib
		}
	}
}
```

## Usage

```
import noRelativeImportPaths from '@gitbutler/no-relative-imports';

export default [
  {
    plugins: {
      'no-relative-import-paths': noRelativeImportPaths,
    },
    rules: {
      'no-relative-import-paths/no-relative-import-paths': 'error',
    },
  },
]
```
npm package: @gitbutler/svelte-comment-injector
Description: A Svelte preprocessor that injects HTML comments for identifying components in browser DevTools.
Author: Pavel Laptev
Latest version: 1.0.1

# svelte-comment-injector

A Svelte preprocessor that injects an HTML comment at the top of every component, making it easier to identify components in browser DevTools.

## ✨ Features

- Injects a DevTools-visible HTML comment like:
  ```html
  <!-- Begin MyComponent.svelte -->
  <div class="my-component">
  	<!-- Component content -->
  </div>
  <!-- End MyComponent.svelte -->
  ```

## 📦 Installation

```bash
npm install @gitbutler/svelte-comment-injector --save-dev
```

## ⚙️ Usage

Add the preprocessor to your Svelte configuration:

```js
// svelte.config.js
import svelteInjectComment from "@gitbutler/svelte-comment-injector";

export default {
	preprocess: [svelteInjectComment()],
	// ...rest of your config
};
```

## 🛠️ Configuration

You can customize the comment format by passing options to the preprocessor:

```js
// svelte.config.js
import svelteInjectComment from "@gitbutler/svelte-comment-injector";

export default {
	preprocess: [
		svelteInjectComment({
			enabled: true, // Enable or disable the comment injection
			showEndComment: true, // Show the end comment
			showFullPath: false, // Show the full path in the comment
		}),
	],
	// ...rest of your config
};
```
npm package: @gitcm/cli
Description: An opinionated git commits message helper.
Author: Jianqi Pan
Latest version: 0.1.9

# gitcm

`gitcm` is an opinionated git commits message helper.

## Usage

```bash
npx @gitcm/cli
```

## Installation

You can choose to install globally so that you can use the `gitcm` or `git-commit` commands. They are equivalent to `npx @gitcm/cli`.

```bash
npm install -g @gitcm/cli
```

## More Examples

For example, you can use the following command:

```bash
gitcm init "init commit"
```

Which will execute the following command:

```bash
git commit -m ":tada: init: init commit"
```

We provide an interactive cli tool.

```bash
$ gitcm
┌  @gitcm/cli - v0.1.4
│
●  Config file found in C:\Users\Jannchie\.config\gitcm\config.json
│
◇  What is the commit type? (required)
│  ✨ feat
│
◇  What is the commit scope? (optional)
│  test
│
◇  What is the commit body? (required)
│  this is a commit message
│
◇  Your commit command is ─────────────────────────────────────────╮
│                                                                   │
│  git commit -m ":sparkles: feat(test): this is a commit message"  │
│                                                                   │
├───────────────────────────────────────────────────────────────────╯
```

You can also set the type, scope and body with command-line arguments:

```bash
# git commit -m ":sparkles: feat(test): test commit"
gitcm feat test "test commit" 

# git commit -m ":sparkles: feat: test commit"
gitcm feat "test commit" 
```

We provide an AI-powered commit message generator.

```bash
# Generate a commit message with OpenAI ChatGPT API
gitcm -a
```

You can find help with the following command:

```bash
gitcm --help
```

## Configuration

When you use this command for the first time, it writes the configuration in `~/.config/gitcm/config.json`.

You can change the configuration by editing this file.

## License

MIT
npm package: @gitcoin/gitcoin-chain-data
Description: A library for interacting with the Gitcoin chain data.
Author: jaxcoder
Latest version: 1.0.56

# Gitcoin Common Data Package

The Gitcoin Common Data Package sources all the chains and supported tokens used by Gitcoin for:
- Grants-stack DApps
- Grants-stack-indexer
- Any other side-car aiming to leverage the supported chains/tokens

## Installation

To install the package, use the following command:

```bash
npm i "@gitcoin/gitcoin-chain-data"
```

## Functions

The package exposes the following functions, found in [index.ts](./src/index.ts):

- `getChains()`: Returns `TChain[]`
- `getChainById(chainId)`: Returns `TChain`
- `getTokens()`: Returns `TToken[]`
- `getTokensByChainId(chainId)`: Returns `TToken[]`
- `getTokenByChainIdAndAddress(chainId, address)`: Returns `TToken`

The types can be found in [types.ts](./src/types.ts).

## Adding a New Chain

To add a new chain, follow these steps:

1. Run the following command:
   ```bash
   npm run new-chain <CHAIN_ID>
   ```
2. A new file will be created at `src/data/chains/<CHAIN_ID>/chain.ts`.
3. Update `chain.ts` with the specific data for the new chain.
4. Update `src/chains/chainImportMap.ts` to add the new chain

## Adding a New Token to a Chain

To add a new token to an existing chain:

1. Open the file at `src/data/chains/<CHAIN_ID>/chain.ts`.
2. Update the `tokens` array to include the new token information.

## Contributing

To contribute to the project, follow these steps:

### Install Dependencies

Install the necessary dependencies with:

```bash
npm i
```

### Build

Build the project with:

```bash
npm run build
```

### Publish

To publish the package, use:

```bash
npm publish
```

---

This version improves readability, structure, and clarity. It provides clear instructions for installation, usage, adding new chains and tokens, and contributing to the project.
npm package: @gitcraft/cli
Description: Craft production-ready releases from your Git history.
Latest version: 0.2.1

# GitCraft

Craft production-ready releases directly from your Git history.

GitCraft analyzes your commits, determines the correct SemVer bump, applies tags, generates changelogs, and publishes release metadata — all with zero configuration to start.

## Features

- **Correct SemVer** — Detects breaking changes (`feat!`, `BREAKING CHANGE:`) and bumps major, minor, or patch accordingly
- **Release Channels** — Auto-maps branches to channels, or override manually
- **Changelog Generation** — Generates and prepends to `CHANGELOG.md`, grouped by commit type
- **Monorepo Support** — Independent versioning per package using path filtering
- **Plugin System** — Extend with changelog, AI summaries, Slack notifications, and more
- **Azure DevOps** — First-class pipeline task with output variables
- **Dry Run Mode** — Preview exactly what will happen before committing anything

## Installation

```bash
npm install -g @gitcraft/cli
```

## Usage

```bash
# Preview the next release
gitcraft release --dry-run

# Run a release on the current branch
gitcraft release

# Override the release channel
gitcraft release --channel alpha

# Scope to a subdirectory (monorepo)
gitcraft release --path packages/api
```

## Configuration

Create a `gitcraft.config.js` in your project root:

```javascript
module.exports = {
  plugins: [
    'changelog',
    // 'ai-notes',
  ],
}
```

### Writing a Plugin

```typescript
import type { Plugin } from '@gitcraft/cli'

const myPlugin: Plugin = {
  name: 'my-plugin',
  async onResolved(ctx) {
    // Runs after version is computed, before any git actions
    console.log(`Next version: ${ctx.result.nextVersion}`)
  },
  async onSuccess(ctx) {
    // Runs after tag is pushed
    console.log(`Released ${ctx.result.tag}`)
  },
  async onFailure(err) {
    // Runs if the release fails
    console.error(err)
  },
}

module.exports = { plugins: [myPlugin] }
```

## Azure Pipelines

```yaml
- task: GitCraft@1
  inputs:
    releaseChannel: 'stable'
    tagPrefix: 'v'
```

### Output Variables

| Variable                | Description                           |
| ----------------------- | ------------------------------------- |
| `GitCraft.Version`      | The new version number (e.g. `1.2.0`) |
| `GitCraft.Tag`          | The full git tag (e.g. `v1.2.0`)      |
| `GitCraft.BumpType`     | `major`, `minor`, or `patch`          |
| `GitCraft.ReleaseNotes` | Changelog entry for this release      |

## GitHub Actions

```yaml
- uses: actions/setup-node@v4
  with:
    node-version: '24'

- name: Release
  run: npx @gitcraft/cli release --channel stable
```

## License

MIT
npm package: @gitcrate/gitcrate
Description: **The official CLI package manager for GitCrate — an npm alternative with support for Git and npm-based packages.**
Author: gitcrate
Latest version: 1.0.5

# @gitcrate/gitcrate

**The official CLI package manager for GitCrate — an npm alternative with support for Git and npm-based packages.**

---

## 📦 Install

```bash
npm install -g @gitcrate/gitcrate
```

---

## 🚀 Usage

Once installed, use the `gitcrate` (or `gcr` if you alias it) command:

### Install a package from the GitCrate registry:

```bash
gitcrate install <packageName>
```

**Example:**

```bash
gitcrate install gcpack
```

---

### Publish a new package to GitCrate:

```bash
gitcrate publish
```

This will open the GitHub fork page for the official GitCrate registry:

[https://github.com/stetupyt/crateofgit/fork](https://github.com/stetupyt/crateofgit/fork)

**Steps to publish:**

1. Fork the repo  
2. Clone your fork locally  
3. Edit `registry.json` to add your package  
4. Push your changes  
5. Open a Pull Request back to `stetupyt/crateofgit`

---

## 📜 Registry

The official registry lives at:

[https://github.com/stetupyt/crateofgit](https://github.com/stetupyt/crateofgit)

A bundled local `registry.json` is also included inside this CLI for offline installs.

---

## 📚 Commands
```bash
| Command                        | Description                                |
|:--------------------------------|:--------------------------------------------|
| `gitcrate install <package>`    | Install a package from GitCrate or npm      |
| `gitcrate publish`              | Open GitHub fork page for publishing        |
```
---

## 📖 License

MIT — © StetupDev 2025
npm package: @gitdenlev/lumaui
Description: LumaUI is an elegant and flexible UI component library designed for rapidly building modern and user-friendly interfaces. Enjoy a wide range of ready-to-use, easily customizable components that deliver a great user experience.
Author: gitdenlev
Latest version: 1.0.0

# LumaUI

Look at the [Nuxt documentation](https://nuxt.com/docs/getting-started/introduction) to learn more.

## Get Started

Make sure to install dependencies:

```bash
npm install lumaui
```

## Development Server

Start the development server on `http://localhost:3000`:

```bash
# npm
npm run dev

# pnpm
pnpm dev

# yarn
yarn dev

# bun
bun run dev
```

## Production

Build the application for production:

```bash
# npm
npm run build

# pnpm
pnpm build

# yarn
yarn build

# bun
bun run build
```

Locally preview production build:

```bash
# npm
npm run preview

# pnpm
pnpm preview

# yarn
yarn preview

# bun
bun run preview
```

Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information.
npm package: @gitdig/counter
Description: hits counter &amp; thumbup &amp; rating components for static websites
Author: gitdigg
Latest version: 1.0.0

# counter

> hits counter &amp; thumbup &amp; rating components for static websites

[![NPM](https://img.shields.io/npm/v/counter.svg)](https://www.npmjs.com/package/counter) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install --save counter
//
yarn add counter
```

## Usage

### dev hits service 

````bash
$: docker run liujianping/hits:latest server http 
````

### usage

```jsx
import React, { Component } from 'react'

import {Counter, Thumbup} from 'counter'

class Example extends Component {
  render() {
    return (
      <div>
      Hit: <Counter hit baseURL="http://localhost:8080" />
      <br />
      Session: <Counter session baseURL="http://localhost:8080" />
      <br />
      User: <Counter user baseURL="http://localhost:8080" />
      <br />
      Thumbup: <Thumbup baseURL="http://localhost:8080" />
      <br />
      </div>
    )
    <MyComponent />
  }
}
```

## License

MIT © [gitdigg](https://github.com/gitdigg)