npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

meocli

v0.2.3

Published

Node CLI generated with oclif, Integrate Prettier

Readme

meocli

Node CLI generated with oclif, Integrate Prettier, Biome

oclif Version Downloads/week

Dev

<!-- pnpm exec -->
$ pnpm ncu # 检查更新
$ pnpm ncu -u # 升级更新
<!-- demo -->
$ pnpm run dev hello foo
$ pnpm run prod hello foo -f bar
<!-- prettier -->
$ pnpm run dev prettier ./tmp/test.svg --verbose
$ pnpm run dev prettier ./tmp/test.json --config=auto --ignore=auto
$ pnpm run dev prettier ./tmp/test.svg --config=built_in --ignore=auto

Prettier

$ pnpm install -g meocli
$ me prettier --help
$ me prettier reset --verbose # 重置Prettier配置
$ me prettier ./test.svg --verbose # 使用prettier格式化文件

Prettier.Vscode

  1. pnpm install -g meocli

  2. 配合vscode插件:emeraldwalk.RunOnSave 保存时自动格式化

  3. 配置 .vscode/settings.json 添加 "emeraldwalk.runonsave" 节点,以下为参考配置⤵︎

"emeraldwalk.runonsave": {
    "commands": [
      {
        // prettier
        "match": "\\.(txt|ts|js|jsx|tsx|json|html|css|graphql|gql|yaml|yml|md)$",
        "notMatch": "node_modules/*$",
        "isAsync": true,
        "cmd": "me prettier \"${file}\""
      },
      {
        // @prettier/plugin-xml
        "match": "\\.(xml|svg)$",
        "isAsync": true,
        "cmd": "me prettier \"${file}\""
      },
      {
        // prettier-plugin-toml
        "match": "\\.(toml)$",
        "isAsync": true,
        "cmd": "me prettier \"${file}\""
      },
      {
        // prettier-plugin-nginx
        "match": "\\.(nginx)$",
        "isAsync": true,
        "cmd": "me prettier \"${file}\""
      },
      {
        // prettier-plugin-sh
        "match": "\\.(sh|env|Dockerfile|properties|gitignore|dockerignore|prettierignore)$",
        "notMatch": "\\.(nu)$",
        "isAsync": true,
        "cmd": "me prettier \"${file}\""
      },
      {
        // no-dot-ext
        "match": "Dockerfile$|web.config",
        "isAsync": true,
        "cmd": "me prettier \"${file}\""
      }
    ]
  }

Publish

$ pnpm login
$ pnpm build
$ pnpm publish

Usage

$ npm install -g meocli
$ me COMMAND
running command...
$ me (--version)
meocli/0.2.3 win32-x64 node-v24.21.0
$ me --help [COMMAND]
USAGE
  $ me COMMAND
...

Commands

me biome FILEPATH

Use Biome to format file

USAGE
  $ me biome FILEPATH [-c <value>] [-v]

ARGUMENTS
  FILEPATH  file path that need to be formatted by Biome

FLAGS
  -c, --config=<value>  [default: built_in] built_in:使用内置规则(默认值), 传入路径则是使用自定义配置,
                        auto:自动检测项目中的 biome.json
  -v, --verbose         Show verbose output

DESCRIPTION
  Use Biome to format file
  支持 JS/TS/JSX/TSX/JSON/JSONC/CSS/GraphQL/HTML/Vue/Svelte/Astro/SVG
  Biome 不支持 TOML/SH/Java/Kotlin/SQL/Nginx/PowerShell/Solidity/Motoko/XML(通用) — 这些请用 prettier 命令

EXAMPLES
  $ me biome ./src/file.tsx

  $ me biome ./src/file.tsx --config ./biome.json

See code: src/commands/biome/index.ts

me biome reset

reset biome config file,『~/.meocli/biome.json』

USAGE
  $ me biome reset [-v]

FLAGS
  -v, --verbose  Show verbose output

DESCRIPTION
  reset biome config file,『~/.meocli/biome.json』

EXAMPLES
  $ me biome reset --verbose

See code: src/commands/biome/reset.ts

me env [FILEPATH]

读取.env环境变量并打印(json格式)

USAGE
  $ me env [FILEPATH] [-v]

ARGUMENTS
  [FILEPATH]  [default: .env] .env文件路径,不传默认值为.env

FLAGS
  -v, --verbose  Show verbose output

DESCRIPTION
  读取.env环境变量并打印(json格式)

EXAMPLES
      me env .env

