Skip to content

nidium/DevTools

 
 

Repository files navigation

Nidium DevTools

This repository is a fork of Chrome DevTools (https://github.com/ChromeDevTools/devtools-frontend) with some specific changes for nidium.

Code specific to nidium frontend is in nidium directory.

Debugger in action

Run Chrome DevTools:

From the root of this repo run:

npm start

Run nidium DevTools (inside electron)

npm run server
cd nidium
electron --dev .

Build nidium DevTools (package DevTools CSS/JS)

cd nidium
./build.py

Then you can run nidium DevTools inside electron:

electron .

Or inside chromium (chrome DevTools only):

chromium --disable-web-security --user-data-dir="/tmp/" devtools/inspector.html?ws=localhost:9223

Chrome DevTools frontend

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 through a git subtree mirror on chromium.googlesource.com, with a regularly updating GitHub mirror at github.com/ChromeDevTools/devtools-frontend. The codebase's true location is in third_party/WebKit/Source/devtools/ in Chromium's git repo.

Getting Started

  1. Clone the repo
  2. Go to repo root and run: npm start
    • This launches Chrome Canary and starts the dev server with 1 command
  3. Go to http://localhost:9222#custom=true&experiments=true

Power user tips:

You can customize the port for the dev server: e.g. PORT=8888 npm start.

You can also launch chrome and start the server separately:

  • npm run chrome
  • npm run server

When you start Chrome separately, you can pass extra args to Chrome:

npm run chrome -- https://news.ycombinator.com

(e.g. this launches Hacker News on startup)

If you want to reset your development profile for Chrome, pass in "--reset-profile":

npm start -- --reset-profile

OR

npm run chrome -- --reset-profile

Hacking

Useful Commands

Basic:

  • npm run format - formats your code using clang-format
  • npm test - builds devtools and runs all inspector layout tests

Note: If you're using a full chromium checkout and compiled content shell in out/Release, then npm test uses that. Otherwise, with only a front-end checkout (i.e. cloning from GitHub), then npm test will fetch a previously compiled content shell from the cloud (and cache it for future test runs).

Advanced testing:

  • npm test -- --fetch-content-shell - even if you're using a full chromium checkout and have a compiled content shell, this will fetch a pre-compiled content shell. This is useful if you haven't compiled your content shell recently.
  • npm test -- -f --child-processes=16 - pass in additional flags to the test harness
  • npm test -- inspector/sources inspector/console - run specific tests
  • npm test -- inspector/cookie-resource-match.html --debug-devtools - debug a specific test (non-bundled & minified). You can use "-d" as a shorthand for "--debug-devtools".

Development

Getting in touch

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 93.8%
  • CSS 4.0%
  • Python 1.4%
  • Other 0.8%