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.1.3

Published

node CLI generated with oclif, Integrate Prettier

Readme

meocli

A new CLI generated with oclif

oclif Version Downloads/week

Dev

<!-- pnpm exec -->
$ pnpm ncu # 检查更新
$ pnpm ncu -u # 升级更新
<!-- demo -->
$ pnpm run dev hello world
$ pnpm run prod hello world
$ pnpm run dev 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": "\\.(ts|js|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$",
        "isAsync": true,
        "cmd": "me prettier ${file}"
      },
      {
        // nushell
        "match": "\\.(nu)$",
        "isAsync": true,
        "cmd": "topiary format ${file}"
      }
    ]
  }
}

Publish

$ pnpm login
$ pnpm build
$ pnpm publish

Usage

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

Commands

me hello PERSON

Say hello

USAGE
  $ me hello PERSON -f <value>

ARGUMENTS
  PERSON  Person to say hello to

FLAGS
  -f, --from=<value>  (required) 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 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,集成:『@prettier/plugin-xml、prettier-plugin-toml、prettier-plugin-sh』、prettier-plugin-nginx

USAGE
  $ me prettier FILEPATH [-c <value>] [--ignore <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
  -v, --verbose         Show verbose output
      --ignore=<value>  [default: built_in] built_in:使用内置规则(默认值), 传入路径则是使用自定义规则,
                        auto:自动检测ignore file

DESCRIPTION
  Use Prettier to format
  file,集成:『@prettier/plugin-xml、prettier-plugin-toml、prettier-plugin-sh』、prettier-plugin-nginx

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