open-index/open-npm huggingface dataset:
npm package: @mochajs/json-file-reporter
Description: JSON file reporter for Mocha
Author: Munieru
Latest version: 1.3.0

[![npm version](https://badge.fury.io/js/%40mochajs%2Fjson-file-reporter.svg)](https://badge.fury.io/js/%40mochajs%2Fjson-file-reporter)
[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

# @mochajs/json-file-reporter
JSON file reporter for Mocha

## Installation
```sh
$ npm i -D @mochajs/json-file-reporter
```

## Usage
Use `--reporter` in your test command.

```json
{
  "scripts": {
    "test": "mocha --reporter @mochajs/json-file-reporter"
  }
}
```

Or, add `reporter` to your configuration file.

```json
{
  "reporter": "@mochajs/json-file-reporter"
}
```

## Options
### output
By default, it will output to `report.json`. To write to other file, use `--reporter-options` in your test command.

```json
{
  "scripts": {
    "test": "mocha --reporter @mochajs/json-file-reporter --reporter-options output=filename.json"
  }
}
```

Or, add `reporter-option` to your configuration file.

```json
{
  "reporter": "@mochajs/json-file-reporter",
  "reporter-option": [
    "output=filename.json"
  ]
}
```
npm package: @mochajs/multi-reporter
Description: Multiple reporter for Mocha
Author: Munieru
Latest version: 1.1.0

[![npm version](https://badge.fury.io/js/%40mochajs%2Fmulti-reporter.svg)](https://badge.fury.io/js/%40mochajs%2Fmulti-reporter)
[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

# @mochajs/multi-reporter
Multiple reporter for Mocha

## Installation
```sh
$ npm i -D @mochajs/multi-reporter
```

## Usage
Use `--reporter` in your test command.

```json
{
  "scripts": {
    "test": "mocha --reporter @mochajs/multi-reporter"
  }
}
```

Or, add `reporter` to your configuration file.

```json
{
  "reporter": "@mochajs/multi-reporter"
}
```

Create `.reporters.json` file.

```json
{
  "spec": true,
  "xunit": {
    "output": "report.xml"
  }
}
```

## Options
### config
By default, it will use `.reporters.json` as config file. To use other file, use `--reporter-options` in your test command.

```json
{
  "scripts": {
    "test": "mocha --reporter @mochajs/multi-reporter --reporter-options config=filename.json"
  }
}
```

Or, add `reporter-option` to your configuration file.

```json
{
  "reporter": "@mochajs/multi-reporter",
  "reporter-option": [
    "config=filename.json"
  ]
}
```
npm package: @mochajs/renovate-config
Description: Shareable Config Presets for Renovate
Latest version: 1.3.1

[![npm version](https://badge.fury.io/js/%40mochajs%2Frenovate-config.svg)](https://badge.fury.io/js/%40mochajs%2Frenovate-config)

# @mochajs/renovate-config

Shareable Config Presets for Renovate

## Usage

```json
{
  "extends": [
    "@mochajs"
  ]
}
```
npm package: @mochen/muse
Description: 工程级前端构建工具
Author: mochen
Latest version: 1.0.11

# muse

工程级前端构建工具

## [更新日志](./CHANGELOG.md)

## 安装

```bash
npm install -g @mochen/muse
```
OR
```bash
sudo npm install -g @mochen/muse --unsafe-perm
```

## 项目目录约束

```
.
├── README.md
├── dist
│   └── front
│       └── online
└── websrc # 前端源文件
    └── front # 工程名称
        ├── node_modules
        ├── package-lock.json
        ├── package.json
        ├── src # 工程源文件
        │   ├── common # common 不作为页面编译，存放公共文件
        │   └── about # 最终会编译为 about.html, 文件夹内部是他的文件资源
        │       ├── index.html
        │       ├── index.js
        │       └── index.less
        └── stylelint.config.js
```

项目结构建设完毕后。需要先执行两个命令用于初始化项目。

```
muse create muserc
muse create browser
```


## 参数配置

详细参数配置说明，参看[.muserc.js](./config/default/.muserc.js)

## 使用

### Build

```
$ muse build [page]
```

*该命令与`watch`命令互斥，属于两种开发构建模式。*

#### 参数

`[page]`参数不必须，默认为`all`，也即所有页面。

如果`page`不等于`all`，则使用watch模式，进程会一直监听变化，但不会刷新页面，需要手动刷新。

如果`page`等于`all`，在构建之前会清空对应的`dist`目录。

#### 命令

`build`模式下，会生成实体文件。也就意味着，你可以将文件作为后端模板使用。所以这个模式也被用于前后端不分离的项目开发模型。

### Watch

```
$ muse watch [page]
```

*该命令与`build`命令互斥，属于两种开发构建模式。*

#### 参数

`[page]`参数不必须，默认为`all`，也即所有页面。


#### 命令

`watch`模式下，默认会生成本地一个`http server`用于预览。不会产生实体文件。

可以通过配置文件，将其配置为`sock`模式。用于需要`nginx`的项目。可将`sock`在`nginx`反向代理。请求会落到`webpack-dev-server`。`sock`模式需要具备一定的工程思维和必要的`nginx`配置能力。

### Deploy

```
$ muse deploy [page]
```

#### 参数

`[page]`参数不必须，默认为`all`，也即所有页面。

#### 命令

deploy保留了`[page]`参数。但这不意味着`deploy`某一个页面是个正确的行为。

`webpack`在进行多页项目构建时，会针对整个项目做出优化。`deploy`某一个页面，会使得无法对整个项目进行优化。

除非你要debug某个页面，否则，不建议`deploy`单独的页面。

### New

```
$ muse new [page]
```

#### 参数

`[page]`参数必须，需指定一个页面名称。

#### 命令

该命令可快速创建一个页面代码文件夹。如下所示。

该目录规则可以通过`.muserc.js`中的`pagePath`修改。

```
about
└── static
    ├── about.html
    ├── about.js
    └── about.less
```


### Create

```
$ muse create [file]
```

#### 参数

`[file]`参数可选值 ['muse', 'eslint', 'babel', 'postcss', 'stylelint', 'browserlist', 'tsconfig']

#### 命令

muse内置了各种rc文件，如果需要个性化，可以自己生成rc文件到项目中，自行修改。

### Lint

```
$ muse lint [fix]
```

#### 参数

`[fix]` 非必须，可选值['fix']

#### 命令

代码检测，根据`.muserc.js`中的配置进行`js/css`代码检测。增加`fix`参数，可自动修复一些可以被自动修复的错误。

### Lint:fix

```
$ muse lint:fix
```

#### 命令

`muse lint fix`的别名
npm package: @mochen/qss
Description: Manage your ssh connection with Qss
Author: mochen
Latest version: 3.0.1

# Quick-SSH@V3

Only use for Public Key unavailable.

Probably don't need `Quick SSH`, If you can use Public Key for login.

## Usage

```shell
npm install -g @mochen/qss
```

#### add a user or host

```shell
qss add
```

#### manage user or host

```shell
qss admin
```

#### show local config

```show
qss show
```

#### list all host and select login

```shell
qss
```

Config File at `$HOME/.qss/config`
npm package: @mochen/toolkit
Description: CLI Toolkit
Author: mochen
Latest version: 0.1.3

<div align="center">
  <h1>
    <br/>
    🧰
    <br />
    <br />
    @mochen/toolkit
    <br />
    <br />
  </h1>
  <br />
  <pre>npm i <a href="https://www.npmjs.com/package/@mochen/toolkit">@mochen/toolkit</a></pre>
  <br/>
  <br />
  <br />
</div>


## logger

```
import { getLogger } from '../logger';

getLogger({ name: 'ToolKit' }).info('Hello');
```

## secure.file

```
import { getLogger } from '../secure.file';

const seFile = getSecureFile('mycli');

seFile.setConfig({
  a: 1,
  b: 2,
});

console.log('x', seFile.getConfig());
```
npm package: @mochen/yuumi
Description: Toolkit for js development
Author: mochen
Latest version: 1.1.1

<div align="center">
  <h1>
    <br/>
    🧰
    <br />
    <br />
    @mochen/yuumi
    <br />
    <br />
  </h1>
  <sup>
    <br />
    <a href="https://www.npmjs.com/package/@mochen/yuumi">
      <img src="https://img.shields.io/npm/v/@mochen/yuumi.svg" alt="npm package" />
    </a>
    <a href="https://codecov.io/gh/imochen/yuumi">
      <img src="https://codecov.io/gh/imochen/yuumi/branch/master/graph/badge.svg" alt="CircleCI master" />
    </a>
    <a href="https://imochen.github.io/yuumi/">
      <img src="https://img.shields.io/badge/document-published-brightgreen" alt="npm downloads" />
    </a>
    <br />
  </sup>
  <br />
  <pre>npm i <a href="https://www.npmjs.com/package/@mochen/yuumi">@mochen/yuumi</a></pre>
  <br />
  <br />
</div>

- **Parser/Formatter**
  - [`queries`](https://imochen.github.io/yuumi/modules/_queries_.html) &mdash; Parse url query to JSON object or stringify JSON object to url query.
  - [`filenames`](https://imochen.github.io/yuumi/modules/_filenames_.html) &mdash; Split filename to name and extions.
  - [`bytes`](https://imochen.github.io/yuumi/modules/_bytes_.html) &mdash; Transform bytes number to readable string.
  - [`dates`](https://imochen.github.io/yuumi/modules/_dates_.html) &mdash; Convert date or date string to specified format.
- **Side-Effects**
  - [`cookies`](https://imochen.github.io/yuumi/modules/_cookies_.html) &mdash; Operation cookies in broswer.
- **Functional**
  - [`once`](https://imochen.github.io/yuumi/modules/_once_.html) &mdash; Return a function only can run noce.
  - [`poll`](https://imochen.github.io/yuumi/modules/_poll_.html) &mdash; Repeat run function until return true.
npm package: @mochenya/code_input
Description: this is input for code highlight.
Author: MoChenYa
Latest version: 1.0.1

<h1 align="center">code_input</h1>

<p align="center">
本项目是一个适用于 <code>vue2</code> 和 <code>vue3</code> 的代码高亮输入框组件，轻量高速且只支持高亮及编辑功能，不支持代码检查等其他功能。
</p>

<center>
  <img src="./docs/example.png" alt="示例">
</center>

## 🍔使用

### 🫖下载包

`npm` 方式：

```bash
npm install @mochenya/code_input -D
```

`yarn` 方式：

```bash
yarn add @mochenya/code_input
```

### 🍳配置

#### 🥯vue2 配置

在 `vue2` 项目的 `main.js` 添加以下内容：

```js
// 引入 code_input
import CodeInput from "@mochenya/code_input";
// 引入样式表
import "@mochenya/code_input/dist/code-input.css";
// 使用 code_input
Vue.use(CodeInput);
```

在需要使用 `code_input` 的组件中使用以下代码：

```html
<template>
  <div>
    <code-input v-model="codeData"/>
  </div>
</template>
```

#### 🧀vue3 配置

在 `vue3` 项目的 `main.js` 添加以下内容：

```js
// TODO 待完成
```

## 🍜License

[MIT](./LICENSE)
npm package: @mochi-css/core
Description: This package is part of the [Mochi-CSS project](https://github.com/Niikelion/mochi-css). It provides shared low-level utilities used across Mochi-CSS packages.
Latest version: 4.0.0

# 🧁 Mochi-CSS/core

This package is part of the [Mochi-CSS project](https://github.com/Niikelion/mochi-css).
It provides shared low-level utilities used across Mochi-CSS packages.

> **Note:** This is an internal package. You do not need to install it directly — it is a transitive dependency of `@mochi-css/vanilla` and `@mochi-css/builder`.

---

## API

### `shortHash(input: string): string`

Returns a short URL-safe base-62 hash of the input string. Used internally for generating stable class name suffixes and file hashes.

### `numberToBase62(n: number): string`

Converts a non-negative integer to a base-62 string (`[0-9A-Za-z]`).
npm package: @mochi-css/postcss
Description: This package is part of the [Mochi-CSS project](https://github.com/Niikelion/mochi-css). It integrates static style extraction into your PostCSS builds.
Latest version: 4.0.2

# 🧁 Mochi-CSS/postcss

This package is part of the [Mochi-CSS project](https://github.com/Niikelion/mochi-css).
It integrates static style extraction into your PostCSS builds.

## Installation

```bash
npm i @mochi-css/postcss --save-dev
```

---

## Setup

Add the plugin to your PostCSS config:

```js
// postcss.config.js
module.exports = {
    plugins: {
        '@mochi-css/postcss': {}
    }
}
```

Then create a `src/globals.css` file and import it in your project entry point.
The plugin will scan your source files and inject all extracted global styles into that file at build time.

---

## Options

Most options are read automatically from `mochi.config.ts`.
See [`@mochi-css/config`](../config/README.md) for the full list.

The following options are specific to the PostCSS plugin:

| Option      | Type      | Default             | Description                                                                            |
|-------------|-----------|---------------------|----------------------------------------------------------------------------------------|
| `globalCss` | `RegExp`  | `/\/globals\.css$/` | Pattern that identifies the global CSS file to insert styles into                      |
| `tmpDir`    | `string`  | -                   | When set, writes per-file CSS and a manifest to this directory (enables CSS splitting) |

### `globalCss`

Controls where Mochi-CSS inserts global styles. Useful when your globals file has a non-standard name or path:

```js
'@mochi-css/postcss': { globalCss: /\/base\.css$/ }
```

### `tmpDir` — CSS splitting

When `tmpDir` is set, the plugin additionally writes per-source-file CSS to disk instead of inlining everything into the globals file.
This enables framework integrations (e.g. `@mochi-css/vite`, `@mochi-css/next`) to load only the styles needed for the current route.

```js
'@mochi-css/postcss': { tmpDir: '.mochi' }
```

After each build the output directory contains:

```
.mochi/
  global.css        ← global styles (from globalCss())
  <hash>.css        ← per-source-file styles
  manifest.json     ← maps source file paths → CSS file paths
```

`manifest.json` format:

```json
{
    "global": "/abs/path/.mochi/global.css",
    "files": {
        "/abs/path/src/components/Button.tsx": "/abs/path/.mochi/a1b2c3d4.css"
    }
}
```
npm package: @mochi-css/stitches-builder
Description: This package is part of the [Mochi-CSS project](https://github.com/Niikelion/mochi-css). It provides the build-side CSS extraction for `@mochi-css/stitches` — a `MochiPlugin` and extractor/generator set that statically extracts styles written with the Sti
Latest version: 0.1.2

# 🧁 Mochi-CSS/stitches-builder

This package is part of the [Mochi-CSS project](https://github.com/Niikelion/mochi-css).
It provides the build-side CSS extraction for `@mochi-css/stitches` — a `MochiPlugin` and extractor/generator set that statically extracts styles written with the Stitches-compatible API.

---

## Installation

```bash
npm i -D @mochi-css/stitches-builder
```

---

## Setup

Add `stitchesPlugin()` to your `mochi.config.ts`:

```typescript
// mochi.config.ts
import { defineConfig } from "@mochi-css/config"
import { stitchesPlugin } from "@mochi-css/stitches-builder"

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

This is the only setup required. The plugin registers all the extractors and generators needed to process `createStitches` calls at build time.

---

## How it works

`stitchesPlugin()` wraps `createExtractorsPlugin([createStitchesExtractor])`. The `StitchesExtractor` is a derived extractor — it matches `createStitches(config)` calls and produces five child extractors (one per returned function: `css`, `styled`, `keyframes`, `globalCss`, `createTheme`). Each child extractor has its own generator that runs the same preprocessing pipeline as the runtime (`expandUtils` → `expandBreakpoints` → `resolveScopedTokens` → `resolveTokens`), ensuring build-time class names match runtime class names exactly.

---

## API

### `stitchesPlugin()`

Returns a `MochiPlugin` that registers `createStitchesExtractor` via `createExtractorsPlugin`.

```typescript
import { stitchesPlugin } from "@mochi-css/stitches-builder"
```

### `createStitchesExtractor`

The root `StyleExtractor` for `createStitches`. Pass to `createExtractorsPlugin` if you need to compose it manually:

```typescript
import { createExtractorsPlugin } from "@mochi-css/plugins"
import { createStitchesExtractor } from "@mochi-css/stitches-builder"

const plugin = createExtractorsPlugin([createStitchesExtractor])
```

### Individual generators

Exported for advanced use cases:

| Export | Description |
|--------|-------------|
| `StitchesGenerator` | Root generator for `createStitches(config)` |
| `StitchesCssGenerator` | Generator for `css()` / `styled()` — runs the full preprocess pipeline |
| `StitchesGlobalCssGenerator` | Generator for `globalCss()` |
| `StitchesKeyframesGenerator` | Generator for `keyframes()` |
| `StitchesCreateThemeGenerator` | Generator for `createTheme()` — emits `.th-xxx { --token: value; }` |
npm package: @mochi-css/tsuki
Description: This package is part of the [Mochi-CSS project](https://github.com/Niikelion/mochi-css). It provides installer for Mochi-CSS that adds it to your project.
Latest version: 4.0.2

# 🧁 Mochi-CSS/tsuki

This package is part of the [Mochi-CSS project](https://github.com/Niikelion/mochi-css).
It provides installer for Mochi-CSS that adds it to your project.

You can run it with:

```bash
npx @mochi-css/tsuki
```

`tsuki` handles installing integrations for next.js and vite frameworks.
To get more info, run it with `-h` or `--help` option.

## What `tsuki` sets up

During initialization, `tsuki` installs the required packages and creates a `mochi.config.ts` file in your project root.
This file is the single place to configure all Mochi-CSS options (`roots`, `plugins`, `splitCss`, etc.) - all integrations load it automatically.

## Presets

Use the `--preset` / `-p` flag to choose a framework preset non-interactively:

```bash
npx @mochi-css/tsuki --preset vite
npx @mochi-css/tsuki --preset nextjs
```

If `-p` is omitted, `tsuki` will prompt you to select a preset interactively.
npm package: @mochi-css/vanilla-react
Description: This package is part of the [Mochi-CSS project](https://github.com/Niikelion/mochi-css). It provides the `styled` utility for creating type-safe styled React components.
Latest version: 4.0.0

# 🧁 Mochi-CSS/react

This package is part of the [Mochi-CSS project](https://github.com/Niikelion/mochi-css).
It provides the `styled` utility for creating type-safe styled React components.

## Installation

```bash
npm i @mochi-css/react
```

---

## `styled(component, ...styles)`

`styled` creates a React component by combining a base element or component with Mochi-CSS style definitions.
Variant props are automatically extracted, applied as class names, and never forwarded to the underlying element.

```tsx
import { css } from "@mochi-css/vanilla"
import { styled } from "@mochi-css/react"

const Button = styled("button", {
    padding: "8px 16px",
    borderRadius: 4,
    border: "none",
    cursor: "pointer",
})

// <Button>Click me</Button>
```

### With variants

Pass a style object with a `variants` key to generate typed variant props:

```tsx
import { styled } from "@mochi-css/react"

const Button = styled("button", {
    padding: "8px 16px",
    borderRadius: 4,
    variants: {
        intent: {
            primary: { backgroundColor: "blue", color: "white" },
            danger:  { backgroundColor: "red",  color: "white" },
        },
        size: {
            small: { fontSize: 12, padding: "4px 8px" },
            large: { fontSize: 18, padding: "12px 24px" },
        },
    },
    defaultVariants: {
        intent: "primary",
        size:   "small",
    },
})

// <Button intent="danger" size="large">Delete</Button>
```

### With a shared `css()` style

Pass a `MochiCSS` object (the return value of `css()`) to share styles across multiple components:

```tsx
import { css } from "@mochi-css/vanilla"
import { styled } from "@mochi-css/react"

const baseButton = css({
    borderRadius: 4,
    border: "none",
    cursor: "pointer",
})

const PrimaryButton = styled("button", baseButton, {
    backgroundColor: "blue",
    color: "white",
})

const SecondaryButton = styled("button", baseButton, {
    backgroundColor: "gray",
    color: "white",
})
```

### Component targeting

Each styled component has a `.selector` getter (and a `toString()` that returns the same value) for use in parent component styles:

```tsx
const Icon = styled("span", { marginRight: 4 })

const Button = styled("button", {
    display: "flex",

    // target Icon inside Button
    [`${Icon} &`]: { color: "inherit" },
})
```

### Styling an existing component

`styled` accepts any React component that accepts a `className` prop:

```tsx
import { Link } from "react-router-dom"

const NavLink = styled(Link, {
    color: "inherit",
    textDecoration: "none",
    "&:hover": { textDecoration: "underline" },
})
```

---

## Type exports

| Export                 | Description                                    |
|------------------------|------------------------------------------------|
| `MochiStyledComponent` | The type of a component returned by `styled()` |
npm package: @mochi-css/vite
Description: This package is part of the [Mochi-CSS project](https://github.com/Niikelion/mochi-css). It integrates compile-time CSS-in-JS into your Vite builds.
Latest version: 4.0.2

# 🧁 Mochi-CSS/vite

This package is part of the [Mochi-CSS project](https://github.com/Niikelion/mochi-css).
It integrates compile-time CSS-in-JS into your Vite builds.

## Installation

```bash
npm i @mochi-css/vanilla @mochi-css/react
npm i -D @mochi-css/vite
```

> `@mochi-css/builder` and `@mochi-css/config` install transitively and do not need to be listed explicitly.

---

## Setup

### 1. `mochi.config.ts`

Create a config file in your project root:

```typescript
// mochi.config.ts
import { defineConfig } from "@mochi-css/config"

export default defineConfig({
    roots: ["src"],
})
```

See [`@mochi-css/config`](../config/README.md) for the full list of shared options.

### 2. `vite.config.ts`

Add the plugin to your Vite config:

```typescript
// vite.config.ts
import { defineConfig } from "vite"
import { mochiCss } from "@mochi-css/vite"

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

The plugin reads all options from `mochi.config.ts` automatically.

---

## How It Works

The plugin runs during Vite's build phase:

1. **`configResolved`** - loads and resolves `mochi.config.ts`
2. **`buildStart`** - scans source files, extracts styles, and builds an in-memory CSS manifest
3. **`transform`** - injects CSS import statements into source files that have extracted styles
4. **`load`** - serves virtual CSS modules (`virtual:mochi-css/...`) from the in-memory manifest

Per-file styles are served as virtual modules, so each component only loads the CSS it needs.
Global styles (from `globalCss()`) are served as `virtual:mochi-css/global.css` and deduplicated by the bundler.

---

## Options

Most options are read automatically from `mochi.config.ts`.
See [`@mochi-css/config`](../config/README.md) for the full list.

The following options are specific to the Vite plugin and can be passed inline to `mochiCss()`:

| Option     | Type            | Description                                                                 |
|------------|-----------------|-----------------------------------------------------------------------------|
| `bundler`  | `Bundler`       | Override the bundler used for style extraction (default: `RolldownBundler`) |
| `runner`   | `Runner`        | Override the code runner used for style extraction (default: `VmRunner`)    |
| `plugins`  | `MochiPlugin[]` | Additional Mochi plugins, merged with those from `mochi.config.ts`. Plugins may register source transforms via `onLoad(context)`. |

```typescript
import { mochiCss } from "@mochi-css/vite"
import { styledIdPlugin } from "@mochi-css/config"
import { myExtractor } from "./myExtractor"

export default defineConfig({
    plugins: [
        mochiCss({
            plugins: [styledIdPlugin([myExtractor])],
        }),
    ],
})
```

> Prefer setting options in `mochi.config.ts` - inline options override the file config but are not shared with other integrations.
npm package: @mochi-inc-japan/plugin-algolia-tools-firestore
Description: Auto cli generator for general usage algolia from node. This library mainly targets typescript but may be available as js module.
Author: tkow
Latest version: 3.0.3

## @mochi-inc-japan/plugin-algolia-tools-firestore

Auto cli generator for general usage algolia from node.
This library mainly targets typescript but may be available as js module.

## Usage

Add algolia-tools.config.js in your project aloglia-tools-cli-generator.

```typescript
const Plugins = require('@mochi-inc-japan/plugin-algolia-tools-firestore')
module.exports = {
  plugins: [Plugins.FirestorePlugin], // or plugins: [[Plugins.FirestorePlugin, {optinos}]]
  commanderPlugins: [Plugins.FirestoreCommanderPlugin],
}
```

### Extension for Commander

If you use commader, you can extend it by defined commands in this library.

```ts
import AlgoliaModule from '@mochi-inc-japan/algolia-tools'
import { createAlgoliaCommanderPlugin } from '@mochi-inc-japan/algolia-cli-tools'
import { createAlgoliaCommanderPlugin } from '@mochi-inc-japan/plugin-algolia-tools-firestore'
import indexManagers from './algoliaIndexManager'
import commander from 'commander'

const algoliaModule = AlgoliaModule(
  {
    client,
    indexNamespace,
  },
  indexManagers,
  {
    plugin: [FirestorePlugin], // or plugins: [[FirestorePlugin, {optinos}]]
  }
)

const algoliaProjectManager = new AlgoliaProjectManager(algoliaModule)

// extended to commander commands
createAlgoliaCommanderPlugin(algoliaProjectManager)(commander)
createFirestoreCommanderPlugin(algoliaProjectManager.algoliaModule)(commander) // optional if you use firestore
```
npm package: @mochi-ui/accordion
Description: Accordion component displays a list of high-level options that can expand/collapse to reveal more information.
Latest version: 0.1.26

# @mochi-ui/accordion

Accordion component displays a list of high-level options that can
expand/collapse to reveal more information.

For further details, visit our
[Accordion Documentation](https://ds.mochiui.com/?path=/docs/components-accordion--docs).

## Installation

Feel free to use the package manager of your choice:

```sh
# Using PNPM
pnpm i @mochi-ui/accordion

# Using NPM
npm i @mochi-ui/accordion

# Using Yarn
yarn add @mochi-ui/accordion
```

## Contribution

We welcome your contributions! For guidance on how to contribute, please refer
to our [Contribution Guidelines](/CONTRIBUTING.md).

## Licence

This project is licensed under the terms of the
[MIT license](https://choosealicense.com/licenses/mit/).
npm package: @mochi-ui/alert
Description: Alert component efficiently communicates essential information, warnings or errors to users.
Latest version: 1.2.16

# @mochi-ui/alert

Alert component efficiently communicates essential information, warnings or
errors to users.

For further details, visit our
[Alert Documentation](https://ds.mochiui.com/?path=/docs/components-alert--docs).

## Installation

Feel free to use the package manager of your choice:

```sh
# Using PNPM
pnpm i @mochi-ui/alert

# Using NPM
npm i @mochi-ui/alert

# Using Yarn
yarn add @mochi-ui/alert
```

## Contribution

We welcome your contributions! For guidance on how to contribute, please refer
to our [Contribution Guidelines](/CONTRIBUTING.md).

## Licence

This project is licensed under the terms of the
[MIT license](https://choosealicense.com/licenses/mit/).
npm package: @mochi-ui/avatar
Description: Avatar component is used to represent a user, and displays the profile picture, initials or fallback icon.
Latest version: 0.3.7

# @mochi-ui/avatar

Avatar component is used to represent a user, and displays the profile picture,
initials or fallback icon.

For further details, visit our
[Avatar Documentation](https://ds.mochiui.com/?path=/docs/components-avatar--docs).

## Installation

Feel free to use the package manager of your choice:

```sh
# Using PNPM
pnpm i @mochi-ui/avatar

# Using NPM
npm i @mochi-ui/avatar

# Using Yarn
yarn add @mochi-ui/avatar
```

## Contribution

We welcome your contributions! For guidance on how to contribute, please refer
to our [Contribution Guidelines](/CONTRIBUTING.md).

## Licence

This project is licensed under the terms of the
[MIT license](https://choosealicense.com/licenses/mit/).
npm package: @mochi-ui/avatar-group
Description: Avatar Group component displays a collection of Avatar components, offering a clean and organized presentation of user representations within your application.
Latest version: 0.3.10

# @mochi-ui/avatar-group

Avatar Group component displays a collection of Avatar components, offering a
clean and organized presentation of user representations within your
application.

For further details, visit our
[Avatar Documentation](https://ds.mochiui.com/?path=/docs/media-icons-avatar--docs#avatar-group).

## Installation

Feel free to use the package manager of your choice:

```sh
# Using PNPM
pnpm i @mochi-ui/avatar-group

# Using NPM
npm i @mochi-ui/avatar-group

# Using Yarn
yarn add @mochi-ui/avatar-group
```

## Contribution

We welcome your contributions! For guidance on how to contribute, please refer
to our [Contribution Guidelines](/CONTRIBUTING.md).

## Licence

This project is licensed under the terms of the
[MIT license](https://choosealicense.com/licenses/mit/).
npm package: @mochi-ui/badge
Description: Badge component is used as a small numerical value or status descriptor for UI elements.
Latest version: 0.3.9

# @mochi-ui/badge

Badge component is used as a small numerical value or status descriptor for UI
elements.

For further details, visit our
[Badge Documentation](https://ds.mochiui.com/?path=/docs/components-badge--docs).

## Installation

Feel free to use the package manager of your choice:

```sh
# Using PNPM
pnpm i @mochi-ui/badge

# Using NPM
npm i @mochi-ui/badge

# Using Yarn
yarn add @mochi-ui/badge
```

## Contribution

We welcome your contributions! For guidance on how to contribute, please refer
to our [Contribution Guidelines](/CONTRIBUTING.md).

## Licence

This project is licensed under the terms of the
[MIT license](https://choosealicense.com/licenses/mit/).
npm package: @mochi-ui/button
Description: Button component allows users to perform actions and choose with a single tap.
Latest version: 0.4.22

# @mochi-ui/button

Button component allows users to perform actions and choose with a single tap.

For further details, visit our
[Button Documentation](https://ds.mochiui.com/?path=/docs/components-button--docs).

## Installation

Feel free to use the package manager of your choice:

```sh
# Using PNPM
pnpm i @mochi-ui/button

# Using NPM
npm i @mochi-ui/button

# Using Yarn
yarn add @mochi-ui/button
```

## Contribution

We welcome your contributions! For guidance on how to contribute, please refer
to our [Contribution Guidelines](/CONTRIBUTING.md).

## Licence

This project is licensed under the terms of the
[MIT license](https://choosealicense.com/licenses/mit/).
npm package: @mochi-ui/card
Description: ...
Author: @consolelabs
Latest version: 0.1.12

# @mochi-ui/card

The Card component provides a flexible and extensible container for displaying
content

> This is an internal utility, not intended for public usage.

For further details, visit our
[Card Documentation](https://ds.mochiui.com/?path=/docs/data-display-card--docs).

## Installation

Feel free to use the package manager of your choice:

```sh
# Using PNPM
pnpm i @mochi-ui/card

# Using NPM
npm i @mochi-ui/card

# Using Yarn
yarn add @mochi-ui/card
```

## Contribution

We welcome your contributions! For guidance on how to contribute, please refer
to our [Contribution Guidelines](/CONTRIBUTING.md).

## Licence

This project is licensed under the terms of the
[MIT license](https://choosealicense.com/licenses/mit/).
npm package: @mochi-ui/checkbox
Description: Checkbox component allows users to select multiple items from a list of individual items, or to mark one individual item as selected.
Latest version: 0.1.26

# @mochi-ui/checkbox

Checkbox component allows users to select multiple items from a list of
individual items, or to mark one individual item as selected.

For further details, visit our
[Checkbox Documentation](https://ds.mochiui.com/?path=/docs/components-checkbox--docs).

## Installation

Feel free to use the package manager of your choice:

```sh
# Using PNPM
pnpm i @mochi-ui/checkbox

# Using NPM
npm i @mochi-ui/checkbox

# Using Yarn
yarn add @mochi-ui/checkbox
```

## Contribution

We welcome your contributions! For guidance on how to contribute, please refer
to our [Contribution Guidelines](/CONTRIBUTING.md).

## Licence

This project is licensed under the terms of the
[MIT license](https://choosealicense.com/licenses/mit/).
npm package: @mochi-ui/connect-wallet-widget
Description: Widget to connect wallets of various chains
Author: @consolelabs
Latest version: 0.0.6

# @mochi-ui/connect-wallet-widget

The ConnectWalletWidget component is used for ...

> This is an internal utility, not intended for public usage.

For further details, visit our
[ConnectWalletWidget Documentation](https://ds.mochiui.com/?path=/docs/components-connect-wallet-widget--docs).

## Installation

Feel free to use the package manager of your choice:

```sh
# Using PNPM
pnpm i @mochi-ui/connect-wallet-widget

# Using NPM
npm i @mochi-ui/connect-wallet-widget

# Using Yarn
yarn add @mochi-ui/connect-wallet-widget
```

## Contribution

We welcome your contributions! For guidance on how to contribute, please refer
to our [Contribution Guidelines](/CONTRIBUTING.md).

## Licence

This project is licensed under the terms of the
[MIT license](https://choosealicense.com/licenses/mit/).
npm package: @mochi-ui/content-editable
Description: React component for a div with editable contents
Author: @consolelabs
Latest version: 1.1.14

# @mochi-ui/content-editable

The ContentEditable component is used for a div with editable contents

> This is an internal utility, not intended for public usage.

For further details, visit our
[ContentEditable Documentation](https://ds.mochiui.com/?path=/docs/form-content-editable--docs).

## Installation

Feel free to use the package manager of your choice:

```sh
# Using PNPM
pnpm i @mochi-ui/content-editable

# Using NPM
npm i @mochi-ui/content-editable

# Using Yarn
yarn add @mochi-ui/content-editable
```

## Contribution

We welcome your contributions! For guidance on how to contribute, please refer
to our [Contribution Guidelines](/CONTRIBUTING.md).

## Licence

This project is licensed under the terms of the
[MIT license](https://choosealicense.com/licenses/mit/).
npm package: @mochi-ui/core
Description: The core package includes all essential components and elements required for developing React web applications using the Mochi design system.
Latest version: 0.14.3

# @mochi-ui/core

The core package includes all essential components and elements required for
developing React web applications using the Mochi design system.

For further details, visit our
[Setup Documentation](https://ds.mochiui.com/?path=/docs/introduction-installation--docs).

## Installation

Feel free to use the package manager of your choice:

```sh
# Using PNPM
pnpm i @mochi-ui/core

# Using NPM
npm i @mochi-ui/core

# Using Yarn
yarn add @mochi-ui/core
```

## Contribution

We welcome your contributions! For guidance on how to contribute, please refer
to our [Contribution Guidelines](/CONTRIBUTING.md).

## Licence

This project is licensed under the terms of the
[MIT license](https://choosealicense.com/licenses/mit/).
npm package: @mochi-ui/drawer
Description: Drawer component offers a space-saving solution for displaying additional content or options with smooth sliding transitions.
Latest version: 0.3.13

# @mochi-ui/drawer

Drawer component offers a space-saving solution for displaying additional
content or options with smooth sliding transitions.

For further details, visit our
[Modal Documentation](https://ds.mochiui.com/?path=/docs/overlay-drawer--docs).

## Installation

Feel free to use the package manager of your choice:

```sh
# Using PNPM
pnpm i @mochi-ui/drawer

# Using NPM
npm i @mochi-ui/drawer

# Using Yarn
yarn add @mochi-ui/drawer
```

## Contribution

We welcome your contributions! For guidance on how to contribute, please refer
to our [Contribution Guidelines](/CONTRIBUTING.md).

## Licence

This project is licensed under the terms of the
[MIT license](https://choosealicense.com/licenses/mit/).
npm package: @mochi-ui/dropdown
Description: Dropdown component displays list of actions or options that a user can choose.
Latest version: 0.2.13

# @mochi-ui/dropdown

Dropdown component displays list of actions or options that a user can choose.

For further details, visit our
[Dropdown Documentation](https://ds.mochiui.com/?path=/docs/components-dropdown--docs).

## Installation

Feel free to use the package manager of your choice:

```sh
# Using PNPM
pnpm i @mochi-ui/dropdown

# Using NPM
npm i @mochi-ui/dropdown

# Using Yarn
yarn add @mochi-ui/dropdown
```

## Contribution

We welcome your contributions! For guidance on how to contribute, please refer
to our [Contribution Guidelines](/CONTRIBUTING.md).

## Licence

This project is licensed under the terms of the
[MIT license](https://choosealicense.com/licenses/mit/).
npm package: @mochi-ui/footer
Description: ...
Author: @consolelabs
Latest version: 0.1.15

# @mochi-ui/footer

The Footer component is used for display site information and navigation on the
bottom of your site.

For further details, visit our
[Footer Documentation](https://ds.mochiui.com/?path=/docs/layout-footer--docs).

## Installation

Feel free to use the package manager of your choice:

```sh
# Using PNPM
pnpm i @mochi-ui/footer

# Using NPM
npm i @mochi-ui/footer

# Using Yarn
yarn add @mochi-ui/footer
```

## Contribution

We welcome your contributions! For guidance on how to contribute, please refer
to our [Contribution Guidelines](/CONTRIBUTING.md).

## Licence

This project is licensed under the terms of the
[MIT license](https://choosealicense.com/licenses/mit/).
npm package: @mochi-ui/heading
Description: Represents heading within the application.
Latest version: 0.0.6

# @mochi-ui/heading

Represents heading within the application.

For further details, visit our
[Heading Documentation](https://ds.console.so/?path=/story/components-heading--default).

## Installation

Feel free to use the package manager of your choice:

```sh
# Using PNPM
pnpm i @mochi-ui/heading

# Using NPM
npm i @mochi-ui/heading

# Using Yarn
yarn add @mochi-ui/heading
```

## Contribution

We welcome your contributions! For guidance on how to contribute, please refer
to our [Contribution Guidelines](/CONTRIBUTING.md).

## Licence

This project is licensed under the terms of the
[MIT license](https://choosealicense.com/licenses/mit/).
npm package: @mochi-ui/icon-button
Description: Icon Button component is the button adorned with an easily recognizable icon.
Latest version: 0.4.23

# @mochi-ui/icon-button

Icon Button component is the button adorned with an easily recognizable icon.

For further details, visit our
[Icon Button Documentation](https://ds.mochiui.com/?path=/docs/components-iconbutton--docs).

## Installation

Feel free to use the package manager of your choice:

```sh
# Using PNPM
pnpm i @mochi-ui/icon-button

# Using NPM
npm i @mochi-ui/icon-button

# Using Yarn
yarn add @mochi-ui/icon-button
```

## Contribution

We welcome your contributions! For guidance on how to contribute, please refer
to our [Contribution Guidelines](/CONTRIBUTING.md).

## Licence

This project is licensed under the terms of the
[MIT license](https://choosealicense.com/licenses/mit/).
npm package: @mochi-ui/icons
Description: A set of icons to use in Mochi's design system.
Author: @consolelabs
Latest version: 0.8.1

# @mochi-ui/icons

A set of icons to use in Mochi's design system.

For further details, visit our
[Icons Documentation](https://ds.mochiui.com/?path=/docs/icons-list--docs).

## Installation

Feel free to use the package manager of your choice:

```sh
# Using PNPM
pnpm i @mochi-ui/icons

# Using NPM
npm i @mochi-ui/icons

# Using Yarn
yarn add @mochi-ui/icons
```

## Contribution

We welcome your contributions! For guidance on how to contribute, please refer
to our [Contribution Guidelines](/CONTRIBUTING.md).

## Licence

This project is licensed under the terms of the
[MIT license](https://choosealicense.com/licenses/mit/).
npm package: @mochi-ui/input
Description: Input component allows users to enter text. It can be used to get user inputs in forms, search fields, and more.
Latest version: 0.3.11

# @mochi-ui/input

Input component allows users to enter text. It can be used to get user inputs in
forms, search fields, and more.

For further details, visit our
[Input Documentation](https://ds.mochiui.com/?path=/docs/components-input--docs).

## Installation

Feel free to use the package manager of your choice:

```sh
# Using PNPM
pnpm i @mochi-ui/input

# Using NPM
npm i @mochi-ui/input

# Using Yarn
yarn add @mochi-ui/input
```

## Contribution

We welcome your contributions! For guidance on how to contribute, please refer
to our [Contribution Guidelines](/CONTRIBUTING.md).

## Licence

This project is licensed under the terms of the
[MIT license](https://choosealicense.com/licenses/mit/).
npm package: @mochi-ui/input-field
Description: Input Field component allows users to enter text.
Latest version: 0.1.11

# @mochi-ui/input-field

Input Field component allows users to enter text.

For further details, visit our
[Input Field Documentation](https://ds.mochiui.com/?path=/docs/components-inputfield--docs).

## Installation

Feel free to use the package manager of your choice:

```sh
# Using PNPM
pnpm i @mochi-ui/input-field

# Using NPM
npm i @mochi-ui/input-field

# Using Yarn
yarn add @mochi-ui/input-field
```

## Contribution

We welcome your contributions! For guidance on how to contribute, please refer
to our [Contribution Guidelines](/CONTRIBUTING.md).

## Licence

This project is licensed under the terms of the
[MIT license](https://choosealicense.com/licenses/mit/).
npm package: @mochi-ui/layout
Description: Layout component is used for handling the overall layout of a page.
Latest version: 0.1.23

# @mochi-ui/layout

Layout component is used for handling the overall layout of a page.

## Installation

Feel free to use the package manager of your choice:

```sh
# Using PNPM
pnpm i @mochi-ui/layout

# Using NPM
npm i @mochi-ui/layout

# Using Yarn
yarn add @mochi-ui/layout
```

## Contribution

We welcome your contributions! For guidance on how to contribute, please refer
to our [Contribution Guidelines](/CONTRIBUTING.md).

## Licence

This project is licensed under the terms of the
[MIT license](https://choosealicense.com/licenses/mit/).
npm package: @mochi-ui/list
Description: List component structures and displays a collection of items in an organized format.
Latest version: 0.0.34

# @mochi-ui/list

List component structures and displays a collection of items in an organized
format.

For further details, visit our
[List Documentation](https://ds.mochiui.com/?path=/docs/components-list--docs).

## Installation

Feel free to use the package manager of your choice:

```sh
# Using PNPM
pnpm i @mochi-ui/list

# Using NPM
npm i @mochi-ui/list

# Using Yarn
yarn add @mochi-ui/list
```

## Contribution

We welcome your contributions! For guidance on how to contribute, please refer
to our [Contribution Guidelines](/CONTRIBUTING.md).

## Licence

This project is licensed under the terms of the
[MIT license](https://choosealicense.com/licenses/mit/).
npm package: @mochi-ui/login-widget
Description: Login Widget component empowers users with access to the web3 application by offering diverse login options through various web3 wallets.
Latest version: 0.2.1

# @mochi-ui/login-widget

Login Widget component empowers users with access to the web3 application by
offering diverse login options through various web3 wallets.

For further details, visit our
[Login Widget Documentation](https://ds.mochiui.com/?path=/docs/components-loginwidget--docs).

## Installation

Feel free to use the package manager of your choice:

```sh
# Using PNPM
pnpm i @mochi-ui/login-widget

# Using NPM
npm i @mochi-ui/login-widget

# Using Yarn
yarn add @mochi-ui/login-widget
```

## Contribution

We welcome your contributions! For guidance on how to contribute, please refer
to our [Contribution Guidelines](/CONTRIBUTING.md).

## Licence

This project is licensed under the terms of the
[MIT license](https://choosealicense.com/licenses/mit/).
npm package: @mochi-ui/logo
Description: Logo component is used to display the logo and brand name of the application
Latest version: 0.1.21

# @mochi-ui/logo

Logo component is used to display the logo and brand name of the application

For further details, visit our
[Logo Documentation](https://ds.mochiui.com/?path=/docs/components-logo--docs).

## Installation

Feel free to use the package manager of your choice:

```sh
# Using PNPM
pnpm i @mochi-ui/logo

# Using NPM
npm i @mochi-ui/logo

# Using Yarn
yarn add @mochi-ui/logo
```

## Contribution

We welcome your contributions! For guidance on how to contribute, please refer
to our [Contribution Guidelines](/CONTRIBUTING.md).

## Licence

This project is licensed under the terms of the
[MIT license](https://choosealicense.com/licenses/mit/).
npm package: @mochi-ui/mochi-store
Description: Mochi Store serves as a state manager implemented with [Zustand](https://docs.pmnd.rs/zustand/getting-started/introduction), offering essential methods such as connect, login, and logout.
Latest version: 0.0.3

# @mochi-ui/mochi-store

Mochi Store serves as a state manager implemented with
[Zustand](https://docs.pmnd.rs/zustand/getting-started/introduction), offering
essential methods such as connect, login, and logout.

## Installation

Feel free to use the package manager of your choice:

```sh
# Using PNPM
pnpm i @mochi-ui/mochi-store

# Using NPM
npm i @mochi-ui/mochi-store

# Using Yarn
yarn add @mochi-ui/mochi-store
```

## Contribution

We welcome your contributions! For guidance on how to contribute, please refer
to our [Contribution Guidelines](/CONTRIBUTING.md).

## Licence

This project is licensed under the terms of the
[MIT license](https://choosealicense.com/licenses/mit/).
npm package: @mochi-ui/modal
Description: Modal component displays a dialog with a custom content that requires attention or provides additional information.
Latest version: 0.3.13

# @mochi-ui/modal

Modal component displays a dialog with a custom content that requires attention
or provides additional information.

For further details, visit our
[Modal Documentation](https://ds.mochiui.com/?path=/docs/components-modal--docs).

## Installation

Feel free to use the package manager of your choice:

```sh
# Using PNPM
pnpm i @mochi-ui/modal

# Using NPM
npm i @mochi-ui/modal

# Using Yarn
yarn add @mochi-ui/modal
```

## Contribution

We welcome your contributions! For guidance on how to contribute, please refer
to our [Contribution Guidelines](/CONTRIBUTING.md).

## Licence

This project is licensed under the terms of the
[MIT license](https://choosealicense.com/licenses/mit/).
npm package: @mochi-ui/page-content
Description: Page Content component is designed to be utilized alongside the `Layout` component, ensuring a coherent and organized user interface
Latest version: 0.1.21

# @mochi-ui/page-content

Page Content component is designed to be utilized alongside the `Layout`
component, ensuring a coherent and organized user interface

## Installation

Feel free to use the package manager of your choice:

```sh
# Using PNPM
pnpm i @mochi-ui/page-content

# Using NPM
npm i @mochi-ui/page-content

# Using Yarn
yarn add @mochi-ui/page-content
```

## Contribution

We welcome your contributions! For guidance on how to contribute, please refer
to our [Contribution Guidelines](/CONTRIBUTING.md).

## Licence

This project is licensed under the terms of the
[MIT license](https://choosealicense.com/licenses/mit/).
npm package: @mochi-ui/page-header
Description: Page Header component is designed to encapsulate essential details about the current page like page title and description. You can also integrate interactive elements, such as buttons and selects, directly into the header.
Latest version: 0.3.13

# @mochi-ui/page-header

Page Header component is designed to encapsulate essential details about the
current page like page title and description. You can also integrate interactive
elements, such as buttons and selects, directly into the header.

For further details, visit our
[Page Header Documentation](https://ds.mochiui.com/?path=/docs/components-pageheader--docs).

## Installation

Feel free to use the package manager of your choice:

```sh
# Using PNPM
pnpm i @mochi-ui/page-header

# Using NPM
npm i @mochi-ui/page-header

# Using Yarn
yarn add @mochi-ui/page-header
```

## Contribution

We welcome your contributions! For guidance on how to contribute, please refer
to our [Contribution Guidelines](/CONTRIBUTING.md).

## Licence

This project is licensed under the terms of the
[MIT license](https://choosealicense.com/licenses/mit/).
npm package: @mochi-ui/pagination
Description: Pagination component allows you to display active page and navigate between multiple pages.
Latest version: 0.5.5

# @mochi-ui/pagination

Pagination component allows you to display active page and navigate between
multiple pages.

For further details, visit our
[Pagination Documentation](https://ds.mochiui.com/?path=/docs/components-pagination--docs).

## Installation

Feel free to use the package manager of your choice:

```sh
# Using PNPM
pnpm i @mochi-ui/pagination

# Using NPM
npm i @mochi-ui/pagination

# Using Yarn
yarn add @mochi-ui/pagination
```

## Contribution

We welcome your contributions! For guidance on how to contribute, please refer
to our [Contribution Guidelines](/CONTRIBUTING.md).

## Licence

This project is licensed under the terms of the
[MIT license](https://choosealicense.com/licenses/mit/).