Clone this repo:
  1. 32dff0e Use Karma for unit tests by Paul Lewis · 15 hours ago master
  2. 37ef6f7 [DevTools] Audits - return artifacts w/ AuditsTestRunner.waitForResults by Connor Clark · 22 hours ago
  3. 6922bd2 DevTools: do not filter out last trace event by Yang Guo · 22 hours ago
  4. d6ebb27 [DevTools] Audits - show "Printing" status during print by Connor Clark · 22 hours ago
  5. 6b5cb44 [devtools] Prevent second tracing from starting by Sigurd Schneider · 22 hours ago

Chrome DevTools frontend

NPM package

The client-side of the Chrome DevTools, including all JS & CSS to run the DevTools webapp.

It is available on NPM as the chrome-devtools-frontend package. It's not currently available via CJS or ES2015 modules, so consuming this package in other tools may require some effort.

Package versioning

The version number of the npm package (e.g. 1.0.373466) refers to the Chromium commit position of latest frontend git commit. It's incremented with every Chromium commit, however the package is updated roughly daily.

Source code

The frontend is available on chromium.googlesource.com.

Getting Started

As standalone project, Chrome DevTools front-end can be checked out and built independently from Chromium.

Checking out source

Get depot_tools first.

mkdir devtools
cd devtools
git clone https://chromium.googlesource.com/devtools/devtools-frontend
gclient config https://chromium.googlesource.com/devtools/devtools-frontend --unmanaged

Build

gclient sync
gn gen out
autoninja -C out

Run in Chromium (from M78 onwards)

Build Chromium with the GN flag debug_devtools=true

<path-to-chrome>/chrome --custom-devtools-frontend=$(realpath out/resources/inspector)

Hacking

Useful Commands

npm run format-py

Formats your Python code using yapf

Note: Yapf is a command line tool. You will have to install this manually, either from PyPi through pip install yapf or if you want to enable multiprocessing in Python 2.7, pip install futures

Development

Getting in touch

Tests

The tests are run through Karma.

python scripts/run_tests.py

You can also specify with which Chrome binary to run tests by setting the chrome-binary variable.

python scripts/run_tests.py --chrome-binary=/path/to/chromium/build/chromium