open-index/open-npm huggingface dataset:
npm package: @jaroslav-vondrak/bar-chart
Description: Bar Chart Element Plugin for Alfons framework
Author: Jaroslav Vonrák
Latest version: 1.0.1

# Bar Chart Element Plugin

An Element plugin for Alfons that displays a dynamic bar chart with real-time data updates.

## Requirements Fulfilled

### Plugin Configuration
- **Plugin Icon**: Uses `ChartMultipleRegular` icon from Fluent Icons
- **No Children**: `shouldAllowChild: () => () => false`
- **Hybrid Data Sourcing**: Data can be entered statically or connected through variables

### Inspector Design
- **Clear Organization**: Properties organized into logical categories:
  - **Data**: Chart dataset with custom control for adding/removing items
  - **Chart Settings**: Axis labels, dimensions, and text rotation
- **Meaningful Defaults**: Sensible default values for all properties
- **User-Friendly Controls**: Intuitive controls for each property type

### Dynamic Chart Features
- **Real-time Updates**: Chart changes dynamically immediately when values are modified
- **Custom Colors**: Each bar can have individual color customization
- **Configurable Dimensions**: Adjustable width and height
- **Text Rotation**: Optional rotation of X-axis labels for better readability
- **Axis Labels**: Customizable X and Y axis descriptions

### Technical Implementation
- **Framework**: Built with Alfons PDK, React, TypeScript
- **Chart Library**: React Native Gifted Charts for cross-platform compatibility
- **Localization**: Czech and English translations
- **Data Management**: Advanced form controls with react-hook-form integration

### Inspector Properties

| Property | Type | Description |
|----------|------|-------------|
| `dataset` | array | Chart data with value, label, and color for each bar |
| `axisX` | string | X-axis label |
| `axisY` | string | Y-axis label |
| `width` | number | Chart width (default: 350) |
| `height` | number | Chart height (default: 200) |
| `textRotate` | boolean | Rotate X-axis labels vertically |

### Data Structure
Each chart item contains:
- `value`: Numeric value for bar height
- `label`: Text label displayed on X-axis
- `color`: Optional custom color (hex format)
npm package: @jaroslav-vondrak/timer-effect
Description: Advanced timer effect plugin for Alfons framework with pause/resume functionality
Author: Jaroslav Vonrák
Latest version: 1.0.1

# Timer Effect Plugin

Timer Effect Plugin for Alfons framework enables action execution based on time intervals.

## Features

- ⏰ **Timer**: Configurable interval in milliseconds or seconds
- 🔄 **Repeat**: Option to repeat timer
- ⏸️ **Pause/Resume**: Pause and resume countdown
- 🔄 **Reset**: Restart timer
- 📤 **Time Export**: Remaining time for external components
- ⚡ **Debouncer**: 500ms delay prevents premature timer starts during rapid input changes

## Configuration

| Property | Type | Description |
|----------|------|-------------|
| `interval` | number | Time interval (default: 1000) |
| `unit` | enum | Time unit: 'milliseconds' \| 'seconds' |
| `repeat` | boolean | Timer repetition |
| `onInterval` | reference | Action triggered after interval completion |
| `timeState` | reference | Remaining time export (optional) |

## Technical Details

- **Framework**: Alfons PDK, React, TypeScript
- **Localization**: Czech and English translations
- **Testing**: Jest with React Testing Library, comprehensive test coverage
- **Icon**: TimerRegular from Fluent Icons
- **No children**: `shouldAllowChild: () => () => false`

![Timer Effect Plugin](./img.png)
npm package: @jaroslawfejdasz/create-minidapp
Description: Scaffold CLI for Minima MiniDapp projects
Author: Jaroslaw Fejdasz
Latest version: 0.1.1

# create-minidapp

