/debugger

The Firefox debugger that works anywhere :boom:

Primary LanguageJavaScriptMozilla Public License 2.0MPL-2.0

slack-badge ci-badge PRs Welcome

A hackable debugger for modern times, built from the ground up using React and Redux. It is designed to be approachable, yet powerful. And it is engineered to be predictable, understandable, and testable.

Mozilla created this debugger for use in the Firefox Developer Tools. And we've purposely created this project in GitHub, using modern toolchains. We hope to not only create a great debugger that works with the Firefox and Chrome debugging protocols, but also develop a broader community that wants to create great tools for the web.

debugger-screenshot

Table of Contents

Quick Setup

Or take a look at our detailed getting started instructions.

First, get a recent version of Node.js to run the debugger.

curl -o- -L https://yarnpkg.com/install.sh | bash -s
git clone https://github.com/firefox-devtools/debugger.git

cd debugger
yarn
yarn start
# Go to http://localhost:8000

If you are having problems with setting breakpoints in the debugger, launch Firefox Nightly instead of clicking on Launch Firefox.

Next Steps

Getting Involved

This is an open source project, and we would love your help. We have prepared a contributing guide to help you get started.

If this is your first PR, or you're not sure where to get started, say hi in Slack and a team member would be happy to mentor you.

We strive for collaboration with mutual respect for each other. Mozilla also has a set of participation guidelines which goes into greater detail specific to Mozilla employees and contributors.

Have you found a vulnerability in the debugger and want to report it? In that case, take a look at how we handle security bugs, and open a bug at Bugzilla so we can track the vulnerability while keeping users safe!

Development Guide

We strive to make the debugger as development-friendly as possible. If you have a question that's not answered in the guide, ask us in Slack. We also ❤️ documentation PRs!

Themes Theming changes for light, dark
Internationalization Using or adding a localized string (l10n)
Prefs Using or adding preferences
Flow Flow best practices and common gotchas
Logging Tips for logging Redux and client
Testing Unit and integration test tips
Linting CSS, JS, Markdown linting
Configs How to use debugger settings locally

Documentation

Looking for our documentation? You can find it here!

Our weekly updates are also posted!

Discussion

Say hello in Slack or in the #devtools-html channel on irc.mozilla.org.

License

MPL 2