🦊 Immediately Open Chrome DevTools when debugging Node.js apps
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
bin
dist
extension
scripts
test
.babelrc
.editorconfig
.eslintignore
.eslintrc.json
.gitignore
.npmrc
.nvmrc
.travis.yml
CODE_OF_CONDUCT.md
LICENSE
README.md
RESEARCH.md
appveyor.yml
contributing.md
index.js
package.json
yarn.lock

README.md

npm version Build Status Build status Known Vulnerabilities Dependency Status devDependency Status Greenkeeper badge js-standard-style Maintainability

rawkit

rawkit grabs the chrome inspector URL returned from the node --inspect command and immediately opens devtools. No more clicking, selecting, copying/pasting or navigating. Just run the command and jump into debugging.

Installation

$ npm i rawkit -g

or

$ yarn global add rawkit

Run

$ rawkit example.js

or utilizing npx

$ npx rawkit example.js

tutorial

Features

  • Works offline
  • Supports Mac, Windows & Linux
  • Support for nodemon
  • Supports legacy node v4.x & v6.x implementations & debugging protocols
  • Supports legacy Chrome devtools implementations & debugging protocols

Options

By default, running rawkit can detect any main script that's been defined in the current working directory's package.json and run that. It also will detect the version of Node.js you're running to determine whether or not to fallback to older debug APIs.

--inspect-brk

To break on the first line of the application code.

$ rawkit example.js --inspect-brk

--inspect-port

The debugger port. Defaults to 9229.

$ rawkit example.js --inspect-port=1337

--canary

Open the devtools in canary.

$ rawkit example.js --canary

--nodemon

Use nodemon to run/watch your node process & reload when files change. rawkit supports all the default configuration options for nodemon including execMap inside our project's package.json or nodemon.json files.

Example

$ rawkit example.js --nodemon

--silent

Hide stdout/stderr output from child process in the terminal window.

$ rawkit example.js --silent

--executable=[name]

Specify the name of the executable. Defaults to google chrome.

$ rawkit example.js --executable=firefox

Note: --executable is an experimental feature as rawkit typically does all the work to determine the right executable to use based on your operating system and any other arguments or environmental configuration.

FAQ

Chrome opens to a blank page?

You may have some issues if your version of Chrome has recently updated and it and/or your OS hasn't be restarted. Quick fix here is to just try restarting Chrome and/or restarting your machine. This was identified in the opn project.

Should this be in node core?

Maybe. A flag like --launch would be a nice supplement to --inspect. That said...

Do I need to install a Chrome Extension?

rawkit will automatically launch a splash page asking you to install a corresponding Chrome Extension the first time you run it. If you don't want to install the extension (not recommended, as the extension comes with some nice-to-have behaviors) AND are using a Mac, you can install chrome-cli to get around this. rawkit will automatically detect if chrome-cli exists on your machine and use that to open/launch chrome once it's installed.

$ brew install chrome-cli

Unfortunately, opening internal Chrome links, externally, is not possible without an aid at the moment (ie. urls that contain chrome:// or chrome-devtools:// in this case). This is most likely a security feature. That said, you can use a Chrome Extension as a proxy to make this work. Check out the RESEARCH.md for more information. You can also use something like this lighthouse/chrome-launcher.