See code: src/commands/env/index.ts

me env apifox [FILEPATH]

读取.env环境变量,输出apifox需要的csv格式

USAGE
  $ me env apifox [FILEPATH] [-v]

ARGUMENTS
  [FILEPATH]  [default: .env] .env文件路径,不传默认值为.env

FLAGS
  -v, --verbose  Show verbose output

DESCRIPTION
  读取.env环境变量,输出apifox需要的csv格式

EXAMPLES
      me env apifox .env

See code: src/commands/env/apifox.ts

me hello PERSON

Say hello

USAGE
  $ me hello PERSON [-f <value>]

ARGUMENTS
  PERSON  Person to say hello to

FLAGS
  -f, --from=<value>  [default: meocli] Who is saying hello

DESCRIPTION
  Say hello

EXAMPLES
      me hello friend --from oclif
      hello friend --from oclif (./src/commands/hello/index.ts)

See code: src/commands/hello/index.ts

me hello world

Say hello world

USAGE
  $ me hello world

DESCRIPTION
  Say hello world

EXAMPLES
  $ me hello world
  hello world! (./src/commands/hello/world.ts)

See code: src/commands/hello/world.ts

me help [COMMAND]

Display help for me.

USAGE
  $ me help [COMMAND...] [-n]

ARGUMENTS
  [COMMAND...]  Command to show help for.

FLAGS
  -n, --nested-commands  Include all nested commands in the output.

DESCRIPTION
  Display help for me.

See code: @oclif/plugin-help

me irys balance [ADDRESS]

查询 Irys bundler 上的账户余额

USAGE
  $ me irys balance [ADDRESS] [-e <value>] [-k <value>] [-n mainnet|devnet] [-r <value>] [-t <value>]

ARGUMENTS
  [ADDRESS]  要查询的地址。不传则查询 ~/.meocli/.env 中配置的私钥对应地址

FLAGS
  -e, --env=<value>       自定义 .env 文件路径(默认 ~/.meocli/.env)
  -k, --key=<value>       私钥。不传则从 ~/.meocli/.env 读取
  -n, --network=<option>  [default: mainnet] 网络:mainnet 或 devnet
                          <options: mainnet|devnet>
  -r, --rpc-url=<value>   自定义 RPC URL(devnet 或自定义链时常用)
  -t, --token=<value>     [default: ethereum] 支付代币,支持的代币请用 me irys 查看

DESCRIPTION
  查询 Irys bundler 上的账户余额

EXAMPLES
  $ me irys balance

  $ me irys balance 0x591B5Ce7cA10a55A9B5d1516eF89693D5b3586b8

  $ me irys balance -t solana -n devnet

See code: src/commands/irys/balance.ts

me irys download ID

从 Irys gateway 下载数据

USAGE
  $ me irys download ID [--devnet] [-o <value>]

ARGUMENTS
  ID  Irys 事务 ID(transaction ID)

FLAGS
  -o, --output=<value>  保存到文件(不传则打印到 stdout)。目录形式会自动用 ID 作文件名
      --devnet          从 devnet gateway 下载(数据留存 ~60 天)

DESCRIPTION
  从 Irys gateway 下载数据

EXAMPLES
  $ me irys download CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA

  $ me irys download CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA -o ./image.png

  $ me irys download CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA --devnet

See code: src/commands/irys/download.ts

me irys fund AMOUNT

向 Irys bundler 充值

USAGE
  $ me irys fund AMOUNT [-e <value>] [-k <value>] [--multiplier <value>] [-n mainnet|devnet] [-r <value>] [-t
    <value>]

ARGUMENTS
  AMOUNT  充值金额。支持两种格式:
          · 十进制(如 0.05)— 自动换算为原子单位
          · 原子单位(如 50000000000000000)— 末尾加 'u' 后缀,如 50000000000000000u

FLAGS
  -e, --env=<value>         自定义 .env 文件路径(默认 ~/.meocli/.env)
  -k, --key=<value>         私钥。不传则从 ~/.meocli/.env 读取
  -n, --network=<option>    [default: mainnet] 网络
                            <options: mainnet|devnet>
  -r, --rpc-url=<value>     自定义 RPC URL(devnet 必需)
  -t, --token=<value>       [default: ethereum] 支付代币
      --multiplier=<value>  [default: 1.0] gas fee multiplier(特定代币支持)

DESCRIPTION
  向 Irys bundler 充值