> Scaffold CLI for [Minima](https://minima.global) MiniDapp projects. Like `create-react-app`, but for Minima.

[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
[![npm version](https://badge.fury.io/js/create-minidapp.svg)](https://www.npmjs.com/package/create-minidapp)

## Quick Start

```bash
npx create-minidapp my-dapp
cd my-dapp
npm run package   # creates my-dapp.mds.zip
```

Then install the `.mds.zip` on your Minima node.

## Templates

| Template | Description |
|----------|-------------|
| `basic` | Minimal MiniDapp — HTML + MDS API connection |
| `counter` | On-chain counter with KISS VM contract |
| `exchange` | Token swap UI with VERIFYOUT contract |

```bash
npx create-minidapp my-swap --template exchange
npx create-minidapp my-counter --template counter
```

## What's Generated

```
my-dapp/
├── dapp.conf        # MiniDapp manifest (name, version, permissions)
├── index.html       # Main UI (vanilla HTML/CSS/JS — no framework needed)
├── mds.js           # Minima MDS API (replace with real file from node)
├── service.js       # Background service worker (optional)
├── package.json     # npm scripts for packaging
└── README.md        # Getting started guide
```

For contract templates, also includes:
```
└── contract.kiss    # KISS VM smart contract script
```

## Packaging

```bash
npm run package   # → my-dapp.mds.zip
```

Then in your Minima terminal:
```
minidapp install file:///path/to/my-dapp.mds.zip
```

## Why No Framework?

MiniDapps run on edge devices with 300MB RAM. Vanilla HTML/JS loads instantly, works offline, and doesn't add megabytes of dependencies. The MDS API is your backend — no servers needed.

## Related Tools

- [`minima-test`](https://npmjs.com/package/minima-test) — Unit testing for KISS VM contracts
- [`kiss-vm-lint`](https://npmjs.com/package/kiss-vm-lint) — Static analyzer for KISS VM scripts
- [`minima-contracts`](https://npmjs.com/package/minima-contracts) — Ready-to-use contract patterns

## License

MIT
npm package: @jarred/cpu
Description: Process resource usage measurement utility
Author: Jarred Sumner
Latest version: 1.0.1

A simple, readable alternative to the Unix `time` command.

```sh
$ cpu bun --print '123'
123
┌─────────┬──────────────┬─────────────┬─────────────┐
│  0.01s  │  0.01s user  │  0.00s sys  │  20 MB mem  │
└─────────┴──────────────┴─────────────┴─────────────┘
```

This tool runs commands and shows their execution time and memory usage in an easy-to-read format. It works just like the standard `time` command, but with a cleaner display.

## Installation

```bash
# Install globally
bun install -g @jarred/cpu

# Or use directly
bunx @jarred/cpu <command>
```

## Usage

```bash
# Basic usage
cpu sleep 1
┌─────────┬──────────────┬─────────────┬────────────┐
│  1.00s  │  0.00s user  │  0.00s sys  │  2 MB mem  │
└─────────┴──────────────┴─────────────┴────────────┘
```

### Verbose output

```bash
# With verbose output
cpu -v node -e "console.log('Hello')"
┌─────────┬──────────────┬─────────────┬─────────────┐
│  0.03s  │  0.02s user  │  0.01s sys  │  30 MB mem  │

Detailed metrics:
  Time:
    Total:      0.035s
    User CPU:   0.02s (57.5% of total)
    System CPU: 0.01s (28.8% of total)
  Memory:
    Peak:       30 MB
    System:     64 GB total (0.05% used)
  Process:
    Context switches: 62 (voluntary: 1, involuntary: 61)
    IO operations:    in: 0, out: 0
    Exit code:        0
└─────────┴──────────────┴─────────────┴─────────────┘
```

More examples:

```bash
# Time a script
cpu ./my-script.sh

# Compare Node.js and Bun
cpu node -e "console.log('Hello world')"
cpu bun -e "console.log('Hello world')"

# Time a build process
cpu npm run build
```

## Comparison with time command

**Standard time command output:**

```sh
real    0m1.007s
user    0m0.003s
sys     0m0.003s
```

**cpu command output:**

```sh
┌─────────┬──────────────┬─────────────┬─────────────┐
│  0.01s  │  0.01s user  │  0.00s sys  │  20 MB mem  │
└─────────┴──────────────┴─────────────┴─────────────┘
```

Differences:

- Includes memory usage
- Uses a simple table format
- Has a verbose mode for additional details
- Adds basic color coding when supported

## How it works

This tool uses Bun's `resourceUsage()` API, which accesses the same underlying `getrusage` system call that the standard Unix `time` command uses. This means you get the same accurate metrics, just displayed in a more readable format. The implementation is efficient with minimal overhead to the process being measured.

### Options

- `-v, --verbose`: Show additional metrics
- `-h, --help`: Show help message
- `--version`: Show version information

## Output explained

### Standard output shows:

- Total execution time
- User CPU time
- System CPU time
- Peak memory usage

### Verbose output (-v) adds:

- CPU percentages
- Memory usage percentages
- Context switch counts
- I/O operation counts
- Process exit code

## Development

```bash
# Clone the repository
git clone https://github.com/jarred/cpu.git
cd cpu

# Install dependencies
bun install

# Run locally
bun run index.ts <command>
```

## License

MIT © Jarred Sumner
npm package: @jarred/git-view
Description: Quickly preview remote Git repositories in your local editor
Author: Jarred Sumner @Jarred-Sumner
Latest version: 1.0.0

# git-peek

Quickly open a remote Git repository with your local text editor into a temporary folder.

## Usage:

```
git peek https://github.com/Jarred-Sumner/git-peek
```

It's fast.

```bash
❯ git peek https://github.com/nodejs/node/blob/master/lib/dgram.js
# Downloading https://github.com/nodejs/node/zipball/master to temp folder...
# --2021-02-10 04:56:46--  https://github.com/nodejs/node/zipball/master
# Resolving github.com (github.com)... 192.30.255.112
# Connecting to github.com (github.com)|192.30.255.112|:443... connected.
# HTTP request sent, awaiting response...
💻 Launched editor in 0.20s
```

```bash
❯ git peek -h
Quickly open a remote Git repository with your local text editor into a temporary folder.

USAGE
  $ git-peek [git link or github link]

OPTIONS
  -e, --editor=editor  [default: auto] editor to open with, possible values:
                       auto, code, vim, subl. By default, it will search
                       $EDITOR. If not found, it will try code, then subl,
                       then vim.

  -h, --help           show CLI help

  -v, --version        show CLI version
```

## Installation:

```
npm install -g @jarred/git-peek
```

## How does this work?

If you pass it a GitHub repository, it fetches a tarball instead of using git. From unscientific benchmarks, this is about 2x faster than cloning. While downloading the tarball, it also downloads the specific file linked to (or the `README.md`) via JSDelivr's CDN. Whichever happens first, it opens in the editor, but it will keep fetching the repo until its complete or the program exits.

If you pass it a git repository rather than a Github url, it does a [partial clone](https://github.blog/2020-12-21-get-up-to-speed-with-partial-clone-and-shallow-clone/) instead of doing a full clone.

When your editor closes or you close `git view`, it deletes the repository from your computer.

This was inspired by github1s.com.

Note: currently expects `wget` and `bsdtar` to be available in `$PATH`. If that's a problem, feel free to open an issue.
npm package: @jarred/htmlbuild
Description: Configure & run esbuild on <script> and <link> used in an HTML file, then output an updated HTML file with the results.
Latest version: 1.0.3

# htmlbuild

Automatically configure & run esbuild from `<script>` and `<link rel="stylesheet">` used in an .html file.

## Installation

npm:

```bash
npm install -g @jarred/htmlbuild
```

yarn:

```yarn
yarn global add @jarred/htmlbuild
```

## Usage

```
# All additional flags are forwarded to esbuild.
htb index.html --outdir=dist
htmlbuild index.html --outdir=dist
```

This lets you use an HTML file to configure esbuild.

Given an HTML file like this:

```html
<html>
  <head>
    <link href="foo.css" rel="stylesheet" />
    <!- Notice the TypeScript: -->
    <script src="./index.ts"></script>
    <script src="./deep/so/very/deep.ts"></script>
  </head>

  <body>
    HI!
  </body>
</html>
```

`htmlbuild` parses the HTML and turns each `<script>` or `<link rel="stylsheet">` into an `entryPoint`. That example generates a config that looks like this:

```ts
{
  bundle: true,
  metafile: true,
  entryPoints: [
    '/Users/jarredsumner/Code/htmlbuild/test-dir/index.js',
    '/Users/jarredsumner/Code/htmlbuild/test-dir/deep/so/very/deep.ts',
    '/Users/jarredsumner/Code/htmlbuild/test-dir/foo.css'
  ]
}
```

Then, it runs `esbuild` with any flags you passed in. Using esbuild's metadata, it produces a new HTML file that looks like this:

```html
<html>
  <head>
    <link href="foo.css" rel="stylesheet" />
    <link rel="stylesheet" href="index.css" />
    <script src="index.js"></script>
    <script src="deep/so/very/deep.js"></script>
  </head>

  <body>
    HI!
  </body>
</html>
```

Notice the extra `index.css`?

That's because `index.ts` imported `index.css`:

```ts
import "./index.css";

console.log(
  'It detected the imported index.css file and inserted it directly above <script src="index.js">'
);
```
npm package: @jarred/react-static-tweets
Description: fast static renderer for tweets.
Author: Travis Fischer
Latest version: 0.5.9

<p align="center">
  <a href="https://react-static-tweets.vercel.app/1352687755621351425">
    <img alt="React Static Tweets" src="https://raw.githubusercontent.com/transitive-bullshit/react-static-tweets/master/example/demo.jpg" width="550">
  </a>
</p>

# React Static Tweets

> Static renderer for tweets.

[![NPM](https://img.shields.io/npm/v/react-static-tweets.svg)](https://www.npmjs.com/package/react-static-tweets) [![Build Status](https://github.com/transitive-bullshit/react-static-tweets/actions/workflows/build.yml/badge.svg)](https://github.com/transitive-bullshit/react-static-tweets/actions/workflows/build.yml) [![Prettier Code Formatting](https://img.shields.io/badge/code_style-prettier-brightgreen.svg)](https://prettier.io)

## Install

```bash
npm install react-static-tweets
```

## Usage

The easiest way to get started is to render tweets client-side (which will by default fetch the tweet AST data on-the-fly).

```tsx
import React from 'react'
import { Tweet } from 'react-static-tweets'

export default Example({ tweetId }) => (
  <Tweet
    id={tweetId}
  />
)
```

For more optimized SSR usage, you'll want to pre-fetch the tweet AST data server-side:

```tsx
import React from 'react'
import [ fetchTweetAst } from 'static-tweets'
import { Tweet } from 'react-static-tweets'

const tweetId = '1358199505280262150'

export const getStaticProps = async () => {
  try {
    const tweetAst = await fetchTweetAst(tweetId)

    return {
      props: {
        tweetId,
        tweetAst
      },
      revalidate: 10
    }
  } catch (err) {
    console.error('error fetching tweet info', err)

    throw err
  }
}

export default Example({ tweetId, tweetAst }) => {
  return <Tweet id={tweetId} ast={tweetAst} />
}
```

## Styles

You'll need to import some CSS styles as well. If you're using Next.js, we recommend you put these in `pages/_app.js`:

```ts
import 'react-static-tweets/styles.css'
```

## Credit

My main contribution is packaging the Vercel team's excellent work into two isolated packages (`static-tweets` for server-side fetching of tweet ASTs and `react-static-tweets` for client-side rendering as well as SSR).

- Inspired by this [demo](https://static-tweet.vercel.app/) from the Vercel team
- And the underlying [repo](https://github.com/lfades/static-tweet) by [Luis Alvarez](https://github.com/lfades)
- Most of the core code is adapted from [Guillermo Rauch's blog](https://github.com/rauchg/blog/blob/master/pages/2020/2019-in-review.js)
- Converted JS codebase to TypeScript
- Removed `styled-jsx` because using a flat CSS file (with a `.static-tweet` class prefix) makes bundling for NPM easier
- Fixed some minor formatting bugs

## License

MIT © [Travis Fischer](https://transitivebullsh.it)

Support my OSS work by <a href="https://twitter.com/transitive_bs">following me on twitter <img src="https://storage.googleapis.com/saasify-assets/twitter-logo.svg" alt="twitter" height="24px" align="center"></a>
npm package: @jarred/static-tweets
Description: Utilities for fetching and manipulating tweet ASTs.
Author: Travis Fischer
Latest version: 0.5.8

<p align="center">
  <a href="https://react-static-tweets.vercel.app/1352687755621351425">
    <img alt="React Static Tweets" src="https://raw.githubusercontent.com/transitive-bullshit/react-static-tweets/master/example/demo.jpg" width="550">
  </a>
</p>

# static-tweets

> Utilities for fetching and manipulating tweet ASTs.

[![NPM](https://img.shields.io/npm/v/static-tweets.svg)](https://www.npmjs.com/package/static-tweets) [![Build Status](https://github.com/transitive-bullshit/react-static-tweets/actions/workflows/build.yml/badge.svg)](https://github.com/transitive-bullshit/react-static-tweets/actions/workflows/build.yml) [![Prettier Code Formatting](https://img.shields.io/badge/code_style-prettier-brightgreen.svg)](https://prettier.io)

## Install

```bash
npm install static-tweets
```

This package is compatible with Node.js.

## Usage

```ts
import [ fetchTweetAst } from 'static-tweets'
import { Tweet } from 'react-static-tweets'

const tweetId = '1358199505280262150'

async function example (tweetId) {
  const tweetAst = await fetchTweetAst(tweetId)

  // tweetAst is a JSON representation of this tweet's contents
  // which `react-static-tweets` can use to render
}
```

## Docs

See the [auto-generated docs](https://github.com/transitive-bullshit/react-static-tweets/blob/master/docs/static-tweets.md).

## License

MIT © [Travis Fischer](https://transitivebullsh.it)

Support my OSS work by <a href="https://twitter.com/transitive_bs">following me on twitter <img src="https://storage.googleapis.com/saasify-assets/twitter-logo.svg" alt="twitter" height="24px" align="center"></a>
npm package: @jarrku/babel-preset-react-tools
Description: Babel preset used by React Tools
Author: Jarrku
Latest version: 0.1.3

# babel-preset-react-app

This package includes the Babel preset used by [Create React App](https://github.com/jarrku/react-tools).<br>
Please refer to its documentation:

- [Getting Started](https://github.com/facebook/create-react-app/blob/master/README.md#getting-started) – How to create a new app.
- [User Guide](https://github.com/facebook/create-react-app/blob/master/packages/react-scripts/template/README.md) – How to develop apps bootstrapped with Create React App.

## Usage in Create React App Projects

The easiest way to use this configuration is with [Create React App](https://github.com/facebook/create-react-app), which includes it by default. **You don’t need to install it separately in Create React App projects.**

## Usage Outside of Create React App

If you want to use this Babel preset in a project not built with Create React App, you can install it with following steps.

First, [install Babel](https://babeljs.io/docs/setup/).

Then install babel-preset-react-app.

```sh
npm install babel-preset-react-app --save-dev
```

Then create a file named `.babelrc` with following contents in the root folder of your project:

```js
{
  "presets": ["react-app"]
}
```

This preset uses the `useBuiltIns` option with [transform-object-rest-spread](http://babeljs.io/docs/plugins/transform-object-rest-spread/) and [transform-react-jsx](http://babeljs.io/docs/plugins/transform-react-jsx/), which assumes that `Object.assign` is available or polyfilled.

## Usage with TypeScript

To use this package with [`@babel/preset-typescript`](https://www.npmjs.com/package/@babel/preset-typescript), you need to disable `@babel/preset-flow` first.

You can achieve this by doing:

```
{
  "presets": [
    ["react-app", {
        "flow": false
    }],
    "@babel/typescript"
  ]
}
```
npm package: @jarrku/foreach-scripts
Description: Configuration and scripts for Create React App.
Latest version: 0.0.2

# react-scripts

This package includes scripts and configuration used by [Create React App](https://github.com/facebook/create-react-app).<br>
Please refer to its documentation:

- [Getting Started](https://facebook.github.io/create-react-app/docs/getting-started) – How to create a new app.
- [User Guide](https://facebook.github.io/create-react-app/) – How to develop apps bootstrapped with Create React App.
npm package: @jarrku/now-purge
Description: Utility to remove deployments without alias
Author: Simon VDB
Latest version: 2.0.1

# @jarrku/now-purge [![Version](https://img.shields.io/npm/v/@jarrku/now-purge.svg)](https://www.npmjs.com/package/@jarrku/now-purge)

> Remove [now](https://zeit.co/now) deployments without an alias

Credit to original idea for this package: [now-purge](https://github.com/matiastucci/now-purge)

This repo is updated to use the API endpoints in favour of the deprecated `now-client` package

## CLI

### One time run (using NPM 5 / npx)

```bash
npx @jarrku/now-purge --token YOUR_NOW_TOKEN --team OPTION_TEAM_ID
```

### Installation

```bash
npm install -g @jarrku/now-purge
```

### Usage

```bash
@jarrku/now-purge [options]

Options:
  --token        now auth token [Required]
  --team, -m     team id [Optional]
```

## From your CI

You can remove your oldest deployments without an alias

```bash
npx @jarrku/now-purge --token YOUR_NOW_TOKEN --team OPTION_TEAM_ID
```
npm package: @jarrku/react-tools--scripts
Description: Build configuration for React Tools projects
Latest version: 0.2.3

# Moovly Scripts

This package unifies the webpack bundling for frontend projects.
It supports:

- SASS/LESS
- Polyfilled environment
- Babel transpiling
- Dev/build setup.

Custom webpack configs: `moovly-scripts (start|build) --config <path/to/webpack/config>`
This config will be merged with the default configs.

## Folder structure

### bin

This contains the executable node script.
It executes one of the 3 scripts and handles some errors/throws error when theres an unknown script.

### config

This folder contains most of the actual config. It provides a paths file utility and loads the environment variables.
The actual webpack configs can be found here as well.

### scripts

This folder contains the actual node scripts that will be executed on command.

`init` is currently WIP -> would serve as boilerplate generator.

The other 3 scripts are basically the way to programatically invoke webpack/jest with some error handling included.

### template

This folder is also a WIP, the `init` script would utilise this folder to generate a frontend boilerplate.

## What .env can be used?

- `.env`: Default.
- `.env.local`: Local overrides. This file is loaded for all environments except test.
- `.env.development`, `.env.test`, `.env.production`: Environment-specific settings.
- `.env.development.local`, `.env.test.local`, `.env.production.local`: Local overrides of environment-specific settings.

Files on the left have more priority than files on the right:

- `npm start`: `.env.development.local`, `.env.development`, `.env.local`, `.env`
- `npm run build`: `.env.production.local`, `.env.production`, `.env.local`, `.env`
- `npm test`: `.env.test.local`, `.env.test`, `.env` (note `.env.local` is missing)
npm package: @jarrodek/pluralize
Description: Pluralize and singularize any word
Author: Blake Embrey
Latest version: 1.0.2


# Pluralize (ES Fork)

> Modern, ES-ready fork of the original [pluralize](https://github.com/blakeembrey/pluralize) library. The original is no longer maintained—this fork is actively updated and supports ES modules out of the box.

Pluralize is a robust TypeScript library for pluralizing and singularizing English (and some Unicode) words. It is designed for developers who need reliable inflection, custom rule extension, and runtime flexibility.

## Installation

```bash
npm install @jarrodek/pluralize
# or
yarn add @jarrodek/pluralize
```

### ES Module Usage

```js
import pluralize from '@jarrodek/pluralize';
```

### CommonJS Usage

```js
const pluralize = require('@jarrodek/pluralize');
```

### Browser

```html
<!-- Stop polluting the global namespace! -->
```

## Why Pluralize?

- **Actively maintained fork**: The original library is unmaintained; this fork is modernized and ES module compatible.
- **TypeScript-first**: Full type definitions and modern build pipeline.
- **Extensible**: Add custom plural/singular/irregular/uncountable rules at runtime.
- **Reliable inflection**: Handles edge cases, Unicode, and irregular forms.

## API & Examples

### Basic Usage

```js
pluralize('test') // "tests"
pluralize('test', 1) // "test"
pluralize('test', 5) // "tests"
pluralize('test', 1, true) // "1 test"
pluralize('test', 5, true) // "5 tests"
pluralize('蘋果', 2, true) // "2 蘋果"
```

### Advanced API

#### Pluralize a word

```js
pluralize.plural('person') // "people"
pluralize.plural('bus') // "buses"
```

#### Singularize a word

```js
pluralize.singular('geese') // "goose"
pluralize.singular('cars') // "car"
```

#### Check if a word is plural or singular

```js
pluralize.isPlural('dogs') // true
pluralize.isSingular('dog') // true
```

#### Add custom rules at runtime

```js
pluralize.addPluralRule(/gex$/i, 'gexii')
pluralize.plural('regex') // "regexii"

pluralize.addSingularRule(/singles$/i, 'singular')
pluralize.singular('singles') // "singular"

pluralize.addIrregularRule('person', 'people')
pluralize.plural('person') // "people"
pluralize.singular('people') // "person"

pluralize.addUncountableRule('sheep')
pluralize.plural('sheep') // "sheep"
pluralize.singular('sheep') // "sheep"
```

## Use Cases

- **UI/UX:** Display item counts: "1 file", "2 files".
- **Natural Language Processing:** Normalize user input for search, categorization, or reporting.
- **Domain Extensions:** Add custom inflection rules for medical, legal, or technical vocabulary.
- **Internationalization:** Handles Unicode and non-English words for basic pluralization.

## Extending & Testing

- Add new rules using the API methods above.
- All new rules and API extensions should be covered by unit tests in `tests/unit/`.
- See `tests/unit/methods.spec.ts` for test patterns.

## Maintainers & Fork Status

This is a fork of [blakeembrey/pluralize](https://github.com/blakeembrey/pluralize), which is no longer maintained. This fork is actively updated, ES module compatible, and modernized for developer use.

## License

MIT
npm package: @jarrodfeaks/naive-ui
Description: Fork of Naive UI with some small additions
Author: jarrodfeaks
Latest version: 2.43.2-patch.0

<p align="center">
  <img width="144px" src="https://naiveui.oss-cn-hongkong.aliyuncs.com/naivelogo.svg" />
</p>

<h1 align="center">Naive UI</h1>
<p align="center">一个 Vue 3 组件库</p>
<p align="center"><b>比较完整，主题可调，使用 TypeScript，快</b></p>
<p align="center">有点意思</p>

<p align="center">
  <a href="https://npmjs.com/package/naive-ui">
    <img src="https://img.shields.io/npm/v/naive-ui.svg" alt="npm">
  </a>
  <a href="https://pkg.pr.new/~/tusen-ai/naive-ui">
    <img src="https://pkg.pr.new/badge/tusen-ai/naive-ui" alt="pkg.pr.new">
  </a>
</p>

<p align="center"><a href="README.md">English</a> | 中文</p>

## 文档

[www.naiveui.com](http://www.naiveui.com)

## 社区

- [Discord](https://discord.gg/Pqv7Mev5Dd)
- 钉钉一群 33482509 (已满)
- 钉钉二群 35886835 (已满)
- 钉钉三群 32377370 (已满)
- 钉钉四群 8165002788 (已满)
- 钉钉五群 31205022250 (已满)
- 钉钉六群 62720001971

- [Awesome Naive UI](https://github.com/naive-ui/awesome-naive)

钉钉群加入方法：在**搜索框**中搜索群号，点击下拉框中更多分组内的**网络查找公开群组**

## 特性

### 比较完整

有超过 90 个组件，希望能帮你少写点代码。

顺便一提，它们全都可以 treeshaking。

### 主题可调

我们提供了一个使用 TypeScript 构建的先进的类型安全主题系统。你只需要提供一个样式覆盖的对象，剩下的都交给我们。

顺便一提，不用 less、sass、css 变量，也不用 webpack 的 loaders。以及你可以试试右下角的主题编辑器。

### 使用 TypeScript

Naive UI 全量使用 TypeScript 编写，和你的 TypeScript 项目无缝衔接。

顺便一提，你不需要导入任何 CSS 就能让组件正常工作。

### 快

我尽力让它不要太慢。任何数据组件均可使用虚拟列表。

顺便一提，...，没有顺便了。祝你使用愉快。

## 安装

### npm

使用 npm 安装。

```bash
npm i -D naive-ui
```

### 字体

```bash
npm i -D vfonts
```

### 图标

naive-ui 建议使用 [xicons](https://www.xicons.org) 作为图标库。

### 设计资源

[Naive UI (Sketch)](https://naive-ui.oss-accelerate.aliyuncs.com/NaiveUI-Design-Library-zh-CN.sketch)

## 贡献

请参考 [CONTRIBUTING.zh-CN.md](https://github.com/tusen-ai/naive-ui/blob/main/CONTRIBUTING.zh-CN.md)

## 许可

Naive UI 使用 [MIT license](https://opensource.org/licenses/MIT) 许可证书。

`result` 组件的图像资源来自于 [Twemoji](https://github.com/twitter/twemoji)，遵守 [CC-BY 4.0](https://creativecommons.org/licenses/by/4.0/) 许可。
npm package: @jarrodldavis/cz-conventional-changelog
Description: Commitizen adapter following the conventional-changelog format.
Author: Jarrod Davis
Latest version: 2.2.0
Deprecated: no longer maintained

# cz-conventional-changelog

Status:
[![npm version](https://img.shields.io/npm/v/cz-conventional-changelog.svg?style=flat-square)](https://www.npmjs.org/package/cz-conventional-changelog)
[![npm downloads](https://img.shields.io/npm/dm/cz-conventional-changelog.svg?style=flat-square)](http://npm-stat.com/charts.html?package=cz-conventional-changelog&from=2015-08-01)
[![Build Status](https://img.shields.io/travis/commitizen/cz-conventional-changelog.svg?style=flat-square)](https://travis-ci.org/commitizen/cz-conventional-changelog)

Part of the [commitizen](https://github.com/commitizen/cz-cli) family. Prompts for [conventional changelog](https://github.com/stevemao/conventional-changelog-angular/blob/master/index.js) standard.
npm package: @jarrodldavis/eslint-config
Description: Shareable ESLint config for Prettier and TypeScript
Author: Jarrod Davis
Latest version: 0.1.0-pre
Deprecated: no longer maintained

# @jarrodldavis/eslint-config

> Shareable [ESLint] config for [Prettier] and [TypeScript]

## Install

```console
yarn add --dev @jarrodldavis/eslint-config
```

Since this is an [ESLint Shareable Config], ESLint must be installed directly
into your package if it isn't already:

```console
yarn add --dev eslint
```

TypeScript is also required for linting TypeScript source (`.ts`) and
declaration (`.d.ts`) files:

```console
yarn add --dev typescript
```

### Peer Dependencies

ESLint requires configs, plugins, and parsers referenced in configs to be
sibling modules of ESLint (i.e. they must be in exactly the same `node_modules`
directory).

This package specifies additional ESLint dependencies as both [direct
dependencies] and [peer dependencies]. If you are using [Yarn] or [npm] ([since
v3]), these dependencies should be automatically hoisted into your package's
top-level `node_modules` directory.

If they are not, you will need to install these additional dependencies
directly:

```console
yarn add --dev prettier eslint-config-prettier eslint-plugin-prettier
yarn add --dev typescript-eslint-parser eslint-plugin-typescript
```

## Usage

In your [ESLint config], extend from this config:

```json
{
  "root": true,
  "extends": ["@jarrodldavis"]
}
```

If you want to override any rule configurations, you can specify your own [rule
settings] as normal:

```json
{
  "root": true,
  "extends": ["@jarrodldavis"],
  "rules": {
    "no-console": "off"
  }
}
```

For TypeScript source and declaration files, you'll need to use [glob
overrides]:

```json
{
  "root": true,
  "extends": ["@jarrodldavis"],
  "rules": {
    "no-console": "off"
  },
  "overrides": [
    {
      "files": "*.ts",
      "rules": {
        "typescript/class-name-casing": "off"
      }
    },
    {
      "files": "*.d.ts",
      "rules": {
        "typescript/interface-name-prefix": "warn"
      }
    }
  ]
}
```

[eslint]: https://github.com/eslint/eslint
[prettier]: https://github.com/prettier/prettier
[typescript]: https://github.com/Microsoft/TypeScript
[eslint shareable config]: https://eslint.org/docs/developer-guide/shareable-configs
[yarn]: https://github.com/yarnpkg/yarn
[npm]: https://github.com/npm/npm
[since v3]: https://github.com/npm/npm/releases/tag/v3.0.0
[direct dependencies]: https://github.com/jarrodldavis/eslint-config/blob/master/package.json#L25
[peer dependencies]: https://github.com/jarrodldavis/eslint-config/blob/master/package.json#L32
[eslint config]: https://eslint.org/docs/user-guide/configuring
[rule settings]: https://eslint.org/docs/user-guide/configuring#using-a-shareable-configuration-package
[glob overrides]: https://eslint.org/docs/user-guide/configuring#configuration-based-on-glob-patterns
npm package: @jarrodldavis/eslint-plugin-tailwindcss
Description: An ESLint plugin to enforce usage of Tailwind CSS utility and component classes.
Author: Jarrod Davis
Latest version: 0.4.0
Deprecated: This package is no longer maintained

# @jarrodldavis/eslint-plugin-tailwindcss

> An ESLint plugin to enforce usage of Tailwind CSS utility and component classes.

## Install

Install with `npm` or `yarn`:

```sh
npm install --save-dev @jarrodldavis/eslint-plugin-tailwindcss
```

```sh
yarn add --dev @jarrodldavis/eslint-plugin-tailwindcss
```

## Usage

In your `.eslintrc.json` (or other `.eslintrc.*` configuration file):

```json
{
  "plugins": ["@jarrodldavis/tailwindcss"],
  "rules": {
    "@jarrodldavis/tailwindcss/no-unknown-class": "error"
  }
}
```

The same can be accomplished using the `recommended` config:

```json
{
  "extends": ["plugin:@jarrodldavis/tailwindcss/recommended"]
}
```

## Rule Options

See the [rule documentation][rule-docs] for details about using and configuring the `no-unknown-classes` rule.

[rule-docs]: https://github.com/jarrodldavis/eslint-plugin-tailwindcss/blob/main/docs/rules/no-unknown-class.md
npm package: @jarrodldavis/purgecss-from-html
Description: Html extractor for purgecss - get all selectors from a html file
Author: Ffloriel
Latest version: 1.1.0
Deprecated: no longer maintained

# Purgecss-from-html  
[![Build Status](https://travis-ci.org/FullHuman/purgecss-from-html.svg?branch=master)](https://travis-ci.org/FullHuman/purgecss-from-html)
[![CircleCi](https://circleci.com/gh/FullHuman/purgecss-from-html/tree/master.svg?style=shield)]()
[![dependencies Status](https://david-dm.org/fullhuman/purgecss-from-html/status.svg)](https://david-dm.org/fullhuman/purgecss-from-html)
[![devDependencies Status](https://david-dm.org/fullhuman/purgecss-from-html/dev-status.svg)](https://david-dm.org/fullhuman/purgecss-from-html?type=dev)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/a711f39a6c2b44b2a4a55bd2a7a6c8cf)](https://www.codacy.com/app/FullHuman/purgecss-from-html?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=FullHuman/purgecss-from-html&amp;utm_campaign=Badge_Grade)
[![npm](https://img.shields.io/npm/v/purgecss-from-html.svg)](https://www.npmjs.com/package/purgecss-from-html)
[![license](https://img.shields.io/github/license/fullhuman/purgecss-from-html.svg)]()

Get the selectors of an html file.

## Install

```
npm i -D purgecss-from-html
```

## Usage

### Use with Purgecss
```js
import Purgecss from "purgecss"
import purgeHtml from "purgecss-from-html"
const purgeCss = new Purgecss({
    content: ["**/*.html"],
    css: ["**/*.css"],
    extractors: [
        {
            extractor: purgeHtml,
            extensions: ["html"]
        }
    ]
})
const result = purgecss.purge()
```

### Use alone

```js
import purgeHtml from "purgecss-from-html"
import fs from "fs"

const htmlContent = fs.readFileSync("index.html")
const htmlSelectors = purgeHtml.extract(htmlContent)

```
npm package: @jarrodldavis/remark-changelog-version-bump
Description: A remark plugin to handle version bumps for changelogs adhering to Keep a Changelog
Author: Jarrod Davis
Latest version: 0.1.1
Deprecated: no longer maintained

# remark-changelog-version-bump

> A @remarkjs plugin to handle version bumps for changelogs adhering to
> [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
npm package: @jarronb/price-table
Description: JarronB price table web component
Author: jarronb
Latest version: 1.0.3

# `@jarronb/web-component`

Example price table web component

## Example Usage

```html
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script src="../index.js"></script>
  </head>
  <body>
    <jarronb-price-table> </jarronb-price-table>
  </body>
</html>
```

### Read more [here](https://github.com/jarronb/web-component#readme)
npm package: @jarronb/site-mapper
Description: Site mapper utilizing puppeteer to generate a xml sitemap
Author: jarronb
Latest version: 1.0.5

# `@jarronb/site-mapper`

Site-mapper is a package used to generate a XML sitemap utilizing [puppeteer-core](https://www.npmjs.com/package/puppeteer-core)

## Example Usage

```javascript
const siteMapper = require("@jarronb/site-mapper");

const config = {
  // debug mode for indexer
  debug: false,
  url: {
    protocol: "http://",
    host: "localhost", // or www.sample.com
    port: "3000", // or can be null or ""
  },
  // launch options for puppeteer
  launchOptions: {
    headless: true,
    args: ["--start-maximized"],
  },
  // puppeteer page load event
  // https://pptr.dev/#?product=Puppeteer&version=v5.2.1&show=api-class-page
  page: {
    waitUnitl: "load",
  },
  siteMap: {
    outpath: "sitemap.xml",
  },
  urlDetails: {
    index: {
      priority: 1.0,
      changefreq: "always",
    },
    "/blog": {
      priority: 0.7,
    },
  },
};

const func = async () => {
  let s = new siteMapper(config);
  const indexed = await s.indexer();
  await s.fileWriter(indexed);
};

func();
```

### Read more [here](https://github.com/jarronb/site-mapper#readme)
npm package: @jarronb/web-components
Description: JarronB web component library
Author: jarronb
Latest version: 0.0.1

# `@jarronb/web-component`

Site-mapper is a package used to generate a XML sitemap utilizing [puppeteer-core](https://www.npmjs.com/package/puppeteer-core)

## Example Usage

```

### Read more [here](https://github.com/jarronb/web-component#readme)