Lets you use Chrome DevTools from code.
npm install headless-devtools
Chrome DevTools is an indispensable tool for analyzing your Web application.
headless-devtools lets you automate the process of using DevTools.
This is useful for gathering data over time, writing tests, etc.
headless-devtools is designed to be used together with Puppeteer.
See examples below
- getPerformanceModel - Extracts the data model used the render a trace file in the DevTools Performance Tab
- getHeapSnapshot - Extracts the data model used to render a Heap Snapshot in the Memory tab
- Suggest more features by opening up an issue!
Extracts the data model used the render a trace file in the DevTools Performance Tab.
It's useful for calculating your animation's frame-rate programmatically.
const performanceModel = await ;const frames = performanceModelframes;console;console;// FPS: 43.01310441575974// Slowest frame: 360.7630000114441 ms
Extracts the data model used to render a Heap Snapshot in the Memory tab.
It's useful for avoiding memory leaks.
const heapSnapshot = await ;console;// 1.59 MB
High Level Design
As the Readme for the DevTools codebase states:
DevTools frontend is also available on NPM as the
chrome-devtools-frontendpackage. It's not currently available via CJS or ES2015 modules, so consuming this package in other tools may require some effort.
headless-devtools does a bunch of monkey patching in order to make the DevTools frontend code run smoothly in Node.js.
calcUnusedCss. CSS & JS Coverage info is now available in Puppeteer (more info).
- Remove Puppeteer as a dependency.
Run tests with