EXAMPLES
  $ me irys fund 0.05

  $ me irys fund 50000000000000000u

  $ me irys fund 1 -t solana -n devnet

See code: src/commands/irys/fund.ts

me irys price [BYTES]

预估上传指定大小数据到 Irys 的费用

USAGE
  $ me irys price [BYTES] [-e <value>] [-f <value>] [-k <value>] [-n mainnet|devnet] [-r <value>] [-t <value>]

ARGUMENTS
  [BYTES]  要预估费用的字节数。也可以用 --file 指定文件路径自动计算。100 KiB 以下免费

FLAGS
  -e, --env=<value>       自定义 .env 文件路径(默认 ~/.meocli/.env)
  -f, --file=<value>      指定文件路径,自动读取字节数(覆盖 bytes 参数)
  -k, --key=<value>       私钥(此命令仅读公开接口,可不提供)
  -n, --network=<option>  [default: mainnet] 网络
                          <options: mainnet|devnet>
  -r, --rpc-url=<value>   自定义 RPC URL(devnet 必需)
  -t, --token=<value>     [default: ethereum] 支付代币

DESCRIPTION
  预估上传指定大小数据到 Irys 的费用

EXAMPLES
  $ me irys price 1048576

  $ me irys price --file ./myImage.png

  $ me irys price 1048576 -t solana

See code: src/commands/irys/price.ts

me irys reset

Irys 辅助工具:查看支持的代币列表、获取示例配置、验证私钥

USAGE
  $ me irys reset [-e <value>] [-k <value>] [-t <value>]

FLAGS
  -e, --env=<value>    自定义 .env 文件路径(默认 ~/.meocli/.env)
  -k, --key=<value>    私钥。不传则从 ~/.meocli/.env 读取
  -t, --token=<value>  指定代币后,会尝试建立连接并打印钱包地址(仅验证私钥是否可用,不发交易)

DESCRIPTION
  Irys 辅助工具:查看支持的代币列表、获取示例配置、验证私钥

EXAMPLES
  $ me irys reset

  $ me irys reset -t ethereum

See code: src/commands/irys/reset.ts

me irys upload PATH

上传文件、目录或文本到 Irys

USAGE
  $ me irys upload PATH [--anchor <value>] [--batch-size <value>] [-e <value>] [--index-file <value>] [-k
    <value>] [--manifest-tags <value>] [-n mainnet|devnet] [-r <value>] [--tags <value>] [--text] [-t <value>]

ARGUMENTS
  PATH  要上传的文件或目录路径,或 --text 模式下的纯文本内容

FLAGS
  -e, --env=<value>            自定义 .env 文件路径(默认 ~/.meocli/.env)
  -k, --key=<value>            私钥。不传则从 ~/.meocli/.env 读取
  -n, --network=<option>       [default: mainnet] 网络
                               <options: mainnet|devnet>
  -r, --rpc-url=<value>        自定义 RPC URL(devnet 必需)
  -t, --token=<value>          [default: ethereum] 支付代币
      --anchor=<value>         仅 --text 模式:指定 deterministic anchor 值(默认自动生成)。用于可重复的数据 item ID
      --batch-size=<value>     [default: 50] 上传目录时并发上传数量
      --index-file=<value>     上传目录时指定 index 文件(如 index.html),用于 manifest
      --manifest-tags=<value>  上传目录时,添加到 manifest 事务本身的 tags(格式同 --tags)。与 --tags(每个文件的
                               tag)分开
      --tags=<value>           元数据 tags(上传文本 / 文件时直接应用;上传目录时作用于每个文件),格式:
                               name1=value1,name2=value2
      --text                   将 path 参数视为纯文本内容上传,而非文件路径(绕过文件系统查找)

DESCRIPTION
  上传文件、目录或文本到 Irys

EXAMPLES
  $ me irys upload ./myImage.png

  $ me irys upload ./dist

  $ me irys upload ./myImage.png -t solana --tags type=image,lang=zh

  $ me irys upload 'hello irys' --text

See code: src/commands/irys/upload.ts

me irys withdraw [AMOUNT]

从 Irys bundler 提现余额回到链上钱包

USAGE
  $ me irys withdraw [AMOUNT] [--all] [-e <value>] [-k <value>] [-n mainnet|devnet] [-r <value>] [-t <value>]

ARGUMENTS
  [AMOUNT]  提现金额(十进制)或原子单位(末尾 'u' 后缀,如 1000000u)。搭配 --all 时可省略

FLAGS
  -e, --env=<value>       自定义 .env 文件路径(默认 ~/.meocli/.env)
  -k, --key=<value>       私钥。不传则从 ~/.meocli/.env 读取
  -n, --network=<option>  [default: mainnet] 网络
                          <options: mainnet|devnet>
  -r, --rpc-url=<value>   自定义 RPC URL(devnet 必需)
  -t, --token=<value>     [default: ethereum] 代币(提现只对当前代币余额生效)
      --all               提现全部余额(调用 withdrawAll)。指定后 amount 参数可省略

DESCRIPTION
  从 Irys bundler 提现余额回到链上钱包

EXAMPLES
  $ me irys withdraw 0.01

  $ me irys withdraw 1000000000000000u

  $ me irys withdraw --all

  $ me irys withdraw 0.1 -t solana -n devnet

See code: src/commands/irys/withdraw.ts

me js clash FILEPATH TEMPLATEPATH

修改Clash脚本

USAGE
  $ me js clash FILEPATH TEMPLATEPATH [-v]

ARGUMENTS
  FILEPATH      目标js文件路径
  TEMPLATEPATH  template.json配置文件路径

FLAGS
  -v, --verbose  Show verbose output

DESCRIPTION
  修改Clash脚本

EXAMPLES
  $ me js clash ./test.js ./template.json

See code: src/commands/js/clash.ts

me plugins

List installed plugins.

USAGE
  $ me plugins [--json] [--core]

FLAGS
  --core  Show core plugins.

GLOBAL FLAGS
  --json  Format output as json.

DESCRIPTION
  List installed plugins.

EXAMPLES
  $ me plugins

See code: @oclif/plugin-plugins

me plugins add PLUGIN

Installs a plugin into me.

USAGE
  $ me plugins add PLUGIN... [--json] [-f] [-h] [-s | -v]

ARGUMENTS
  PLUGIN...  Plugin to install.

FLAGS
  -f, --force    Force npm to fetch remote resources even if a local copy exists on disk.
  -h, --help     Show CLI help.
  -s, --silent   Silences npm output.
  -v, --verbose  Show verbose npm output.

GLOBAL FLAGS
  --json  Format output as json.

DESCRIPTION
  Installs a plugin into me.

  Uses npm to install plugins.

  Installation of a user-installed plugin will override a core plugin.

  Use the ME_NPM_LOG_LEVEL environment variable to set the npm loglevel.
  Use the ME_NPM_REGISTRY environment variable to set the npm registry.

ALIASES
  $ me plugins add

EXAMPLES
  Install a plugin from npm registry.

    $ me plugins add myplugin

  Install a plugin from a github url.

    $ me plugins add https://github.com/someuser/someplugin

  Install a plugin from a github slug.

    $ me plugins add someuser/someplugin

me plugins:inspect PLUGIN...

Displays installation properties of a plugin.

USAGE
  $ me plugins inspect PLUGIN...

ARGUMENTS
  PLUGIN...  [default: .] Plugin to inspect.

FLAGS
  -h, --help     Show CLI help.
  -v, --verbose

GLOBAL FLAGS
  --json  Format output as json.

DESCRIPTION
  Displays installation properties of a plugin.

EXAMPLES
  $ me plugins inspect myplugin

See code: @oclif/plugin-plugins

me plugins install PLUGIN

Installs a plugin into me.

USAGE
  $ me plugins install PLUGIN... [--json] [-f] [-h] [-s | -v]

ARGUMENTS
  PLUGIN...  Plugin to install.

FLAGS
  -f, --force    Force npm to fetch remote resources even if a local copy exists on disk.
  -h, --help     Show CLI help.
  -s, --silent   Silences npm output.
  -v, --verbose  Show verbose npm output.

GLOBAL FLAGS
  --json  Format output as json.

DESCRIPTION
  Installs a plugin into me.

  Uses npm to install plugins.

  Installation of a user-installed plugin will override a core plugin.

  Use the ME_NPM_LOG_LEVEL environment variable to set the npm loglevel.
  Use the ME_NPM_REGISTRY environment variable to set the npm registry.

ALIASES
  $ me plugins add

EXAMPLES
  Install a plugin from npm registry.

    $ me plugins install myplugin

  Install a plugin from a github url.

    $ me plugins install https://github.com/someuser/someplugin

  Install a plugin from a github slug.

    $ me plugins install someuser/someplugin

See code: @oclif/plugin-plugins

me plugins link PATH

Links a plugin into the CLI for development.

