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

@superdevs/vhostctl

v0.1.8

Published

Cross-platform CLI to manage local virtual hosts and domains for XAMPP, WAMP, Apache, and Nginx on Windows, macOS, and Linux — no more hand-editing httpd-vhosts.conf, nginx server blocks, or your hosts file.

Readme

vhostctl

npm version npm downloads license node

Stop hand-editing httpd-vhosts.conf, nginx server blocks, and your hosts file every time you spin up a new local site. vhostctl sets up a virtual host — config block, hosts entry, everything — with one command, and cleans it all back up with one more.

Works with XAMPP, WAMP, standalone Apache, and Nginx, on Windows, macOS, and Linux.

$ vhostctl
 __      ___               _        _  
 \ \    / / |             | |      | |
  \ \  / /| |__   ___  ___| |_ ___ | |_ ___| |
   \ \/ / | '_ \ / _ \/ __| __/ __| __/ __| |
    \  /  | | | | (_) \__ \ |_ (__| |_| (__| |
     \/   |_| |_|\___/|___/\__\___/ \__\___|_|

  Cross-platform virtual host manager
  XAMPP · WAMP · Apache · Nginx — Windows, macOS, Linux

Requirements

  • Node.js 18 or newer
  • One of XAMPP, WAMP, Apache, or Nginx already installed on your machine

Install

Install it once, globally, and the vhostctl command is available everywhere on your machine:

npm install -g @superdevs/vhostctl

Check it worked:

vhostctl --version

Getting started

1. Find your web server. vhostctl scans your machine for XAMPP, WAMP, Apache, and Nginx installs:

vhostctl detect

2. Create a virtual host. This sets up the config block and adds an entry to your hosts file so the domain resolves locally:

vhostctl add myapp --domain myapp.local --root "C:/path/to/myapp"

Leave off the flags and vhostctl will ask you for them interactively.

3. Reload your web server so the change takes effect:

vhostctl reload

4. Visit your sitemyapp.local now points at your project.

Everyday commands

| Command | What it does | |---|---| | vhostctl add <name> | Create a new virtual host | | vhostctl list | List every site vhostctl manages | | vhostctl view <name> | Show full details for one site (domain, folder, config file, hosts entries) | | vhostctl remove <name> | Delete a site completely — config, hosts entry, and all | | vhostctl enable <name> / vhostctl disable <name> | Turn a site on/off without deleting it | | vhostctl subdomain add <name> <sub> | Point a subdomain (e.g. api.myapp.local) at an existing site | | vhostctl subdomain remove <name> <sub> | Unlink a subdomain | | vhostctl subdomain list <name> | List subdomains linked to a site | | vhostctl detect | Scan your machine for installed web server stacks | | vhostctl reload | Reload/restart your web server to apply changes | | vhostctl examples | Print more real-world usage recipes |

Add --help after any command to see all of its options, e.g. vhostctl add --help.

Useful options for add

| Option | Description | |---|---| | -d, --domain <domain> | Domain to use (defaults to <name>.local) | | -r, --root <path> | Folder to serve as the document root | | -s, --stack <stack> | Force a specific stack: xampp-apache, wamp-apache, apache, or nginx | | -p, --port <port> | Port to listen on (default 80) | | --no-hosts | Skip editing your hosts file | | --dry-run | Preview exactly what would change, without writing anything |

Good to know

  • It only touches what it creates. Every config block and hosts-file line vhostctl adds is tagged, so remove and subdomain remove never disturb anything you wrote by hand.
  • It may ask for admin/sudo access. Editing the hosts file or certain config locations requires elevated permissions — vhostctl will prompt for a UAC confirmation (Windows) or sudo (macOS/Linux) automatically when needed.
  • Preview before you commit. Add --dry-run to vhostctl add to see exactly what would be written first.
  • Your data stays local. vhostctl keeps track of the sites it manages in a small local file on your machine — nothing is sent anywhere.

License

See LICENSE.