Skip to content

Awesome tooling and resources in the Chrome DevTools & DevTools Protocol ecosystem. With repository stars⭐ and forks🍴

License

Notifications You must be signed in to change notification settings

Correia-jpv/fucking-awesome-chrome-devtools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Awesome Chrome DevTools Awesome

Awesome tooling and resources in the Chrome DevTools ecosystem

Contents


Learning

  • 🌎 Dev Tips - Large collection of tips as animated gifs.
  • 🌎 DevTools Tips - Collection of illustrated tips as mini tutorials.
  • 🌎 Can I DevTools? - Various workflows, documented. Also a weekly tips & tricks 🌎 newsletter.
  • 🌎 Web cheatcodes - Browser developer tools for non-developers.
  • 🌎 Dear Console - A collection of snippets to use in the browser console.

DevTools tooling and ecosystem

Object formatting

  •    662⭐     29🍴 immutable-devtools) - Custom formatter for Immutable-js values.

Network Inspection

  •   4542⭐    125🍴 betwixt) - System level network proxy, providing inspection via Network panel.
  • 🌎 Weer - A HTTP protocol debugger (closed source)

CPU profile

  •     36⭐      9🍴 call-trace) - Can instrument your JS with hooks, and then generate a .cpuprofile of the of the complete (non-sampled) execution. View either time or call counts.
  •    167⭐     16🍴 cpuprofilify) - Converts output of various profiling/sampling tools to the .cpuprofile format.
  • 🌎 Wishbone python framework - Profiling data can export as .cpuprofile.

Multimedia

  •    394⭐     17🍴 snapline) - Converts timeline screenshots to gif.

Timeline, Tracing & Profiling

Chrome Debugger integration with Editors


Chrome DevTools Protocol

Developing with the protocol

The big two automation libraries

  •      ?⭐      ?🍴 Puppeteer) - Node.js offering a high-level API to control headless Chrome over the DevTools Protocol. See also   2409⭐    159🍴 awesome-puppeteer).
  •  67099⭐   3687🍴 Playwright) - Library to automate Chromium, Firefox and WebKit with a single API. Available for Node.js, Python, .Net, Java. See also    939⭐    101🍴 awesome-playwright).

Libraries for driving the protocol (or a layer above)

  • JavaScript/Node.js:   4297⭐    310🍴 chrome-remote-interface)
  • TypeScript/Node.js:    134⭐     19🍴 chrome-debugging-client)
  • Typescript/Node.js: 🌎 noice-json-rpc - A proxy-based implementation to expose the CDP as its API.
  • Typescript/Node.js:      ?⭐      ?🍴 Taiko)
  • Rust:      ?⭐      ?🍴 Rust Headless Chrome)
  • Java:    222⭐     76🍴 chrome-devtools-java-client)
  • Java:    730⭐    158🍴 jvppeteer) - Headless Chrome For Java
  • Python:    102⭐     22🍴 PyCDP) - Pure-Python, sans-IO wrappers. See also the     65⭐     18🍴 Trio CDP driver)
  • Python:    118⭐     16🍴 chromewhip) - drop-in replacement for the splash service
  • Python:   3691⭐    329🍴 pyppeteer) - puppeteer port
  • Python:    219⭐     27🍴 ChromeController) - high-level browser mgmt
  • Go:  11087⭐    791🍴 chromedp) - High-level actions and tasks for driving browsers
  • Go:    727⭐     45🍴 cdp)
  • Go:    186⭐     31🍴 gcd)
  • Go:    392⭐     45🍴 godet)
  • Go:   5410⭐    356🍴 Rod)
  • C#/.NET:   3433⭐    447🍴 Puppeteer Sharp) - puppeteer port
  • C#/dotnet:     79⭐     27🍴 chrome-dev-tools) - Protocol wrapper generator that can be customized by editing handlebars templates. Includes .Net Core template.
  • Ruby:   1760⭐    127🍴 Ferrum) - high-level API to control Chrome in Ruby
  • Ruby:   1250⭐     92🍴 Cuprite) - Capybara driver
  • Kotlin:     77⭐     11🍴 chrome-reactive-kotlin) - reactive (rxjava 2.x), low-level client library in Kotlin
  • Kotlin:     45⭐      8🍴 chrome-devtools-kotlin) - A coroutine-based client library, providing low-level CDP primitives and high-level extensions.
  • Clojure:    130⭐     21🍴 clj-chrome-devtools) - The CDP wrapper API is autogenerated and will be updated when CDP protocol changes.
  • Clojure:     36⭐      4🍴 cuic) - Providing a high-level API for UI test automation over the DevTools Protocol.
  • PHP:    171⭐     49🍴 chrome-devtools-protocol) - A PHP client library for the protocol.
  • PHP:   1339⭐    208🍴 PuPHPeteer) - php bridge to node puppeteer