USAGE
  $ me plugins link PATH [-h] [--install] [-v]

ARGUMENTS
  PATH  [default: .] path to plugin

FLAGS
  -h, --help          Show CLI help.
  -v, --verbose
      --[no-]install  Install dependencies after linking the plugin.

DESCRIPTION
  Links a plugin into the CLI for development.

  Installation of a linked plugin will override a user-installed or core plugin.

  e.g. If you have a user-installed or core plugin that has a 'hello' command, installing a linked plugin with a 'hello'
  command will override the user-installed or core plugin implementation. This is useful for development work.


EXAMPLES
  $ me plugins link myplugin

See code: @oclif/plugin-plugins

me plugins remove [PLUGIN]

Removes a plugin from the CLI.

USAGE
  $ me plugins remove [PLUGIN...] [-h] [-v]

ARGUMENTS
  [PLUGIN...]  plugin to uninstall

FLAGS
  -h, --help     Show CLI help.
  -v, --verbose

DESCRIPTION
  Removes a plugin from the CLI.

ALIASES
  $ me plugins unlink
  $ me plugins remove

EXAMPLES
  $ me plugins remove myplugin

me plugins reset

Remove all user-installed and linked plugins.

USAGE
  $ me plugins reset [--hard] [--reinstall]

FLAGS
  --hard       Delete node_modules and package manager related files in addition to uninstalling plugins.
  --reinstall  Reinstall all plugins after uninstalling.

See code: @oclif/plugin-plugins

me plugins uninstall [PLUGIN]

Removes a plugin from the CLI.

USAGE
  $ me plugins uninstall [PLUGIN...] [-h] [-v]

ARGUMENTS
  [PLUGIN...]  plugin to uninstall

FLAGS
  -h, --help     Show CLI help.
  -v, --verbose

DESCRIPTION
  Removes a plugin from the CLI.

ALIASES
  $ me plugins unlink
  $ me plugins remove

EXAMPLES
  $ me plugins uninstall myplugin

See code: @oclif/plugin-plugins

me plugins unlink [PLUGIN]

Removes a plugin from the CLI.

USAGE
  $ me plugins unlink [PLUGIN...] [-h] [-v]

ARGUMENTS
  [PLUGIN...]  plugin to uninstall

FLAGS
  -h, --help     Show CLI help.
  -v, --verbose

DESCRIPTION
  Removes a plugin from the CLI.

ALIASES
  $ me plugins unlink
  $ me plugins remove

EXAMPLES
  $ me plugins unlink myplugin

me plugins update

Update installed plugins.

USAGE
  $ me plugins update [-h] [-v]

FLAGS
  -h, --help     Show CLI help.
  -v, --verbose

DESCRIPTION
  Update installed plugins.

See code: @oclif/plugin-plugins

me prettier FILEPATH

Use Prettier to format file,集成:

USAGE
  $ me prettier FILEPATH [-c <value>] [-i <value>] [-v]

ARGUMENTS
  FILEPATH  file path that need to be formatted by Prettier

FLAGS
  -c, --config=<value>  [default: built_in] built_in:使用内置规则(默认值), 传入路径则是使用自定义配置,
                        auto:自动检测config file
  -i, --ignore=<value>  [default: built_in] built_in:使用内置规则(默认值), 传入路径则是使用自定义规则,
                        auto:自动检测ignore file
  -v, --verbose         Show verbose output

DESCRIPTION
  Use Prettier to format file,集成:
  @prettier/plugin-xml
  prettier-plugin-toml
  prettier-plugin-sh
  prettier-plugin-nginx
  prettier-plugin-properties
  prettier-plugin-java
  prettier-plugin-kotlin
  prettier-plugin-powershell
  prettier-plugin-solidity
  prettier-plugin-motoko
  prettier-plugin-sql-cst

EXAMPLES
  $ me prettier ./tests/test.svg

  $ me prettier ./src/file.ts --config ./.prettierrc.yaml

See code: src/commands/prettier/index.ts

me prettier reset

reset prettier config and ignore file,『~/.meocli/.prettierrc.yaml, ~/.meocli/.prettierignore』

USAGE
  $ me prettier reset [-v]

FLAGS
  -v, --verbose  Show verbose output

DESCRIPTION
  reset prettier config and ignore file,『~/.meocli/.prettierrc.yaml, ~/.meocli/.prettierignore』

EXAMPLES
  $ me prettier reset --verbose

See code: src/commands/prettier/reset.ts