open-index/open-npm huggingface dataset:
npm package: @hintwall/commitlint-config
Description: Shareable commitlint config
Latest version: 1.0.2

# @hintwall/commitlint-config

Shareable [commitlint](https://commitlint.js.org/) config

[![npm version badge](https://img.shields.io/npm/v/@hintwall/commitlint-config)](https://www.npmjs.com/package/@hintwall/commitlint-config)
[![npm license badge](https://img.shields.io/npm/l/@hintwall/commitlint-config)](https://www.npmjs.com/package/@hintwall/commitlint-config)
[![semantic-release badge](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)

### Usage

Install package:

```sh
$ npm install --save-dev @commitlint/cli @hintwall/commitlint-config
```

Extend your config file:

```js
// commitlint.config.js
module.exports = {
  extends: ['@hintwall/commitlint-config'],
}
```

### License

See [LICENSE](./LICENSE) file for details.
npm package: @hintwall/eslint-config
Description: Shareable eslint config
Latest version: 1.0.2

# @hintwall/eslint-config

Shareable [eslint](https://eslint.org/) config

[![npm version badge](https://img.shields.io/npm/v/@hintwall/eslint-config)](https://www.npmjs.com/package/@hintwall/eslint-config)
[![npm license badge](https://img.shields.io/npm/l/@hintwall/eslint-config)](https://www.npmjs.com/package/@hintwall/eslint-config)
[![semantic-release badge](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)

### Usage

Install package:

```sh
$ npm install --save-dev eslint @hintwall/eslint-config
```

Extend your config file:

```js
// .eslintrc.js
module.exports = {
  extends: ['@hintwall/eslint-config'],
}
```

### License

See [LICENSE](./LICENSE) file for details.
npm package: @hintwall/eslint-config-react
Description: Shareable eslint config with react support
Latest version: 1.1.1

# @hintwall/eslint-config-react

Shareable [eslint](https://eslint.org/) config with react support

[![npm version badge](https://img.shields.io/npm/v/@hintwall/eslint-config-react)](https://www.npmjs.com/package/@hintwall/eslint-config-react)
[![npm license badge](https://img.shields.io/npm/l/@hintwall/eslint-config-react)](https://www.npmjs.com/package/@hintwall/eslint-config-react)
[![semantic-release badge](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)

### Usage

Install package:

```sh
$ npm install --save-dev eslint @hintwall/eslint-config-react
```

Extend your config file:

```js
// .eslintrc.js
module.exports = {
  extends: ['@hintwall/eslint-config-react'],
}
```

### License

See [LICENSE](./LICENSE) file for details.
npm package: @hintwall/generator-code
Description: Yeoman code generator
Latest version: 1.3.0

# @hintwall/generator-code

[Yeoman](https://yeoman.io/) code generator

[![npm version badge](https://img.shields.io/npm/v/@hintwall/generator-code)](https://www.npmjs.com/package/@hintwall/generator-code)
[![npm license badge](https://img.shields.io/npm/l/@hintwall/generator-code)](https://www.npmjs.com/package/@hintwall/generator-code)
[![semantic-release badge](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)

### Usage

Install yeoman:

```sh
$ npm install -g yo
```

Install package:

```sh
$ npm install -g @hintwall/generator-code
```

Create a directory for your new app:

```sh
$ mkdir my-new-app; cd my-new-app/
```

Generate your app and follow the prompts:

```sh
$ yo @hintwall/code:package-basic
```

### License

See [LICENSE](./LICENSE) file for details.
npm package: @hintwall/prettier-config
Description: Shareable prettier config
Latest version: 1.0.1

# @hintwall/prettier-config

Shareable [prettier](https://prettier.io/) config

[![npm version badge](https://img.shields.io/npm/v/@hintwall/prettier-config)](https://www.npmjs.com/package/@hintwall/prettier-config)
[![npm license badge](https://img.shields.io/npm/l/@hintwall/prettier-config)](https://www.npmjs.com/package/@hintwall/prettier-config)
[![semantic-release badge](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)

### Usage

Install package:

```sh
$ npm install --save-dev prettier @hintwall/prettier-config
```

Extend your config file:

```js
// .prettierrc.js
module.exports = {
  ...require('@hintwall/prettier-config'),
}
```

### License

See [LICENSE](./LICENSE) file for details.
npm package: @hintwall/renovate-config
Description: Shareable renovate bot config
Latest version: 1.0.2

# @hintwall/renovate-config

Shareable [renovate bot](https://renovatebot.com) config

[![npm version badge](https://img.shields.io/npm/v/@hintwall/renovate-config)](https://www.npmjs.com/package/@hintwall/renovate-config)
[![npm license badge](https://img.shields.io/npm/l/@hintwall/renovate-config)](https://www.npmjs.com/package/@hintwall/renovate-config)
[![semantic-release badge](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)

### Usage

Install package:

```sh
$ npm install --save-dev @hintwall/renovate-config
```

Extend your package.json file:

```json
{
  "renovate": {
    "extends": ["@hintwall"]
  }
}
```

### License

See [LICENSE](./LICENSE) file for details.
npm package: @hintwall/semantic-release-config
Description: Shareable semantic-release config
Latest version: 2.2.0

# @hintwall/semantic-release-config

Shareable [semantic-release](https://semantic-release.gitbook.io) config

[![npm version badge](https://img.shields.io/npm/v/@hintwall/semantic-release-config)](https://www.npmjs.com/package/@hintwall/semantic-release-config)
[![npm license badge](https://img.shields.io/npm/l/@hintwall/semantic-release-config)](https://www.npmjs.com/package/@hintwall/semantic-release-config)
[![semantic-release badge](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)

### Usage

Install package:

```sh
$ npm install --save-dev semantic-release @hintwall/semantic-release-config
```

Extend your config file:

```js
// release.config.js
module.exports = {
  extends: ['@hintwall/semantic-release-config'],
}
```

### License

See [LICENSE](./LICENSE) file for details.
npm package: @hintwall/stylelint-config
Description: Shareable stylelint config
Latest version: 1.0.1

# @hintwall/stylelint-config

Shareable [stylelint](https://stylelint.io/) config

[![npm version badge](https://img.shields.io/npm/v/@hintwall/stylelint-config)](https://www.npmjs.com/package/@hintwall/stylelint-config)
[![npm license badge](https://img.shields.io/npm/l/@hintwall/stylelint-config)](https://www.npmjs.com/package/@hintwall/stylelint-config)
[![semantic-release badge](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)

### Usage

Install package:

```sh
$ npm install --save-dev stylelint @hintwall/stylelint-config
```

Extend your config file:

```js
// .stylelintrc.js
module.exports = {
  extends: ['@hintwall/stylelint-config'],
}
```

### License

See [LICENSE](./LICENSE) file for details.
npm package: @hiogawa/argon2-wasm-bindgen
Description: [wasm-bindgen](https://github.com/rustwasm/wasm-bindgen) wrapper for [`RustCrypto argon2`](https://github.com/RustCrypto/password-hashes/blob/dc23aa160f010bcb02050ae230be868d84367c1d/argon2/README.md)
Latest version: 0.0.6-pre.5

# argon2-wasm-bindgen

[wasm-bindgen](https://github.com/rustwasm/wasm-bindgen) wrapper for [`RustCrypto argon2`](https://github.com/RustCrypto/password-hashes/blob/dc23aa160f010bcb02050ae230be868d84367c1d/argon2/README.md)

```sh
# development
pnpm i
pnpm build
pnpm test

# release
pnpm build
pnpm release
```
npm package: @hiogawa/changelog
Description: Minimal `CHANGELOG.md` generator.
Latest version: 0.0.1

# changelog

Minimal `CHANGELOG.md` generator.

## usage

<!--
%template-input-start:help%

```txt
$ npx @hiogawa/changelog --help
{%shell node ./bin/cli.js --help %}
```

%template-input-end:help%
-->

<!-- %template-output-start:help% -->

```txt
$ npx @hiogawa/changelog --help
changelog/0.0.1

Usage:
  $ changelog [options]

Generate or update CHANGELOG.md based on git commits

Options:
  --dir <path>       directory to write CHANGELOG.md (default: process.cwd())
  --from <commit>    (default: last commit modified CHANGELOG.md)
  --to <commit>      (default: HEAD)
  --repo <url>       repository url for PR link formatting
  --dry
  --removeScope
  -h, --help
```

<!-- %template-output-end:help% -->
npm package: @hiogawa/flac-picture
Description: encode an image file (jpg, png) to embed it as a cover art of an audio file (vorbis, opus, flac).
Latest version: 1.0.0-pre.5

# flac-picture-encoder

encode an image file (jpg, png) to embed it as a cover art of an audio file (vorbis, opus, flac).

```sh
# development
pnpm dev
pnpm test
pnpm build
pnpm -s cli < misc/test.jpg
pnpm e2e

# release
pnpm release
```

## references

- https://wiki.xiph.org/VorbisComment#Cover_art
- https://xiph.org/flac/format.html#metadata_block_picture
- https://gitlab.xiph.org/xiph/libopusenc/-/blob/f51c3aa431c2f0f8fccd8926628b5f330292489f/src/picture.c
- https://github.com/FFmpeg/FFmpeg/blob/81bc4ef14292f77b7dcea01b00e6f2ec1aea4b32/libavformat/flacenc.c#L81
- https://github.com/hi-ogawa/ffmpeg-experiment/pull/4
npm package: @hiogawa/icheck-ts
Description: simpler [ts-prune](https://github.com/nadeesha/ts-prune) alternative.
Latest version: 0.0.1-pre.21

# icheck-ts

simpler [ts-prune](https://github.com/nadeesha/ts-prune) alternative.

## usage

<!--
%template-input-start:help%

```txt
$ icheck-ts --help
{%shell node ./bin/cli.js --help %}

$ icheck-ts fixtures/cli/*.ts
{%shell node ./bin/cli.js fixtures/cli/*.ts %}
```

%template-input-end:help%
-->

<!-- %template-output-start:help% -->

```txt
$ icheck-ts --help
icheck-ts/0.0.1-pre.15

Usage:
  $ icheck-ts [options] <files...>

Report unused exports

Positional arguments:
  files    Files to check exports

Options:
  --cache                Enable caching
  --cacheLocation=...    Cache directory location
  --cacheSize=...        LRU cache size
  --ignore=...           RegExp pattern to ignore export names
  --noCheckCircular      Disable checking circular import

$ icheck-ts fixtures/cli/*.ts
** Unused exports **
fixtures/cli/x2.ts:3 - b
** Circular imports **
fixtures/cli/cycle4.ts:2 - x
 -> fixtures/cli/cycle2.ts:2 - (side effect)
     -> fixtures/cli/cycle3.ts:2 - *
```

<!-- %template-output-end:help% -->

## features

- check unused exports
- check circular dependencies
- only dependency is `typescript` (`peerDependencies`) for parsing
- support `// icheck-ignore` to silence specific export line

### not supported

- namespace re-export usages are not checked (e.g. `export * from "./abc"`)
- no typescript custom resolution e.g. tsconfig `baseUrl`, `paths`, etc...

## development

```sh
# release
pnpm build
pnpm release

# dev
npx tsx ./src/cli.ts $(find fixtures/ytsub-v3/app -name '*.ts' -o -name '*.tsx')
npx tsx ./src/cli.ts fixtures/ytsub-v3/app/routes/index.tsx fixtures/ytsub-v3/app/utils/loader-utils.ts
npx tsx ./src/cli.ts $(git grep -l . src)

# import.meta.resolve mode
npx tsx --experimental-import-meta-resolve ./src/cli.ts --useImportMetaResolve fixtures/ytsub-v3/app/routes/index.tsx fixtures/ytsub-v3/app/utils/loader-utils.ts
npx tsx --experimental-import-meta-resolve ./src/cli.ts --useImportMetaResolve $(git grep -l . src)

node --experimental-import-meta-resolve ./bin/cli.js --useImportMetaResolve fixtures/ytsub-v3/app/routes/index.tsx fixtures/ytsub-v3/app/utils/loader-utils.ts
node --experimental-import-meta-resolve --loader tsx/esm ./bin/cli.js --useImportMetaResolve fixtures/ytsub-v3/app/routes/index.tsx fixtures/ytsub-v3/app/utils/loader-utils.ts
npx tsx --experimental-import-meta-resolve ./bin/cli.js --useImportMetaResolve fixtures/ytsub-v3/app/routes/index.tsx fixtures/ytsub-v3/app/utils/loader-utils.ts

npx tsx --experimental-import-meta-resolve ./src/cli.ts --useImportMetaResolve $(find fixtures/resolve -type f)
```
npm package: @hiogawa/inline-template
Description: A simple templating system where both template input and output can be managed in a single file.
Latest version: 0.0.1-pre.5

# inline-template

A simple templating system where both template input and output can be managed in a single file.

<!-- wrap <span>%</span> to avoid this code to be replaced -->
<pre>
<b><span>%</span>template-input-start:test%</b>

  Some text and {%shell ... %}

<b><span>%</span>template-input-end:test%</b>

<b>%template-output-start:test%</b>

  Anything inside this range will be replaced with above input and its shell code output

<b>%template-output-end:test%</b>
</pre>

See how this `--help` is generated in [`./README.md`](./README.md?plain=1).

<!--
%template-input-start:1%

```txt
$ inline-template --help
{%shell pnpm -s cli --help %}
```

%template-input-end:1%
-->

<!-- %template-output-start:1% -->

```txt
$ inline-template --help
inline-template/0.0.1-pre.5

Usage:
  $ inline-template [options] <file>

Expand inline template

Positional arguments:
  file    Input file

Options:
  --dry        Print instead of updating in-place
  --cwd=...    Working directory to execute shell code interpolation
```

<!-- %template-output-end:1% -->

Inspired by [mdocs](https://github.com/brillout/mdocs),
the primary purpose is to automatically update readme files,
which typically contain sample code and its output.

## examples

- [`packages/json-extra/README.md`](../json-extra/README.md?plain=1)
- [`packages/icheck-ts/README.md`](../icheck-ts/README.md?plain=1)
npm package: @hiogawa/isort-ts
Description: Sort `ImportDeclaration` and `ImportSpecifier` based on a simple typescript transform.
Latest version: 1.1.2

# isort-ts

Sort `ImportDeclaration` and `ImportSpecifier` based on a simple typescript transform.

## usage

```sh
npm install -D typescript prettier @hiogawa/isort-ts

# as standalone cli
npx isort-ts --fix --cache $(git grep -l . '*.ts' '*.tsx') $(git ls-files --others --exclude-standard '*.ts')

# as prettier-plugin
npx prettier --write . --plugin=@hiogawa/isort-ts
```

## development

```sh
pnpm i
pnpm dev
pnpm test
pnpm dev-isort --fix --git
pnpm dev-isort-prettier

# release
pnpm build
pnpm release
```
npm package: @hiogawa/jscodeshift-isort
Description: Sort `ImportDeclaration` and `ImportSpecifier` using a simple transform implemented on [`jscodeshift`](https://github.com/facebook/jscodeshift).
Latest version: 1.0.0-pre.3

# jscodeshift-isort

Sort `ImportDeclaration` and `ImportSpecifier` using a simple transform implemented on [`jscodeshift`](https://github.com/facebook/jscodeshift).

## example usage

```sh
npm install -D jscodeshift @hiogawa/jscodeshift-isort
npx jscodeshift-isort $(git grep -l . '*.ts' '*.tsx') --fix
```

## development

```sh
pnpm i
pnpm dev
./bin/cli.js $(git grep -l . '*.ts') --fix

# release
pnpm build
pnpm release
```
npm package: @hiogawa/node-loader-cloudflare
Description: This package provides [Node.js custom loaders](https://nodejs.org/api/module.html#customization-hooks) to enable `cloudflare:workers` imports based on [Wrangler platform proxy](https://developers.cloudflare.com/workers/wrangler/api/#getplatformproxy) on N
Latest version: 0.0.2

# @hiogawa/node-loader-cloudflare

This package provides [Node.js custom loaders](https://nodejs.org/api/module.html#customization-hooks) to enable `cloudflare:workers` imports based on [Wrangler platform proxy](https://developers.cloudflare.com/workers/wrangler/api/#getplatformproxy) on Node.js.

```js
import { env, waitUntil } from "cloudflare:workers";
await env.KV.get("some-key");
waitUntil(someTask());
```

This allows Vite SSR application to seamlessly access Cloudflare Workers runtime APIs during both development and deployment
when the framework doesn't have a support of [@cloudflare/vite-plugin](https://github.com/cloudflare/workers-sdk/tree/main/packages/vite-plugin-cloudflare).

## Installation

```bash
npm install @hiogawa/node-loader-cloudflare wrangler
```

## Usage

Add the plugin to your Vite configuration:

```ts
import { defineConfig } from "vite";
import nodeLoaderCloudflare from "@hiogawa/node-loader-cloudflare/vite";

export default defineConfig({
  plugins: [
    // see jsdoc for available options
    nodeLoaderCloudflare({
      // getPlatformProxyOptions: { ... }
      // environments: [...],
      // build: true,
      // exposeGlobals: true,
    }),
  ],
});
```

Or you can directly register the loader via:

```ts
import { registerCloudflare } from "@hiogawa/node-loader-cloudflare";
registerCloudflare();
```

## How it works

This plugin uses Node.js [custom loaders](https://nodejs.org/api/module.html#customization-hooks) to intercept imports of `cloudflare:workers` and provide a runtime implementation:

1. **Node Loader Registration**: The plugin registers a custom Node.js loader that intercepts module resolution and loading
2. **Platform Proxy**: It initializes Wrangler's [`getPlatformProxy()`](https://developers.cloudflare.com/workers/wrangler/api/#getplatformproxy) which provides local implementations of Cloudflare Workers runtime APIs
3. **Module Interception**: When code imports `cloudflare:workers`, the loader returns a synthetic module that exposes runtime APIs like `env` and `waitUntil`
4. **Lifecycle Management**: The loader is registered during Vite's build start and deregistered on build end to ensure proper cleanup

This allows you to:

- Import `cloudflare:workers` modules in your Vite application
- Access Cloudflare Workers runtime environment (`env`, `waitUntil`, etc.) in dev server and optionally during build
- Use bindings like KV, D1, R2, etc. in your local environment
- Optionally expose Cloudflare globals like `WebSocketPair` and `caches` to `globalThis`

## Example

- [Basic SSR example](./examples/basic)
- [React Router RSC Framework Mode](https://github.com/hi-ogawa/vite-rsc-node-loader-cloudflare-example/)
- [Waku](https://github.com/wakujs/waku/pull/1749)

## License

MIT
npm package: @hiogawa/path-json
Description: extracted from https://github.com/hi-ogawa/ytsub-v2/blob/80fd087426d8de2d4bd70e8eddb2f24fa4ae5e46/src/utils/path-json.ts
Latest version: 1.0.0

# path-json

extracted from https://github.com/hi-ogawa/ytsub-v2/blob/80fd087426d8de2d4bd70e8eddb2f24fa4ae5e46/src/utils/path-json.ts
npm package: @hiogawa/pdf-rs-wasm
Description: ```sh pnpm build-dev node bin/cli.js ../../subtree/pdf/files/example.pdf
Latest version: 1.0.0-pre.2

# pdf-rs-wasm

```sh
pnpm build-dev
node bin/cli.js ../../subtree/pdf/files/example.pdf

pnpm build
pnpm release
```
npm package: @hiogawa/prisma-schema-diff-wasm
Description: ## usage
Latest version: 0.0.1-pre.2

# @hiogawa/prisma-schema-diff-wasm

## usage

```
$ prisma-schema-diff-wasm --help
prisma-schema-diff-wasm/0.0.1-pre.0

Usage:
  $ prisma-schema-diff-wasm [options] <to>

Positional arguments:
  to    'To' prisma.schema file

Options:
  --from=...       'From' prisma.schema file (default: empty schema)
  --flavour=...    database flavour (default: postgres)

$ prisma-schema-diff-wasm - <<EOF
datasource db {
  provider = "mysql"
  url      = "__dummy_url"
}
model users {
  id    Int @id @default(autoincrement())
}
EOF
-- CreateTable
CREATE TABLE `users` (
    `id` INTEGER NOT NULL AUTO_INCREMENT,

    PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```

## development

```sh
pnpm i
pnpm build
pnpm test
node bin/cli.js misc/example.prisma
pnpm release
```
npm package: @hiogawa/qrcode-rust-wasm-bindgen
Description: [wasm-bindgen](https://github.com/rustwasm/wasm-bindgen) build of [qrcode-rust](https://github.com/kennytm/qrcode-rust)
Latest version: 0.0.1

# qrcode-rust-wasm-bindgen

[wasm-bindgen](https://github.com/rustwasm/wasm-bindgen) build of [qrcode-rust](https://github.com/kennytm/qrcode-rust)

## Usage

```sh
npx @hiogawa/qrcode-rust-wasm-bindgen https://github.com
```

<details><summary>Screenshot</summary>

![image](https://github.com/hi-ogawa/qrcode-rust-wasm-bindgen/assets/4232207/92334169-6d4a-43db-bd06-1c5ef45104a4)

</details>

## Development

```sh
pnpm build
pnpm test
pnpm release
```
npm package: @hiogawa/query-proxy
Description: Generate type-safe proxy to provide `queryKey/queryFn` from `Record<string, (input: any) => any>`.
Latest version: 0.1.1-pre.3

# query-proxy

Generate type-safe proxy to provide `queryKey/queryFn` from `Record<string, (input: any) => any>`.

## references

- https://gist.github.com/hi-ogawa/6d9c7252280aa8732c170abdad3fbcb4
- https://github.com/hi-ogawa/ytsub-v3/blob/060fa7ac6e5df4d8169236d104e65b719ba18bab/app/trpc/client.ts#L25-L33
npm package: @hiogawa/react-server
Description: ## Examples
Latest version: 0.5.1

# @hiogawa/react-server

## Examples

- [`next-app-router-playground`](https://github.com/hi-ogawa/next-app-router-playground/pull/1)
  - https://app-router-vite.vercel.app
- [`rsc-on-vite/remix-tutorial`](https://github.com/hi-ogawa/rsc-on-vite/tree/main/remix-tutorial)
  - https://react-server-demo-remix-tutorial.hiro18181.workers.dev
- [`./examples/basic`](./examples/basic)
  - [Stackblitz](https://stackblitz.com/github/hi-ogawa/vite-plugins/tree/main/packages/react-server/examples/basic)
  - https://rsc-experiment.hiro18181.workers.dev/test
  - https://rsc-experiment-hiroshi.vercel.app/test
- [`./examples/starter`](./examples/starter)
  - [Stackblitz](https://stackblitz.com/github/hi-ogawa/vite-plugins/tree/main/packages/react-server/examples/starter)
  - https://react-server-starter.hiro18181.workers.dev

## Quick start

See also [`./examples/starter`](./examples/starter).

```sh
# download template
npx tiged hi-ogawa/vite-plugins/packages/react-server/examples/starter my-app
cd my-app

# development
pnpm i
pnpm dev

# build and preview
pnpm build
pnpm preview
```

## Development

```sh
# NO_DTS=1 to skip type error
pnpm -C packages/react-server dev
pnpm --parallel --filter './packages/react-server*' dev

# DEBUG=react-server:*
pnpm -C packages/react-server/examples/basic dev

# release
pnpm changelog packages/react-server
pnpm publish packages/react-server
```
npm package: @hiogawa/react-server-next
Description: Alias package for [`Next.js`](https://github.com/vercel/next.js)
Latest version: 0.1.0

# @hiogawa/react-server-next

Alias package for [`Next.js`](https://github.com/vercel/next.js)

## usage

Add following dependencies on Next.js project

```json
{
  "dependencies": {
    "@hiogawa/react-server": "latest",
    "next": "npm:@hiogawa/react-server-next@latest",
    "react": "rc",
    "react-dom": "rc",
    "react-server-dom-webpack": "rc"
  },
  "devDependencies": {
    "vite": "latest"
  }
}
```
npm package: @hiogawa/sort-package-json
Description: Slim version of https://github.com/keithamus/sort-package-json
Latest version: 0.0.2

# sort-package-json

Slim version of https://github.com/keithamus/sort-package-json

## usage

<!--
%template-input-start:help%

```txt
$ sort-package-json --help
{%shell node ./bin/cli.js --help %}
```

%template-input-end:help%
-->

<!-- %template-output-start:help% -->

```txt
$ sort-package-json --help
@hiogawa/sort-package-json@0.0.2

Usage:
  sort-package-json [paths to directories or package.json files]

Examples:
  # Sort all package.json files in pnpm workspace
  sort-package-json $(pnpm ls --filter '*' --depth -1 --json | jq -r '.[] | .path')
```

<!-- %template-output-end:help% -->

## development

```sh
pnpm i
pnpm scrape
pnpm build
pnpm doc
pnpm release
```