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

vimspector-config

v1.1.1

Published

a cli that automatically creates .vimspector.json files for a web-app environment

Downloads

22

Readme

vimspector-config (for node-web-environment)

a tiny helper cli tool made for the vimspector plugin. this npm package automatically creates a .vimspector.json file for a node-web-app environment

usage

inside your project directory run:

npx vimspector-config

by default, this will create the following .vimspector.json file inside this directory:

{
  "configurations": {
    "node": {
      "adapter": "vscode-node",
      "breakpoints": {
        "exception": {
          "all": "N",
          "uncaught": "N"
        }
      },
      "configuration": {
        "request": "launch",
        "protocol": "auto",
        "stopOnEntry": true,
        "console": "integratedTerminal",
        "program": "${workspaceRoot}/index.js",
        "cwd": "${workspaceRoot}"
      }
    },
    "chrome": {
      "adapter": "chrome",
      "breakpoints": {
        "exception": {
          "all": "N",
          "uncaught": "N"
        }
      },
      "configuration": {
        "request": "launch",
        "url": "http://localhost:4000/",
        "webRoot": "${workspaceRoot}/public"
      }
    },
    "express": {
      "adapter": "vscode-node",
      "breakpoints": {
        "exception": {
          "all": "N",
          "uncaught": "N"
        }
      },
      "configuration": {
        "name": "Attaching to a process ID",
        "type": "node",
        "request": "attach",
        "skipFiles": ["node_modules/**/*.js", "<node_internals>/**/*.js"],
        "processId": "${processId}"
      }
    }
  }
}

.gitignore

if there is a .gitignore file in the directory, the .vimspector.json file will be automatically added to it.

custom configurations

you can pass different arguements to setup custom configurations for the .vimspector.json file. | ARGUMENTS | values | description | example | |---|---|---|---| | --setup | ["node", "chrome", "express"] | setup specific environments (adapters) multiple environments are separated by "-" | --setup=express will setup the .vimspector.json file with only express server configs --setup=node-chrome will setup the .vimspector.json file with node and chrome environments | | --port | [NUMERIC] | by default, the chrome debugger will start on http://localhost:4000 you can set the --port value to make it start in a different port | --port=5555 will set the chrome debugger (if presence) to run on http://localhost:5555 | | --webroot | [a relative path to the directory where you run the client] | --webroot will point the chrome debugger to the directory you would like to debug | --webroot=client/public will point the chrome debugger to $YOUR_PROJECT_ROOT/client/public (don't write "/" at the begining of the path) | | --program | [a relative path to the main node file you're running] | --program will point the node debugger to the main file you would like to debug | --program=streamer/src/index.js will point the node debugger to $YOUR_PROJECT_ROOT/streamer/src/index.js |

examples

let's say we have this project tree:

~/project: tree
.
├── client
|   ├── public
│       ├── index.html
│       └── script.js
├── server
│   ├── express-app.js
│   └── index.js
└── streamer
    ├── index.js
    └── src

suppose client is a web app where the static assets are serverd inside the "public" directory and server is an express app. I'd like to create a .vimspector.json with configurations to support a chrome debugger and an express server (node debugger). In root directory I'll run npx vimspector-config --setup=express-chrome --webroot=client/public this will create the following .vimspector.json in the root directory:

{
  "configurations": {
    "chrome": {
      "adapter": "chrome",
      "breakpoints": {
        "exception": {
          "all": "N",
          "uncaught": "N"
        }
      },
      "configuration": {
        "request": "launch",
        "url": "http://localhost:4000/",
        "webRoot": "${workspaceRoot}/client/public"
      }
    },
    "express": {
      "adapter": "vscode-node",
      "breakpoints": {
        "exception": {
          "all": "N",
          "uncaught": "N"
        }
      },
      "configuration": {
        "name": "Attaching to a process ID",
        "type": "node",
        "request": "attach",
        "skipFiles": ["node_modules/**/*.js", "<node_internals>/**/*.js"],
        "processId": "${processId}"
      }
    }
  }
}

from this point, you're good to go

  • if you want to start the chrome debugger -> launch your client web server (on the same port as the debugger) -> launch Vimspector and choose "chrome"
  • if you want to start the express debuger -> launch your express app with the --inspect flag -> fire up Vimspector, choose "express" -> Vimspector will ask you for a processID -> copy the one from the node --inpect process that you've started and start debugging! 😎
  • (to start a normal integrated terminal node debugger, make a .vimspector.json with "node" settings (--setup=node), point the debugger to the program you want by running --program=/path_to_main_file and start Vimspector with the "node" configuration.

update; go support (golang)

hey gophers, you're not alone. run npx vimspector-config --setup=go and you're good to go (ha ha) by default it start a debugging session from main.go, you can change it by adding --main=<differentFilename.go> you can also specify a different delve path with --delve=<differentDelvePath> (default is $HOME/go/bin/dlv)