Browser Adapters

  •    299⭐     44🍴 devtools-remote-debugger) - Use devtools against a webpage; a CDP agent implemeted in client-side JS.
  • 🌎 Inspect - Use devtools against iOS and Android, easily. Browser and Webviews. (closed source)

Using DevTools frontend with other platforms

Android

  •  12676⭐   1128🍴 Facebook Stetho) - Native Android debugging with Chrome DevTools.
  •     88⭐     24🍴 j2v8-debugger) - Debugging JavaScript running in   2550⭐    355🍴 J2V8) with Chrome DevTools.

ClojureScript

  •    769⭐     30🍴 Dirac) - Debugging of ClojsureScript.

iOS

  •   5862⭐    595🍴 PonyDebugger) - Remote network and data debugging iOS apps with Chrome DevTools.

Node.js

  •  10899⭐    231🍴 ndb) - An improved Node.js debugging experience with the DevTools Frontend.
  • 🌎 Debugging Node.js with Chrome DevTools - Guide on using the full debugging and profiling support in Node v6.3+.
  •    222⭐      6🍴 thetool) - CPU, memory, coverage, type profiling with Node.
  • 🌎 chrome-devtools-frontend - Mirror of the frontend that ships in Chrome.

Ruby

  •   1141⭐    127🍴 ruby/debug) - Debugging functionality for Ruby.

DevTools Extensions

Accessibility (A11y)

  • 🌎 Chromelens - See how your web app will look to people with different types of vision and the path users will travel when tabbing through your page.

Workflow

  • 🌎 Clockwork - View PHP application profiling data.
  • 🌎 Emulated Device Lab - Experiment with multiple devices being emulated at the same time.
  • 🌎 RailsPanel - View Ruby on Rails application profiling data.
  • 🌎 React Developer Tools - Inspect the React component hierarchies.
  • 🌎 EmberJS Inspector - Allows you to inspect EmberJS objects in your application.
  •  24682⭐   4139🍴 VueJS Developer Tools) - Inspect VueJS components and manipulate their data.
  • 🌎 Angular Batarang - Inspect an Angular application's scope and profile its data.
  • 🌎 Augury - Debugging and Profiling for Angular 2 applications.
  • 🌎 Marionette Inspector - Inspect a Marionette application's views, events, and live data.
  • 🌎 Backbone Debugger - Inspect a Backbone application's views, models, events, and routes.
  • 🌎 App Inspector for Sencha - Inspect a Sencha ExtJS/Touch application's component tree, data stores, events, and layouts.
  • 🌎 Redux Devtools - Inspect Redux with actions history, undo and replay.
  • 🌎 Three.js - Edit any three.js project.
  •      ?⭐      ?🍴 Insight) - A WebGL debugging toolkit which enables more productive WebGL development and more efficient WebGL applications.
  •     45⭐      4🍴 BEM devtools) - Inspect BEM entities expressed in i-bem framework.
  • 🌎 Metal.js Developer Tools - Inspect the Metal component hierarchies.
  • 🌎 Web Component DevTools - Inspect, modify and observe Web Components on page.

Themes

  • 🌎 DevTools Author - A selection of themes to modify parts of DevTools related to authoring web applications.
  • 🌎 Zero Dark Matrix - Dark theme for Chrome Developer Tools.
  • 🌎 Material UI Theme - Provides various Material Design inspired themes.

Performance

  •    198⭐     11🍴 sloth) - Chrome extension allows to enable and save CPU and network throttling for selected tabs.
  •    245⭐     31🍴 TracerBench) - TracerBench is a controlled performance benchmarking tool for web applications, providing clear, actionable and usable insights into performance deltas.

Automation

  •    210⭐     20🍴 Puppeteer IDE) - Standalone Puppeteer playground in browser's developer tools.
  •    344⭐     41🍴 k6 browser) - Browser automation and end-to-end web testing tool that interacts with browsers and collects frontend performance metrics.

Alumni

Old projects, likely not maintained any longer… But still cool.

  •     92⭐     10🍴 Remote Debug Gateway) - Allows you to connect a client to multiple browsers at once.
    • Multiuser DevTools:    687⭐     40🍴 DevTools Remote) - Remotely debug someone else's browser.
  •    144⭐     24🍴 DevTools Backend) - Standalone implementation of the Chrome DevTools backend to debug arbitrary web environments.
  • Python CDP driver:    613⭐    112🍴 pychrome) - low level CDP transport handler
  •   5945⭐    466🍴 ios-webkit-debug-proxy) - Exposes Mobile Safari & UIWebView instances via the CDP.
    •   2723⭐    220🍴 Remote Debug iOS WebKit adapter) - Builts upon ios-webkit-debug-proxy and translates WebKit's Remote Debugging Protocol API to the CDP.
  •    573⭐     41🍴 IE Diagnostics Adapter) - Protocol adaptor for Microsoft IE 11 to CDP.
  •     42⭐      2🍴 go-debugger-devtools)

Source

  6139⭐    352🍴 ChromeDevTools/awesome-chrome-devtools)