0.1.10 • Published 5 years ago

devtools-client v0.1.10

Weekly downloads
3
License
MIT
Repository
github
Last release
5 years ago

devtools-client

This module simplifies access to the DevTools Protocol which can be used to control NodeJS, Chrome or Chromium.

If you're simply looking to control Chrome or Chromium I suggest using Puppeteer as it provides a simpler, higher level API.

Installation

npm install devtools-client

Usage

The module can launch a user specified NodeJS script or connect to an existent DevTools session.

Launch Node Script and attach to the Debugger

const DevToolsClient = require('devtools-client');
const Controller = new DevToolsClient();

Controller.launch('/path/to/some.js').then(({Debugger, Profiler, Runtime}) => {
  // resolves with an object containing all available DevTools domains
});

Connect to an existent Debugger session

  1. Launch your Node script with the --inspect argument
$ node --inspect some.js
Debugger listening on ws://127.0.0.1:9229/08f8c820-28e7-43b1-b6f6-c39f170e489d
For help, see: https://nodejs.org/en/docs/inspector
  1. Set the nodeWSEndpoint property to the WebSocket URL
const DevToolsClient = require('devtools-client');
const Controller = new DevToolsClient();

Controller.connect({
  nodeWSEndpoint: 'ws://127.0.0.1:9229/08f8c820-28e7-43b1-b6f6-c39f170e489d'	
}).then(({Debugger, Runtime, Profiler}) => {
  // resolves with an object containing all available DevTools domains
});

Quick Example

Retrieve all script sources loaded This example enables the Debugger domain and listens to scriptParsed events

const DevToolsClient = require('devtools-client');
const Controller = new DevToolsClient();

Controller.launch('/path/to/some.js').then(async ({Debugger}) => {
  Debugger.on('scriptParsed', ({scriptId, url}) => {
    console.log(url);  
  });
  Debugger.enable();
});

Methods

Due to the asynchronous nature of the DevTools protocol, all methods return a Promise.

Events

Protocol events are emitted using the standard NodeJS Event Emitter.

0.1.10

5 years ago

0.1.9

5 years ago

0.1.8

5 years ago

0.1.7

5 years ago

0.1.6

5 years ago

0.1.5

5 years ago

0.1.4

5 years ago

0.1.3

5 years ago

0.1.2

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago